Genauer Typ: ZMDAPtCS G03, baugleich mit ZFD120AP
Über die Infrarotschnittstelle kann der Zähler gemäß IEC61107 oder DLMS (Device Language Message Specification) ausgelesen werden.
Der Zähler kann mit einem IR-Schreib-Lesekopf bei 300bd, 7E1 gelesen werden.
{
"retry" : 30,
"verbosity" : 15,
"log" : "/var/log/vzlogger/vzlogger.log",
"local" : {
// "enabled" : false,
"port" : 8081,
"index" : true,
"timeout" : 30,
"buffer" : 600
},
"meters" : [
{
"enabled" : true ,
"protocol" : "d0",
"baudrate" : 300,
"device" : "/dev/ttyUSB0",
"parity" : "7E1",
"pullseq" : "2f3f210d0a", // HEX Darstellung der Pullsequenz
"interval" : 30, // Wartezeit bis zum nächsten Pull
}
]
}
Z.B. als d0read.sh mit folgenden Text anlegen:
#!/bin/bash stty 300 -F /dev/ttyAMA0 1:4:da7:a30:3:1c:7f:15:4:10:0:0:11:13:1a:0:12:f:17:16: 0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0 COUNTER=1 while [ $COUNTER -le 5 ] do ( sleep 1; echo -e "\x2f\x3f\x21\x0d\x0a" > /dev/ttyAMA0 ) & #sende "/?!" mit Return an Raspi (Udo's Erweiterung + IR-Kopf seriell) while read -t8 line do echo $line # > /home/pi/lgread.log done < /dev/ttyAMA0 while read -t8 line do echo $line # >> /home/pi/lgread.log done < /dev/ttyAMA0 echo "COUNTER: " $COUNTER let COUNTER=COUNTER+1 done exit
Nicht vergessen, die Datei als ausführbar zu markieren: chmod +x d0read.sh
/?! <-- Wiederholung der gesendeten Pullsequenz /LGZ52ZMD120APt.G03 <-- Antwort mit Herstellerkennung, mögliche Baudrate und Typ F.F(00000000) <-- Fehlercode 0.0.0( 20000) <-- Zählernummer 1.8.1(001846.0*kWh) <-- Hochtarif, bzw. einziger Tarif: Zählerstand Energielieferung 1.8.2(000000.0*kWh) <-- Niedertarif: Zählerstand Energielieferung 2.8.1(004329.6*kWh) <-- Hochtarif, bzw. einziger Tarif: Zählerstand Energieeinspeisung 2.8.2(000000.0*kWh) <-- Niedertarif: Zählerstand Energieeinspeisung 1.8.0(001846.0*kWh) <-- Summe Zählerstand Energielieferung 2.8.0(004329.6*kWh) <-- Summe Zählerstand Energieeinspeisung ! <-- Endesequenz
Es kann noch weitere Codes „C.7.0(0012)“ bei Spannungsfehlern, oder „C.2.1(01-09-10)“ als Datum der letzten Parametrierung geben. Leider wird die aktuelle Leistung nicht ausgegeben. Für genaue Verbrauchswerte ist der Zähler deshalb nur bedingt geeignet.
Code: C.8.0(02050385): Lifetime in minutes ($ date -d 'now - 2050385 minutes' ⇒ Wed Jun 13 19:40:08 CEST 2012)