Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Adapter Huawei SUN2000-(3KTL-10KTL)-M1 LUNA2000-(5-30)-S0 DTSU666-H Photovoltaikk - local connection #752

Closed
RoHa78 opened this issue Jul 24, 2022 · 77 comments
Labels
modbus works The Modbus adapter works fine Released

Comments

@RoHa78
Copy link

RoHa78 commented Jul 24, 2022

What kind of device or service you would like to see an adapter for?
Add name and company of the device, including links to the device and any additional informations[...]
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Photovoltaik Anlage inkl. Smart Power Sensor und Akkuspeicher von HUAWEI
Wechselrichter SUN2000-(3KTL-10KTL)-M1
https://support.huawei.com/enterprise/de/fusionsolar/sun2000ma-pid-22755755
Akkuspeicher LUNA2000-(5-30)-S0
https://support.huawei.com/enterprise/de/fusionsolar/fusionsolardg-pid-23448309
Smart Power Sensor DTSU666-H
https://support.huawei.com/enterprise/en/fusionsolar/sun2000l-pid-22027611?category=operation-maintenance
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Is an official API including documentation is available?
If yes please add links and informations[...]
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Es handelt sich um eine ModBUS Schnittstelle
https://support.huawei.com/enterprise/en/fusionsolar/smartlogger-pid-21294677?category=configuration-commissioning&subcategory=configuration-guide
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Are other libraries for an integration available?
Ideally in JavaScript/npm, but also other programming languages are interesting, add Links please
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
https://library.loxone.com/detail/huawei-sun2000-inverter-with-smartdongle-modbus-tcp-332/overview
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Is this device already integrated in other Smart Home systems?
Add Links please
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Home Assistant:
https://github.com/Emilv2/huawei_solar
https://community.home-assistant.io/t/integration-solar-inverter-huawei-2000l/132350/1300
As standalone:
https://solaranzeige.de/phpBB3/viewtopic.php?t=170
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Is this device already integrated in homebridge? Might the ham adapter together with the homebridge plugin be sufficient?
Please try it and add infos
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Hab hierzu leider nichts gefunden (Sorry no founds)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Additional context
Add any other context or screenshots about the feature request here. If the topic was discussed in ioBroker forum please include the link too.
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Diskussion im IOBroker-Forum
https://forum.iobroker.net/topic/53005/huawei-sun2000-iobroker-via-js-script-funktioniert
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Vielen Dank!

After you created the issue vote for yourself in the first post of the issue using the "+1"/"Thumbs up" button

@RoHa78 RoHa78 changed the title Huawei SUN2000-(3KTL-10KTL)-M1 LUNA2000-(5-30)-S0 DTSU666-H Photovoltaikkombination Adapter Huawei SUN2000-(3KTL-10KTL)-M1 LUNA2000-(5-30)-S0 DTSU666-H Photovoltaikkombination Jul 24, 2022
@stilicrafter
Copy link

@RoHa78 Der Wechselrichter nutzt ModBus und kann darüber eingebunden werden (Google einmal nach SUN2000 ModBus)

@RoHa78
Copy link
Author

RoHa78 commented Jul 28, 2022

@RoHa78 Der Wechselrichter nutzt ModBus und kann darüber eingebunden werden (Google einmal nach SUN2000 ModBus)

Leider scheint der ModBus-Adaper vom IOBroker damit nicht zu funktionieren siehe https://forum.iobroker.net/topic/46048/huawei-sun2000-mit-modbus-adapter-in-iobroker-einbinden
Und Scripting / NoteRed beherrsche ich leider nicht.

@Diginix
Copy link

Diginix commented Jul 28, 2022

Wäre dennoch interessant ob das ein Problem/Fehler vom Modbus Adapter ist und mit einem zukünftigen Update gelöst werden könnte. Dazu müsste man aber mal mind (Debug)Logs, die Modbus Spec vom WR und die (Register)Einstellungen der Instanz liefern damit es sich ein Entwickler ansehen kann. Das ganze natürlich als Issue des Modbusadapters.

Edit: hier gibt es schon eines zu Huawei WR: ioBroker/ioBroker.modbus#250

@KornSW
Copy link

KornSW commented Oct 28, 2022

Hi zusammen,
nur zur info, falls jemand statt Modbus lieber die Cloud nehmen will (oder in Kombi, zwecks Anreicherung mit zusätzlichen Infos),
ich habe gerade einen veröffentlicht:

https://github.com/KornSW/ioBroker.fusionsolar

https://forum.iobroker.net/topic/59422/new-adapter-huawei-fusionsolar-api

bei interesse gerne mal testen ;-)

Grüße, Tobias
PS: habs mit Modbus leider auch nicht hinbekommen - würde es allerdings auch bevorzugen!

@Icke-de
Copy link

Icke-de commented Jun 4, 2023

Hallo zusammen,
Ich habe mich recht ausführlich mit Modbus auseinander gesetzt. Und bin dabei einen Adapter zu schreiben, der die Interessanten Modbusregister in den ioBroker übernimmt. Aber ebend das Gerät an sich darstellt.
Ist hier noch bedarf? Bzw. Bräuchte ich irgendeine Mitwirkung um die Geräte in den Adapter zu integrieren.
Frage: Wir reden über Modbus TCP? Oder?

Grüße
image

@RoHa78
Copy link
Author

RoHa78 commented Jun 4, 2023

@Icke-de Ja das ist korrekt, beim o.g. Wechselrichter handelt es sich um Modbus TCP. Der Befehlsatz sollte unter https://support.huawei.com/enterprise/en/fusionsolar/smartlogger-pid-21294677?category=configuration-commissioning&subcategory=configuration-guide downloadbar sein. Diverse Links zu diesem Wechselrichter (inkl. Akku) sind von mir im ersten Post vermerkt. Da ich softwaremäßig nicht allzugut bewandert bin kann ich diesbezüglich nur als Tester unterstützen.
Eine Möglichkeit die ich aktuell nutze und ebenfalls auf Modbus TCP besteht ist das Projekt auf https://solaranzeige.de/phpBB3/viewtopic.php?t=170, ist aber standalone. IOBroker wäre mir jedoch deutlich sympatischer...
Anbei ein "kleiner" Auszug aus der DB von Solaranzeige dieser Anlage:
image

@Icke-de
Copy link

Icke-de commented Jun 4, 2023

Testen reicht mir da völlig aus. Wenn du Lust und Zeit hast. Die Modbusintegration bei meinem Adapter kann zum Testen über ein NodeJS Projekt laufen, Um erst einmal zu schauen, ob die Werte richtig ankommen. So habe ich das mit meinem SMA TP 8 zumindest gemacht, bevor ich das Ganze im ioBroker eingebunden habe.
Kannst du bitte einen direkten Link auf die Modbusbeschreibung setzen ? Ich habe oben bei Huawai geschaut, weiß aber nicht genau welches Dokument genau gemeint ist.

@RoHa78
Copy link
Author

RoHa78 commented Jun 4, 2023

Habe folgende direkte URL für die Beschreibung:
https://support.huawei.com/enterprise/en/doc/EDOC1100050690?idPath=9452479%7C21439560%7C7921563%7C21102414%7C21294677
Sollte dann fogendes Dokument angezeigt werden, das dann runtergeladen werden kann:
image
Hab auch mal angefangen in NodeRed das Ganze umzusetzen, funktioniert zwar, bin aber hier noch nicht sehr weit:
image

@mcm1957 mcm1957 added InProgress modbus works The Modbus adapter works fine Planned and removed Requested InProgress labels Jun 4, 2023
@Icke-de
Copy link

Icke-de commented Jun 4, 2023

Ja, das habe ich auch gefunden. Was allerdings die Frage aufwirft willst du den Sun2000 oder den Smartlogger per Modus ansprechen? Das sind wenn ich das richtig geblickt habe, 2 verschiedene Geräte. Sorry, ich muss das für mich nur erst einmal rund haben. Zur Erklärung bei mir ist auch ein Smartmeter zusätzlich verbaut, was die Kommunikation zum SMA Portal (Sunny Portal) übernimmt, was grundsätzlich auch per Modbus abgefragt werden kann, habe aber den WR implementiert. Also spreche den direkt an. Bei Huawei gibt es in dem PDF (2.5) einen Verweis auf eine eigene Modbus Beschreibung für den Sun2000.

@RoHa78
Copy link
Author

RoHa78 commented Jun 4, 2023

So wie ich das verstehe, sammelt der Wechselrichter die Daten vom Smartlogger. Dieser wiederum ist mit einem sog. SDongle mit dem Netzwerk verbunden. Über diese Schnittstelle können dann die Daten allesamt sowohl von Wechselrichter, Akku und Smartmeter abgefragt werden. Habe hierzu noch folgenden Link gefunden https://photomate.zendesk.com/hc/en-gb/article_attachments/8560845348253/SDongle_V100R001C00SPC133_Release_Documents.zip
Hierin enthalten ist ein kompletter Dokumentensatz von diesem SDongle. Darin befindet sich auch das Dokument SDongleA V100R001C00 MODBUS Interface Definitions.pdf. Mit diesen Angaben sollte man dann über diesen SDongle die kompletten Daten abfragen können.
Wenn ich die wenigen Adressen, die ich in NodeRed verwendet habe, mit denen vergleiche, die in o.g. Doku stehen, stimmen die miteinander überein, und das scheint ja zu funktionieren ;)

@Icke-de
Copy link

Icke-de commented Jun 4, 2023

Ok, dein NodeRed Script (nennt man das Script?) wirft auch Daten aus? Du hast also eine valide Datenausgabe, mit der du dann die Adapterwerte prüfen kannst?

Dann bau ich das was du brauchst in den Adapter ein. 😉

Zur Erläuterung: der Adapter bzw. Die Modbus Integration ist nicht fix, kann also auch erweitert werden, nur nicht so wie im Modbusadapter, dass man einzelne Register selber hinzufügen kann, dass passiert alles in dem NodeJS Modul (also im Java Script). Ich wollte keinen Adapter parallel zum Modbus Adapter. Meine Idee galt es die Modbusgeräte wie oben gezeigt in eine Struktur zu bringen die das Gerät an sich wieder spiegelt.
Der Typ ist in der Config einzustellen.

@RoHa78
Copy link
Author

RoHa78 commented Jun 4, 2023

Super, das hört sich gut an.
Habe mal die Daten zusammengestellt, die ich bisher über "www.Solaranzeige.de" geliefert bekomme.
Huawei MEASUREMENTS.pdf

@Icke-de
Copy link

Icke-de commented Jun 4, 2023

@RoHa78 : kennst du dich en bisschen mit NodeJS aus?
Bitte teste mal folgendes: (installierte NodeJS 18.16.0 LTS vorausgesetzt)
Clone dir bitte folgendes Repro mit: https://github.com/Icke-de/modbus_inverter.git
git clone https://github.com/Icke-de/modbus_inverter.git
Wechsle in das Verzeichnis: [dein Verzeichnis]\modbus_inverter
npm install (Abhängigkeiten werden installiert)
Wechsle in das Unterverzeichnis "examples".
Öffne die Datei "test_modbusregister.ts" mit einem Editor deiner Wahl.
Passe folgende Werte entsprechend deiner Konfiguration an:
let ipAddress = ""; let modbusPort = 502; let unitId = 1;
(Achtung: ipAddress ist ein string daher bitte in "", Port und unitId ist vom typ number)
Datei speichern und in die Konsole wechseln: cmd oder powershell in einem Windows system
Gehe wieder in das Verzeichnis cd [dein Verzeichnis]\modbus_inverter\examples
führe ts-node test_modbusregister.ts aus.

Ich habe das Modul in TypeSript umgesetzt bzw. Erweitert (ist eine Implementierung für SMA Devices gewesen, das habe ich als Grundlage verwendet)
In meinem Jugendlichem Leichtsinn würde ich meinen die Ausgabe zeigt dir die Werte an, die in deinem Node Red Script vorhanden sind.
Ich bin gespannt was passiert.

@RoHa78
Copy link
Author

RoHa78 commented Jun 4, 2023

Bin gerade noch unterwegs, melde mich aber umgehend, wenn ich am testen bin.

@RoHa78
Copy link
Author

RoHa78 commented Jun 4, 2023

Habe nun versucht, das Ganze zum Laufen zu bringen, leider nur mit mäßigem Erfolg:
Bereits bei npm install sind etliche Fehler angezeigt worden (installierte NodeJS 18.16.0 sollte passen, siehe hierzu das angefügte LOG)
habe mich hier nicht beirren lassen und weiter gemacht.
Bei Punkt ts-node test_modbusregister.ts hat er die ts-node nicht gefunden:
image

2023-06-04T17_15_27_422Z-debug-0.log

Hast Du eine Ahnung an was das liegen kann oder was ich hier falsch mache (mein IOBroker läuft auf einem Raspi, dort habe ich das Ganze auch getestet)?

@mcm1957 mcm1957 added Requested and removed Planned labels Jun 4, 2023
@mcm1957 mcm1957 changed the title Adapter Huawei SUN2000-(3KTL-10KTL)-M1 LUNA2000-(5-30)-S0 DTSU666-H Photovoltaikkombination Adapter Huawei SUN2000-(3KTL-10KTL)-M1 LUNA2000-(5-30)-S0 DTSU666-H Photovoltaikk - local connection Jun 4, 2023
@Icke-de
Copy link

Icke-de commented Jun 4, 2023

Muss ich mir genauer anschauen. Wichtig ist, dass die DEV-dependencies mit installiert werden, da ts-Node ebenfalls ein Modul ist. Anderen falls könntest du ts-node auch separat installieren. npm install ts-node. Könnte aber auch sein, dass ich das bei mir (Windows) global mit -g installiert habe. Gleiches gilt für TypeScript. Das habe ich auch global installiert.

@Icke-de
Copy link

Icke-de commented Jun 5, 2023

Moin,
ich habe gerade kurz das mit Node und npm auf einer leeren Ubuntu Maschine probiert.
Was ich dabei gemerkt habe, ist das anscheinend ts-node nicht mit installiert wurde. Das dann bitte noch , wenn du im root Verzeichnis ([dein Verzeichnis]\modbus_inverter) bist mit npm install ts-node installieren.
Das sollte soweit funktionieren.
Alternativ kannst du schauen, mit tsc -v ob TypeScript installiert ist. Dann im Verzeichnis Examples tsc test_modbusregister.ts ausführen. Dadurch wird die .ts in eine .js konvertiert. die kannst du dann mit node test_modbusregister.js starten.

@RoHa78
Copy link
Author

RoHa78 commented Jun 5, 2023

Hallo @Icke-de,
habe nun versucht ts-node w.o. zu installieren. Hat diesbezüglich keine Fehler angezeigt. Aufruf von tsc -v ist leider fehlgeschlagen.
image
Hab das Gefühl, das da was verbogen ist ...

@Icke-de
Copy link

Icke-de commented Jun 5, 2023

Dann fehlt da noch TypeScript. Ich würde allerdings nicht deinen ioBroker nehmen, nicht da was kaputt geht ;-). Theoretisch sollte das funktionieren, aber zum Testen habe ich meinen Windows Rechner genommen. Und aber auch eine VM mit Ubuntu.
Ich würde schau mal, dass ich einen Rechner nehme wo noch nichts weiter mit Node gemacht wurde. Das muss funktionieren.
NodeJS und NPM verhalten sich ja erst einmal nicht unterschiedlich. Die genaue Reihenfolge bzw. Befehle schicke ich dann.

@daolis
Copy link

daolis commented Aug 26, 2023

@RoHa78 Hab mir das PDF mit den werten von solaranziege.de mal kurz durchgesehen. Viele der Werte sind schon vorhanden, heissen aber anders. Ausserdem sind manche per modbus etwas anders umgesetzt. (z.B. Batterie Laden/Entladen oder Aus Netz beziehen/einspeisen sind nur int32 werte positiv (laden/einspeisen) oder negativ(entladen/beziehen))

Das sich aber relativ einfach aufsplitten lässt.

Die anderen Werte (div. Spannungen/Ströme) werde ich noch hinzufügen, sofern ich sie aus dem PDF zu den modbus Werten mappen kann.

@RoHa78
Copy link
Author

RoHa78 commented Aug 26, 2023

@daolis Habe einen Downgrade der admin Version von 6.9.1 auf die 6.8.3 durchgeführt, IP geändert und es lies sich speichern. Adapter gestartet und die Werte wurden eingelesen --> Super Arbeit!!!
Deine Vermutung mit der admin Version war goldrichtig!!

Die Sache mit der Benamung ist von meiner Seite kein Problem, wenn die Daten dann geloggt werden, muss ich eben Grafana dementsprechend anpassen, wichtig ist von meiner Seite nur, dass die entsprechenden Werte ausgelesen werden. Wenn diese vorhanden sind, werde ich das Ganze mal umswitchen und einen Dauertest mit IOBroker fahren.

Kann nun wirklich die anderen Interessierten ermuntern, das Ganze mal zu Testen (bin wirklich begeistert)!

@christi-ko
Copy link

christi-ko commented Aug 27, 2023

@daolis Danke für den Adapter, das hab ich mir schon lange gewünscht. Habe auch kurz auf in meiner Live Umgebung installiert und hatte dieselben Problem mit admin und der Version 6.9.1.

Allerdings hab ich da noch 2 weitere Punkte gefunden:
1.) Bei Start des Adapters wird angezeigt dass er verbunden ist obwohl noch keine korrekte IP eingegeben wurde:
Screenshot 2023-08-27 110319
2.) Habe ich nachdem er zumindest die Werte initialisiert hat eine Warnmeldung im Log erhalten:
Screenshot 2023-08-27 110723

Vielleicht noch ein Gedanke dazu. Evtl. wäre es ganz hilfreich 2 unterschiedliche Update Intervalls zu haben, ähnlich zum Beispiel von Nodered. Nicht alles wird ja tatsächlich in hohem Intervall benötigt. Ich brauche nur die Werte mit der Active Power für die PV Laden Funktion in höherem Intervall. Der Rest würde auch jede Minute o.ä. genügen.

@mcm1957
Copy link
Collaborator

mcm1957 commented Aug 27, 2023

Adapter in Arbeit
https://github.com/daolis/ioBroker.sun2000-modbus

@mcm1957 mcm1957 added bug Something isn't working InProgress and removed Requested labels Aug 27, 2023
@mcm1957 mcm1957 removed the bug Something isn't working label Aug 27, 2023
@daolis
Copy link

daolis commented Aug 28, 2023

Hi @christi-ko,
Das mit der Anzeige war mir derzeit noch egal. Aber werde ich auf alle Fälle noch checken...
Den Slave device busy error kenne ich schon, habe aber noch nicht die optimale Lösung gefunden... Das mit den meheren update intervallen steht schon auf meiner liste, muss da aber noch nachlesen wie das adapter intern am besten gemacht wird...

@christi-ko
Copy link

Top, hört sich spitze an :-)
Wollte noch fragen ob Du auch schon auf dem Plan hast das man Werte schreiben kann, wie z.B. dem Speicher sagen er soll sich zu bestimmten Zeiten aus dem Netzt was ziehen. Das wäre langfristig auch ganz schon wenn man Tibber o.ä. mit verknüpfen wollte.

@daolis
Copy link

daolis commented Aug 28, 2023

Schreiben steht derzeit noch nicht auf Plan, wäre aber auf alle Fälle interessant.

Ich schlage mal vor wir verschieben die Diskussion des adapters in das adapter repo... Hier sind es schon recht viele commentare... ;-)

https://github.com/daolis/ioBroker.sun2000-modbus/discussions

@rburgst
Copy link

rburgst commented Aug 29, 2023

das neue repo hat noch keine discussions :(

@rburgst
Copy link

rburgst commented Aug 29, 2023

ich wäre auch interessiert, hab derzeit das ganze im HomeAssistant laufen, bin aber am überlegen ob ich auf iobroker wechsle. Wenn nötig könnte ich auch unterstützen, kann ganz gut typescript.

@daolis
Copy link

daolis commented Aug 29, 2023

Hatte die discussions kurzzeitig wieder deaktiviert...
Infos/Comments für die initiale version sind im issue daolis/ioBroker.sun2000-modbus#7

Dicussions: wieder aktiviert.

@daolis
Copy link

daolis commented Aug 31, 2023

@rburgst Wenn du unterstützen möchtest: Gerne.
Ich wär im iobroker discord erreichbar. Ist vermutlich einfacher als CommentPingPong ;-)
https://discord.gg/HwUCwsH

@rburgst
Copy link

rburgst commented Sep 13, 2023

habe im Discord eine DM geschickt, warte noch auf Antwort.

@luckyheiko

This comment was marked as off-topic.

@RoHa78

This comment was marked as off-topic.

@luckyheiko

This comment was marked as off-topic.

@mcm1957
Copy link
Collaborator

mcm1957 commented Oct 27, 2023

Bitte hier KEINE Diskussionen zu Problemen oder dem Einsatz des Adapters führen. Diese gehören ins FORUM oder in ein Issue im Adapter repository.

Generell wird von der Installation von Adapter die NUR via Github installiert werden können abgeraten. Bitte ggF den Dev ersuchen, den Adapter ions Repository aufnehmen zu lassen.

@daolis
Falls dein Adapter für user geeignet erscheint, requeste doch bitte eine Aufnahme in das lates repository.

@mcm1957
Copy link
Collaborator

mcm1957 commented Dec 6, 2023

@mcm1957 mcm1957 added the LATEST pending Request to accpet at lates repository is pending label Dec 6, 2023
@mcm1957 mcm1957 removed InProgress LATEST pending Request to accpet at lates repository is pending labels Jan 8, 2024
@mcm1957
Copy link
Collaborator

mcm1957 commented Jan 8, 2024

Adapter released to latest repository.

Please report any issues or feature requests at the adapter repository:
https://github.com/daolis/ioBroker.sun2000-modbus

@mcm1957 mcm1957 closed this as completed Jan 8, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
modbus works The Modbus adapter works fine Released
Projects
None yet
Development

No branches or pull requests

10 participants