NEWS
Adapter "smartmeter"
- 
					
					
					
					
 @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 triggerSerial 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? 
- 
					
					
					
					
 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? ` was meinst du? mit zwei Varianten? 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 triggerDas sind die Befehle: 1. wechselt ins /etc/udev/rules.d/ Verzeichnis 2. Erzeugt die Datei 99-lesekopf.rules mit dem Inhalt SUBSYSTEMS=="usb",KERNEL=="ttyUSB0", ATTRS{serial}=="********", SYMLINK+="lesekopf0" (Anpassen!!!) 3. Fügt in die Datei 99-lesekopf.rules den Inhalt SUBSYSTEMS=="usb",KERNEL=="ttyUSB1", ATTRS{serial}=="********", SYMLINK+="lesekopf1" ein (Anpassen!!!) 4. restartet udevadm 
- 
					
					
					
					
 @apollon die Datenpunkte hab ich !! Bei inbetriebnahme gestern Nachmittag wurde der Zählerstand übertragen, seit dem nichts mehr ` Was sagt log? Andere Werte werden aktualisiert? 
- 
					
					
					
					
 @apollo ich hab jetzt nochmals nachgesehen und überlegt. ich hab teilweise auch den falschen wert beobachtet. Der Wert 1-0:16_7_0255.value war für mich der Wert den ich beziehe. Dem ist ja nicht so , das ist ein rechnerischer wert zwischen Bezug und Ertrag. Die Werte 1-0:2_8_2255.value und 1-0:1_8_2*255.value haben ihren anfangswert von 0, da kommt auch nix. Da vermute ich , wie du ja auch schon vermutet hast, das die nicht übergeben werden, eigentlich schade da ich dann ja kein Diagramm der aktuellen Einspeisung machen kann oder? Die Gesamtwerte Bezug und Verbrauch aktualisieren sich. Was ist eigentlich der Unterschied zwischen : 1-0:2_8_1255.value und 1-0:2_8_0255.value ? 
- 
					
					
					
					
 @apollo ich hab jetzt nochmals nachgesehen und überlegt. ich hab teilweise auch den falschen wert beobachtet. Der Wert 1-0:16_7_0255.value war für mich der Wert den ich beziehe. Dem ist ja nicht so , das ist ein rechnerischer wert zwischen Bezug und Ertrag. Die Werte 1-0:2_8_2255.value und 1-0:1_8_2*255.value haben ihren anfangswert von 0, da kommt auch nix. Da vermute ich , wie du ja auch schon vermutet hast, das die nicht übergeben werden, eigentlich schade da ich dann ja kein Diagramm der aktuellen Einspeisung machen kann oder? Die Gesamtwerte Bezug und Verbrauch aktualisieren sich. Was ist eigentlich der Unterschied zwischen : 1-0:2_8_1255.value und 1-0:2_8_0255.value ? ` laut Google: 129-129:199.130.3*255 - Manufacturer 1-0:0.0.9*255 - ServerId / serial number 1-0:1.8.0*255 - Total kWh consumption (in) 1-0:1.8.1*255 - Tariff 1 kWh consumption (in) 1-0:1.8.2*255 - Tariff 2 kWh consumption (in) 1-0:2.8.0*255 - Total kWh delivery (out) 1-0:2.8.1*255 - Tariff 1 kWh delivery (out) 1-0:2.8.2*255 - Tariff 2 kWh delivery (out) 1-0:16.7.0*255 - Current Delivery Watt (out) 
- 
					
					
					
					
 Unter "Objekte" solltet Ihr als Name der Datenpunkte auch etwas textuelles in der Art sehen … ich glaube in der "Events"-Sicht wird der Name nicht angezeigt. Aber korrekt, "Tarif 1" und "Tarif 2" wäre für sowas wie Nebenzeit- Hauptzeittarife hat 
- 
					
					
					
					
 Super, hast Du auch noch ein log als er wegen dem 0x3b gemeckert hatte? ` 
 Den Fehler habe ich komischerweise nicht in meinen Logfiles. ein grep 0x3b im /opt/iobroker/log/ findet nichts.Wann kann ich die Korrektur von den 0x77er testen?  Kein Streß, ich kann warten! 
- 
					
					
					
					
 So ich denke ich hab das mit der USB Zuordnung mit Hilfe von Putty und FileZilla hinbekommen. Muss mal sehen woran ich das nun sehe das es richtig ist. <size size="150">Nochmal vielen Dank an alle hier Beteiligten</size>                                          
  cd /etc/udev/rules.d/ sudo echo 'SUBSYSTEMS=="usb",KERNEL=="ttyUSB0", ATTRS{serial}=="01065F70", SYMLINK+="lesekopf0"' > 99- lesekopf.rules sudo echo 'SUBSYSTEMS=="usb",KERNEL=="ttyUSB1", ATTRS{serial}=="01065B72", SYMLINK+="lesekopf1"' >> 99- lesekopf.rules sudo udevadm trigger
- 
					
					
					
					
 heute hatte ich leider auch den SIGABRT-Fehler. Insgesamt 18 mal. Ich hänge mal die Log-Datei hier an. 
 
 Ist nur ein Ausschnitt, aber bei LogLevel Debug kommt da ne Menge zusammen. Was mir auffällt ist dass das Log mit Unmengen [NUL]-Werten zugemüllt wird.Ich hoffe, Du kommst damit dem Fehler ein Stück weiter auf die Spur. Wenn ich noch was zum Debuggen beitragen kann sag Bescheid. Gruß Thilo 
- 
					
					
					
					
 Wann kann ich die Korrektur von den 0x77er testen?  ` `Offiziell mit neuer Version: Wenn das hier https://github.com/dspautz/OpenSML/pull/4 akzeptiert wurde und ich dann ne neue Version gepulisht hab. Manuell: Im node_modules-Verzeichnis gibt es das "open-sml" Verzeichnis. Du musst das File hier austauschen: https://github.com/Apollon77/OpenSML/bl … SmlList.js mit der hier von dem Github Link. Dann kannste mal Adapter neu starten und schauen was passiert  Bin gespannt Ingo F 
- 
					
					
					
					
 heute hatte ich leider auch den SIGABRT-Fehler. Insgesamt 18 mal. Ist nur ein Ausschnitt, aber bei LogLevel Debug kommt da ne Menge zusammen. Was mir auffällt ist dass das Log mit Unmengen [NUL]-Werten zugemüllt wird. ` Danke! Die NUL ist nur blödheit beim Logging. Wird mit der nächsten Version gefixt. kannst aktuell Debug ausschalten. ich bin jetzt soweit das es irgendein Speichherproblem im node-Prozess mit Buffern ist. Hab bissl experimentiert und versucht umzubauen, aber ändert nix. Ich versuche das jetzt "kleiner" nachzustellen das ich es den node Entwicklern geben kann. Und mit node 7 will ichs auch noch testen … Also erstmal: Leider akzeptieren .. melde mich wenn ich was neues habe  
- 
					
					
					
					
 Wann kann ich die Korrektur von den 0x77er testen?  ` `Offiziell mit neuer Version: Wenn das hier https://github.com/dspautz/OpenSML/pull/4 akzeptiert wurde und ich dann ne neue Version gepulisht hab. Manuell: Im node_modules-Verzeichnis gibt es das "open-sml" Verzeichnis. Du musst das File hier austauschen: https://github.com/Apollon77/OpenSML/bl … SmlList.js mit der hier von dem Github Link. Dann kannste mal Adapter neu starten und schauen was passiert  Bin gespannt Ingo F ` 
 Heidewitzka, was man hier alles sehen kann!Vielen Dank. Morgen gibts mehr infos! 
 1597_js2.png
- 
					
					
					
					
 Gut - alles klar. Ist erstmal kein Problem. Der Adapter läuft ja nach dem automatischen Restart nach dem Fehler sogar problemlos weiter. Also - kein Stress…ich warte bis du soweit bist. 
- 
					
					
					
					
 Und doch noch der 0x3c Fehler: ! ```` 
 2017-02-09 22:41:05.289 - error: smartmeter.0 uncaught exception: Error
 while parsing SML message: Error: Unknown TL-Field 0x3c for OctetString [Offset
 : 120]!: Message: 1b1b1b1b010101017609000000000674d58b62016200726301017601010900
 0000000226f1db0b064841470109a8eb2f5c0101636aba007609000000000674d58c620162007263
 070177010b064841470109a8eb2f5c070100620affff72620165038ccf3bf17677078181c78203ff
 01010101044841033cf5860177070100010802ff0101621e52ff5327100177070100100700ff0101
 621b52005301230177070100240700ff0101621b52ff53041e01770701001f0700ff0101622152fe
 5300480177070100200700ff0101622352fe5358d60177070100380700ff0101621b52ff5301f201
 77070100330700ff0101622152fe5300330177070100340700ff0101622352fe53591c0177070100
 4c0700ff0101621b52ff5305470177070100470700ff0101622152fe5300570177070100480700ff
 0101622352fe5359790177070100603200020101620952ff5300f40177078181c78205ff01010101
 83028dac263c220b9f1d489336b5c0a793a2826273774faf6fb64b41640e45732704e6d59fc08e96
 016d9dabec88ea55e980017707010060320303010162235200628d01770701006032030401016223
 520062ef017707010060320003010162095200520a017707010060320004010162095200521d0177
 07010060320005010162095200520901010163dfc1007609000000000674d5946201620072630201
 710163af4f00001b1b1b1b1a0160f9
 2017-02-09 22:41:05.295 - error: smartmeter.0 Error: Error while parsin
 g SML message: Error: Unknown TL-Field 0x3c for OctetString [Offset: 120]!: Mess
 age: 1b1b1b1b010101017609000000000674d58b620162007263010176010109000000000226f1d
 b0b064841470109a8eb2f5c0101636aba007609000000000674d58c620162007263070177010b064
 841470109a8eb2f5c070100620affff72620165038ccf3bf17677078181c78203ff0101010104484
 1033cf5860177070100010802ff0101621e52ff5327100177070100100700ff0101621b520053012
 30177070100240700ff0101621b52ff53041e01770701001f0700ff0101622152fe5300480177070
 100200700ff0101622352fe5358d60177070100380700ff0101621b52ff5301f2017707010033070
 0ff0101622152fe5300330177070100340700ff0101622352fe53591c01770701004c0700ff01016
 21b52ff5305470177070100470700ff0101622152fe5300570177070100480700ff0101622352fe5
 359790177070100603200020101620952ff5300f40177078181c78205ff0101010183028dac263c2
 20b9f1d489336b5c0a793a2826273774faf6fb64b41640e45732704e6d59fc08e96016d9dabec88e
 a55e980017707010060320303010162235200628d01770701006032030401016223520062ef01770
 7010060320003010162095200520a017707010060320004010162095200521d01770701006032000
 5010162095200520901010163dfc1007609000000000674d5946201620072630201710163af4f000
 01b1b1b1b1a0160f9
 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/no
 de_modules/smartmeter-obis/lib/transports/SerialResponseTransport.js:52:41)
 at emitOne (events.js:77:13)
 at SerialPort.emit (events.js:169:7)
 at SerialPort.module.exports.raw (/opt/iobroker/node_modules/iobroker.smartm
 eter/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/no
 de_modules/smartmeter-obis/node_modules/serialport/lib/serialport.js:293:14)
 at SerialPort. <anonymous>(/opt/iobroker/node_modules/iobroker.smartmeter/no
 de_modules/smartmeter-obis/node_modules/serialport/lib/serialport.js:306:7)
 at FSReqWrap.wrapper [as oncomplete] (fs.js:576:17)
 2017-02-09 22:41:05.299 - warn: smartmeter.0 Exception: Error: Error wh
 ile parsing SML message: Error: Unknown TL-Field 0x3c for OctetString [Offset: 1
 20]!: Message: 1b1b1b1b010101017609000000000674d58b62016200726301017601010900000
 0000226f1db0b064841470109a8eb2f5c0101636aba007609000000000674d58c620162007263070
 177010b064841470109a8eb2f5c070100620affff72620165038ccf3bf17677078181c78203ff010
 10101044841033cf5860177070100010802ff0101621e52ff5327100177070100100700ff0101621
 b52005301230177070100240700ff0101621b52ff53041e01770701001f0700ff0101622152fe530
 0480177070100200700ff0101622352fe5358d60177070100380700ff0101621b52ff5301f201770
 70100330700ff0101622152fe5300330177070100340700ff0101622352fe53591c01770701004c0
 700ff0101621b52ff5305470177070100470700ff0101622152fe5300570177070100480700ff010
 1622352fe5359790177070100603200020101620952ff5300f40177078181c78205ff01010101830
 28dac263c220b9f1d489336b5c0a793a2826273774faf6fb64b41640e45732704e6d59fc08e96016
 d9dabec88ea55e980017707010060320303010162235200628d01770701006032030401016223520
 062ef017707010060320003010162095200520a017707010060320004010162095200521d0177070
 10060320005010162095200520901010163dfc1007609000000000674d5946201620072630201710
 163af4f00001b1b1b1b1a0160f9
 2017-02-09 22:41:05.808 - info: smartmeter.0 terminating
 2017-02-09 22:41:05.882 - error: host.miniyou instance system.adapter.s
 martmeter.0 terminated with code 0 (OK)
 2017-02-09 22:41:05.889 - info: host.miniyou Restart adapter system.ada
 pter.smartmeter.0 because enabled</anonymous></anonymous></anonymous>Super Arbeit!
 
		
	 
		
	 
			
		