Auch ChatGPT meinte, das der Count: 2 nicht richtig ist
“Es scheint, dass Sie versuchen, ein float32 -Datenformat mit einer Länge von 2 zu verwenden, was für den export_wh_since_last_reset -Sensor ungültig ist. Das Modbus-Protokoll unterstützt normalerweise verschiedene Datentypen mit festen Längen, und float32 hat normalerweise eine Länge von 4 .”
Das ist tatsächlich die Lösung gewesen. ChatGPT zu fragen hätte mir auch mal einfallen können
Vielen Dank für den Hinweis, dachte mir schon das da in einem Patch etwas an HA geändert wurde
Da ist eine minimale Recoverzeit von 5s angegeben. Schneller darfst du nicht abfragen (scan_interval: >= 5). Mehrere Sensoren in HA sind auch mehrere Abfragen; eventuell solltest du einen Registerblock lesen und mit Templates auseinandernehmen. Maximal 20 Register in einer Abfrage.
Das sind ebenfalls 2 Abfragen - mag sein dass das Ding wegen der 5s da schon bockt.
Alternativ könntest Du mit einem einzigen Sensor ab Adresse 36 mal ein int32 lesen und dir ausgeben lassen. Dann kannst Du sehen, ob überhaupt Daten kommen.
Baudrate stimmt? device_address (“slave” kennt der Modbus-Standard nicht mehr) ist tatsächlich 10? Kann die Modbus-Funktion beim Zähler deaktiviert sein?
habe einen usb-485 adapter
mit den stelle ich die 3 phasen zähler em340 ein. das geht ohne probleme, ist halt die software des herstellers, da geht natürlich kein fremder zähler.
vielleicht kann mir hier jemand weiterhelfen.
Ich habe 4 SDM230 die an einem RS485 dran hängen, und super funktionieren,
nun kam ein SDM630 dazu, der aber keine Daten sendet, der Telefonhöhrer leuchtet nie auf… Woran kann das liegen, evtl defekt?
Baudrate, Adresse usw. hab ich richtig eingestellt, auch nur der SDM630 am RS485 bringt nichts.
Hast du schon mal mit einem anderen Tool probiert, ob der Zähler überhaupt was am Modbus rausgibt? Ich hatte das ja das Tool Gineers weiter oben mal gepostet. Es gibt auch andere Tools zum testen. Nur um zu sehen, ob überhaupt eine Kommunikation statt findet.
Moin, ich habe gerade auch einen ESP32 mit einen RS485 TTL in Arbeit. Bei Tasmota muss man RE dann zusätzlich auf ground ziehen, ist das richtig? Kannst du sonst vielleicht bitte die Anleitung aufführen, wo Du mit gemacht hast? Vielen Dank!
Beim überprüfen meiner Konfiguration kommt kein Fehler.
Dann starte ich neu, wo und wie finde ich jetzt den Zählerwert ?
Unter Entwicklerwerkzeuge → Zustände finde ich auch nichts.
EDIT:
habe homeassistant komplett neu gestartet und jetzt ist der Sensor schon mal da.
Leider mit dem Zustand: unavailable
In den Protokollen habe ich nur dies gefunden:
Logger: pymodbus.logging
Quelle: components/modbus/modbus.py:389
Erstmals aufgetreten: 23:20:00 (8 Vorkommnisse)
Zuletzt protokolliert: 23:24:12
No response received after 3 retries, continue with next request
Die Register stehen in HEX in der Doku, müssen in HomeAssistant aber Dezimal angegeben werden.
Nimm als Beispiel “30053 - Total system power.”, dann steht ganz rechts Hi Byte/ Low Byte = 00 34. Jetzt nimmst Du den Windows Tachenrechner calc, wechselst in den Programmiermodus, klickst auf HEX und tippst 0034 ein (die führenden Nullen verschwinden und brauchst Du nicht eintippen). Bei DEC steht nun 52. Das muss in die yaml bei “address : 52”.