Closed Shaquille23 closed 6 years ago
Mein Stromzähler Easymeter Q3D liefert 3 Einzelwerte für den aktuellen Verbrauch, die wie folgt im Dump stehen:
1-0:21.7.0*255(000015.50*W) 1-0:41.7.0*255(000097.40*W) 1-0:61.7.0*255(000056.27*W) 1-0:1.7.0*255(000169.17*W)
1-0:21.7.0*255(000015.50*W)
1-0:41.7.0*255(000097.40*W)
1-0:61.7.0*255(000056.27*W)
1-0:1.7.0*255(000169.17*W)
sowie in der letzten Zeile die Summe. Das aktuelle Regex-Patternin der sm_logger.pl
($power1) = $dumpbuffer =~ /1\.7\.0[\*255|\*00]*\(([\d\.]+)/;
findet den 1. Wert und gibt den als Wert aus. Ich habe das ganze temporär umgangen, indem ich das Regex-Pattern wie folgt angepasst habe:
($power1) = $dumpbuffer =~ /:1\.7\.0[\*255|\*00]*\(([\d\.]+)/;
Ob das die generelle Lösung ist oder bei anderen Zählern zu Problemen führt konnte ich nicht prüfen.
Das sollte für alle Smartmeter gehen. Ich ändere das ab.
Mein Stromzähler Easymeter Q3D liefert 3 Einzelwerte für den aktuellen Verbrauch, die wie folgt im Dump stehen:
1-0:21.7.0*255(000015.50*W)
1-0:41.7.0*255(000097.40*W)
1-0:61.7.0*255(000056.27*W)
1-0:1.7.0*255(000169.17*W)
sowie in der letzten Zeile die Summe. Das aktuelle Regex-Patternin der sm_logger.pl
($power1) = $dumpbuffer =~ /1\.7\.0[\*255|\*00]*\(([\d\.]+)/;
findet den 1. Wert und gibt den als Wert aus. Ich habe das ganze temporär umgangen, indem ich das Regex-Pattern wie folgt angepasst habe:
($power1) = $dumpbuffer =~ /:1\.7\.0[\*255|\*00]*\(([\d\.]+)/;
Ob das die generelle Lösung ist oder bei anderen Zählern zu Problemen führt konnte ich nicht prüfen.