NEWS
Sofar Solar HYD10 KTL Wechselrichter an modbus Adapter
-
@v8turbo Ich hatte gestern Deine Einstellungen mit meinem WLAN USRIOT plausibilisiert. Da ist mir nichts aufgefallen.
Wie sieht Deine aktuelle ioBroker Modbus konfig aus?
Alles richtig verkabelt? A B , kein Wackelkontakt?
-
-
@klassisch Nein ab ist richtig dran.
-
Eine Sache habe ich noch gesehen
Wenn ich -> Quick Configure -> 2F UART Setting eingebe, sehe ich die TCP Modbus RTU Einstellung. Da hat man alles zusammen. Sollte bei Dir auch auftauchen. -
@klassisch ja sieht bei mir genau so aus
-
Du hast "Mehrere Geräte Ids" angekreuzt. Mache ich auch immer so. Aber im Post oben mit den Ragister Adressen sehe ich die nicht.
Kannst Du mal einen Screenshot davon zeigen? -
@klassisch Habe ich gerade erst probiert da du es so hast. Hab natürlich überall Slave ID 2 eingetragen. Geht aber auch nicht. Es kommt ständig Timeout im Log.
modbus.0 2023-01-21 16:29:06.303 debug Socket closed with error modbus.0 2023-01-21 16:29:06.297 warn Poll error count: 1 code: {"err":"timeout","timeout":5000} modbus.0 2023-01-21 16:29:06.294 error Client in error state. modbus.0 2023-01-21 16:29:06.292 error Request timed out. modbus.0 2023-01-21 16:29:06.291 warn Error: undefined modbus.0 2023-01-21 16:29:01.283 debug [DevID_2/holdingRegs] Poll address 1668 - 22 registers modbus.0 2023-01-21 16:29:01.283 debug Initialization of scale factors done! modbus.0 2023-01-21 16:29:01.281 debug [DevID_2] Poll start --------------------- modbus.0 2023-01-21 16:29:01.280 info Connected to slave 192.168.178.190
-
A B Kreuzen? Hast Du sicher schon mehrfach gemacht?
-
Wenn es nicht mit USB ginge würde ich
- Registertabelle des Wechselrichters ansehen. Hast Du einen Link?
- ioBroker Modbus Adapter stoppen
- dieses Programm http://en.radzio.dxp.pl/modbus-master-simulator/ starten und die Register eingeben
Dann kann man den ioBroker ausschließen und kommt näher an den Modbus
-
@klassisch Kann ich versuchen bzw hatte ich schonmal gemacht aber es geht ja per USB zumindest eins... Hab das Grad nochmal getestet. Wenn ich ein 2. Register dazu mach geht es auch noch aber sobald ein 3. kommt geht es nicht mehr...
odbus.0 2023-01-23 17:28:51.308 debug Cleaning up request fifo. modbus.0 2023-01-23 17:28:51.307 debug Clearing timeout of the current request. modbus.0 2023-01-23 17:28:51.302 info Disconnected from slave modbus.0 2023-01-23 17:28:50.303 warn Poll error count: 1 code: {"err":"timeout","timeout":5000} modbus.0 2023-01-23 17:28:50.301 error Request timed out. modbus.0 2023-01-23 17:28:50.301 warn Error: undefined modbus.0 2023-01-23 17:28:45.379 error Wrong CRC for frame: 2,3,44,0,0,0,122,0,0,3,99,0,0,1,157,0,0,4,192,192,0,0,1,51,0,0,2,158,0,0,0,0,0,0,0,174,0,0,0,14,0,0,2,120,0,0,0,24,135 modbus.0 2023-01-23 17:28:45.292 debug [DevID_2/holdingRegs] Poll address 1157 - 1 registers modbus.0 2023-01-23 17:28:45.292 debug Initialization of scale factors done! modbus.0 2023-01-23 17:28:45.290 debug [DevID_2] Poll start --------------------- modbus.0 2023-01-23 17:28:45.289 info Connected to slave modbus.0 2023-01-23 17:28:45.280 debug connect to serial /dev/ttyUSB0 with 9600 modbus.0 2023-01-23 17:28:44.932 debug Add holdingRegisters.2.41689_Bat_Discharge_Today: {"_id":"holdingRegisters.2.41689_Bat_Discharge_Today","type":"state","common":{"name":"","role":"value","type":"number","read":true,"write":true,"def":0,"unit":"kWh"},"native":{"regType":"holdingRegs","address":1688,"deviceId":2,"type":"uint32be","len":2,"offset":0,"factor":0.01,"poll":true}} modbus.0 2023-01-23 17:28:44.931 debug Add holdingRegisters.2.41685_Bat_Charge_Today: {"_id":"holdingRegisters.2.41685_Bat_Charge_Today","type":"state","common":{"name":"","role":"value","type":"number","read":true,"write":true,"def":0,"unit":"kWh"},"native":{"regType":"holdingRegs","address":1684,"deviceId":2,"type":"uint32be","len":2,"offset":0,"factor":0.01,"poll":true}} modbus.0 2023-01-23 17:28:44.931 debug Add holdingRegisters.2.41681_Energy_Selling_Today: {"_id":"holdingRegisters.2.41681_Energy_Selling_Today","type":"state","common":{"name":"","role":"value","type":"number","read":true,"write":true,"def":0,"unit":"kWh"},"native":{"regType":"holdingRegs","address":1680,"deviceId":2,"type":"uint32be","len":2,"offset":0,"factor":0.01,"poll":true}} modbus.0 2023-01-23 17:28:44.930 debug Add holdingRegisters.2.41677_Energy_Purchase_Today: {"_id":"holdingRegisters.2.41677_Energy_Purchase_Today","type":"state","common":{"name":"","role":"value","type":"number","read":true,"write":true,"def":0,"unit":"kWh"},"native":{"regType":"holdingRegs","address":1676,"deviceId":2,"type":"uint32be","len":2,"offset":0,"factor":0.01,"poll":true}} modbus.0 2023-01-23 17:28:44.929 debug Add holdingRegisters.2.41673_Load_Consumption_Today: {"_id":"holdingRegisters.2.41673_Load_Consumption_Today","type":"state","common":{"name":"","role":"value","type":"number","read":true,"write":true,"def":0,"unit":"kWh"},"native":{"regType":"holdingRegs","address":1672,"deviceId":2,"type":"uint32be","len":2,"offset":0,"factor":0.01,"poll":true}} modbus.0 2023-01-23 17:28:44.929 debug Add holdingRegisters.2.41669_PV_Generation_Today: {"_id":"holdingRegisters.2.41669_PV_Generation_Today","type":"state","common":{"name":"","role":"value","type":"number","read":true,"write":true,"def":0,"unit":"kWh"},"native":{"regType":"holdingRegs","address":1668,"deviceId":2,"type":"uint32be","len":2,"offset":0,"factor":0.01,"poll":true}} modbus.0 2023-01-23 17:28:44.928 debug Add holdingRegisters.2.41477_Power_PV_Total: {"_id":"holdingRegisters.2.41477_Power_PV_Total","type":"state","common":{"name":"","role":"value","type":"number","read":true,"write":true,"def":0,"unit":"kW"},"native":{"regType":"holdingRegs","address":1476,"deviceId":2,"type":"uint16be","len":1,"offset":0,"factor":0.1,"poll":true}} modbus.0 2023-01-23 17:28:44.928 debug Add holdingRegisters.2.41158_Active_Power_Output_Total: {"_id":"holdingRegisters.2.41158_Active_Power_Output_Total","type":"state","common":{"name":"","role":"value","type":"number","read":true,"write":true,"def":0,"unit":"kW"},"native":{"regType":"holdingRegs","address":1157,"deviceId":2,"type":"int16be","len":1,"offset":0,"factor":0.01,"poll":true}} modbus.0 2023-01-23 17:28:44.927 debug Initialize Objects for holdingRegs: [{"_address":41158,"deviceId":2,"name":"Active_Power_Output_Total","description":"","unit":"kW","type":"int16be","len":1,"factor":0.01,"offset":0,"formula":"","role":"value","room":"","poll":true,"wp":false,"cw":false,"isScale":false,"address":1157,"id":"holdingRegisters.2.41158_Active_Power_Output_Total"},{"_address":41477,"deviceId":2,"name":"Power_PV_Total","description":"","unit":"kW","type":"uint16be","len":1,"factor":0.1,"offset":0,"formula":"","role":"value","room":"","poll":true,"wp":false,"cw":false,"isScale":false,"address":1476,"id":"holdingRegisters.2.41477_Power_PV_Total"},{"_address":41669,"name":"PV_Generation_Today","description":"","unit":"kWh","type":"uint32be","len":2,"factor":0.01,"offset":0,"formula":"","role":"value","room":"","poll":true,"wp":false,"cw":false,"isScale":false,"deviceId":2,"address":1668,"id":"holdingRegisters.2.41669_PV_Generation_Today"},{"_address":41673,"name":"Load_Consumption_Today","description":"","unit":"kWh","type":"uint32be","len":2,"factor":0.01,"offset":0,"formula":"","role":"value","room":"","poll":true,"wp":false,"cw":false,"isScale":false,"deviceId":2,"address":1672,"id":"holdingRegisters.2.41673_Load_Consumption_Today"},{"_address":41677,"name":"Energy_Purchase_Today","description":"","unit":"kWh","type":"uint32be","len":2,"factor":0.01,"offset":0,"formula":"","role":"value","room":"","poll":true,"wp":false,"cw":false,"isScale":false,"deviceId":2,"address":1676,"id":"holdingRegisters.2.41677_Energy_Purchase_Today"},{"_address":41681,"name":"Energy_Selling_Today","description":"","unit":"kWh","type":"uint32be","len":2,"factor":0.01,"offset":0,"formula":"","role":"value","room":"","poll":true,"wp":false,"cw":false,"isScale":false,"deviceId":2,"address":1680,"id":"holdingRegisters.2.41681_Energy_Selling_Today"},{"_address":41685,"name":"Bat_Charge_Today","description":"","unit":"kWh","type":"uint32be","len":2,"factor":0.01,"offset":0,"formula":"","role":"value","room":"","poll":true,"wp":false,"cw":false,"isScale":false,"deviceId":2,"address":1684,"id":"holdingRegisters.2.41685_Bat_Charge_Today"},{"_address":41689,"name":"Bat_Discharge_Today","description":"","unit":"kWh","type":"uint32be","len":2,"factor":0.01,"offset":0,"formula":"","role":"value","room":"","poll":true,"wp":false,"cw":false,"isScale":false,"deviceId":2,"address":1688,"id":"holdingRegisters.2.41689_Bat_Discharge_Today"}] modbus.0 2023-01-23 17:28:44.926 debug Initialize Objects for inputRegs: [] modbus.0 2023-01-23 17:28:44.925 debug Initialize Objects for coils: [] modbus.0 2023-01-23 17:28:44.925 debug Initialize Objects for disInputs: [] modbus.0 2023-01-23 17:28:44.775 info starting. Version 5.0.11 (non-npm: ioBroker/ioBroker.modbus) in /opt/iobroker/node_modules/iobroker.modbus, node: v16.19.0, js-controller: 4.0.24 modbus.0 2023-01-23 17:28:44.419 debug Plugin sentry Initialize Plugin (enabled=true) modbus.0 2023-01-23 17:28:44.348 debug States connected to redis: 127.0.0.1:9000 modbus.0 2023-01-23 17:28:44.284 debug States create User PubSub Client modbus.0 2023-01-23 17:28:44.282 debug States create System PubSub Client modbus.0 2023-01-23 17:28:44.271 debug Redis States: Use Redis connection: 127.0.0.1:9000 modbus.0 2023-01-23 17:28:44.248 debug Objects connected to redis: 127.0.0.1:9001 modbus.0 2023-01-23 17:28:44.241 debug Objects client initialize lua scripts modbus.0 2023-01-23 17:28:44.214 debug Objects create User PubSub Client modbus.0 2023-01-23 17:28:44.213 debug Objects create System PubSub Client modbus.0 2023-01-23 17:28:44.210 debug Objects client ready ... initialize now modbus.0 2023-01-23 17:28:44.174 debug Redis Objects: Use Redis connection: 127.0.0.1:9001 admin.0 2023-01-23 17:28:43.533 info <== Disconnect system.user.admin from ::ffff:192.168.178.203 modbus host.raspberrypi 2023-01-23 17:28:42.914 info instance system.adapter.modbus.0 started with pid 7562 host.raspberrypi 2023-01-23 17:28:40.250 info instance system.adapter.modbus.0 terminated with code 11 (ADAPTER_REQUESTED_TERMINATION) host.raspberrypi 2023-01-23 17:28:39.757 info stopInstance system.adapter.modbus.0 send kill signal modbus.0 2023-01-23 17:28:39.684 info Terminated (ADAPTER_REQUESTED_TERMINATION): Without reason modbus.0 2023-01-23 17:28:39.683 debug Plugin sentry destroyed modbus.0 2023-01-23 17:28:39.681 info terminating modbus.0 2023-01-23 17:28:39.678 info Got terminate signal TERMINATE_YOURSELF host.raspberrypi 2023-01-23 17:28:39.670 info stopInstance system.adapter.modbus.0 (force=false, process=true) modbus.0 2023-01-23 17:28:22.542 debug Cleaning up request fifo. modbus.0 2023-01-23 17:28:22.541 debug Clearing timeout of the current request. modbus.0 2023-01-23 17:28:22.537 info Disconnected from slave modbus.0 2023-01-23 17:28:21.534 warn Poll error count: 1 code: {"err":"timeout","timeout":5000} modbus.0 2023-01-23 17:28:21.533 error Request timed out. modbus.0 2023-01-23 17:28:21.532 warn Error: undefined modbus.0 2023-01-23 17:28:16.530 debug [DevID_2/holdingRegs] Poll address 1668 - 22 registers modbus.0 2023-01-23 17:28:16.527 debug [DevID_2/holdingRegs] Poll address 1476 DONE modbus.0 2023-01-23 17:28:16.493 debug [DevID_2/holdingRegs] Poll address 1476 - 1 registers modbus.0 2023-01-23 17:28:16.492 debug [DevID_2] Poll start --------------------- admin.0 2023-01-23 17:27:57.689 info ==> Connected system.user.admin from ::ffff:192.168.178.203 modbus.0 2023-01-23 17:27:46.437 debug [DevID_2/holdingRegs] Poll address 1668 DONE modbus.0 2023-01-23 17:27:46.360 debug [DevID_2/holdingRegs] Poll address 1668 - 22 registers modbus.0 2023-01-23 17:27:46.358 debug [DevID_2/holdingRegs] Poll address 1476 DONE modbus.0 2023-01-23 17:27:46.323 debug [DevID_2/holdingRegs] Poll address 1476 - 1 registers modbus.0 2023-01-23 17:27:46.321 debug [DevID_2] Poll start --------------------- modbus.0 2023-01-23 17:27:16.266 debug [DevID_2/holdingRegs] Poll address 1668 DONE modbus.0 2023-01-23 17:27:16.189 debug [DevID_2/holdingRegs] Poll address 1668 - 22 registers modbus.0 2023-01-23 17:27:16.187 debug [DevID_2/holdingRegs] Poll address 1476 DONE modbus.0 2023-01-23 17:27:16.154 debug [DevID_2/holdingRegs] Poll address 1476 - 1 registers
-
@v8turbo Das heißt, auch mit USB gehen nicht mehr als 3 Register, aber wenigstens geht ein Register mit USB?
-
@klassisch ja das ist schon immer so. Hatte ich auch schon geschrieben.
-
Ich habe eigentlich die gleiche Kombination aus SofarSolar HYD Wechselrichter und Pylontech Akku.
Das was du machst scheint ja nicht so einfach zu sein. Es gibt ja auch anscheinend die Möglichkeit, das per MQTT einzubinden.
https://www.instructables.com/Sofar2mqtt-Remote-Control-for-Sofar-Solar-Inverter/
oder
https://github.com/pawelka/sofarsolar_esp_rs485_loggerDas zweite habe ich versucht nachzubauen, aber irgendwie bekomme ich da auch keine Daten angezeigt.
Hat vielleicht hier schon jemand eins der beiden Sachen evtl. schon mit Erfolg eingebunden an nem HYD Wechselrichter? -
Ich persönlich glaube das es mit Modbus nicht schwerer ist als mit anderen wegen wenn die HW passt und man gezielt an die Konfig geht.
Aus eigener Erfahrung kann ich sagen das ein Abbruch nach hinzufügen mehrerer Register meistens ein Fehler in der Konfig genau dieser war. Entweder falscher Typ und /oder falsche länge.
-
Ja, sofar2mqtt läuft bei mir aktuell am HYD3000es. Aktuell habe ich ehr das Problem das ich ein JSON-Response bekomme und keine einzelnen Datenobjekte. Entweder parse ich den Kram (am liebsten ohne Aufwand) oder ich bau mir den Code entsprechend um...mal sehen.
Original kommt hier hier: link sofar2mqtt
Gruß,
Flo -
@v8turbo mein HYD 15 KTL 3P läuft mit folgender Konfiguration:
Pin 1 und 3 des COM-Steckers am Wechselrichter verbunden mit einem Waveshare RS485 TO ETH (B), dieser hängt am LAN. Die Modbusleitung ist ca. 4 m lang und habe keine Abschlusswiderstände dran.
https://www.waveshare.com/catalogsearch/result/?q=RS485+TO+ETH+(B)Er ist wie folgt konfiguriert: (Neben dem Wechselrichter hängt auch noch ein SDM72D-M-2 Modbus Drei-Phasen-Elektro-Energiezähler auf dem gleichen Gerät am Modbus, jedoch mit eigener Modbus Instanz im ioBroker)
Im ioBroker habe ich eine eigene Modbus-Instanz für den Wechselrichter mit folgender Konfiguration (Für meinen Wechselrichter habe ich die ID 7 im Wechselrichter eingestellt, Standard ist 1):
Um den Faktor einstellen zu können, muss man auf den rot eingekreisten Kopf klicken um den erweiterten Modus einzuschalten.
In den Objekten im ioBroker sieht man dementsprechend folgende Werte (Da es dunkel ist, ist die PV-Leistung 0, negative Batterieladung bedeutet Entladung)
-
ich habe jetzt noch ein paar Register mehr hinzugefügt, da irgendwo geschrieben stand dass nur 3 Register gleichzeitig gehen. In meiner Konfig scheint das kein Problem zu sein.
-
@willik
Hallo, sage mal wie bist du auf die Zahlen für die Register gekommen ? -
@willik
Hallo, ich habe mir den Waveshare RS485 to ETH (B) besorgt und probiere diesen nun seit 2Tagen an meinem SofarSolar ins laufen zu bekommen.-
Zum einem bekomme ich keine stetige Verbindung mit dem IO-Broker hin. Er baut die Verbindung auf und bricht diese Verbindung nach der eingestellten Zeit wieder ab.
Log:
-
Des Weiteren blinkt die ACT LED, und die Link LED blinkt zwischen Grün und Blau
-
Da du die Pins 1 -3 beschrieben hast, es nach der Beschreibung allerdings Pin 1 - 4 laut Beschreibung sein sollte, habe ich einen LogicAnalyzer dazwischen gehangen. Ich habe zwischen PIN 1 -4 alle varianten ausprobiert, jedoch sehe ich immer nur die Anfrage vom Waveshare in Richtung SoforSolar Umrichter. Er reagiert nicht. (ID habe ich ebenfalls bereits probiert zu ändern, Baud 9600 sollte passen):
Da ich aus meiner Sicht zwei unterschiedliche Probleme habe, wollte ich um Rat fragen. Ich habe soweit ich es nachvollziehen konnte alle Einstellungen im IO-Broker sowie auf der Web-Oberfläche des Waveshares eingetragen.
Vielen Dank für eine Rückmeldung im Vorfeld!
-
-
@sad1983 sagte in Sofar Solar HYD10 KTL Wechselrichter an modbus Adapter:
Ich habe soweit ich es nachvollziehen konnte alle Einstellungen im IO-Broker sowie auf der Web-Oberfläche des Waveshares eingetragen.
Bitte zeigen!
Logs bitte als Text in Code Tags </> posten.
Hinweis: die Verbindung zu IOB bzw. der Adapter wird erst "grün" wenn mindestens ein Register erfolgreich ausgelesen werden kann.