NEWS
Growatt Wechselrichter über Modbus auslesen - gelöst -
-
Hi. Also Habs mit dem selben rs232 Adapter wie du ihn hast auch zum laufen gebracht... Was machst du mit den Fehlern im log vom Modbus adapter? Hast das schon optimieren können? Oder wollen wir noch ein bisschen schmalz in andere Lösungen stecken? Mqtt wäre noch denkbar...
Denke ich probiere den sketch nochmal aus... Der sollte die Daten über WLAN mittels mqtt übertragen.. Mal schauen ob das etwas stabiler läuft... -
Grüße,
so also bei mir laufen ja der Shine Wifi Stick und der Modbusadapter gleichzeitig. Damit das funktioniert, ist am Modbusadapter nur RX angeschlossen, er empfängt also nur die Daten, die vom Shinestick angefordert werden. Da der Modbusadapter nix senden kann, erhalte ich im IoBroker Log folgende Fehlermeldungen:
modbus.0 2019-11-30 14:25:00.402 warn Poll error count: 1 code: "ReadInputRegisters: Invalid FC 3" modbus.0 2019-11-30 14:24:59.268 error unknown function code: 134 modbus.0 2019-11-30 14:24:58.272 error unknown function code: 134 modbus.0 2019-11-30 14:24:57.268 error unknown function code: 134 modbus.0 2019-11-30 14:24:56.271 error unknown function code: 134 modbus.0 2019-11-30 14:24:55.274 error unknown function code: 134 modbus.0 2019-11-30 14:24:54.268 error unknown function code: 134 modbus.0 2019-11-30 14:24:52.980 debug Sending pdu to the socket. modbus.0 2019-11-30 14:24:52.980 debug Poll inputRegs DevID(1) address 0 - 33 bytes modbus.0 2019-11-30 14:24:52.976 debug Poll device 1 modbus.0 2019-11-30 14:24:50.969 debug Sending pdu to the socket. modbus.0 2019-11-30 14:24:50.969 debug Poll inputRegs DevID(1) address 0 - 33 bytes modbus.0 2019-11-30 14:24:50.965 debug Poll device 1
Sind zwar unschön für einen Perfektionisten, haben aber keine Auswirkungen auf die Daten im VIS. Wahrscheinlich fordert der Shinestick Daten an, die der Modbusadapter nicht verarbeiten kann, neben den Daten, die er verarbeiten kann.
Du hast den Adapter ja ohne Shinestick angeschlossen. Da sind TX und RX verbunden. Da erhalte ich keinerlei Fehlermeldungen, die Daten werden fortwährend aktualisiert, so wie unter "Poll delay" in den Adapter Einstellungen im IoBroker angegeben.
Log Auszug:
modbus.0 2019-11-30 14:12:31.904 debug Poll inputRegs DevID(1) address 0 - 33 bytes modbus.0 2019-11-30 14:12:31.903 debug Poll device 1 modbus.0 2019-11-30 14:12:30.191 debug Sending pdu to the socket. modbus.0 2019-11-30 14:12:30.191 debug Poll inputRegs DevID(1) address 0 - 33 bytes modbus.0 2019-11-30 14:12:30.190 debug Poll device 1 modbus.0 2019-11-30 14:12:28.373 debug Sending pdu to the socket. modbus.0 2019-11-30 14:12:28.373 debug Poll inputRegs DevID(1) address 0 - 33 bytes modbus.0 2019-11-30 14:12:28.372 debug Poll device 1 modbus.0 2019-11-30 14:12:26.683 debug Sending pdu to the socket. modbus.0 2019-11-30 14:12:26.682 debug Poll inputRegs DevID(1) address 0 - 33 bytes modbus.0 2019-11-30 14:12:26.681 debug Poll device 1 modbus.0 2019-11-30 14:12:24.934 debug Sending pdu to the socket. modbus.0 2019-11-30 14:12:24.934 debug Poll inputRegs DevID(1) address 0 - 33 bytes modbus.0 2019-11-30 14:12:24.933 debug Poll device 1 modbus.0 2019-11-30 14:12:23.223 debug Sending pdu to the socket. modbus.0 2019-11-30 14:12:23.222 debug Poll inputRegs DevID(1) address 0 - 33 bytes modbus.0 2019-11-30 14:12:23.222 debug Poll device 1 modbus.0 2019-11-30 14:12:21.531 debug Sending pdu to the socket. modbus.0 2019-11-30 14:12:21.530 debug Poll inputRegs DevID(1) address 0 - 33 bytes modbus.0 2019-11-30 14:12:21.530 debug Poll device 1 modbus.0 2019-11-30 14:12:19.833 debug Sending pdu to the socket. modbus.0 2019-11-30 14:12:19.833 debug Poll inputRegs DevID(1) address 0 - 33 bytes modbus.0 2019-11-30 14:12:19.833 debug Poll device 1 modbus.0 2019-11-30 14:12:18.077 debug Sending pdu to the socket. modbus.0 2019-11-30 14:12:18.077 debug Poll inputRegs DevID(1) address 0 - 33 bytes modbus.0 2019-11-30 14:12:18.076 debug Poll device 1 modbus.0 2019-11-30 14:12:16.267 debug Sending pdu to the socket. modbus.0 2019-11-30 14:12:16.266 debug Poll inputRegs DevID(1) address 0 - 33 bytes modbus.0 2019-11-30 14:12:16.266 debug Poll device 1 modbus.0 2019-11-30 14:12:14.479 debug Sending pdu to the socket. modbus.0 2019-11-30 14:12:14.478 debug Poll inputRegs DevID(1) address 0 - 33 bytes modbus.0 2019-11-30 14:12:14.477 debug Poll device 1 modbus.0 2019-11-30 14:12:12.754 debug Sending pdu to the socket. modbus.0 2019-11-30 14:12:12.753 debug Poll inputRegs DevID(1) address 0 - 33 bytes modbus.0 2019-11-30 14:12:12.753 debug Poll device 1 modbus.0 2019-11-30 14:12:11.034 debug Sending pdu to the socket. modbus.0 2019-11-30 14:12:11.033 debug Poll inputRegs DevID(1) address 0 - 33 bytes modbus.0 2019-11-30 14:12:11.032 debug Poll device 1
Mein einziges Problem derzeit ist, das beim Register Satus Inverter mal aller 10 Minuten, mal alle 3Stunden der Wert 20000 erscheint und die anderen Werte ebenfalls nicht plausibel sind. Beim nächsten Poll (Shinestick fordert alle 11 Sekunden an) ist dann wieder alles korrekt.
Den Sketch mit MQTT hatte ich schon probiert, Connect in Objekte Mqtt erschien, aber keine Daten. Werde es bei Gelegenheit aber nochmal probieren.
-
@Wiednitz sagte in Growatt Wechselrichter über Modbus auslesen - gelöst -:
Den Sketch mit MQTT hatte ich schon probiert, Connect in Objekte Mqtt erschien, aber keine Daten. Werde es bei Gelegenheit aber nochmal probieren.
Genau das habe ich auch festgestellt... Habe dem Sketch noch username und Passwort für Modbus hinzugefügt.
Ansosnten habe ich mal ein issue auf githib deswegen aufgemacht. Aber ich glaube der Entwickler des Sketch ist nicht mehr so aktiv... -
@Wiednitz sagte in Growatt Wechselrichter über Modbus auslesen - gelöst -:
Du hast den Adapter ja ohne Shinestick angeschlossen. Da sind TX und RX verbunden. Da erhalte ich keinerlei Fehlermeldungen, die Daten werden fortwährend aktualisiert, so wie unter "Poll delay" in den Adapter Einstellungen im IoBroker angegeben.
Ja, es macht alles was es soll....habe auch keine unplausiblen Werte, bekomme aber diese Meldungen des Adapter...
modbus.1 2019-11-30 19:45:45.500 warn (6548) Poll error count: 1 code: {"err":"timeout"} modbus.1 2019-11-30 19:45:45.496 error (6548) Client in error state. modbus.1 2019-11-30 19:45:45.494 error (6548) Request timed out. modbus.1 2019-11-30 19:45:45.488 warn (6548) Error: undefined
-
Im Sketch steht "// communicate with Modbus slave ID 2" , darunter aber eine 1 vor dem Serial. Die ID vom Inverter ist aber 1, sofern COM1 im Inverter eingestellt ist !?
Wie geschrieben, bei mir keine Fehler ohne Shinestick. Wifiverbindung stabil ?
-
@Wiednitz sagte in Growatt Wechselrichter über Modbus auslesen - gelöst -:
Im Sketch steht "// communicate with Modbus slave ID 2" , darunter aber eine 1 vor dem Serial. Die ID vom Inverter ist aber 1, sofern COM1 im Inverter eingestellt ist !?
ja das hat mich auch gewundert, aber ich dachte das Kommentar ist halt falsch und die 1würde schon passen...
das mit dem Passwort funktioniert aber wunderbar, falls das noch nicht im Sketch hast...
const char* mqtt_username = "XXXX"; const char* mqtt_password = "XXXXXXX"; if (client.connect("GrowattInverter", mqtt_username, mqtt_password)) {
-
Wie ? Bekommst du Werte mit mqtt ? Ich habe Passwort bei mqtt Adapter nicht vergeben !?
-
@Wiednitz sagte in Growatt Wechselrichter über Modbus auslesen - gelöst -:
Wie geschrieben, bei mir keine Fehler ohne Shinestick. Wifiverbindung stabil ?
Denke schon habe sonst keine Probleme mit den restlichen Wemos...
-
@Wiednitz sagte in Growatt Wechselrichter über Modbus auslesen - gelöst -:
Wie ? Bekommst du Werte mit mqtt ? Ich habe Passwort bei mqtt Adapter nicht vergeben !?
Ich bekomme auch nur die 2 Werte... Den eror habe ich im sketch unbenannt in nodata...benutze den MQTT Adapter.
wenn der state beschrieben wird ist die else Aktiv wenn kein Wert gelesen werden kannups war erst das falsche Bild
-
Ja dachte schon, was will er mir mit dem Chart jetzt sagen ^^
Ja mehr als init und e2 kommt bei mir auch nicht.
Nochmal zu den Fehlern bei Modbus, was hast du für Werte bei den Millisekunden im Modbus Adapter eingetragen ?
-
hatte aber auch deine ausprobiert
-
ist dein log auch Fehlerfrei wenn der Wechselrichter aus ist?
-
Log von eben gerade wenn Aus, Modbusadapter ist ja ohne Strom, da Inverter Strom für den Adapter liefert.
modbus.0 2019-11-30 20:07:52.573 debug Closing client on purpose. modbus.0 2019-11-30 20:07:51.561 debug Cleaning up request fifo. modbus.0 2019-11-30 20:07:51.561 debug Clearing timeout of the current request. modbus.0 2019-11-30 20:07:51.560 debug Socket closed with error modbus.0 2019-11-30 20:07:51.560 warn On error: {"errno":"ETIMEDOUT","code":"ETIMEDOUT","syscall":"connect","address":"192.168.10.25","port":23} modbus.0 2019-11-30 20:07:51.560 error Client in error state. modbus.0 2019-11-30 20:07:51.560 error Socket Error modbus.0 2019-11-30 20:07:43.169 debug system.adapter.admin.0: logging true modbus.0 2019-11-30 20:06:48.079 debug sendTo "listUart" to system.adapter.admin.0 from system.adapter.modbus.0 modbus.0 2019-11-30 20:06:48.079 info List of port: [] modbus.0 2019-11-30 20:06:47.054 debug sendTo "listUart" to system.adapter.admin.0 from system.adapter.modbus.0 modbus.0 2019-11-30 20:06:47.053 info List of port: [] modbus.0 2019-11-30 20:06:46.037 debug sendTo "listUart" to system.adapter.admin.0 from system.adapter.modbus.0 modbus.0 2019-11-30 20:06:46.037 info List of port: [] modbus.0 2019-11-30 20:06:45.014 debug sendTo "listUart" to system.adapter.admin.0 from system.adapter.modbus.0 modbus.0 2019-11-30 20:06:45.014 info List of port: [] modbus.0 2019-11-30 20:06:43.983 debug sendTo "listUart" to system.adapter.admin.0 from system.adapter.modbus.0 modbus.0 2019-11-30 20:06:43.982 info List of port: [] modbus.0 2019-11-30 20:06:42.949 debug sendTo "listUart" to system.adapter.admin.0 from system.adapter.modbus.0 modbus.0 2019-11-30 20:06:42.948 info List of port: [] modbus.0 2019-11-30 20:06:41.918 debug sendTo "listUart" to system.adapter.admin.0 from system.adapter.modbus.0 modbus.0 2019-11-30 20:06:41.918 info List of port: [] modbus.0 2019-11-30 20:06:40.901 debug sendTo "listUart" to system.adapter.admin.0 from system.adapter.modbus.0 modbus.0 2019-11-30 20:06:40.901 info List of port: [] modbus.0 2019-11-30 20:06:39.886 debug sendTo "listUart" to system.adapter.admin.0 from system.adapter.modbus.0 modbus.0 2019-11-30 20:06:39.886 info List of port: [] modbus.0 2019-11-30 20:06:38.611 debug sendTo "listUart" to system.adapter.admin.0 from system.adapter.modbus.0 modbus.0 2019-11-30 20:06:38.610 info List of port: [] modbus.0 2019-11-30 20:06:30.536 debug Closing client on purpose. modbus.0 2019-11-30 20:06:29.523 debug Cleaning up request fifo. modbus.0 2019-11-30 20:06:29.522 debug Clearing timeout of the current request. modbus.0 2019-11-30 20:06:29.522 debug Socket closed with error modbus.0 2019-11-30 20:06:29.522 warn On error: {"errno":"ETIMEDOUT","code":"ETIMEDOUT","syscall":"connect","address":"192.168.10.25","port":23} modbus.0 2019-11-30 20:06:29.522 error Client in error state. modbus.0 2019-11-30 20:06:29.522 error Socket Error modbus.0 2019-11-30 20:05:08.492 debug Closing client on purpose. modbus.0 2019-11-30 20:05:07.481 debug Cleaning up request fifo. modbus.0 2019-11-30 20:05:07.480 debug Clearing timeout of the current request. modbus.0 2019-11-30 20:05:07.480 debug Socket closed with error modbus.0 2019-11-30 20:05:07.479 warn On error: {"errno":"ETIMEDOUT","code":"ETIMEDOUT","syscall":"connect","address":"192.168.10.25","port":23} modbus.0 2019-11-30 20:05:07.479 error Client in error state. modbus.0 2019-11-30 20:05:07.479 error Socket Error modbus.0 2019-11-30 20:03:46.445 debug Closing client on purpose. modbus.0 2019-11-30 20:03:45.445 debug Cleaning up request fifo. modbus.0 2019-11-30 20:03:45.445 debug Clearing timeout of the current request. modbus.0 2019-11-30 20:03:45.445 debug Socket closed with error modbus.0 2019-11-30 20:03:45.444 warn On error: {"errno":"ETIMEDOUT","code":"ETIMEDOUT","syscall":"connect","address":"192.168.10.25","port":23} modbus.0 2019-11-30 20:03:45.444 error Client in error state. modbus.0 2019-11-30 20:03:45.443 error Socket Error
Mit den Zeiten hat es heute Navhmittag funktioniert...
Wie oft kommen die Fehler ?
-
Stimmt du versorgst den Wemoja mit der Inverterschnittstellen Spannung....Meiner hängt an ner Batterie...Die Fehler kommen jede Minute mit den Einstellungen die du als erstes ganz oben geteilt hast...Werde mal die von eben probieren...
-
Welche Version vom Modbusadapter verwendest du? Hab eine instanz mit nem RS485 Modbus laufen an welcher ein Solar Log Meßgerät eingelesen wird...halt kein TCP IP und läuft seit Monaten Fehlerfrei...
-
Version 3.0.0, direkt von Github installiert.
Solar Log hängt per Kabel an deinem IoBroker PC ?
-
@Wiednitz ja an meinem Raspberry pi / Multihost Slave
Denke das Problem ist auch, wenn der Modbus nix mehr sendet weil keine Sonne und Wechselrichter aus....Deshalb wäre mir bei der Anwendung MQTT lieber.
-
Na die Fehler kommen aber auch wenn der Inverter an ist ???
-
@Wiednitz ja stimmt, hab gerade im Log nachgeschaut....vlt.liegt es doch am Wlan...Ist ein paar meter weg im Garten der Wechselrichter...
-
@smartboart sagte in Growatt Wechselrichter über Modbus auslesen - gelöst -:
vlt.liegt es doch am Wlan
-82db wifi RSSI was hast du? weist das zufällig?