NEWS
Modbus adapter
-
@glasfaser sagte in Modbus adapter:
Nur ein Client kann sich verbinden , hast du das noch aktiv !
Ist das bei Modbus RTU so?
Ich habe mein Smartmeter über RS485 <-> TCP mit so einem USRIOT angebunden. Da kann (bzw. konnte) ich von 2 Rechnern oder 2 Instanzen aus zugreifen.
-
Ja ... ist komisch .. ich kann aktuell nur einen Client verbinden .
... bei anderen habe ich es auch schon teils bemerkt ... die schreiben , sie könne wie du 2 verbinden . -
@glasfaser Danke, habe derzeit kein Testsystem mehr am Laufen. Beim Smartmeter und beim RFLink hat der doppelte Zugriff noch funktioniert. Aber das waren halt nur serielle Signale.
-
@klassisch sagte in Modbus adapter:
@icegixxe Jedenfalls ist der connect mal korrekt und mehr als vorher da war.
Also bedaten, dann sehen wir weiter.Habe zum Test mit dem 1. Wert angefangen.
Objekt wurde angelegt, aber leider 0W, was nicht korrekt ist.
Im Log leider weiterhin Fehler:
modbus.0 2023-01-12 18:46:08.078 info Disconnected from slave 192.168.1.166modbus.0 2023-01-12 18:46:07.081 warn Poll error count: 2 code: {"err":"timeout","timeout":5000}
modbus.0 2023-01-12 18:46:07.078 error Client in error state.
modbus.0 2023-01-12 18:46:07.077 error Request timed out.
modbus.0 2023-01-12 18:46:07.074 warn Error: undefined
modbus.0 2023-01-12 18:46:02.071 info Connected to slave
-
@icegixxe Der Wert sollte Float sein, Du hast unsigned eingestellt.
Stell mal Float big endian ein
Länge 4 (mein SDM630 will hier 2. Die 2 verstehe ich, die 4 nicht)
Und nimm mal einen anderen Wert wie Energie, Spannung oder Frequenz. Das läßt sich leichter prüfen. Bei den berechnete Power Werten, weiß man nie so genau was die rechnen.
Spannung ist nett, weil sich da oft was ändert. Da sieht man, ob es läuft. -
@icegixxe Schau mal, dort https://forum.iobroker.net/post/873275 gibt es eine Anleitung zum SDM72 als PDF.
Da sehen die Register anders aus. Vielleicht gibt es da mehrere Varianten.
Registerbeschreibung dazu https://stromzähler.eu/media/pdf/93/17/d7/SDM72DM-V2.pdfDort ist Register 30001 die Spannung auf Phase L1
Damit würde ich anfangen.
Bei der Länge würde ich 4 testen wie es drin steht oder auch 2 wie es mir plausibler erscheint. -
@klassisch sagte in Modbus adapter:
@icegixxe Schau mal, dort https://forum.iobroker.net/post/873275 gibt es eine Anleitung zum SDM72 als PDF.
Da sehen die Register anders aus. Vielleicht gibt es da mehrere Varianten.
Registerbeschreibung dazu https://stromzähler.eu/media/pdf/93/17/d7/SDM72DM-V2.pdfDort ist Register 30001 die Spannung auf Phase L1
Damit würde ich anfangen.
Bei der Länge würde ich 4 testen wie es drin steht oder auch 2 wie es mir plausibler erscheint.Habe die anderen Register eingetragen und auch den Datentyp nochmal geändert.
Leider weiterhin diese Logs, eine Instanz die nach dem Neustart kurz grün ist und dann wieder auf gelb geht.
-
@icegixxe Mal als Holding Register probiert?
-
@wendy2702 sagte in Modbus adapter:
@icegixxe Mal als Holding Register probiert?
Jetzt wo du es geschrieben hast, aber ebenfalls keine Veränderung. Immer 0V auf allen drei Phasen.
-
@icegixxe Bei mir sind das beim SDM639 Input Register.
Sicher, daß der Zähler richtig mit dem Converter verbunden ist? Also die Verbindung A B. Manchmal muß man die kreuzen.
Was machen die LEDs beim USRIOT? Die 485 Rx und Tx LEDs müsse etwa im Sekundentakt pulsen, wenn ich mich recht erinnere.Denn bei mir ist connect true und es gibt auch eine poll time != 0
Das ist bei Dir anders.
Du kannst auch den USRIOT auf dessen Website ansurfen und dann sollten die Rx und Tx Counter hochzählen -
@klassisch sagte in Modbus adapter:
Die 485 Rx und Tx LEDs
Es ist alles, wie du geschrieben hast. Die 485 Rx und Tx LEDs pulsen im Sekundentakt.
Ich habe nochmal in den Verbindungsparametern zurück auf TCP gestellt, anstelle von RTU über TCP.
Seit dem waren dann alle Fehler im Log verschwunden und die Instanz bliebt dauerhaft grün.
Dann habe ich nochmal im Handbuch nachgesehen, "Aliases benutzen" und "Direkte Adressen benutzen (bei Aliases)" war aktiv, habe ich bei mir nachgeholt. Danach hat der Adapter die Input Adressen von 3000... auf 6000... umgestellt. Habe ich wieder zurück auf die korrekten Adressen geändert und durchgestartet.
Und dann.... -
@icegixxe Sieht gut aus!
Hast Du beim 410S RTU eingestellt? Ich glaub bei dem kann man das, aber der macht das nicht stabil, wenn ich mich recht erinnere.
Bringt ein paar Logeinträge pro Tag.
Deshalb lieber den 410S auf TCP stellen und den ioBroker Adapter auf RTU TCP.
Man darf immer nur bei einem der beiden Partner RTU einstellen. -
@klassisch sagte in Modbus adapter:
@icegixxe Sieht gut aus!
Hast Du beim 410S RTU eingestellt? Ich glaub bei dem kann man das, aber der macht das nicht stabil, wenn ich mich recht erinnere.
Bringt ein paar Logeinträge pro Tag.
Deshalb lieber den 410S auf TCP stellen und den ioBroker Adapter auf RTU TCP.
Man darf immer nur bei einem der beiden Partner RTU einstellen.Diese Einstellung finde ich nicht am Gerät und auch nicht in der Herstellerdoku.
https://stromzähler.eu/media/pdf/93/17/d7/SDM72DM-V2.pdfAber so wie es jetzt ist könnte es doch bleiben?
Hast du eine technische Erklärung für meine Änderungen? Ich habe noch nicht verstanden, warum es jetzt mit den neuen Aliases Einstellungen klappt... -
@klassisch sagte in Modbus adapter:
@icegixxe Sieht gut aus!
Hast Du beim 410S RTU eingestellt? Ich glaub bei dem kann man das, aber der macht das nicht stabil, wenn ich mich recht erinnere.
Bringt ein paar Logeinträge pro Tag.
Deshalb lieber den 410S auf TCP stellen und den ioBroker Adapter auf RTU TCP.
Man darf immer nur bei einem der beiden Partner RTU einstellen.Sorry, du meinst natürlich das gateway.
Das sieht aktuell so aus: -
@icegixxe sagte in Modbus adapter:
Diese Einstellung finde ich nicht am Gerät und auch nicht in der Herstellerdoku.
Nein, das ist eine Einstellung beim USRIOT
Aber so wie es jetzt ist könnte es doch bleiben?
Ja, Du kannst das mal so lassen und das logfile beobachten. Ich hatte das auch mal so testweise, es gab dann allerdings ein paar Fehlereinträge pro Tag. Dann habe ich im Adapter TCP RTU eingestellt und im 410S nur TCP. Das lief dann stabiler. Man darf anscheinend immer nur auf einer Seite Mdobus RTU auswählen. Entweder im Konverter oder im ioBroker.
Hast du eine technische Erklärung für meine Änderungen? Ich habe noch nicht verstanden, warum es jetzt mit den neuen Aliases Einstellungen klappt...
Not really. Modbus ist eine alte Sache also die Computer RAMs noch in kByte gezählt wurden. Das ist nicht so komfortabel mit der Einstellung der Register. Und ich habe mich nicht wirklich intensiv damit beschäftigt. Ich bin immer froh, wenn es dann mal läuft. Aber wenn es läuft, dann recht stabil.
-
@klassisch sagte in Modbus adapter:
@icegixxe sagte in Modbus adapter:
Diese Einstellung finde ich nicht am Gerät und auch nicht in der Herstellerdoku.
Nein, das ist eine Einstellung beim USRIOT
Aber so wie es jetzt ist könnte es doch bleiben?
Ja, Du kannst das mal so lassen und das logfile beobachten. Ich hatte das auch mal so testweise, es gab dann allerdings ein paar Fehlereinträge pro Tag. Dann habe ich im Adapter TCP RTU eingestellt und im 410S nur TCP. Das lief dann stabiler. Man darf anscheinend immer nur auf einer Seite Mdobus RTU auswählen. Entweder im Konverter oder im ioBroker.
Hast du eine technische Erklärung für meine Änderungen? Ich habe noch nicht verstanden, warum es jetzt mit den neuen Aliases Einstellungen klappt...
Not really. Modbus ist eine alte Sache also die Computer RAMs noch in kByte gezählt wurden. Das ist nicht so komfortabel mit der Einstellung der Register. Und ich habe mich nicht wirklich intensiv damit beschäftigt. Ich bin immer froh, wenn es dann mal läuft. Aber wenn es läuft, dann recht stabil.
Hatte kurz vorher nochmal die Config aus dem 410 gepostet. Aber dort scheint die Einstellung auch nicht zu sein.
-
@icegixxe Habe gerade den 410S nicht am Laufen, weil ich meinen SDM630 gerade an einem Waveshare DIN Rail Umsetzer betreibe
Wenn die jetzige Einstellung nicht stabil läuft bzw. ab und an Fehler ins log schreibt, dann mal
das "Modbus TCP" auf none stellen und dafür im ioBroker Adapter "RTU over TCP" einstellen.
-
@klassisch Danke, bis jetzt läuft es sehr gut.
Und schau mal bei deinen PNs! -
@icegixxe Bei mir waren es auch nur wenige Aussetzer pro Tag. Also mal einige Tage in Ruhe laufen lassen.
Dann ein Tageslog runterladen und nach Modbus-Einträgen durchsuchen.
-
@bkuerby Hallo!
Funktioniert bei dir das Auslesen der WPCU mit dem Modbus adapter? Wie hast du die WPCU angeschlossen? Die hat doch einen RS232 Anschluss.
Ich bin schon am Verzweifeln.
Ich habe auch einen WPCU Regler. lt Schaltplan von Waterkotte ein RS232 Anschluss.
Mittels Adapter RS232-> USB verbinde ich mich zu einem Raspberry 4 auf dem Iobroker läuft.
Das System ist komplett frisch aufgesetzt und es läuft eigentlich nur der Modbus Adapter darauf.Jedoch bekomme ich keine Verbindung mit dem Modbus Adapter.
Also der Adapter wird kurz grün und geht dann wieder auf gelb.Folgende Meldungen kommen im log:
modbus.0 2023-01-23 18:02:11.042 info Disconnected from slave modbus.0 2023-01-23 18:02:10.040 warn Poll error count: 1 code: {"err":"timeout","timeout":5000} modbus.0 2023-01-23 18:02:10.038 error Request timed out. modbus.0 2023-01-23 18:02:10.036 warn Error: undefined modbus.0 2023-01-23 18:02:05.060 error Error response: Data address of some or all the required entities are not allowed or do not exist in slave modbus.0 2023-01-23 18:02:05.059 error Error response for FCx4: Illegal Data Address modbus.0 2023-01-23 18:02:05.025 info Connected to slave modbus.0 2023-01-23 18:02:04.569 info starting. Version 5.0.11 in /opt/iobroker/node_modules/iobroker.modbus, node: v16.19.0, js-controller: 4.0.24
Ich habe auch schon diverse versuche mit Eingangsregister und Holdingregister unternommen.
Was kann ich hier noch falsch eingestellt haben?