Neues Plugin: Smartmeter - Stromzähler auslesen
Einklappen
X
-
Okay, dann teste mal ob du doch noch irgendwie auf 9600 stellen kannst. Stell dazu die maxbaudrate auf 9600 und spiele dann etwas mit dem Delay. Wie gesagt, die 5 sagt aus, das der Zähler 9600 kann. Das Delay sagt aus, wie lange gewartet wird nach dem er seine Kennung geschickt hat, bis der Befehl für die Umschaltung auf 9600 gesendet wird. Lasse dabei das Timeout noch auf 20 stehen. Gehts dann mit 9600 kannst du das timeout langsam wieder runter drehen, sonst muss jedesmal 20 Sekunden warten. -
Gibt's Neuigkeiten. Habe es oft versucht, einmal klappt es mit der Erkennung aber moistens eben nicht. Ist das willkür oder Eine Energieoption ???Kommentar
-
Hallo zusammen,
ich habe auch einen Holley DTZ 541 vom Bayernwerk aufgezwungen bekommen der keinen Standard spricht. Ich lese nun schon X Stunden in Foren wie man diesen zum laufen bekommt, leider ohne Erfolg. Ich kriege einfach keine Werte aus dem Ding raus. Kann wer helfen?
Ich nutze das pre release plugin 1.1.2. (was unter Version 1.1.1. deklariert ist)
Habe auch schon die CRC Prüfung beim parsen übergangen mit: "$result['crcMsgCheck'] = ($result['crc_calc'] != $result['crc16']);"
Zuletzt geändert von Gast; 04.01.2020, 12:40.Kommentar
-
Kurze Rückinfo:
Dieser DTZ41 gibt 20 OBIS-Kennzahlen aus. Bisher wurde in der php_sml_parser.class.php nur TL-Fields berücksichtigt, die kein weiteres Byte zur Längenangabe benötigten.
"F104" muss nach der Tabelle umgerechnet werden.
F1 binär 1111 0001, 4Bit nach links schieben --> 0001 0000, 04=0100,
Ergebnis verordern:
0001 0000
0000 0100
---------------
0001 0100 = 20
Auszug aus dem Telegram:
Code:F104 // Liste mit 20 Elementen 77 // Liste mit 7 Elementen 07010060320101 // OBIS 01 // Optional 01 // Optional 01 // Optional 01 // Optional 04484C59 // Value 01 // Optional 77 // Liste mit 7 Elementen 070100600100FF // OBIS 01 // Optional 01 // Optional 01 // Optional 01 // Optional 0B0A01484C590200019185 // Server-ID 01 // Optional
Code:private function readValList() { $this->debug('ENTER readValList'); $TYPE_LEN = $this->read(1); # Type-Lenght-Field: # 7 6 5 4 3 2 1 0 # 1 x x x x x x x weiteres TL-Field folgt, Vergleich auf 0x8 # 0 x x x x x x x kein weiteres TL-Field # manche DTZ41 vom Bayernwerk schicken 20 OBIS-Kennzahlen if(hexdec($TYPE_LEN{0}) & 0x8) { $TYPE_LEN2 = $this->read(1); $TYPE_LEN = hexdec($TYPE_LEN) << 4; $TYPE_LEN=$TYPE_LEN & 0xFF; $TYPE_LEN=$TYPE_LEN | $TYPE_LEN2; $LEN = $TYPE_LEN; for($i=0;$i<$LEN;$i++) { $this->debug("ENTER readListEntry [$i]"); $result[]=$this->readListEntry($this->data); } $this->debug('EXIT readValList : '.print_r($result,true),false); return $result; } elseif (hexdec($TYPE_LEN{0}) & 0x0) { $LEN = hexdec($TYPE_LEN{1}); for($i=0;$i<$LEN;$i++) { $this->debug("ENTER readListEntry [$i]"); $result[]=$this->readListEntry($this->data); } $this->debug('EXIT readValList : '.print_r($result,true),false); return $result; }else{ echo('Error reading value-list!'); } } #####################################################################################
Code:'0100200700FF' => array('1-0:32.7.0*255','Spannung Phase 1'), '0100340700FF' => array('1-0:52.7.0*255','Spannung Phase 2'), '0100480700FF' => array('1-0:32.7.0*255','Spannung Phase 3'), '01001F0700FF' => array('1-0:31.7.0*255','Strom Phase 1'), '0100330700FF' => array('1-0:51.7.0*255','Strom Phase 2'), '0100470700FF' => array('1-0:71.7.0*255','Strom Phase 3'), '0100510701FF' => array('1-0:81.7.1*255','Phasenwinkel U-L2 bis U-L1'), '0100510702FF' => array('1-0:81.7.2*255','Phasenwinkel U-L3 bis U-L1'), '0100510704FF' => array('1-0:81.7.0*255','Phasenwinkel I-L1 bis U-L1'), '010051070FFF' => array('1-0:81.7.15*255','Phasenwinkel I-L2 bis U-L2'), '010051071AFF' => array('1-0:81.7.26*255','Phasenwinkel I-L3 bis U-L3'), '01000E0700FF' => array('1-0:14.7.0*255','Frequenz'),
Zuletzt geändert von blacksun; 05.01.2020, 16:13.Kommentar
-
Hallo zusammen und herzlichen Dank an Blacksun für die promte Nachbarschaftshilfe!
Es handelt sich um einen Holley DTZ 541 Charge 2018 der vom Bayernwerk mit na ja sagen wir mal ungewöhnlicher CRC Prüfung KERMIT funktioniert.
Um dies mit Loxberry ans laufen zu kriegen hänge ich hier anbei die notwendigen Daten die Blacksun abgeändert hat an.
Muss aber an der Stelle ganz klar dem guten alten fhem den vorzug geben da loxberry keine graphen zur verfügung stellt.
Bei interesse PNAngehängte DateienKommentar
-
Es gibt eine neues PreRelease.
Info dazu: Bisher wurde in der php_sml_parser.class.php nur TL-Fields berücksichtigt, die kein weiteres Byte zur Längenangabe benötigten. Abfrage erweitert.
Gruß
Michael
Kommentar
-
Hallo, ich habe heute versucht die Kommunikation zum ISKRA AM550-TD0.11 aufzubauen. Ich bekomm aber nur diese Daten:
D307LZ0Y: Found configuration for D307LZ0Y
D307LZ0Y: Presetting: iskra382d0.
IInitial Baudrate: 9600
Max Baudrate: 9600
Protocol: iskra681sml
Timeout: 60
Delay: 2
Setting up port /dev/serial/smartmeter/D307LZ0Y: Baudrate:9600/9600 Databits:8 Stopbits:1 Parity:none Handshake:none
Save raw buffer to /var/run/shm/smartmeter/D307LZ0Y.dump
Parse /var/run/shm/smartmeter/D307LZ0Y.dump as SML-Protocol.
Buffer:
Calculate average power for cons.
Last Reading: . Saved before: 439003.4939 hours. Consumption: 0.0000. Avg. Power: 0.0000,
Calculate average power for del.
Last Reading: . Saved before: 439003.4939 hours. Consumption: 0.0000. Avg. Power: 0.0000,
Save Meter data to /var/run/shm/smartmeter/D307LZ0Y.data.
All data written to /var/run/shm/smartmeter/D307LZ0Y.xxxx
n to /var/run/shm/smartmeter/D307LZ0Y.xxxx
Was mach ich falsch?Smarthome: 1x Miniserver Gen. 2, 3x Relay Extensions, 1x Tree Extension, 1x DI-Extension, 1x Air Base Extension, 8x RGBW Tree Dimmer, 9x Touch-Tree, 1x Nano DI Tree, 10x Tree BWM
Technik: IDM Aero SLM 3-11 mit HGL, MS4H mit 9 Zonen, 2x Loxberry, 2x RPI für Anzeige, Doorbird, Froggit WH2600, POE+ System für Peripherie, Gedad Luftgütesensoren, Deconz (Bridge + 2x BWM + 2x RGBW + 5 Smartplug)Kommentar
-
Hallo, sieht so aus, als ob keine Daten geschickt werden vom Zähler.
Hat’s schonmal funktioniert?
Kommen Daten aus der Schnittstelle? Mit Digitalkamera, kein iPhone, überprüfen. Wenn ein Blinken sichtbar ist, kommen auch Daten.
Ist der Zähler in Österreich 🇦🇹 verbaut? Ist der Zähler AES verschlüsselt?
Kommentar
-
Blinken sehr ich nix mit der Spiegelreflex. Bin aus Kärnten. Komisch ist auch, dass ich auf der Website meines Versorgers auch nix sehe. Der Smartmeter ist auch erst letzte Woche installiert worden.
Wo erkenne ich ob der Zähler AES verschlüsselt ist?Smarthome: 1x Miniserver Gen. 2, 3x Relay Extensions, 1x Tree Extension, 1x DI-Extension, 1x Air Base Extension, 8x RGBW Tree Dimmer, 9x Touch-Tree, 1x Nano DI Tree, 10x Tree BWM
Technik: IDM Aero SLM 3-11 mit HGL, MS4H mit 9 Zonen, 2x Loxberry, 2x RPI für Anzeige, Doorbird, Froggit WH2600, POE+ System für Peripherie, Gedad Luftgütesensoren, Deconz (Bridge + 2x BWM + 2x RGBW + 5 Smartplug)Kommentar
-
In Österreich kann es sein, das die Infrarotschnittstelle deaktiviert ist und nur die seitliche P1 Schnittstelle Daten ausgibt, da müsste eine RJ45 oder RJ12 Buchse sein.
Ich kenn diesen Zähler leider nicht "persönlich". Hab ich mir nur eben mal ergoogelt. Ich würd erstmal beim Versorger anrufen, und mal fragen, wies mit der Infrarotschnittstelle aussieht. Kann diese mittels PIN aktiviert werden oder ist diese eh schon aktiviert? Auch kann ich dir nicht sagen, ob mit einer Spiegelreflexkamera die Infrarotstrahlen sichtbar gemacht werden können. Ich habe eine ganz einfach Canon von früher, mit der hat man tatsächlich bläulich was blinken sehen. Mit der iPhone Kamera konnte man nichts erkennen.Kommentar
-
Hallo Zusammen,
ich hatte jetzt 2 Jahre erfolgreich jeden Tag, alle 5 Min, per Volkszaehler Kopf (das gelbe Teilchen als USB Version) meinen Stromzähler ausgelesen.... irgendwann im Dezember ging es dann nicht mehr. Ich hatte nichts verändert.... hab sowohl den Stromzähler neugestartet (einmal Strom komplett aus) sowohl den Sensor versucht anders zu positionieren, aber keine Chance.
Wie kann ich prüfen, was das Problem ist? Hat jemand Tipps? Es kommen einfach keine Daten zurück.... das USB Gerät ist da und wird auch abgefragt, aber innerhalb des TimeOuts kommen keine Daten.
Was mich beschäftigt: Was kann an dem Sensor evtl. kaputt gegangen sein und gibt es mehrere solcher Erfahrungen? Da es aktuell keine zu kaufen gibt, gibt es Alternativen, die ähnlich im Smartmeter funktionieren?
Danke.
Viele Grüße,
BennyKommentar
-
Hallo zusammen,
Ich habe einen Logarex Zähler, welcher Typ auch ausgelesen wird. Nur erhalte ich keine Werte.
weiß jemand um Rat? Einstellungen hab ich schon alles mögliche versucht.
Viele Grüße
Log Viewer - /plugins/smartmeter/shm/fetch_manually.log
DN03UR32: Found configuration for DN03UR32
DN03UR32: Manual settings.
DN03UR32: Protocol: genericd0
DN03UR32: Timeout: 10
DN03UR32: Delay: 4
DN03UR32: Device: /dev/serial/smartmeter/DN03UR32
DN03UR32: Baudrate:300/300 Databits:7 Stopbits:1 Parity:even Handshake:none
Initial Baudrate: 300
Max Baudrate: 300
Protocol: genericd0
Timeout: 10
Delay: 4
Setting up port /dev/serial/smartmeter/DN03UR32: Baudrate:300/300 Databits:7 Stopbits:1 Parity:even Handshake:none
Sending D0 Starting Sequence
Send: /?!
5 Bytes written.
/?!
/LOG4LK13BD202015
Save raw buffer to /var/run/shm/smartmeter/DN03UR32.dump
Parse /var/run/shm/smartmeter/DN03UR32.dump as D0-Protocol.
Calculate average power for cons.
Last Reading: . Saved before: 439268.2833 hours. Consumption: 0.0000. Avg. Power: 0.0000,
Calculate average power for del.
Last Reading: . Saved before: 439268.2833 hours. Consumption: 0.0000. Avg. Power: 0.0000,
Save Meter data to /var/run/shm/smartmeter/DN03UR32.data.
All data written to /var/run/shm/smartmeter/DN03UR32.xxxxKommentar
-
Habe den Lesekopf von Weidemann heute mit folgenden Einstellungen bei meinem Logarex LK13B erfolgreich in Betrieb genommen:
Generic D0
Initial Baudrate 9600
Max Baudrate 300
Databits 7
Stopbits 1
Parity Even
Handshake None
Timeout 5s
Verzögerung 1s
Klingt vielleicht komisch, aber bei mir läuft es mit diesen Einstellungen absolut stabil.
Gerne ne Rückmeldung, ob das hilft. -
Danke für die Tipps.
Leider klappt es bei mir nicht.
Weder mit der Baudrate 9600 noch mit der 4800 setting
Aexelomeus, kannst du bitte mal die Zählerversion posten welche bei dir angezeigt wird?
Ich vermute nämlich, dass LOG4LK13BD202015 für 2015 steht und evtl nicht die neueste Software am Zähler ist.
DN03UR32: Protocol: genericd0
DN03UR32: Timeout: 5
DN03UR32: Delay: 1
DN03UR32: Device: /dev/serial/smartmeter/DN03UR32
DN03UR32: Baudrate:300/9600 Databits:7 Stopbits:1 Parity:even Handshake:none
Initial Baudrate: 9600
Max Baudrate: 300
Protocol: genericd0
Timeout: 5
Delay: 1
Setting up port /dev/serial/smartmeter/DN03UR32: Baudrate:300/9600 Databits:7 Stopbits:1 Parity:even Handshake:none
Sending D0 Starting Sequence
Send: /?!
5 Bytes written.
Changing Baudrate to 300
Send: 000
6 Bytes written.
m
jw|000
Save raw buffer to /var/run/shm/smartmeter/DN03UR32.dump
Parse /var/run/shm/smartmeter/DN03UR32.dump as D0-Protocol.
Calculate average power for cons.
Last Reading: . Saved before: 439291.6964 hours. Consumption: 0.0000. Avg. Power: 0.0000,
Calculate average power for del.
Last Reading: . Saved before: 439291.6964 hours. Consumption: 0.0000. Avg. Power: 0.0000,
Save Meter data to /var/run/shm/smartmeter/DN03UR32.data.
All data written to /var/run/shm/smartmeter/DN03UR32.xxxx -
Also bei mir fängt die Bezeichnung mit LOG5LK13BE und dann ne willkürliche Zahl, ist denke ich mal ne Art Seriennummer.
Aber ich kriege auch ne Versionsnummer angezeigt: ver.03,432F,20170504. Ich schließe daher auf den 04.05.2017 als Software-Datum. Mein Zähler sieht auch etwas anders aus, vermutlich muss man LK13BE und LK13BD noch unterscheiden.
Ich hab auch einfach alles mögliche ausprobiert, alle Kombinationen, auch die Undenkbaren und irgendwann hat es funktioniert ^^
D306NG0M: Found configuration for D306NG0M
D306NG0M: Manual settings.
D306NG0M: Protocol: genericd0
D306NG0M: Timeout: 5
D306NG0M: Delay: 1
D306NG0M: Device: /dev/serial/smartmeter/D306NG0M
D306NG0M: Baudrate:300/9600 Databits:7 Stopbits:1 Parity:even Handshake:none
Initial Baudrate: 9600
Max Baudrate: 300
Protocol: genericd0
Timeout: 5
Delay: 1
Setting up port /dev/serial/smartmeter/D306NG0M: Baudrate:300/9600 Databits:7 Stopbits:1 Parity:even Handshake:none
Sending D0 Starting Sequence
Send: /?!
5 Bytes written.
Changing Baudrate to 300
Send: 000
6 Bytes written.
/LOG5LK13BE803039
1-0:96.1.0*255(001LOG0065148868)
1-0:1.8.0*255(003222.2213*kWh)
1-0:2.8.0*255(000000.0000*kWh)
1-0:0.2.0*255(ver.03,432F,20170504)
1-0:96.90.2*255(0F66)
1-0:97.97.0*255(00000000)
!
/LOG5LK13BE803039
1-0:96.1.0*255(001LOG0065148868)
1-0:1.8.0*255(003222.2215*kWh)
1-0:2.8.0*255(000000.0000*kWh)
1-0:0.2.0*255(ver.03,432F,20170504)
1-0:96.90.2*255(0F66)
1-0:97.97.0*255(00000000)
!
Bps:NLCc8
Save raw buffer to /var/run/shm/smartmeter/D306NG0M.dump
Parse /var/run/shm/smartmeter/D306NG0M.dump as D0-Protocol.
Calculate average power for cons.
Last Reading: 3222.199. Saved before: 0.0353 hours. Consumption: 0.0220. Avg. Power: 0.6236,
Calculate average power for del.
Last Reading: 0.000. Saved before: 0.0353 hours. Consumption: 0.0000. Avg. Power: 0.0000,
Save Meter data to /var/run/shm/smartmeter/D306NG0M.data.
All data written to /var/run/shm/smartmeter/D306NG0M.xxxx
-
Kommentar