====== DZG DVS74 ======
{{ :hardware:channels:meters:power:edl-ehz:dzg_dvs74.jpg?150|}}
Der DVS74 von Deutsche Zählergewerkschaft kann, laut Datenblatt, nach EN 62056-21 über die IR-Schnittstelle ausgelesen werden.\\
===== Hardware =====
Man benötigt den [[hardware:controllers:ir-schreib-lesekopf|IR-Schreib-Lesekopf]].\\
Der Zähler sendet lastabhängig alle paar Sekunden unaufgefordert ein Datenpaket. Die Sendediode ist oben rechts in dem Metallring angeordnet. Gesendet wird (SML und D0) mit [[hardware:controllers:ir-schreib-lesekopf#grundlagen|9600bd, 8N1]].\\
Von dem Zähler gibt es 2 Ausführungen mit unterschiedlichen Softwareständen. Die neue Version liefert seine Daten in SML, die alte Version jedoch spricht ein D0 das nicht ganz dem Standard entspricht und von vzlogger nicht unterstützt wird!
Achtung: Zumindest einige Versionen der SML-Firmware haben einen Fehler in der Kodierung positiver Verbrauchswerte, diese werden falsch als "signed int" kodiert und somit falsch interpretiert, ein [[https://github.com/jmberg/libsml/commit/81c4026e3d94f7a384cdd89f62a727b83269cdec|workaround ist hier zu finden]]. Wir sind auch diesbezüglich in Kontakt mit dem Hersteller.
===== Shellscript =====
Wie schon erwähnt können nicht alle Zähler mit vzlogger gelesen werden. Alternativ kann man dieses Shellscript als Cronjob laufen lassen.\\
Es ist für einen Zweirichtungszähler mit Bezug und Einspeisung geschrieben.
#!/bin/bash
#Liest die Werte des Stromzählers DVS74 (alte Version mit "D0-ähnlicher" Ausgabe)
INPUT_DEV="/dev/ttyUSB0"
stty -F $INPUT_DEV 1:0:8bd:0:0:0:0:0:4:5:1:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0
typeset -i i=0
while read line; do
if [ ${line:0:18} == "01-00:01.08.00.FF(" ]
then
BEZUG_GESAMT=$(echo ${line:18} | cut -d '*' -f1)
i=i+1
elif [ ${line:0:18} == "01-00:02.08.00.FF(" ]
then
EINSPEISUNG_GESAMT=$(echo ${line:18} | cut -d '*' -f1)
i=i+1
fi
if (($i == 2 ))
then
break;
fi
done < $INPUT_DEV
curl -s "http://localhost/middleware.php/data/6836dd20-00d5-11e0-bab1-856ed5f959ae.json?operation=add&value=$BEZUG_GESAMT" > /dev/null
curl -s "http://localhost/middleware.php/data/6836dd20-00d5-11e0-bab1-856ed5f959aa.json?operation=add&value=$EINSPEISUNG_GESAMT" > /dev/null
===== Quellen =====
[[https://www.dzg.de/fileadmin/dzg/content/downloads/produkte-zaehler/dvs74/DZG_Datenblatt_DVS74.pdf|Datenblatt]]\\
[[https://www.dzg.de/fileadmin/dzg/content/downloads/produkte-zaehler/dvs74/DZG_DVS74_Bedienungsanleitung.pdf|Handbuch]]