SML PowerMeter läuft instabil #2133
Replies: 3 comments 2 replies
-
Grüß dich, #2063 |
Beta Was this translation helpful? Give feedback.
-
Die Shellys pauschal als "Schätzeisen" zu bezeichnen. halte ich zumindest für irreführend. Es kann ja sein, dass die als Schaltaktoren eingesetzten Geräte, besonders die noch nicht mit einer Spannungsmessung ausgestattet sind, bei der Leistungsmessung nicht sonderlich genau sind. Hier ist aber die Rede von einem Shelly Pro 3EM. Dieses und andere Geräte der EM-Serien sind mit Stromwandlern und einer aufwendigen Auswerteelektronik ausgestattet und zeigen die Momentanleistung mit einer hohen Genauigkeit an (Eigene Auswertungen oder z. B. hier: https://shelly-forum.com/thread/5158-ein-paar-tests-zur-genauigkeit-des-shelly-3em/). Die nicht stattfindende Saldierung bei Einspeisung/Eigenverbrauch ist bekannt und hier nicht das Thema. Zu den Messfehlern bei "offiziellen Stromzählern": Laut https://de.wikipedia.org/wiki/Stromz%C3%A4hler sind die Eichfehlergrenzen ![]() Die erlaubten Verkehrsfehlergrenzen des Zählers (die während der Betriebsdauer des Zählers auftreten dürfen) sind doppelt so hoch, wie die oben angegebenen Eichfehlergrenzen. Bei mir ist ein Zähler der Genauigkeitsklasse A eingebaut... |
Beta Was this translation helpful? Give feedback.
-
Grüsse .. die Telegramme werden alle 1sec ausgewertet, aber warum erst die 2.ten Werte ok sind ??. } else if (smlCurrentState == SML_FINAL) { auf HardwareSerial_2 geändert. Powereter.cpp : //SDM sdm(Serial2, 9600, NOT_A_PIN, SERIAL_8N1, SDM_RX_PIN, SDM_TX_PIN); //SoftwareSerial inputSerial;
|
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
Seit gut einem Jahr habe ich eine OpenDTU on Battery mit folgendem eher gewöhnlichen Setup erfolgreich am Laufen:
Nun wollte ich die Anbindung des PowerMeter verbessern und direkt das SmartMeter über TTL/SML anbinden. Ich habe also den Shelly entfernt und das SmartMeter über Serial (RX Pin definiert) angeschlossen. Das funktioniert im Prinzip auch gut, die PowerMeter Werte werden wie erwartet im Sekundentakt angezeigt und der DPL arbeitet. In der Konsole werden jedoch relativ häufig CheckSum Errors des PowerMeters angezeigt (ca. 10 / Minute). Nach nun gut 2 Wochen Betrieb mit SML muss ich leider feststellen, dass OpenDTU häufiger neustartet (ist nicht sooo schlimm) oder manchmal den SML "verliert" und dann den DPL auf den Standardwert setzt (das ist schlimm).
Ich habe anstelle der OpenDTU an das Serial Kabel vom PowerMeter mal den Laptop mit einer seriellen Konsole angeschlossen. Mit einem SML Parser habe ich dann über 20 min den Traffic empfangen und nur valide Daten mit intakter Checksum empfangen. Es scheint somit kein HW Thema meiner Anbindung zu sein.
In der Konsole ist mir auch aufgefallen, dass ab und zu ziemlich große Zahlen für einen Messwert angezeigt werden, aber kein Checksum Error folgt. Ich kann mir vorstellen, dass diese völlig falschen Werte den DPL aus dem Tritt bringen können (z.B. Neustart).
Hier mal ein "gutes" und ein "schlechtes" Beispiel aus der Konsole:
[13:32:09.764] D (66321929) powerMeter: [Serial/SML] TotalPower: -15.00
[13:32:09.764] D (66322919) powerMeter: [Serial/SML] decoded Import to -10.00
[13:32:09.772] D (66322920) powerMeter: [Serial/SML] decoded Import to 271104.09
[13:32:09.772] D (66322921) powerMeter: [Serial/SML] decoded Export to -10.00
[13:32:09.772] D (66322924) powerMeter: [Serial/SML] decoded Export to 882760.50
[13:32:09.772] D (66322925) powerMeter: [Serial/SML] decoded PowerTotal to -16.00
[13:32:09.773] D (66322925) powerMeter: [Serial/SML] decoded PowerL1 to -150.00
[13:32:09.773] D (66322926) powerMeter: [Serial/SML] decoded PowerL2 to 229.00
[13:32:09.773] D (66322927) powerMeter: [Serial/SML] decoded PowerL3 to -95.00
[13:32:09.773] D (66322928) powerMeter: [Serial/SML] decoded VoltageL1 to 237.60
[13:32:10.772] D (66322929) powerMeter: [Serial/SML] decoded VoltageL2 to 236.80
[13:32:10.772] D (66322932) powerMeter: [Serial/SML] decoded VoltageL3 to 238.50
[13:32:10.772] D (66322933) powerMeter: [Serial/SML] decoded CurrentL1 to 0.81
[13:32:10.772] D (66322934) powerMeter: [Serial/SML] decoded CurrentL2 to 2.29
[13:32:10.772] D (66322935) powerMeter: [Serial/SML] decoded CurrentL3 to 0.62
[13:32:10.772] D (66322936) powerMeter: [Serial/SML] TotalPower: -16.00
[13:34:26.755] D (66458934) powerMeter: [Serial/SML] TotalPower: 0.00
[13:34:26.755] D (66459912) powerMeter: [Serial/SML] decoded Import to -10.00
[13:34:26.763] D (66459913) powerMeter: [Serial/SML] decoded Import to 271104.50
[13:34:26.763] D (66459914) powerMeter: [Serial/SML] decoded Export to -10.00
[13:34:26.763] D (66459917) powerMeter: [Serial/SML] decoded Export to 882761.31
[13:34:26.763] D (66459918) powerMeter: [Serial/SML] decoded PowerTotal to 0.00
[13:34:26.763] D (66459918) powerMeter: [Serial/SML] decoded PowerL1 to -191.00
[13:34:26.763] D (66459919) powerMeter: [Serial/SML] decoded PowerL2 to 221.00
[13:34:26.763] D (66459920) powerMeter: [Serial/SML] decoded PowerL3 to -30.00
[13:34:26.763] D (66459921) powerMeter: [Serial/SML] decoded VoltageL1 to 235.20
[13:34:27.765] D (66459922) powerMeter: [Serial/SML] decoded VoltageL2 to 235.30
[13:34:27.766] D (66459925) powerMeter: [Serial/SML] decoded VoltageL3 to 236.00
[13:34:27.766] D (66459926) powerMeter: [Serial/SML] decoded CurrentL1 to 0.97
[13:34:27.766] D (66459927) powerMeter: [Serial/SML] decoded CurrentL2 to 2.28
[13:34:27.766] D (66459927) powerMeter: [Serial/SML] decoded CurrentL3 to 0.37
[13:34:27.766] D (66460923) powerMeter: [Serial/SML] decoded Import to -10.00
[13:34:28.755] D (66460924) powerMeter: [Serial/SML] decoded Import to 271104.50
[13:34:28.755] D (66460927) powerMeter: [Serial/SML] decoded Export to -10.00
[13:34:28.755] D (66460928) powerMeter: [Serial/SML] decoded Export to 460739764820115456.00
[13:34:28.755] D (66461910) powerMeter: [Serial/SML] decoded Import to -10.00
[13:34:28.763] D (66461911) powerMeter: [Serial/SML] decoded Import to 271104.50
[13:34:28.763] D (66461912) powerMeter: [Serial/SML] decoded Export to -10.00
[13:34:28.763] D (66461913) powerMeter: [Serial/SML] decoded Export to 882761.31
[13:34:28.763] D (66461916) powerMeter: [Serial/SML] decoded PowerTotal to 0.00
[13:34:28.763] D (66461917) powerMeter: [Serial/SML] decoded PowerL1 to -191.00
[13:34:28.763] D (66461917) powerMeter: [Serial/SML] decoded PowerL2 to 220.00
[13:34:28.763] D (66461918) powerMeter: [Serial/SML] decoded PowerL3 to -32.00
[13:34:28.763] D (66461919) powerMeter: [Serial/SML] decoded VoltageL1 to 236.00
[13:34:29.753] D (66461920) powerMeter: [Serial/SML] decoded VoltageL2 to 235.30
[13:34:29.753] D (66461921) powerMeter: [Serial/SML] decoded VoltageL3 to 236.10
[13:34:29.753] D (66461924) powerMeter: [Serial/SML] decoded CurrentL1 to 0.97
[13:34:29.753] D (66461925) powerMeter: [Serial/SML] decoded CurrentL2 to 2.28
[13:34:29.753] D (66461926) powerMeter: [Serial/SML] decoded CurrentL3 to 0.38
[13:34:29.753] D (66461927) powerMeter: [Serial/SML] TotalPower: 0.00
Ich weiß mittlerweile, dass SML über SoftSerial läuft und vermute, dass hier vielleicht die Ursache liegen könnte ?
Bei den Checksum Errors ist mir aufgefallen, dass es eine Art zeitlichen Rythmus zu geben scheint - die "Sekunden", bei denen die Fehler passieren, wiederholen sich auffällig (hier z.B. häufig x7 sec oder x2 sec):
[13:32:17.752] E (66329927) powerMeter: [Serial/SML] checksum verification failed
[13:32:47.753] E (66359957) powerMeter: [Serial/SML] checksum verification failed
[13:33:02.826] E (66374937) powerMeter: [Serial/SML] checksum verification failed
[13:33:17.750] E (66389926) powerMeter: [Serial/SML] checksum verification failed
[13:34:22.765] E (66454942) powerMeter: [Serial/SML] checksum verification failed
[13:34:42.755] E (66474928) powerMeter: [Serial/SML] checksum verification failed
[13:34:58.746] E (66489943) powerMeter: [Serial/SML] checksum verification failed
[13:35:02.773] E (66494921) powerMeter: [Serial/SML] checksum verification failed
[13:35:07.748] E (66499922) powerMeter: [Serial/SML] checksum verification failed
[13:35:17.753] E (66509924) powerMeter: [Serial/SML] checksum verification failed
[13:35:28.747] E (66519931) powerMeter: [Serial/SML] checksum verification failed
[13:35:32.889] E (66524948) powerMeter: [Serial/SML] checksum verification failed
[13:35:37.770] E (66529933) powerMeter: [Serial/SML] checksum verification failed
[13:35:42.752] E (66534923) powerMeter: [Serial/SML] checksum verification failed
[13:35:52.749] E (66544945) powerMeter: [Serial/SML] checksum verification failed
[13:36:07.754] E (66559934) powerMeter: [Serial/SML] checksum verification failed
[13:36:12.750] E (66564938) powerMeter: [Serial/SML] checksum verification failed
[13:36:27.749] E (66579925) powerMeter: [Serial/SML] checksum verification failed
[13:36:32.755] E (66584930) powerMeter: [Serial/SML] checksum verification failed
[13:37:03.759] E (66614930) powerMeter: [Serial/SML] checksum verification failed
[13:37:07.749] E (66619926) powerMeter: [Serial/SML] checksum verification failed
[13:37:12.748] E (66624927) powerMeter: [Serial/SML] checksum verification failed
[13:37:57.761] E (66669930) powerMeter: [Serial/SML] checksum verification failed
Mich würde interessieren, ob jemand gute und stabile Erfahrung mit dem SML PowerMeter gemacht hat und ob es mit einfachen Mitteln möglich ist, das Interface des SML vlt. auf HW-Serial zu legen (ich habe noch ein UART frei).
opendtu-log-2025-07-23_14-14-06.csv
Beta Was this translation helpful? Give feedback.
All reactions