NEWS
Adapter "smartmeter"
-
Wenn da hinten wirklich SML rauskommt dann ist die "Seriell bidirektional" falsch. Stell mal auf Readonly. Wenn Bidirektional sollte es D0 als protokoll sein und kein SMl … oder ?!
-
Wenn da hinten wirklich SML rauskommt dann ist die "Seriell bidirektional" falsch. Stell mal auf Readonly. Wenn Bidirektional sollte es D0 als protokoll sein und kein SMl … oder ?! `
readonly war das erste, was ich probiert habe. und es ist sicher sml das lese ich mit meinem script:
root@miniyou:/opt/iobroker# more /tmp/HAGER.raw 1B1B1B1B0101010176090000000006727A86620162007263010176010109 00000000022628D90B0 64841470109A8EB2F5C0101639660007609000000 0006727A87620162007263070177010B064841 470109A8EB2F5C07010062 0AFFFF72620165038B8450F17677078181C78203FF010101010448414 701 77070100000009FF010101010B064841470109A8EB2F5C01770701000108 00FF628201621E5 2FF55033C0D420177070100010801FF0101621E52FF55 033BE6320177070100010802FF0101621E 52FF5327100177070100100700 FF0101621B52005300E70177070100240700FF0101621B52FF530 6240177 0701001F0700FF0101622152FE53005A0177070100200700FF0101622352 FE5359CE017 7070100380700FF0101621B52FF5300DC0177070100330700 FF0101622152FE5300280177070100 340700FF0101622352FE535A3A0177 0701004C0700FF0101621B52FF53020F0177070100470700F F0101622152 FE53002A0177070100480700FF0101622352FE535A900177070100603200 0201016 20952FF5300F40177078181C78205FF0101010183028DAC263C22 0B9F1D489336B5C0A793A28262 73774FAF6FB64B41640E45732704E6D59F C08E96016D9DABEC88EA55E9800177070100603203030 10162235200628D 01770701006032030401016223520062EF01770701006032000301016209 520 0520A017707010060320004010162095200521D017707010060320005 0101620952005209010101 63186F0076090000000006727A886201620072 630201710163FFCC00001B1B1B1B1A011C7F1B1B1 B1B0101010176090000 000006727A8C62016200726301017601010900000000022628DB0B064841 470109A8EB2F5C01016332A000760900000000
host.miniyou 2017-02-08 23:09:52.661 info Restart adapter system.adapter.smartmeter.0 because enabled host.miniyou 2017-02-08 23:09:52.660 error instance system.adapter.smartmeter.0 terminated with code 0 (OK) smartmeter.0 2017-02-08 23:09:52.645 info terminating smartmeter.0 2017-02-08 23:09:52.141 warn Exception: Error: Error while parsing SML message: Error: Unknown TL-Field 0x77 for OctetString [Offset: 533]!: Message: 1b1b1b1b0101010176090000000006727ada62016200726301017601010900000000022628f50b smartmeter.0 2017-02-08 23:09:52.137 error at FSReqWrap.wrapper [as oncomplete] (fs.js:576:17) smartmeter.0 2017-02-08 23:09:52.137 error at SerialPort. (/opt/iobroker/node_modules/iobroker.smartmeter/node_modules/smartmeter-obis/node_modules/serialport/lib/serialport.js:306:7) smartmeter.0 2017-02-08 23:09:52.137 error at SerialPort. (/opt/iobroker/node_modules/iobroker.smartmeter/node_modules/smartmeter-obis/node_modules/serialport/lib/serialport.js:293:14) smartmeter.0 2017-02-08 23:09:52.137 error at SerialPort._emitData (/opt/iobroker/node_modules/iobroker.smartmeter/node_modules/smartmeter-obis/node_modules/serialport/lib/serialport.js:313:18) smartmeter.0 2017-02-08 23:09:52.137 error at SerialPort.module.exports.raw (/opt/iobroker/node_modules/iobroker.smartmeter/node_modules/smartmeter-obis/node_modules/serialport/lib/parsers.js:7:13) smartmeter.0 2017-02-08 23:09:52.137 error at SerialPort.emit (events.js:169:7) smartmeter.0 2017-02-08 23:09:52.137 error at emitOne (events.js:77:13) smartmeter.0 2017-02-08 23:09:52.137 error at SerialPort. (/opt/iobroker/node_modules/iobroker.smartmeter/node_modules/smartmeter-obis/lib/transports/SerialResponseTransport.js:45:46) smartmeter.0 2017-02-08 23:09:52.137 error at SmlProtocol.handleMessage (/opt/iobroker/node_modules/iobroker.smartmeter/node_modules/smartmeter-obis/lib/protocols/SmlProtocol.js:48:15) smartmeter.0 2017-02-08 23:09:52.137 error Error: Error while parsing SML message: Error: Unknown TL-Field 0x77 for OctetString [Offset: 533]!: Message: 1b1b1b1b0101010176090000000006727ada62016200726301017601010900000000022628f50b06484147010 smartmeter.0 2017-02-08 23:09:52.129 error uncaught exception: Error while parsing SML message: Error: Unknown TL-Field 0x77 for OctetString [Offset: 533]!: Message: 1b1b1b1b0101010176090000000006727ada62016200726301017601010900000000022628f5
-
Hurra, der Adapter läuft bei mir
Ich habe zwei USB-Volkszähler-Leseköpfe an einem RasPi2 der als Multihost-Slave in ioBroker läuft. Der Adapter hat auf Anhieb funktioniert. Super Arbeit @apollon77!!
Allerdings habe ich es nicht hinbekommen eigene Namen für die USB-Devices zu vergeben. Habe hier die Anleitung ein paar Posts weiter oben und auch die vom Volkszähler-Projekt dazugenommen - aber da bin ich wohl noch zu viel Linux-Noob. Ist aber auch nicht weiter schlimm, ich habe ja nicht vor, an dem RasPi die USB-Geräte ständig umzustecken…
-
Das kann aber nach einem reboot auch passieren… Morgen kriegen wir das hin.
-
@a200: Readonly und SML ist schonmal korrekt. Das Raw der SML Datei war genau das was ich nutzen kann um mal in die Nachricht reinzuschauen.
Weisst DU ob das SML 1.0.3 sein soll oder welche Protokollversion? Ich suche mal.
Kommt immer die gleiche Meldung. Mal schauen welches Datenfeld Ihm da nicht gefällt Weiter oben war noch was mit nem "3b"-Fehler … das war auch von dir. kann ich so eine nachricht bitte auch vollständig haben Danke
Ingo F
-
Hier habe ich aus dem Logfile
! ` > 2017-02-08 23:12:12.696 - info: host.miniyou instance system.adapter.smartmeter.0 started with pid 3638
2017-02-08 23:12:14.942 - info: smartmeter.0 starting. Version 0.2.4 in /opt/iobroker/node_modules/iobroker.smartmeter, node: v4.7.2
2017-02-08 23:12:18.133 - error: smartmeter.0 uncaught exception: Error while parsing SML message: Error: Unknown TL-Field 0x77 for OctetString [Offset: 533]!: Message: 1b1b1b1b0101010176090000000006727c2162016200726301017601010900000000022629620b064841470109a8eb2f5c010163f0ed0076090000000006727c22620162007263070177010b064841470109a8eb2f5c070100620affff72620165038b850ef17677078181c78203ff01010101044841470177070100000009ff010101010b064841470109a8eb2f5c0177070100010800ff628201621e52ff55033c0dde0177070100010801ff0101621e52ff55033be6ce0177070100010802ff0101621e52ff5327100177070100100700ff0101621b52005301810177070100240700ff0101621b52ff53066c01770701001f0700ff0101622152fe53005e0177070100200700ff0101622352fe5359910177070100380700ff0101621b52ff5306a50177070100330700ff0101622152fe5300530177070100340700ff0101622352fe535a5001770701004c0700ff0101621b52ff5302010177070100470700ff0101622152fe53002a0177070100480700ff0101622352fe535a900177070100603200020101620952ff5300f50177078181c78205ff0101010183028dac263c220b9f1d489336b5c0a793a2826273774faf6fb64b41640e45732704e6d59fc08e96016d9dabec88ea55e980017707010060320303010162235200628d01770701006032030401016223520062ef017707010060320003010162095200520a017707010060320004010162095200521d01770701006032000501016209520052090101016344460076090000000006727c2662016200726302017101637ef200001b1b1b1b1a012ad9
2017-02-08 23:12:18.143 - error: smartmeter.0 Error: Error while parsing SML message: Error: Unknown TL-Field 0x77 for OctetString [Offset: 533]!: Message: 1b1b1b1b0101010176090000000006727c2162016200726301017601010900000000022629620b064841470109a8eb2f5c010163f0ed0076090000000006727c22620162007263070177010b064841470109a8eb2f5c070100620affff72620165038b850ef17677078181c78203ff01010101044841470177070100000009ff010101010b064841470109a8eb2f5c0177070100010800ff628201621e52ff55033c0dde0177070100010801ff0101621e52ff55033be6ce0177070100010802ff0101621e52ff5327100177070100100700ff0101621b52005301810177070100240700ff0101621b52ff53066c01770701001f0700ff0101622152fe53005e0177070100200700ff0101622352fe5359910177070100380700ff0101621b52ff5306a50177070100330700ff0101622152fe5300530177070100340700ff0101622352fe535a5001770701004c0700ff0101621b52ff5302010177070100470700ff0101622152fe53002a0177070100480700ff0101622352fe535a900177070100603200020101620952ff5300f50177078181c78205ff0101010183028dac263c220b9f1d489336b5c0a793a2826273774faf6fb64b41640e45732704e6d59fc08e96016d9dabec88ea55e980017707010060320303010162235200628d01770701006032030401016223520062ef017707010060320003010162095200520a017707010060320004010162095200521d01770701006032000501016209520052090101016344460076090000000006727c2662016200726302017101637ef200001b1b1b1b1a012ad9
at SmlProtocol.handleMessage (/opt/iobroker/node_modules/iobroker.smartmeter/node_modules/smartmeter-obis/lib/protocols/SmlProtocol.js:48:15)
at SerialPort. <anonymous>(/opt/iobroker/node_modules/iobroker.smartmeter/node_modules/smartmeter-obis/lib/transports/SerialResponseTransport.js:45:46)
at emitOne (events.js:77:13)
at SerialPort.emit (events.js:169:7)
at SerialPort.module.exports.raw (/opt/iobroker/node_modules/iobroker.smartmeter/node_modules/smartmeter-obis/node_modules/serialport/lib/parsers.js:7:13)
at SerialPort._emitData (/opt/iobroker/node_modules/iobroker.smartmeter/node_modules/smartmeter-obis/node_modules/serialport/lib/serialport.js:313:18)
at SerialPort. <anonymous>(/opt/iobroker/node_modules/iobroker.smartmeter/node_modules/smartmeter-obis/node_modules/serialport/lib/serialport.js:293:14)
at SerialPort. <anonymous>(/opt/iobroker/node_modules/iobroker.smartmeter/node_modules/smartmeter-obis/node_modules/serialport/lib/serialport.js:306:7)
at FSReqWrap.wrapper [as oncomplete] (fs.js:576:17)
2017-02-08 23:12:18.146 - warn: smartmeter.0 Exception: Error: Error while parsing SML message: Error: Unknown TL-Field 0x77 for OctetString [Offset: 533]!: Message: 1b1b1b1b0101010176090000000006727c2162016200726301017601010900000000022629620b064841470109a8eb2f5c010163f0ed0076090000000006727c22620162007263070177010b064841470109a8eb2f5c070100620affff72620165038b850ef17677078181c78203ff01010101044841470177070100000009ff010101010b064841470109a8eb2f5c0177070100010800ff628201621e52ff55033c0dde0177070100010801ff0101621e52ff55033be6ce0177070100010802ff0101621e52ff5327100177070100100700ff0101621b52005301810177070100240700ff0101621b52ff53066c01770701001f0700ff0101622152fe53005e0177070100200700ff0101622352fe5359910177070100380700ff0101621b52ff5306a50177070100330700ff0101622152fe5300530177070100340700ff0101622352fe535a5001770701004c0700ff0101621b52ff5302010177070100470700ff0101622152fe53002a0177070100480700ff0101622352fe535a900177070100603200020101620952ff5300f50177078181c78205ff0101010183028dac263c220b9f1d489336b5c0a793a2826273774faf6fb64b41640e45732704e6d59fc08e96016d9dabec88ea55e980017707010060320303010162235200628d01770701006032030401016223520062ef017707010060320003010162095200520a017707010060320004010162095200521d01770701006032000501016209520052090101016344460076090000000006727c2662016200726302017101637ef200001b1b1b1b1a012ad9
2017-02-08 23:12:18.659 - info: smartmeter.0 terminating
2017-02-08 23:12:18.674 - error: host.miniyou instance system.adapter.smartmeter.0 terminated with code 0 (OK)
2017-02-08 23:12:18.674 - info: host.miniyou Restart adapter system.adapter.smartmeter.0 because enabled
2017-02-08 23:12:23.739 - info: host.miniyou object change system.adapter.smartmeter.0
2017-02-08 23:12:50.922 - error: host.miniyou instance system.adapter.smartmeter.0 terminated with code 3 (Adapter disabled or invalid config)
2017-02-08 23:12:50.923 - info: host.miniyou Do not restart adapter system.adapter.smartmeter.0 because disabled or deleted</anonymous></anonymous></anonymous> `
Vielleicht bringt das was?!
-
Super, hast Du auch noch ein log als er wegen dem 0x3b gemeckert hatte?
-
@a200: Also dein 0x77er Fehler ist gefunden … Die Daten behaupten das 21 Listen-Datensätze kommen ... es sind aber 22 drin. Der Parser machts halt genau und fliegt damit auf die schnauze weil halt was anderes drin ist als erwartet.
Ich überlege mal und rede mit dem Entwickler der SML-Library ... ich würde was einbauen was das trotzdem liesst ... melde mich, kann aber paar Tage dauern weil der das akzeptieren muss und so!
-
Das kann aber nach einem reboot auch passieren… Morgen kriegen wir das hin. `
Super da bin ich dabei, bekomme heute auch meinen zweiten Lesekopf. -
Super, hast Du auch noch ein log als er wegen dem 0x3b gemeckert hatte? `
Kann ich dir erst heute Abend liefern.Ansonsten vielen Dank für die tolle Arbeit!
-
So, den 0x77er kann ich bei mir lokal auslesen …
Kann ich dir erst heute Abend liefern. `
Passt. Dann baue ich das noch ein und dann kanns weiter gehen
-
Das kann aber nach einem reboot auch passieren… Morgen kriegen wir das hin. `
Ja, hast schon Recht mit dem Reboot. Allerdings wird ja von manchen Leuten suggeriert dass Linux stabiler wäre als Windows
Nein - Spaß beiseite. Wenn Du uns helfen kannst das noch korrekt hinzubekommen bin ich natürlich auch gerne dabei was dazuzulernen.
-
Hallo,
bei läuft der Adapter seit gestern Nachmittag. Strombezug passt. Ich bekomme jedoch keine Daten vom Solarertrag. Ich hab den Lesekopf von Volkszähler.
Gibt es hier irgendetwas zum umstellen?
1342_bildschirmfoto_2017-02-09_um_08.39.03.png -
Das kann aber nach einem reboot auch passieren… Morgen kriegen wir das hin. `
Ja, hast schon Recht mit dem Reboot. Allerdings wird ja von manchen Leuten suggeriert dass Linux stabiler wäre als Windows
Nein - Spaß beiseite. Wenn Du uns helfen kannst das noch korrekt hinzubekommen bin ich natürlich auch gerne dabei was dazuzulernen. `
Also bei mir hat die Anleitung von der Volkszähler-Seite funktioniert … aber Achtung da sind Unterschiede zwischen Debian und Ubuntu ... Also vorher lesen und das "richtige" machen
@ein-bayer: Wenns nicht aus Datenpunkt drin ist kommt es nicht als Daten. Hatten wir glaube weiter oben schon ... da wäre die einzig Sinnvolle Option per Javascript differenzen der Zählerstände zu nehmen
-
Heute Nacht hat sich der Adapter verabschiedet und lief seit 2:20 bis heute Morgen nicht mehr [emoji53]
Mit ist dann aufgefallen das zwei gleiche Prozesse liefen! Denn im log wurde angezeigt das der serial Port nicht geöffnet werden kann
Ich habe einen Prozess abgeschossen! Den anderen konnte ich erst beenden als iobroker gestoppt wurde!
Als ich dann iobroker gestartet habe lief alles wieder wunderbar
Muss ich mal beobachten, woran das schon wieder lag
Gruß
Adrian
Gesendet von iPhone mit Tapatalk Pro
-
@apollon
die Datenpunkte hab ich !! Bei inbetriebnahme gestern Nachmittag wurde der Zählerstand übertragen, seit dem nichts mehr
-
Das kann aber nach einem reboot auch passieren… Morgen kriegen wir das hin. `
Ja, hast schon Recht mit dem Reboot. Allerdings wird ja von manchen Leuten suggeriert dass Linux stabiler wäre als Windows
Nein - Spaß beiseite. Wenn Du uns helfen kannst das noch korrekt hinzubekommen bin ich natürlich auch gerne dabei was dazuzulernen. `
Also bei mir hat die Anleitung von der Volkszähler-Seite funktioniert … aber Achtung da sind Unterschiede zwischen Debian und Ubuntu ... Also vorher lesen und das "richtige" machen
@ein-bayer: Wenns nicht aus Datenpunkt drin ist kommt es nicht als Daten. Hatten wir glaube weiter oben schon ... da wäre die einzig Sinnvolle Option per Javascript differenzen der Zählerstände zu nehmen `
Naja bei mir isses das IOBroker SD Image auf einer Raspberry liegt. Wie gesagt ich habe mit Linux nicht viel zu tun, wüste nicht mal wo die Befehle eingegeben werden müssen.
-
Hallo chemieka,
ein klein wenig weiter bin ich schon;-) Um Befehle auf deinem RasPi eingeben zu können brauchst du ein sog. Terminalfenster. Ich empfehle dir das Programm "PuTTY". Um Dateien zu editieren nehme ich allerdings auch nicht das Terminal (obwohl das schon geht - ist mir aber ehrlich gesagt zu steinzeitlich), dafür nehme ich FileZilla. Installiere dir mal die beiden Programme und schau ob du weiterkommst - ansonsten frag noch mal.
Ich habe beide Varianten von der Volkszähler-Seite ausprobiert, sowohl .conf als auch .rules als Dateiendung - hat beides nicht funktioniert. Was mir dabei völlig schleierhaft ist -warum soll die DAtei "99-lesekopf" heißen wenn dann das Gerät als "lesekopf0" definiert wird? Und nächste Frage - wie definiert man dann den zweiten? Neue Datei? Wie muss die dann heißen? Oder nur zusätzliche Zeile in der Datei?
-
Hallo chemieka,
ein klein wenig weiter bin ich schon;-) Um Befehle auf deinem RasPi eingeben zu können brauchst du ein sog. Terminalfenster. Ich empfehle dir das Programm "PuTTY". Um Dateien zu editieren nehme ich allerdings auch nicht das Terminal (obwohl das schon geht - ist mir aber ehrlich gesagt zu steinzeitlich), dafür nehme ich FileZilla. Installiere dir mal die beiden Programme und schau ob du weiterkommst - ansonsten frag noch mal.
Ich habe beide Varianten von der Volkszähler-Seite ausprobiert, sowohl .conf als auch .rules als Dateiendung - hat beides nicht funktioniert. Was mir dabei völlig schleierhaft ist -warum soll die DAtei "99-lesekopf" heißen wenn dann das Gerät als "lesekopf0" definiert wird? Und nächste Frage - wie definiert man dann den zweiten? Neue Datei? Wie muss die dann heißen? Oder nur zusätzliche Zeile in der Datei? `
Schau dir das mal an http://www.raspifun.de/viewtopic.php?t=4
Hier ist alles step by step beschrieben. auch wie du mit putty auf dein Raspi kommst.
Die Zahl 99 vor Lesekopf besagt nur die Reihenfolge in der die Geräte geladen werden. Willst du ein Gerät vor einem anderen laden, dann muss seine Nummer kleiner sein.
Was danach steht ist egal, wobei Lesekopf ist schon ganz gut. Also 99-lesekopf.rules ist schon i.O. Die Datei muss auf rules enden und sollte in etwa so aussehen:
SUBSYSTEMS=="usb",KERNEL=="ttyUSB*", ATTRS{serial}=="********", SYMLINK+="lesekopf0"
Sterne mit entsprechenden Werten ersetzen. Und dann noch````
sudo udevadm trigger -
Ich halte nochmal fest die Datei muss: 99-lesekopf.rules heißen
Und in der Datei muss die Codezeile rein. Bei zwei Leseköpfen dann bestimmt zwei Zeilen oder?
Dann hochladen in welchen Ordner?
Und am Ende mit dem Befehl starten.