NEWS
Adapter "smartmeter"
-
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.
-
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. `
ja. du erstellst die Datei /etc/udev/rules.d/99-lesekopf.rulesDa rein schreibst du:
SUBSYSTEMS=="usb",KERNEL=="ttyUSB0", ATTRS{serial}=="********", SYMLINK+="lesekopf0" SUBSYSTEMS=="usb",KERNEL=="ttyUSB1", ATTRS{serial}=="********", SYMLINK+="lesekopf1"
für * die entsprechende Seriennummer. Danach aktivieren. Das sollte auch so gehen:
cd /etc/udev/rules.d/ sudo echo 'SUBSYSTEMS=="usb",KERNEL=="ttyUSB0", ATTRS{serial}=="********", SYMLINK+="lesekopf0"' > 99-lesekopf.rules sudo echo 'SUBSYSTEMS=="usb",KERNEL=="ttyUSB1", ATTRS{serial}=="********", SYMLINK+="lesekopf1"' >> 99-lesekopf.rules sudo udevadm trigger
Serial nicht vergessen!
-
Das mit dem Serial ist klar.
Hast du nun die erste oder zweite Variante?
Würde sonst die erste Variante wählen und dann starten.
Wie bekomme ich raus obs geklappt hat?