Hi ich habe einen Stromzähler vom Typ ModbusSDM220M via Modbus in FHEM einbunden. Funktioniert einwandfrei und einige werte werden auch zyklisch aktualisiert. Jedoch der Wert für Power__W wird nicht zyklisch aktualisiert. Wenn ich ihn per get hole, wird er auch richtig angezeigt.
Wie kann ich dafür sorgen, dass der Wert zyklisch aktualisiert wird, damit ich ihn auch richtig loggen kann?
Hallo,
WIE hast Du den denn in FHEM eingebunden; ich unterstelle jetzt einfach mal das ModbusSDM220M Modul !?
Wenn ja, wird das Power-Reading bei jedem Zyklus (eingestellte Intervallzeit) abgeholt/aktualisiert.
Hast Du evtl. (sinnvollerweise) "event-on-change-reading .*" gesetzt, und der Wert ändert sich nur sehr selten?
Wenn ja, könntest Du für dieses Reading ein zusätzliches "event-min-intervall" setzen, um auch ohne Änderung "regelmäßige" Werte zu erhalten.
Hi, ja über das ModbusSDM220M Modul.
Ja das dachte ich auch, aber nur wenige Readings werden im Intervall (10 ist eingestellt also 10 Sekunden) gelesen. viele irgendwie extrem selten, quasi einmal am tag. und Power ändert sich definitv öfter.
hier mal ein Auszug der Readings. Zu sehen, dass nur die wenigsten werte aktuell sind.
Readings
CosPhi__grd 0.0 2020-04-19 11:36:19
Current__A 0.00 2020-04-19 11:38:48
Energy_export__kVArh 0.000 020-04-19 21:45:07
Energy_export__kWh 0.000 2020-04-19 21:44:45
Energy_import__kVArh 0.000 2020-04-19 21:45:07
Energy_import__kWh 0.004 2020-04-19 21:44:45
Energy_total__kVArh 0.000 2020-04-19 21:45:17
Energy_total__kWh 0.004 2020-04-19 21:44:55
Frequency__Hz 50.0 2020-04-19 21:43:45
Modbus_Node_adr 1 2020-04-18 12:34:38
Modbus_Parity_Stop 1stop.bit_no.parity 2020-04-18 12:34:38
Modbus_Speed__baud 2400 2020-04-18 12:34:34
PowerFactor 1.0 2020-04-19 11:36:19
Power__VA 0.0 2020-04-19 11:38:18
Power__VAr 0.0 2020-04-19 11:38:18
Power__W 0 2020-04-19 11:39:08
Relay1_Energy_Type export.active.energy 2020-04-18 12:34:39
System_Measurement_mode 00020000 2020-04-18 12:34:35
System_Pulse_Width__ms 60 2020-04-18 12:34:38
System_Pulse_constant 00000000 2020-04-18 12:34:39
Voltage__V 233.3 2020-04-19 11:37:28
state opened 2020-04-15 15:40:49
warum werden die Readings überhapt unterschiedlich abgefragt?
event--on-change-reading ist bei mir nicht gesetzt.
Ich habe den Fehler gefunden. Im Log habe ich geshen, dass es Timeouts beim Modbus gibt. Nun habe ich eine Masseverbindung zwischen dem Stromzähler und dem USB Modbuswandler am Raspberry Pi hergestellt und siehe da, die werte werden relativ zyklisch aktualisiert. Es gibt zwar komischweise immer noch ab und zu timeouts, die ich mir nicht erklären kann aber damit kann ich leben.
Was mir technisch nicht klar ist, warum ändert bei einem differentiellen Signal eine Masseverbindung etwas...
Klingt nach Problemen mit deinem RS485 Bus.
Hast du ein passendes, geschirmtes Kabel genommen, und die Leitung an beiden Enden korrekt terminiert?
Mit Masseverbindung meinst du (hoffentlich) den Kabelschirm!?
Der soll beidseitig aufgelegt sein, ist aber nicht direkt mit Masse verbunden.
Ein differentielles Signal ist zwar tendenziell unempfindlicher gegen Störeinflüsse, aber der äußere Schirm soll und ist erstmal die erste Barriere.
Wie lang ist denn deine Busleitung?
Evtl. macht es bei längerer Leitung Sinn, zusätzliche Symmetrierwiderstände einzusetzen (haben die USB Adapter meist als 2 weitere DIP Schalter on Board).