NEWS
Adapter "smartmeter"
-
Mit meinem Zähler kann ich reden über Consolenbefehle. D.h. der Lesekopf arbeitet schon richtig:
stty -F /dev/ttyUSB1 300 -parodd cs7 -cstopb parenb -ixoff -crtscts -hupcl -ixon -opost -onlcr -isig -icanon -iexten -echo -echoe -echoctl -echoke
Putty 1: Sendet Anfrage: sudo echo -n -e '\x2F\x3F\x21\x0D\x0A' > /dev/ttyUSB1
Putty 2: Lauscht: sudo cat /dev/ttyUSB1
Putty 1: Baudrate umstellen
sudo echo -n -e '\x2F\x3F\x21\x0D\x0A' > /dev/ttyUSB1 stty -F /dev/ttyUSB0 115200 sudo echo -n -e '\x06\x30\x39\x30\x0D\x0A' > /dev/ttyUSB1 -
@glh-510 sagte in Adapter "smartmeter":
Er starte mit 300bd, dass kann ich auf 115kbd hochstellen,
das macht der Adapter von selbst, wenn nichts eingestellt ist.
BTW wie sind deine Einstellungen jetzt?
(Screenshot!)@glh-510 sagte in Adapter "smartmeter":
dann aber rauscht der gesamte Datensatz herein.
ja und?
@glh-510 sagte in Adapter "smartmeter":
Leider kann der Adapter damit nicht umgehen
wieso?
was veranlasst dich zu glauben, dass das der Grund für@glh-510 sagte in Adapter "smartmeter":
die Warnung: No or too long answer from Serial Device after last request.
ist?
@glh-510 sagte in Adapter "smartmeter":
Wie kann ich sehen was der Adapter versendet
hast du da etwa auch etwas eingetragen?
ich hätte aber jetzt sowieso nach dem debug-log gefragt.
@glh-510 sagte in Adapter "smartmeter":
Ein paralleles cat /dev/ttyUSB1 zeigt mir nix an.
es darf nur ein! Gerät auf den Port zugreifen und muss ihn anschließend auch wieder freigeben.
-
Laut Volkszähler macht er nach Init nur 9600
-
@homoran said in Adapter "smartmeter":
@glh-510 sagte in Adapter "smartmeter":
BTW wie sind deine Einstellungen jetzt?
(Screenshot!)
Siehe vorheriger Beitrag@homoran said in Adapter "smartmeter":
wieso?
was veranlasst dich zu glauben, dass das der Grund für@glh-510 sagte in Adapter "smartmeter":
die Warnung: No or too long answer from Serial Device after last request.
ist?Das klingt für mich als gäbe es keine Rückmeldung oder zu viele Daten. Da die Rückmeldung ja
funktioniert habe ich angenommen das die Daten die bei 300bd über 2 Minuten brauchen zu
lang für den Adapter wären.@homoran said in Adapter "smartmeter":
@glh-510 sagte in Adapter "smartmeter":
Wie kann ich sehen was der Adapter versendet
hast du da etwa auch etwas eingetragen?
Ich wollte irgendwie sehen was der Adapter über die Schnittstelle an den Smart Meter schickt in der
Hoffnung das ich etwas sehen könnte was nicht passt.@homoran said in Adapter "smartmeter":
ich hätte aber jetzt sowieso nach dem debug-log gefragt.
es darf nur ein! Gerät auf den Port zugreifen und muss ihn anschließend auch wieder freigeben.
Ja während der Versuche lief nur der Iobroker
smartmeter.0 26004 2023-01-29 12:34:36.473 debug connected set to false smartmeter.0 26004 2023-01-29 12:34:36.453 silly States system redis pmessage system.adapter.smartmeter.0.logLevel/system.adapter.smartmeter.0.logLevel:{"val":"silly","ack":true,"ts":1674992076442,"q":0,"from":"system.adapter.smartmeter.0","lc":1674991715075} smartmeter.0 26004 2023-01-29 12:34:36.435 debug SmartmeterObis options: {"debug":0,"protocol":"SmlProtocol","transport":"SerialRequestResponseTransport","requestInterval":"10","anotherQueryDelay":"1000","transportSerialPort":"/dev/serial/by-id/usb-Silicon_Labs_CP2104_USB_to_UART_Bridge_Controller_0061CBBF-if00-port0","transportSerialBaudrate":null,"transportSerialMessageTimeout":null,"protocolSmlIgnoreInvalidCRC":false} smartmeter.0 26004 2023-01-29 12:34:36.404 info starting. Version 3.3.4 in /opt/iobroker/node_modules/iobroker.smartmeter, node: v14.19.0, js-controller: 4.0.24 smartmeter.0 26004 2023-01-29 12:34:36.002 debug Plugin sentry Initialize Plugin (enabled=true) smartmeter.0 26004 2023-01-29 12:34:35.878 silly statesDB connected smartmeter.0 26004 2023-01-29 12:34:35.877 debug States connected to redis: 127.0.0.1:9000 smartmeter.0 26004 2023-01-29 12:34:35.849 debug States create User PubSub Client smartmeter.0 26004 2023-01-29 12:34:35.848 debug States create System PubSub Client smartmeter.0 26004 2023-01-29 12:34:35.832 debug Redis States: Use Redis connection: 127.0.0.1:9000 smartmeter.0 26004 2023-01-29 12:34:35.830 silly objectDB connected smartmeter.0 26004 2023-01-29 12:34:35.824 silly redis psubscribe cfg.o.enum.* smartmeter.0 26004 2023-01-29 12:34:35.804 silly redis psubscribe cfg.o.system.user.* smartmeter.0 26004 2023-01-29 12:34:35.801 debug Objects connected to redis: 127.0.0.1:9001 smartmeter.0 26004 2023-01-29 12:34:35.794 debug Objects client initialize lua scripts smartmeter.0 26004 2023-01-29 12:34:35.741 debug Objects create User PubSub Client smartmeter.0 26004 2023-01-29 12:34:35.739 debug Objects create System PubSub Client smartmeter.0 26004 2023-01-29 12:34:35.737 debug Objects client ready ... initialize now smartmeter.0 26004 2023-01-29 12:34:35.685 debug Redis Objects: Use Redis connection: 127.0.0.1:9001
MOD-EDIT: Code in code-tags gesetzt!
-
@wendy2702 said in Adapter "smartmeter":
Laut Volkszähler macht er nach Init nur 9600
Beim Volkszähler Beispiel haben sie nur eine Umschaltung auf 9600 angefordert. Laut Handbuch geht bis 115k und das macht mein Zähler auch ,wenn ich ihn manuell Anfrage. Ich hatte mehrere Jahre eine Volkszählerinstanz so laufen. Die ist mir leider kaputt gegangen und daher wollte ich nun gleich an meinen IoBroker gehen ohne Umweg über den Volkszähler.
-
@glh-510 sagte in Adapter "smartmeter":
Siehe vorheriger Beitrag
den gab es noch nicht als ich tippte. Kam zeitgleich mit dem Abdrücken
so sollte es funktionieren wenn
- der Zähler SML spricht
- die Schnittstelle wieder für den Adapter zugänglich ist
@glh-510 sagte in Adapter "smartmeter":
Da die Rückmeldung ja funktioniert
tut sie das im Adapter?
@glh-510 sagte in Adapter "smartmeter":
@homoran said in Adapter "smartmeter":
ich hätte aber jetzt sowieso nach dem debug-log gefragt.
es darf nur ein! Gerät auf den Port zugreifen und muss ihn anschließend auch wieder freigeben.Ja während der Versuche lief nur der Iobroker
und vorher hast dumdie Schnittstelle wieder freigegeben?
-
@homoran said in Adapter "smartmeter":
@glh-510 sagte in Adapter "smartmeter":
Siehe vorheriger Beitrag
den gab es noch nicht als ich tippte. Kam zeitgleich mit dem Abdrücken
so sollte es funktionieren wenn
- der Zähler SML spricht
- die Schnittstelle wieder für den Adapter zugänglich ist
@glh-510 sagte in Adapter "smartmeter":
Da die Rückmeldung ja funktioniert
tut sie das im Adapter?
@glh-510 sagte in Adapter "smartmeter":
@homoran said in Adapter "smartmeter":
ich hätte aber jetzt sowieso nach dem debug-log gefragt.
es darf nur ein! Gerät auf den Port zugreifen und muss ihn anschließend auch wieder freigeben.Ja während der Versuche lief nur der Iobroker
und vorher hast dumdie Schnittstelle wieder freigegeben?
- Wie kann ich sehen ob die Rückmeldung im/in den Adapter funktioniert?
- Jetzt wo du so fragst bin ich mir nicht ganz sicher. Ich hatte gemeint wenn ich meine Putty Session mit Exit verlasse, dass er dann freigibt. Was wäre den ein expliziter Befehl?
-
@glh-510 sagte in Adapter "smartmeter":
Wie kann ich sehen ob die Rückmeldung im/in den Adapter funktioniert?
tut sie ja nicht!
@glh-510 sagte in Adapter "smartmeter":
Ich hatte gemeint wenn ich meine Putty Session mit Exit verlasse, dass er dann freigibt.
Nein
@glh-510 sagte in Adapter "smartmeter":
Was wäre den ein expliziter Befehl?
kenne ich leider nicht.
reboot
hilft immer -
@homoran Leider hat der Reboot keine Veränderung gebracht
-
Um sicher zu gehen:
Instanz löschen
USB Adapter raus
Reboot
Adapter rein
Instanz neu und nur Adapter und SML einstellen -
@glh-510 sagte in Adapter "smartmeter":
@homoran Leider hat der Reboot keine Veränderung gebracht
zur Ursachenforschung:
hattest du irgendwann mal Werte im Smartmeter Adapter bekommen? -
@glh
@homoran sagte in Adapter "smartmeter":so sollte es funktionieren wenn
der Zähler SML spricht
die Schnittstelle wieder für den Adapter zugänglich istwo hast du diese Info her??
im Volkszähler Wiki f7nde ich nicht das zugehörige Protokoll. Allerdings wird auf einen Elster-Zähler verwiesen, mit dessen Einstellungen der Siemens auch auslesbar (incl.der 19.200 Bd) se7n soll. Dieser nutzt jedoch D0!!
-
@homoran said in Adapter "smartmeter":
@glh
@homoran sagte in Adapter "smartmeter":so sollte es funktionieren wenn
der Zähler SML spricht
die Schnittstelle wieder für den Adapter zugänglich istwo hast du diese Info her??
im Volkszähler Wiki f7nde ich nicht das zugehörige Protokoll. Allerdings wird auf einen Elster-Zähler verwiesen, mit dessen Einstellungen der Siemens auch auslesbar (incl.der 19.200 Bd) se7n soll. Dieser nutzt jedoch D0!!
Danke hast Recht. Im Volkszähler hatte ich auch einen D0 Kanal. Keine Ahnung wie ich auf SML gekommen bin.
Leider klappt es weiterhin noch nicht . -
@glh-510 wake up,signon passt nicht zu nur gelesen
-
@homoran Danke hab ich auch gerade gelesen. Hab ich umgestellt, brachte aber keine Verbesserung
Anhand des Logs kann ich auch nichts erkennen. Er bekommt einfach nichts
smartmeter.0 2219 2023-01-29 16:09:56.186 debug Error: No or too long answer from Serial Device after last request. smartmeter.0 2219 2023-01-29 16:09:56.183 warn No or too long answer from Serial Device after last request. smartmeter.0 2219 2023-01-29 16:07:55.787 debug connected set to false smartmeter.0 2219 2023-01-29 16:07:55.697 debug SmartmeterObis options: {"debug":0,"protocol":"D0Protocol","transport":"SerialRequestResponseTransport","requestInterval":"60","anotherQueryDelay":"1000","transportSerialPort":"/dev/serial/by-id/usb-Silicon_Labs_CP2104_USB_to_UART_Bridge_Controller_0061CBBF-if00-port0","transportSerialBaudrate":null,"transportSerialMessageTimeout":null,"protocolD0WakeupCharacters":0,"protocolD0SignOnMessage":"/?!","protocolD0BaudrateChangeoverOverwrite":115200,"obisFallbackMedium":1} smartmeter.0 2219 2023-01-29 16:07:55.666 info starting. Version 3.3.4 in /opt/iobroker/node_modules/iobroker.smartmeter, node: v14.19.0, js-controller: 4.0.24 smartmeter.0 2219 2023-01-29 16:07:55.276 debug Plugin sentry Initialize Plugin (enabled=true) smartmeter.0 2219 2023-01-29 16:07:55.149 debug States connected to redis: 127.0.0.1:9000 smartmeter.0 2219 2023-01-29 16:07:55.120 debug States create User PubSub Client smartmeter.0 2219 2023-01-29 16:07:55.119 debug States create System PubSub Client smartmeter.0 2219 2023-01-29 16:07:55.101 debug Redis States: Use Redis connection: 127.0.0.1:9000 smartmeter.0 2219 2023-01-29 16:07:55.069 debug Objects connected to redis: 127.0.0.1:9001 smartmeter.0 2219 2023-01-29 16:07:55.061 debug Objects client initialize lua scripts smartmeter.0 2219 2023-01-29 16:07:55.009 debug Objects create User PubSub Client smartmeter.0 2219 2023-01-29 16:07:55.008 debug Objects create System PubSub Client smartmeter.0 2219 2023-01-29 16:07:55.006 debug Objects client ready ... initialize now smartmeter.0 2219 2023-01-29 16:07:54.957 debug Redis Objects: Use Redis connection: 127.0.0.1:9001 smartmeter.0 2069 2023-01-29 16:07:50.343 info Terminated (ADAPTER_REQUESTED_TERMINATION): Without reason smartmeter.0 2069 2023-01-29 16:07:50.340 info terminating smartmeter.0 2069 2023-01-29 16:07:50.332 info Got terminate signal TERMINATE_YOURSELF smartmeter.0 2069 2023-01-29 16:06:29.445 warn No or too long answer from Serial Device after last request.
-
@homoran sagte in Adapter "smartmeter":
wo hast du diese Info her??
du hast 0 Wakeups?
bei D0 weiß ich nicht was da in die Felder muss.
-
-
Also generell, vor allem für @SuperDa und @GLH-510
Bitte anfangen mit den Standardeinstellungen der Instanz!
Beim "D0 Protokoll" ist an sich im Protokoll jeglicher Baudrate Changeover und kram definiert und passiert ganz automatisch! Hier bei der Baudrate den Anfang einstellen. Der ist bei D0 üblicherwerise 300 baud. Und auch "/?" als Signon Nachricht ist standard, also wenn Ihr das anderen kram eingebt macht Ihr es halt einfach eher schlimmer als besser!
Die Sonderanforderungen bei @SuperDa, das zb 0x55 zum wakeup gesendet werden muss (wobei das für wakeup mal komplett egal sein SOLLTE weil der ja eh schläft) sprecvhen gerade eher für mich dafür das es kein offizielles D0 Protokoll ist sondern irgendwas Herstellerspezifisches. Ob der Adapter da überhaupt eine chance hat (weil er halt nicht so spezifisch funktioniert) weiss ich nicht. ber auch 0,350s anzugeben bei der Zeit fpr die Serielle Antwort ist blödsinn weil das die gesamtzeit ist. Da sind wir wieder bei" nicht annehmen sondern durch versuch annähern!)
Generell gilt: Instanz auf Debug log stellen, Settings machen mit SO WENIG WIE MÖGLICH Änderungen (siehe oben), dann ins Log schauen. Dann sehr Ihr (bzw könnt es posten) was rein kommt an Daten und seht auch was der adapter tut. Wenn nur ein "Timeout weil keine Antwott kommt) dann ist generell was falsch und das gerät antwortet nicht oder der Kopf sitzt nicht korrekt.
@SuperDa Also wenn ich mir Deinen Link ansehe dann, no chance aktuell. Da ist ein parity change drin und alles sehr speziell. Sorry das kann der Adapter aktuell nicht und wenn sowas nicht mehr brauchen hab ich keine Ahnung ob ich zeit habe sowas umzusetzen. generell gehört der Hersteller geschlagen den Usern solche Steine in den Weg zu legen. Wenn du kannst zurückgeben und was nach Standard kaufen Weiterhin wenn ich https://github.com/arendst/Tasmota/discussions/17283 lese geht es da um Modbus und nicht um D0??? Auch das was gesendet werden muss (105BFE5916) ist eher Modbus oder sogar MBus? und nicht D0 /SML ... also bitte prüfe nochmal genau ob du im richtigen Thema bist!
@GLH-510 Am Ende ist das auch eine Thematik fürs Log ... Wenn es "nu der gesate Datensatz" ist dann ist ja die Frage ob der serielle Timeout nicht einfach nur zu kurz für die Größe der Daten ist ... dann stell den doch mal höher. Aber ja effektiv mit Standardeinstellungen anfangen. Und ja dabei kann das Debug log sehr schnell sehr groß werden
-
@glh-510 sagte in Adapter "smartmeter":
@homoran Hab ich von da: https://digitaldad.de/2022/03/13/iobroker-stromzaehler-auslesen/
und wo stehen da die Daten für deinen Zähler?
Fast jeder Zählertyp brauch andere Einstellungen.Aber erst einmal machen was jetzt auch noch @apollon77 sagt un @wendy2702 und ich bereits vorher:
erst einmal Standardeinstellungen! -
Da bei mir /?! das Ansprechzeichen ist, ist es wohl leider nicht D0 Standardkonform
@apollon77 said in Adapter "smartmeter":
Generell gilt: Instanz auf Debug log stellen, Settings machen mit SO WENIG WIE MÖGLICH Änderungen (siehe oben), dann ins Log schauen. Dann sehr Ihr (bzw könnt es posten) was rein kommt an Daten und seht auch was der adapter tut. Wenn nur ein "Timeout weil keine Antwott kommt) dann ist generell was falsch und das gerät antwortet nicht oder der Kopf sitzt nicht korrekt.
Die Frage ist was halt noch falsch sein kann. Der Timeout "Wartezeit auf serielle Antwort" steht auf 250 sec (Die Antwort dauert kürzer). Der Kopf sitzt richtig, sonst könnte ich nicht per Befehle von der Console aus senden die Antwort sehen.