NEWS
Adapter "smartmeter"
-
@digitalnaive
Alles gut!
mein Fehler -
Hast du auch schonmal probiert bei serial response timeout ein paar, vielleicht 30, Sekunden einzutragen, ich verstehe das als Wartezeit, bis eine Antwort kommen soll.
Enrico
-
@RappiRN said in Adapter "smartmeter":
Hast du auch schonmal probiert bei serial response timeout ein paar, vielleicht 30, Sekunden einzutragen, ich verstehe das als Wartezeit, bis eine Antwort kommen soll.
Enrico
Gerade probiert. Bringt leider auch keinen Erfolg Hab 30 und 60 Sekunden eingetragen.
-
Sorry wenn du das schon beantwortet hast:
Ist die Instanz auf debug gestellt?
Wenn ja, was sagt denn jetzt das log? -
@Homoran said in Adapter "smartmeter":
Sorry wenn du das schon beantwortet hast:
Ist die Instanz auf debug gestellt?
Wenn ja, was sagt denn jetzt das log?smartmeter.0 2019-02-18 19:46:35.395 debug SET MESSAGE TIMEOUT TIMER2: 60000 smartmeter.0 2019-02-18 19:46:35.395 debug DONE SEND 0 smartmeter.0 2019-02-18 19:46:35.394 debug INITIAL MESSAGES TO SEND: 0 smartmeter.0 2019-02-18 19:46:35.392 debug SERIALPORT RESET BAUDRATE TO 300 smartmeter.0 2019-02-18 19:46:35.388 debug SERIALPORT OPEN smartmeter.0 2019-02-18 19:46:35.384 debug CREATE SERIALPORT: 300 7 1 even smartmeter.0 2019-02-18 19:45:35.372 debug SCHEDULE NEXT RUN IN 60000s smartmeter.0 2019-02-18 19:45:35.372 debug DELETE rest of data (0) because new Message start with a new Request Message smartmeter.0 2019-02-18 19:45:35.372 debug SERIALPORT REMOVE LISTENERS smartmeter.0 2019-02-18 19:45:35.371 debug SERIALPORT CLOSE smartmeter.0 2019-02-18 19:45:35.361 debug CLEAR MESSAGE TIMEOUT TIMER smartmeter.0 2019-02-18 19:45:35.361 debug STOP smartmeter.0 2019-02-18 19:45:35.361 debug Transport Reset!! Restart = true smartmeter.0 2019-02-18 19:45:35.360 debug Error: No or too long answer from Serial Device after last request. smartmeter.0 2019-02-18 19:45:35.360 warn No or too long answer from Serial Device after last request. smartmeter.0 2019-02-18 19:45:35.359 debug Error: No or too long answer from Serial Device after last request. smartmeter.0 2019-02-18 19:45:35.357 debug MESSAGE TIMEOUT TRIGGERED
-
OOOPS:
@digitalnaive sagte in Adapter "smartmeter":
SCHEDULE NEXT RUN IN 60000s
eins von beiden Stimmt nicht.
Entweder sind das in der Konfig Millisekunden (glaub ich nicht) oder hier
-
Hast du dir das hier mal durchgelesen?
-
@Homoran said in Adapter "smartmeter":
Hast du dir das hier mal durchgelesen?
Nein. Den Link sehe ich zum ersten mal. Lese ich mir direkt mal in Ruhe durch. Die 60s scheinen zu stimmen. Siehe die Zeit in der Log
smartmeter.0 2019-02-18 19:49:35.449 debug MESSAGE TIMEOUT TRIGGERED smartmeter.0 2019-02-18 19:48:35.434 debug SET MESSAGE TIMEOUT TIMER2: 60000
-
Hab den Guide befolgt, kann aber keine Erfolge vermelden.
Ich verzweifel langsam.
"Auch vorsichtshalber konnte man noch node-gyp installieren. Normalerweise hat man schon die richtige Version, aber falls node.js Version upgedatet wurde, kann es sein, dass node-gyp nicht passt."
Der Satz hat mich etwas aufhorchen lassen. Was muss ich denn tun, um hier die richtige Version zu erkennen?
-
@digitalnaive sagte in Adapter "smartmeter":
@Homoran said in Adapter "smartmeter":
@RappiRN sagte in Adapter "smartmeter":
(Data Request Interval) mal bitte 60 eintragen,
@digitalnaive
Hast du das gemacht?@RappiRN sagte in Adapter "smartmeter":
zeig doch bitte nochmal einen Screenshot deiner Einstellungen.
kannst du uns bitte aktuell halten
Ja hab ich gemacht.
Als Data Protokoll hast du "SML (SmartMeterLanguage 1.0.3)" eingetragen, das ist aber falsch. Der richtige Eintrag muss "D0" lauten.
Außerdem kann ich die unteren Daten auf dem Screenshot nicht sehen, was hast du da stehen? -
@Homoran sagte in Adapter "smartmeter":
OOOPS:
@digitalnaive sagte in Adapter "smartmeter":
SCHEDULE NEXT RUN IN 60000s
eins von beiden Stimmt nicht.
Entweder sind das in der Konfig Millisekunden (glaub ich nicht) oder hier
Sehe ich auch genauso.
"Next run in 60000s" stimmt nicht mit der Konfig überein.
Ich habe gerade mal eben auf meinen Log des Adapters gesehen, dort stehtsmartmeter.0 2019-02-19 09:19:58.889 debug SCHEDULE NEXT RUN IN 60s
-
@digitalnaive sagte in Adapter "smartmeter":
@Homoran said in Adapter "smartmeter":
Sorry wenn du das schon beantwortet hast:
Ist die Instanz auf debug gestellt?
Wenn ja, was sagt denn jetzt das log?smartmeter.0 2019-02-18 19:46:35.395 debug SET MESSAGE TIMEOUT TIMER2: 60000 smartmeter.0 2019-02-18 19:46:35.395 debug DONE SEND 0 smartmeter.0 2019-02-18 19:46:35.394 debug INITIAL MESSAGES TO SEND: 0 smartmeter.0 2019-02-18 19:46:35.392 debug SERIALPORT RESET BAUDRATE TO 300 smartmeter.0 2019-02-18 19:46:35.388 debug SERIALPORT OPEN smartmeter.0 2019-02-18 19:46:35.384 debug CREATE SERIALPORT: 300 7 1 even smartmeter.0 2019-02-18 19:45:35.372 debug SCHEDULE NEXT RUN IN 60000s smartmeter.0 2019-02-18 19:45:35.372 debug DELETE rest of data (0) because new Message start with a new Request Message smartmeter.0 2019-02-18 19:45:35.372 debug SERIALPORT REMOVE LISTENERS smartmeter.0 2019-02-18 19:45:35.371 debug SERIALPORT CLOSE smartmeter.0 2019-02-18 19:45:35.361 debug CLEAR MESSAGE TIMEOUT TIMER smartmeter.0 2019-02-18 19:45:35.361 debug STOP smartmeter.0 2019-02-18 19:45:35.361 debug Transport Reset!! Restart = true smartmeter.0 2019-02-18 19:45:35.360 debug Error: No or too long answer from Serial Device after last request. smartmeter.0 2019-02-18 19:45:35.360 warn No or too long answer from Serial Device after last request. smartmeter.0 2019-02-18 19:45:35.359 debug Error: No or too long answer from Serial Device after last request. smartmeter.0 2019-02-18 19:45:35.357 debug MESSAGE TIMEOUT TRIGGERED
Woher kommt denn bei dir dieser Eintrag:
SET MESSAGE TIMEOUT TIMER2: 60000
Wenn das der Abstand zwischen den beiden Anforderungen sein soll, darf der Wert nicht höher als 2 sec sein
-
@Röstkartoffel said in Adapter "smartmeter":
@digitalnaive sagte in Adapter "smartmeter":
@Homoran said in Adapter "smartmeter":
@RappiRN sagte in Adapter "smartmeter":
(Data Request Interval) mal bitte 60 eintragen,
@digitalnaive
Hast du das gemacht?@RappiRN sagte in Adapter "smartmeter":
zeig doch bitte nochmal einen Screenshot deiner Einstellungen.
kannst du uns bitte aktuell halten
Ja hab ich gemacht.
Als Data Protokoll hast du "SML (SmartMeterLanguage 1.0.3)" eingetragen, das ist aber falsch. Der richtige Eintrag muss "D0" lauten.
Außerdem kann ich die unteren Daten auf dem Screenshot nicht sehen, was hast du da stehen?Mit den Settings bekomme ich folgende Log Debug Meldung:
smartmeter.0 2019-02-19 09:24:49.639 warn No or too long answer from Serial Device after last request. smartmeter.0 2019-02-19 09:24:49.639 debug Error: No or too long answer from Serial Device after last request. smartmeter.0 2019-02-19 09:24:49.637 debug MESSAGE TIMEOUT TRIGGERED smartmeter.0 2019-02-19 09:24:19.632 debug SET MESSAGE TIMEOUT TIMER2: 30000 smartmeter.0 2019-02-19 09:24:19.630 debug DONE SEND 0 smartmeter.0 2019-02-19 09:24:19.377 debug DONE SEND 1 smartmeter.0 2019-02-19 09:24:19.234 debug TO SEND 1: //?!! smartmeter.0 2019-02-19 09:24:19.234 debug CURRENT PROCESS STEP 1 IN GETNEXTMESSAGE smartmeter.0 2019-02-19 09:24:19.234 debug TO SEND 2: smartmeter.0 2019-02-19 09:24:19.234 debug CURRENT PROCESS STEP 0 IN GETNEXTMESSAGE smartmeter.0 2019-02-19 09:24:19.234 debug INITIAL MESSAGES TO SEND: 2 smartmeter.0 2019-02-19 09:24:19.231 debug SERIALPORT RESET BAUDRATE TO 300 smartmeter.0 2019-02-19 09:24:19.228 debug SERIALPORT OPEN smartmeter.0 2019-02-19 09:24:19.223 debug CREATE SERIALPORT: 300 7 1 even smartmeter.0 2019-02-19 09:23:19.219 debug SCHEDULE NEXT RUN IN 60000s smartmeter.0 2019-02-19 09:23:19.219 debug DELETE rest of data (0) because new Message start with a new Request Message smartmeter.0 2019-02-19 09:23:19.219 debug CURRENT SIGNON MESSAGE COUNTER 1 OF 1 smartmeter.0 2019-02-19 09:23:19.219 debug SERIALPORT REMOVE LISTENERS smartmeter.0 2019-02-19 09:23:19.218 debug SERIALPORT CLOSE smartmeter.0 2019-02-19 09:23:19.214 debug CLEAR MESSAGE TIMEOUT TIMER smartmeter.0 2019-02-19 09:23:19.214 debug STOP smartmeter.0 2019-02-19 09:23:19.214 debug Transport Reset!! Restart = true smartmeter.0 2019-02-19 09:23:19.213 debug Error: No or too long answer from Serial Device after last request. smartmeter.0 2019-02-19 09:23:19.213 warn No or too long answer from Serial Device after last request.
-
Kannst du bitte mal in der SignOnMessage anstelle von /?! nur das ? eintragen?
Und kannst du uns mal deine Adapter Versionsnummer nennen?
-
@Röstkartoffel said in Adapter "smartmeter":
Kannst du bitte mal in der SignOnMessage anstelle von /?! nur das ? eintragen?
Und kannst du uns mal deine Adapter Versionsnummer nennen?
Es geht!!! Sorry für die Ausrufezeichen aber das war der entscheidende Tipp!!!!
-
Du kannst ja dann noch mit den Zeiten probieren, wie oft und wie schnell du auslesen kannst.
Wenn es dann zufriedenstellend funktioniert, stelle doch bitte nochmal einen Screenshot von deinen Einstellungen mit dem kompletten Namen deines Zählers rein, damit es für die Nachwelt erhalten bleibt!
Enrico
-
Hallo zusammen,
ich habe mir jetzt auch den Adapter installiert und einen selbstgebauten Lesekopf mit Bauteilen für unter 5€ angeschlossen (siehe hier).
Der Lesekopf arbeitet tatsächlich einwandfrei nur hat mein Stromzähler (DZG DVS74) wohl leider einen Bug bei der Kodierung von manchen positiven Verbrauchswerten. D.h. teilweise wird meine SML-Nachricht einwandfrei empfangen, zwischendurch habe ich jedoch z.B. folgende Fehlermeldung:Error while parsing SML message: Error: Wrong TL-Field (7) for Unsigned!: Message: 1b1b1b1b010101017605e9128c02620062007263010176010102310b0a01445a470002829d5d72620164dc3845620263894a007605ea128c0262
Den Hinweiß bzgl. dem Bug habe ich bei Volkszähler gefunden. Hier wird auch ein Workaround für den Bug beschrieben: Link zum Workaround
Nun meine Frage:
Habe ich denn eine Möglichkeit dieses Workaround auch bei Verwendung des iobroker-Adapters einzusetzen?DANKE,
Grüße
Markus -
Ich bin auch gerade durch Zufall auf diese Logzeilen gestoßen:
host.pi-iobroker 2019-02-20 15:39:09.433 error instance system.adapter.smartmeter.0 terminated with code 0 (OK) host.pi-iobroker 2019-02-20 15:39:09.433 error Caught by controller[0]: at process._tickCallback (internal/process/next_tick.js:104:9) host.pi-iobroker 2019-02-20 15:39:09.433 error Caught by controller[0]: at _combinedTickCallback (internal/process/next_tick.js:73:7) host.pi-iobroker 2019-02-20 15:39:09.429 error Caught by controller[0]: at process.nextTick (/opt/iobroker/node_modules/iobroker.smartmeter/node_modules/serialport/lib/serialport.js:206:31) host.pi-iobroker 2019-02-20 15:39:09.429 error Caught by controller[0]: at SerialPort._error (/opt/iobroker/node_modules/iobroker.smartmeter/node_modules/serialport/lib/serialport.js:199:14) host.pi-iobroker 2019-02-20 15:39:09.429 error Caught by controller[0]: at SerialPort.<anonymous> (/opt/iobroker/node_modules/iobroker.smartmeter/node_modules/smartmeter-obis/lib/transports/SerialResponseTransport.js:223:29) host.pi-iobroker 2019-02-20 15:39:09.427 error Caught by controller[0]: TypeError: Cannot read property 'logger' of undefined smartmeter.0 2019-02-20 15:39:08.890 warn ERROR CLOSING SERIALPORT smartmeter.0 2019-02-20 15:39:08.890 warn ERROR CLOSING SERIALPORT smartmeter.0 2019-02-20 15:39:08.890 warn Exception: TypeError: Cannot read property 'logger' of undefined smartmeter.0 2019-02-20 15:39:08.890 error TypeError: Cannot read property 'logger' of undefined at SerialPort.<anonymous> (/opt/iobroker/node_modules/iobroker.smartmeter/node_modules/smartmeter-obis/lib/transports/SerialResponseTransport. smartmeter.0 2019-02-20 15:39:08.889 error uncaught exception: Cannot read property 'logger' of undefined smartmeter.0 2019-02-20 15:39:08.886 warn Error while parsing SML message: Error: Wrong TL-Field (7) for Unsigned!: Message: 1b1b1b1b010101017607000fc3bc620062007263010176010107000f032196940b0901454d4800006544b301016348c5007607000f0ab1c3bd62
Mein Zähler ist der EMH ED300L
Einstellungen:
Jemand eine Idee oder gleiches Problem wie beim Post davor?
-
Hallo,
ich habe heute meinen Adapter von Weidmann Elektronik bekommen und angeschlossen.
Als Stromzähler habe ich einen MT175 und folgendes habe ich im Smartmeter eingestellt:wenn ich den Adapter starte kommt folgendes im LOG:
host.rock64 2019-02-20 20:41:12.062 info Restart adapter system.adapter.smartmeter.0 because enabled host.rock64 2019-02-20 20:41:12.062 error instance system.adapter.smartmeter.0 terminated with code 1 () Caught 2019-02-20 20:41:12.061 error by controller[0]: at Object.Module._extensions..js (module.js:664:10) Caught 2019-02-20 20:41:12.061 error by controller[0]: at Module._compile (module.js:653:30) Caught 2019-02-20 20:41:12.061 error by controller[0]: at Object.<anonymous> (/opt/iobroker/node_modules/serialport/lib/bindings/linux.js:2:36) Caught 2019-02-20 20:41:12.061 error by controller[0]: at bindings (/opt/iobroker/node_modules/serialport/node_modules/bindings/bindings.js:81:44) Caught 2019-02-20 20:41:12.061 error by controller[0]: at require (internal/module.js:11:18) Caught 2019-02-20 20:41:12.061 error by controller[0]: at Module.require (module.js:597:17) Caught 2019-02-20 20:41:12.060 error by controller[0]: at Function.Module._load (module.js:498:3) Caught 2019-02-20 20:41:12.060 error by controller[0]: at tryModuleLoad (module.js:506:12) Caught 2019-02-20 20:41:12.060 error by controller[0]: at Module.load (module.js:566:32) Caught 2019-02-20 20:41:12.060 error by controller[0]: at Object.Module._extensions..node (module.js:682:18) Caught 2019-02-20 20:41:12.060 error by controller[0]: Error: /opt/iobroker/node_modules/serialport/build/Release/serialport.node: wrong ELF class: ELFCLASS32 Caught 2019-02-20 20:41:12.060 error by controller[0]: ^ Caught 2019-02-20 20:41:12.059 error by controller[0]: throw e Caught 2019-02-20 20:41:12.059 error by controller[0]: /opt/iobroker/node_modules/serialport/node_modules/bindings/bindings.js:88 host.rock64 2019-02-20 20:41:10.699 info instance system.adapter.smartmeter.0 started with pid 9496
Kann mir jemand sagen was den Fehler auslöst ?
-
warum hast du unter Datenprotokoll: D0 angegeben?
Der MT175 nutzt die SML (SmartMeterLanguage)
Dann ist schon mal die Hälfte der Settings weg.Dann trägst du den USb Port ein. Am besten als "/dev/serial/by-id/id_bzw_port_des_Adapters"