NEWS
Goodwe WR 8kw mit Waveshare RS485 to Wifi -> Modbus IOBroker
-
@pv-anlage ich glaube nicht das du alle 4 RS485 des WR mit dem Waveshare verbinden solltest.
Das ist doch ein BUS und ich denke ein paar ist ausreichend.
Logfile vom Adapter im debug Modus bitte zeigen.
Als Text in Code Tags
Edit: stehen da minus Zeichen vor den Registern?
-
Hallo @wendy2702
Es ist extrem komisch, die - habe ich auch gerade wahrgenommen. Mit - ist der Modbus Adapter auf grün, ohne nicht.Hier noch der Output:
modbus.0 2024-05-05 18:35:17.013 info Disconnected from slave 10.195.14.6 modbus.0 2024-05-05 18:35:17.010 debug Closing client on purpose. modbus.0 2024-05-05 18:35:16.024 debug Cleaning up request fifo. modbus.0 2024-05-05 18:35:16.023 debug Clearing timeout of the current request. modbus.0 2024-05-05 18:35:16.021 debug Socket closed with error modbus.0 2024-05-05 18:35:16.015 warn Poll error count: 1 code: {"err":"timeout","timeout":1000} modbus.0 2024-05-05 18:35:16.011 error Client in error state. modbus.0 2024-05-05 18:35:16.008 error Request timed out. modbus.0 2024-05-05 18:35:16.005 warn Error: undefined modbus.0 2024-05-05 18:35:14.987 debug [DevID_1/holdingRegs] Poll address 35124 - 2 registers modbus.0 2024-05-05 18:35:14.985 debug Initialization of scale factors done! modbus.0 2024-05-05 18:35:14.981 debug [DevID_1] Poll start --------------------- modbus.0 2024-05-05 18:35:14.978 info Connected to slave 10.195.14.6 modbus.0 2024-05-05 18:35:14.531 debug Add holdingRegisters.35124_Wechselrichter_L1: {"_id":"holdingRegisters.35124_Wechselrichter_L1","type":"state","common":{"name":"","role":"value","type":"number","read":true,"write":true,"def":0,"unit":"W"},"native":{"regType":"holdingRegs","address":35124,"deviceId":1,"type":"int32be","len":2,"offset":1,"factor":2,"poll":true}} modbus.0 2024-05-05 18:35:14.530 debug Initialize Objects for holdingRegs: [{"_address":35124,"name":"Wechselrichter L1","description":"","unit":"W","type":"int32be","len":2,"factor":2,"offset":1,"formula":"","role":"value","room":"","poll":true,"wp":"","cw":"","isScale":"","address":35124,"deviceId":1,"id":"holdingRegisters.35124_Wechselrichter_L1"}] modbus.0 2024-05-05 18:35:14.529 debug Initialize Objects for inputRegs: [] modbus.0 2024-05-05 18:35:14.527 debug Initialize Objects for coils: [] modbus.0 2024-05-05 18:35:14.525 debug Initialize Objects for disInputs: [] modbus.0 2024-05-05 18:35:14.289 info starting. Version 6.1.0 in /opt/iobroker/node_modules/iobroker.modbus, node: v18.20.2, js-controller: 5.0.19 modbus.0 2024-05-05 18:35:13.512 debug Plugin sentry Initialize Plugin (enabled=true) modbus.0 2024-05-05 18:35:13.462 debug States connected to redis: 127.0.0.1:9000 modbus.0 2024-05-05 18:35:13.438 debug States create User PubSub Client modbus.0 2024-05-05 18:35:13.436 debug States create System PubSub Client modbus.0 2024-05-05 18:35:13.422 debug Redis States: Use Redis connection: 127.0.0.1:9000 modbus.0 2024-05-05 18:35:13.393 debug Objects connected to redis: 127.0.0.1:9001 modbus.0 2024-05-05 18:35:13.377 debug Objects client initialize lua scripts modbus.0 2024-05-05 18:35:13.340 debug Objects create User PubSub Client modbus.0 2024-05-05 18:35:13.337 debug Objects create System PubSub Client modbus.0 2024-05-05 18:35:13.333 debug Objects client ready ... initialize now modbus.0 2024-05-05 18:35:13.278 debug Redis Objects: Use Redis connection: 127.0.0.1:9001 host.iobroker 2024-05-05 18:35:11.039 info instance system.adapter.modbus.0 started with pid 2093 host.iobroker 2024-05-05 18:35:08.534 info instance system.adapter.modbus.0 terminated with code 11 (ADAPTER_REQUESTED_TERMINATION) modbus.0 2024-05-05 18:35:08.449 info terminating host.iobroker 2024-05-05 18:35:07.983 info stopInstance system.adapter.modbus.0 send kill signal modbus.0 2024-05-05 18:35:07.943 info Terminated (ADAPTER_REQUESTED_TERMINATION): Without reason modbus.0 2024-05-05 18:35:07.942 debug Plugin sentry destroyed modbus.0 2024-05-05 18:35:07.940 info terminating modbus.0 2024-05-05 18:35:07.936 debug Closing client on purpose. modbus.0 2024-05-05 18:35:07.934 info Got terminate signal TERMINATE_YOURSELF host.iobroker 2024-05-05 18:35:07.925 info stopInstance system.adapter.modbus.0 (force=false, process=true) modbus.0 2024-05-05 18:35:00.696 info Disconnected from slave 10.195.14.6 modbus.0 2024-05-05 18:35:00.693 debug Closing client on purpose.
Ich habe jetzt nur die 1+3 gemäss Rat auf den Waveshare geführt.
Danke und Gruss
-
@pv-anlage sagte in Goodwe WR 8kw mit Waveshare RS485 to Wifi -> Modbus IOBroker:
Disconnected from slave 10.195.14.6
was ist denn dein IP range?
in den Konfiguration Screenshots steht was anderes.@pv-anlage sagte in Goodwe WR 8kw mit Waveshare RS485 to Wifi -> Modbus IOBroker:
RS485 to Wifi
hast du jetzt wifi oder ETH?
mode server scheint nicht zu wifi zu passen.Hab mir gerade die Anleitung
https://www.waveshare.com/product/rs485-to-wifi-eth.htm
quergelesen.
Da sind seltsame Stolpersteine in den möglichen Konfigurationen.@pv-anlage sagte in Goodwe WR 8kw mit Waveshare RS485 to Wifi -> Modbus IOBroker:
Mit - ist der Modbus Adapter auf grün, ohne nicht.
kann eigentlich nicht.
mal A/B getauscht?
und bitte zum testen nur einen Register nehmen
-
Guten Abend @homoran
IOBroker: 10.195.14.2
RS485 to wifi: 10.195.14.6Ich lösche jetzt mal den kompletten Modbus Adapter und konfiguriere ihn neu
"mode server scheint nicht zu wifi zu passen." inwiefern?
Protokoll
modbus.0 2024-05-05 19:47:31.977 info Connected to slave 10.195.14.6 modbus.0 2024-05-05 19:47:31.638 info Can not execute task add for ID undefined: Parameter "id" needs to be of type "string" but type "undefined" has been passed modbus.0 2024-05-05 19:47:31.537 error Invalid object: {"type":"state","common":{"name":"Spannung PV String1","role":"value","type":"number","read":true,"write":true,"def":0,"unit":"V"},"native":{"regType":"holdingRegs","address":-4898,"deviceId":1,"type":"uint16be","len":1,"offset":0,"factor":"0,1","poll":true}} modbus.0 2024-05-05 19:47:31.536 error Invalid data holdingRegisters/0: {"_address":35103,"deviceId":1,"name":"PV1 Voltage","description":"Spannung PV String1","unit":"V","type":"uint16be","len":1,"factor":"0,1","offset":0,"formula":"","role":"value","room":"","poll":true,"wp":"","cw":"","isScale":"","address":-4898,"fullId":"modbus.0.0"} modbus.0 2024-05-05 19:47:31.530 error Invalid holdingRegisters address: -4898 modbus.0 2024-05-05 19:47:31.286 info starting. Version 6.1.0 in /opt/iobroker/node_modules/iobroker.modbus, node: v18.20.2, js-controller: 5.0.19 host.iobroker 2024-05-05 19:47:28.000 info instance system.adapter.modbus.0 started with pid 2475 host.iobroker 2024-05-05 19:47:25.489 info instance system.adapter.modbus.0 terminated with code 11 (ADAPTER_REQUESTED_TERMINATION) modbus.0 2024-05-05 19:47:25.409 info terminating host.iobroker 2024-05-05 19:47:24.943 info stopInstance system.adapter.modbus.0 send kill signal modbus.0 2024-05-05 19:47:24.901 info Terminated (ADAPTER_REQUESTED_TERMINATION): Without reason modbus.0 2024-05-05 19:47:24.898 info terminating modbus.0 2024-05-05 19:47:24.893 info Got terminate signal TERMINATE_YOURSELF host.iobroker 2024-05-05 19:47:24.884 info stopInstance system.adapter.modbus.0 (force=false, process=true)
Danke und Gruss -
@pv-anlage sagte in Goodwe WR 8kw mit Waveshare RS485 to Wifi -> Modbus IOBroker:
mode server scheint nicht zu wifi zu passen." inwiefern?
wenn ich die Anleitung richtig verstanden habe gibt es bei wifi dort nur "AP" oder "STA" einzutragen.
jetzt hast du aliases benutzen angehakt!
und das bei 35xxx.
Vorhin warst du in Holdingregister, die beginnen mit 40xxx. Wo bist du jetzt? -
@homoran
War ein Konfigfehler beim Modbus Adapter neu einrichten.
Waveshare:
-
Stimmt die Geräte ID mit der im WR überein?
Mal mit einem Modbus Programm getestet ob Daten kommen?
-
@pv-anlage
HalloGibts da news zu diesem Thema?
Hab einen Goodwe GW8000-SDT-20 und einen Waveshare RS485 to Ethernet POE (B)
Hier meine config des Waveshare Adapters:
Connection scheint zu klappen:
modbus.3 2024-06-28 17:49:43.953 info Connected to slave 192.168.1.125 modbus.3 2024-06-28 17:49:43.727 info starting. Version 6.1.0 in /opt/iobroker/node_modules/iobroker.modbus, node: v18.20.3, js-controller: 5.0.19 modbus.3 2024-06-28 17:49:39.929 info Terminated (ADAPTER_REQUESTED_TERMINATION): Without reason modbus.3 2024-06-28 17:49:39.929 info terminating modbus.3 2024-06-28 17:49:39.928 info Got terminate signal TERMINATE_YOURSELF
Aber die passenden Register finde ich nirgends.
Habe einen Goodwe GW8000-SDT-20, den ich mittels Waveshare RS485 to Ethernet POE (B) auslesen will.
In der Anleitung vom WR steht zum Thema Modbus nur folgendes:
Communication Protocols: Modbus-RTU (SunSpec Compliant)
Im Menü des WR kann ich den ModbusType einstellen. Entweder GOODWE oder SunSpec.Versteh ich das richtig, dass SunSpec ein Herstellerübergreiffender Standard ist? Bzw. sich Hersteller das via SunSpec Zertifizieren lassen können?
Hier kann man nach Goodwe Filtern, und sich die Listen herunterladen. Leider keine für die SDT Serie.
https://sunspec.org/certified-registry/
Hab ein paar aus dem Sheet der DT Serie probiert. Scheint aber nicht zu klappen.WR sollte richtig mit dem Waveshare Adapter verbunden sein:
1 ist mit RS485B des Waveshares verbunden.
3 ist mit RS485A des Waveshares verbunden. -
@endurance wenn du Sunspec versuchst musst du zu 99,9% eine andere Unit ID verwenden.
Bei SMA ist das z.B. die eingestellte ID + 123
-
@wendy2702 said in Goodwe WR 8kw mit Waveshare RS485 to Wifi -> Modbus IOBroker:
rsuchst musst du zu 99,9% eine andere Unit ID verwend
Unit ID im Modbus Adapter?
Aber der Kommuniziert doch "nur" mit dem Waveshare, oder? -
@endurance sagte in Goodwe WR 8kw mit Waveshare RS485 to Wifi -> Modbus IOBroker:
Aber der Kommuniziert doch "nur" mit dem Waveshare, oder?
nein, über den Waveshare
-
@endurance Waveshare ist „dumm“ und macht eigentlich nur die Umwandlung TCP <-> RS485
-
ok, habs nun mit UnitID 1 sowie 124 und 247 probiert. Funktikoniert nicht. Connection zum Waveshare scheinz zu funktionieren, Daten zu einigen eingetragenen Registern kommen aber keine.
Modbusadresse im Menü des WR: 247 (das ist aber nicht die UnitID, sondern der Port, oder?
Finde leider keine Infos zur UnitID dazu in den Anleitungen.Versteh ich das richtig, dass die IP und der Port im Modbusadapter vom Waveshare sind, und die UnitID vom WR?
-
@endurance sagte in Goodwe WR 8kw mit Waveshare RS485 to Wifi -> Modbus IOBroker:
ok, habs nun mit UnitID 1 sowie 124 und 247 probiert. Funktikoniert nicht. Connection zum Waveshare scheinz zu funktionieren, Daten zu einigen eingetragenen Registern kommen aber keine
Erstmal nur mit einem Register testen
Modbusadresse im Menü des WR: 247 (das ist aber nicht die UnitID, sondern der Port, oder?
Das ist die Unit ID. Port gibt es bei RS485 nicht sondern nur bei TCP
Versteh ich das richtig, dass die IP und der Port im Modbusadapter vom Waveshare sind, und die UnitID vom WR?
Ja
Edit: das hilft nicht https://forum.iobroker.net/topic/59207/how-to-goodwe-wechselrichter-und-modbus-tcp
Du hast das TCP gedöns nicht?
-
@wendy2702
TCP gedöns: jain: nur die V1 des Adapters, da lt dem compatibiliy sheet V2 nicht kompatibel ist.
Im Goodwe Forum hat mir aber jemand gesagt, dass ich den V2 brauche.
Ich hab einen SDT G2:(die gelben Markierungen kommen nicht von mir....)
dh für mich, dass WiFi+LAN2.0 nicht kompatibel ist...
Hatte noch einen RS485 rumliegen, desswegen wollte ich erstmal diesen nutzen.
Hier nochmal zum nachvollziehen die Settings am WR (via SolarGo APP), RS485 Settings:und vom Modbus Adapter:
Eventuell nutze ich die falschen Register, da bin ich mir nicht zu 100% sicher, da ich keine Liste finden konnte, bei dem der genau Typ aufgelistet war.
-
Stellt sich die ID automatisch auf 1 wenn du das andere Modbus Protokoll wählst?
Gibt es außer der Baudrate 9600 auch noch Einstellungen zu Bits etc. ?
-
@wendy2702 said in Goodwe WR 8kw mit Waveshare RS485 to Wifi -> Modbus IOBroker:
Stellt sich die ID automatisch auf 1 wenn du das andere Modbus Protokoll wählst?
nein, bleibt auf 247
Gibt es außer der Baudrate 9600 auch noch Einstellungen zu Bits etc. ?
nein, im RS485 Menü ist das alles
-
@endurance Sunspec ist mir mit ioBroker und SMA nicht gelungen. Erfordert nach meinem Verständnis eine Anfrage an den WR und diese wird dann mit einem Payload beantwortet das alles enthält.
Der Modbus Adapter fragt ja die Register einzeln nacheinander ab.
Ich würde es ohne Sunspec probieren oder HASS mit Sunspec Integration versuchen. Hat bei mir mit SMA nach 5 Minuten funktioniert