NEWS
[HowTo] Huawei SUN2000 WR Modbus mit node-red (read + write)
-
@asmm
Das Einzige was mir noch einfällt: Hast Du mal versucht, die Register die so selten aktualisieren in einem komplett separaten Flow (Neue node-red "Datei") abzufragen? Ich meine mir wäre irgendwann mal aufgefallen, dass Werte nur sporadisch kommen, wenn man zu viel auf einmal "durcheinander" abfragt.
Vielleicht hilft es ja... -
@radi71
Ich habe eine Konstellation aus einem KTL30-M3, einem Lesekopf auf dem Stromzähler und einem 28,8KW DIY Akku mit Victron.
Zu den Punkten die du fragst:
Aktueller Stromverbrauch gesamt => Entweder "aktuell" oder "gesamt". Aktuell kann man am Zweirichtungszähler ablesen. Ggf. berechnen.
Aktuell erzeugt => Kommt vom Wechselrichter
Aktuell vom/zum Akku => Kann ich über Node Red aus dem Venus Os (Victron) auslesen. Müsstes du über die entsprechende Modbus Adresse auch vom Huawei bekommen.
Aktuell vom/zum Netz => Ich bekomme es über Tasmota und den Lesekopf am Zähler. Weiß nicht was du hast ggf. einen EM24 einbauen.
Aktuell von Anlage direkt => Kann man über Node Red aus dem Huawei auslesen
Heutiger Ertrag => Über InfuxDB loggen oder sourceanalytix
Heutiger Bezug aus Netz => Über InfuxDB loggen oder sourceanalytixIch berechne dann Anhand der Daten und schreibe das Ganze dann in Datenpunkte.
Das kannst du dann mit Grafana auswerten
-
@badsnoopy667
Ich habe dein Programm so wie du es beschrieben hast umgesetzt. Die Werte werden zuverlässig ausgelesen großes Dankeschön!!!!Jedoch hast du die Efficiency deaktiviert. Kannst du mir sagen welche Effizienz dort ausgewertet wird? Ich bekomme nämlich bei dem Datenpunkt keine Werte zurückgespielt!
Evtl. sollte ich noch erwähnen, dass ich von Node-Red keine Ahnung habe, alles nur copy and paste
Gruß
-
@bastian-rüggen
Freut mich das es klappt!
Die Efficiency habe ich deaktiviert, weil bei mir auch nur Mist ausgelesen wird. MMn müsste das die Effizienz vom Wechselrichter sein. Also das Verhältnis von Input Power (Solarleistung DC) zu Active Power (Erzeugung/Abgabe auf der AC Seite).
Ganz am Anfang kam da mal ein plausibler Wert, so um die 90-95%. Dann stand irgendwann nur noch [41.37] oder so da. -
Hallo,
ich versuche mich gerade auch an dem Projekt, aber leider ohne erfolg. Es steht zwar Connected da, aber leider bekomme ich keine Werte. Was mache ich falsch ?
ich habe die aktuelle Firmware drauf und alles nach der Anleitung gemacht.
folgende Meldung bekommen ich angezeigt
Client -> stopped state without reconnecting TCP@http://192.168.170.121:502 default Unit-Id: 1!
-
Also Verbindung geht jetzt, warum auch immer.
Aber gewisse Werte werden nicht angezeigt, wie z.B Grid Voltage Phase 1-3
Im Anhang mal ein paar Bilder, eventuell sieht ja jemand wieso die Werte nicht abgefragt werden.
-
Hi, endlich ist mein WR gekommen. Die Anbindung läuft bei mir schon. Hat jemand eine Idee, wie ich die Monatswerte verbraucht verbraucht, produziert, verkauft usw. Auslesen kann bzw. Protokollieren kann?
Gruß
-
Hallo Martyl,
ich habe die selbe Konstellation wie du das ich eine Kaskade aus 2 Wechselrichtern habe:
6KTL M1 -> Master Unit ID 1 (Verbindung funzt seit über einem Monat perfekt)
seit heute ist nun mit der Unit ID 2 ein 3KTL M1 hinzugekommen.wie/bzw. hast du es geschafft deinen 2ten Wechselrichter mit einzubinden?
MfG
-
Hallo zusammen, ich bin neu und bekomme heute mein Photovoltaikanlage mit Huawei verbaut.
Mit iobroker kenne ich mich aus.
Aber mit dem WR ist für mich neu!
Wenn der Installateur mir Modbus tcp direkt einrichtet,
brauche ich dann noch den Installateur Zugang oder geht das dann ohne? Vielen Dank für eure Mithilfe!! -
@lub104
Ich würde vermuten, dass es dann ohne geht. Aber die Firmware vom Dongle sollte auch aktuell sein. -
@badsnoopy667 danke für die schnelle Antwort, okay FW kümmere ich mich drum. Dann hoffe ich das es klappt und ich es einrichten kann
-
Hallo Leute, im iobroker kenne ich mich schon recht gut aus.
Node red ist Neuland für mich.
Der Dongle hat die Software SPC130.
Ich bekomme das irgendwie nicht mit den Datenpunkten hin.
Ich hoffe ich bin nicht zu unklug.
Muss ich die Datenpunkte bei 0.User selbst anlegen.
-
@lub104 sagte in [HowTo] Huawei SUN2000 WR Modbus mit node-red (read + write):
Muss ich die Datenpunkte bei 0.User selbst anlegen.
Ich hab sie manuell angelegt.
-
Danke für die schnelle Antwort.
Kannst du bitte den Pfadbaum mal als Photo reinsetzen.
Danke -
@lub104 den siehts du eh in deinem Screenshot
Ich hab mir den Pfad aus Node-Red rauskopiert und im Objectbrowser ein Bestandattribut geöffnet (sind bei mir alle string) und dann auf clone gedrückt, noch den kopierten Pfad eingefügt auf OK, das wars.
-
@johgre ich kann nur unter 0_userdata
Neuen Ordner und Objekte versorgen ist das richtig
-
@lub104 du brauchst eigentlich nur in das Eingabefeld „Enter new id…“ den gesamten Pfad reinkopieren. Die Ordnerstruktur wird dann automatisch übernommen
-
@johgre ich glaube ich bin doch zu blöd !
Eingabefeld Enter new Id ??.
Bei mir ist nur ein Plus Zeichen und das nur unter 0_userdata
-
@johgre Ich habe selbst heraus gefunden es war ein Pfad Problem in der Objektangabe. Jetzt bin ich wieder schlau!!!
-
Hat wirklich noch keiner die direkte Anbindung des Sun2000 über den Modbus-Adapter hinbekommen? Ich scheitere offensichtlich an der gleichen Stelle:
2022-11-01 17:42:27.677 - info: host.raspberrypi4 instance system.adapter.modbus.1 started with pid 17214 2022-11-01 17:42:28.908 - debug: modbus.1 (17214) Redis Objects: Use Redis connection: 127.0.0.1:9001 2022-11-01 17:42:28.950 - debug: modbus.1 (17214) Objects client ready ... initialize now 2022-11-01 17:42:28.953 - debug: modbus.1 (17214) Objects create System PubSub Client 2022-11-01 17:42:28.954 - debug: modbus.1 (17214) Objects create User PubSub Client 2022-11-01 17:42:28.987 - debug: modbus.1 (17214) Objects client initialize lua scripts 2022-11-01 17:42:29.009 - debug: modbus.1 (17214) Objects connected to redis: 127.0.0.1:9001 2022-11-01 17:42:29.036 - debug: modbus.1 (17214) Redis States: Use Redis connection: 127.0.0.1:9000 2022-11-01 17:42:29.050 - debug: modbus.1 (17214) States create System PubSub Client 2022-11-01 17:42:29.052 - debug: modbus.1 (17214) States create User PubSub Client 2022-11-01 17:42:29.074 - debug: modbus.1 (17214) States connected to redis: 127.0.0.1:9000 2022-11-01 17:42:29.161 - debug: modbus.1 (17214) Plugin sentry Initialize Plugin (enabled=true) 2022-11-01 17:42:29.621 - info: modbus.1 (17214) starting. Version 5.0.4 in /opt/iobroker/node_modules/iobroker.modbus, node: v16.17.0, js-controller: 4.0.23 2022-11-01 17:42:29.800 - debug: modbus.1 (17214) Initialize Objects for disInputs: [] 2022-11-01 17:42:29.801 - debug: modbus.1 (17214) Initialize Objects for coils: [] 2022-11-01 17:42:29.802 - debug: modbus.1 (17214) Initialize Objects for inputRegs: [] 2022-11-01 17:42:29.803 - debug: modbus.1 (17214) Initialize Objects for holdingRegs: [{"_address":37101,"name":"","description":"","unit":"","type":"uint32le","len":2,"factor":1,"offset":0,"formula":"","role":"level","room":"","poll":true,"wp":"","cw":"","isScale":"","deviceId":1,"address":37101,"id":"holdingRegisters.37101"},{"_address":37107,"name":"","description":"","unit":"","type":"int32le","len":2,"factor":1,"offset":0,"formula":"","role":"level","room":"","poll":true,"wp":"","cw":"","isScale":"","deviceId":1,"address":37107,"id":"holdingRegisters.37107"},{"_address":37113,"name":"","description":"","unit":"","type":"uint32le","len":2,"factor":1,"offset":0,"formula":"","role":"level","room":"","poll":true,"wp":"","cw":"","isScale":"","deviceId":1,"address":37113,"id":"holdingRegisters.37113"},{"_address":40572,"name":"","description":"","unit":"","type":"int16le","len":1,"factor":1,"offset":0,"formula":"","role":"level","room":"","poll":true,"wp":"","cw":"","isScale":"","address":40572,"deviceId":1,"id":"holdingRegisters.40572"},{"_address":40573,"name":"","description":"","unit":"","type":"int16be","len":1,"factor":1,"offset":0,"formula":"","role":"level","room":"","poll":true,"wp":"","cw":"","isScale":"","address":40573,"deviceId":1,"id":"holdingRegisters.40573"},{"_address":40574,"name":"","description":"","unit":"","type":"int16be","len":1,"factor":1,"offset":0,"formula":"","role":"level","room":"","poll":true,"wp":"","cw":"","isScale":"","address":40574,"deviceId":1,"id":"holdingRegisters.40574"}] 2022-11-01 17:42:29.804 - debug: modbus.1 (17214) Add holdingRegisters.37101: {"_id":"holdingRegisters.37101","type":"state","common":{"name":"","role":"level","type":"number","read":true,"write":true,"def":0,"unit":""},"native":{"regType":"holdingRegs","address":37101,"deviceId":1,"type":"uint32le","len":2,"offset":0,"factor":1,"poll":true}} 2022-11-01 17:42:29.805 - debug: modbus.1 (17214) Add holdingRegisters.37107: {"_id":"holdingRegisters.37107","type":"state","common":{"name":"","role":"level","type":"number","read":true,"write":true,"def":0,"unit":""},"native":{"regType":"holdingRegs","address":37107,"deviceId":1,"type":"int32le","len":2,"offset":0,"factor":1,"poll":true}} 2022-11-01 17:42:29.805 - debug: modbus.1 (17214) Add holdingRegisters.37113: {"_id":"holdingRegisters.37113","type":"state","common":{"name":"","role":"level","type":"number","read":true,"write":true,"def":0,"unit":""},"native":{"regType":"holdingRegs","address":37113,"deviceId":1,"type":"uint32le","len":2,"offset":0,"factor":1,"poll":true}} 2022-11-01 17:42:29.806 - debug: modbus.1 (17214) Add holdingRegisters.40572: {"_id":"holdingRegisters.40572","type":"state","common":{"name":"","role":"level","type":"number","read":true,"write":true,"def":0,"unit":""},"native":{"regType":"holdingRegs","address":40572,"deviceId":1,"type":"int16le","len":1,"offset":0,"factor":1,"poll":true}} 2022-11-01 17:42:29.807 - debug: modbus.1 (17214) Add holdingRegisters.40573: {"_id":"holdingRegisters.40573","type":"state","common":{"name":"","role":"level","type":"number","read":true,"write":true,"def":0,"unit":""},"native":{"regType":"holdingRegs","address":40573,"deviceId":1,"type":"int16be","len":1,"offset":0,"factor":1,"poll":true}} 2022-11-01 17:42:29.808 - debug: modbus.1 (17214) Add holdingRegisters.40574: {"_id":"holdingRegisters.40574","type":"state","common":{"name":"","role":"level","type":"number","read":true,"write":true,"def":0,"unit":""},"native":{"regType":"holdingRegs","address":40574,"deviceId":1,"type":"int16be","len":1,"offset":0,"factor":1,"poll":true}} 2022-11-01 17:42:30.140 - info: modbus.1 (17214) Connected to slave 192.168.2.184 2022-11-01 17:42:30.141 - debug: modbus.1 (17214) [DevID_1] Poll start --------------------- 2022-11-01 17:42:30.143 - debug: modbus.1 (17214) Initialization of scale factors done! 2022-11-01 17:42:30.144 - debug: modbus.1 (17214) [DevID_1/holdingRegs] Poll address 37101 - 14 registers 2022-11-01 17:42:30.650 - warn: modbus.1 (17214) Error: undefined 2022-11-01 17:42:30.651 - error: modbus.1 (17214) Request timed out. 2022-11-01 17:42:30.652 - error: modbus.1 (17214) Client in error state. 2022-11-01 17:42:30.653 - warn: modbus.1 (17214) Poll error count: 1 code: {"err":"timeout","timeout":500} 2022-11-01 17:42:30.655 - debug: modbus.1 (17214) Socket closed with error 2022-11-01 17:42:30.656 - debug: modbus.1 (17214) Clearing timeout of the current request. 2022-11-01 17:42:30.657 - debug: modbus.1 (17214) Cleaning up request fifo. 2022-11-01 17:42:31.653 - debug: modbus.1 (17214) Closing client on purpose. 2022-11-01 17:42:31.654 - info: modbus.1 (17214) Disconnected from slave 192.168.2.184
Das muss ja am Modbus-Adapter liegen, da die Abfrage mit anderen Modbus-Tools funktioniert.
Jemand ne Idee?