====== Landis & Gyr ZMD120AP (D0) ======
{{ :hardware:channels:meters:power:edl-ehz:lg_zmd120ap.jpg?200|}}
Genauer Typ: ZMDAPtCS G03, baugleich mit ZFD120AP\\
Über die Infrarotschnittstelle kann der Zähler gemäß IEC61107 oder DLMS (Device Language Message Specification) ausgelesen werden.
===== Hardware =====
Der Zähler kann mit einem [[hardware:controllers:ir-schreib-lesekopf|IR-Schreib-Lesekopf]] bei [[hardware:controllers:ir-schreib-lesekopf#grundlagen|300bd, 7E1]] gelesen werden.
===== Beispielkonfiguration vzlogger =====
{
"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
}
]
}
===== Auslesen per Shell-Skript =====
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
===== Beispielausgabe =====
/?! <-- 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)