Dies ist eine alte Version des Dokuments!
Inhaltsverzeichnis
HZ1-C50D-R1-Z
Hardware
Der Stromzähler HZ1-C50D-R1-Z eHZ arbeitet mit einer Infrarot Schnittstelle und bei diesem Gerät in dieser Beschreibung wird die vzlogger.conf mit DO konfiguriert.
Der Infrarot Lesekopf mit Ringmagnet wird rechts oben aufgesetzt. Er haftet durch den Magneten am Zähler. Das Kabel geht bei mir an die Raspberry Pi Erweiterung.
Device /dev/ttyAMA0; gesendet wird mit 9600 Baud, 7e1
Beispielkonfiguration
Eine exemplarische /etc/vzlogger.conf:
{ "retry": 0, "daemon": true, "verbosity": 0, "log": "/var/log/vzlogger.log", "push": [], "local": { "enabled": false, "port": 8080, "index": false, "timeout": 0, "buffer": 0 }, "meters": [ { "enabled": true, "allowskip": false, "interval": -1, "aggtime": -1, "aggfixedinterval": false, "channels": [ { "api": "volkszaehler", "uuid": "6eeda5e0-e444-11e7-b86a-55c9374153f6", "identifier": "1-0:1.8.0", "middleware": "http://localhost/middleware.php", "aggmode": "none", "duplicates": 0 }, { "api": "volkszaehler", "uuid": "a6b60740-e444-11e7-a968-a3c7ee8dfa30", "identifier": "1-0:2.8.0", "middleware": "http://localhost/middleware.php", "aggmode": "none", "duplicates": 0 } ], "protocol": "d0", "device": "/dev/ttyAMA0", "baudrate": 9600, "parity": "7e1" } ] }
Fehlersuche
Grundsätzlich wird das Thema Fehlersuche hier ausführlich beschrieben wie vorzu gehen ist. Hier ein paar Ergänzungen incl. Meldungen.
Zum prüfen der Schnittstelle sollte der VZlogger gestoppt werden, sonst kommt es zu komischen Daten.
sudo systemctl stop vzlogger
Schnittstelle Einstellungen prüfen
Kommen Daten vom IR-Lesekopf?
pi@zaehlerpi:~ $ xxd </dev/ttyAMA0 0000000: af48 4147 3565 485a 2000 0082 4ac8 085a .HAG5eHZ ...J..Z 0000010: 2052 0022 2000 0809 0a21 2920 2a20 2820 R." ....!) * ( 0000020: 2420 2822 2121 20a1 a020 2421 2020 2010 $ ("!! .. $! . 0000030: 1010 0242 0000 0202 4010 0000 00c0 0061 ...B....@......a 0000040: 0061 0040 0121 a000 3080 b438 0030 2034 .a.@.!..0..8.0 4 0000050: 8008 000a 00c0 4041 4c00 4108 4040 0c01 ......@AL.A.@@..
Hier stimmen die Zeichensätze nicht
Prüfen, ob vzlogger im Hintergrund als daemon läuft:
$ ps -Af | grep vzlogger root 6930 1 0 Apr09 ? 00:32:28 /usr/bin/vzlogger -d
In diesem Fall
sudo systemctl stop vzlogger
Serielle Einstellungen prüfen
pi@zaehlerpi:~ $ stty -a -F /dev/ttyAMA0 speed 9600 baud; rows 0; columns 0; line = 0; intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = <undef>; eol2 = <undef>; swtch = <undef>; start = ^Q; stop = ^S; susp = ^Z; rprnt = ^R; werase = ^W; lnext = ^V; flush = ^O; min = 1; time = 0; -parenb -parodd -cmspar cs8 hupcl -cstopb cread clocal -crtscts -ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr icrnl ixon -ixoff -iuclc -ixany -imaxbel -iutf8 opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0 isig icanon iexten echo echoe echok -echonl -noflsh -xcase -tostop -echoprt echoctl echoke
Änderung:
csN Zeichengröße auf N Bits setzen, N in [5..8] [-]parenb Paritätsbit in der Ausgabe erzeugen und Paritätsbit in der Eingabe erwarten etc.
Anpassen über minicom (Programm zur Benutzung der serielle Schnittstelle), später im vzlogger über die vzlogger.conf, hier nur zum Testen!
pi@zaehlerpi:~ $ sudo minicom -s
+------------[Konfiguration]-------------+ | Dateinamen und Pfade | | Protokolle zur Dateiübertragung | | Einstellungen zum seriellen Anschluss | <===== auswählen | Modem und Wählverhalten | | Bildschirm und Tastatur | | Speichern als »dfl« | | Einstellungen speichern als ... | | Verlassen | | Minicom beenden |
Folgendes anpassen
+-----------------------------------------------------------------------+ | A - Serieller Anschluss : /dev/ttyAMA0 | | B - Pfad zur Lockdatei : /var/lock | | C - Programm zur Rufannahme : | | D - Programm zum Wählen : | | E - Bps/Par/Bits : 9600 7E1 | | F - Hardware Flow Control : Nein | | G - Software Flow Control : Nein | | | | Welchen Parameter möchten Sie ändern? |
Speichern als "dfl" (default = Voreinstellung) ENTER Verlassen ENTER
/HAG5eHZ010C_IEONZA22 1-0:0.0.0*255(Hier steht die Seriennummer) 1-0:1.8.0*255(017696.3998) 1-0:2.8.0*255(059692.3152) 1-0:96.5.5*255(82) 0-0:96.1.255*255(0000086617) 1-0:32.7.0*255(232.97*V) 1-0:52.7.0*255(233.55*V) 1-0:72.7.0*255(232.86*V) 1-0:31.7.0*255(000.67*A) 1-0:51.7.0*255(000.86*A) 1-0:71.7.0*255(000.31*A) 1-0:21.7.0*255(+00112*W) 1-0:41.7.0*255(+00122*W) 1-0:61.7.0*255(+00061*W) 1-0:96.50.0*0(EE) 1-0:96.50.0*1(07D0) 1-0:96.50.0*2(15) 1-0:96.50.0*3(0A) 1-0:96.50.0*4(1F) 1-0:96.50.0*5(02) 1-0:96.50.0*6(003D381B150A141150007E0400009F80) 1-0:96.50.0*7(00)
Beenden kann man die Ausgabe mit: Ctrl+A und dann Q
Prüfen
pi@zaehlerpi:~ $ xxd </dev/ttyAMA0 0000000: 2f48 4147 3565 485a 3031 3043 5f49 454f /HAG5eHZ010C_IEO 0000010: 4e5a 4132 320d 0a0d 0a31 2d30 3a30 2e30 NZA22....1-0:0.0 )..1-0:1. 0000040: 382e 302a 3235 3528 3031 3736 3936 2e34 8.0*255(017696.4 0000050: 3331 3829 0d0a 312d 303a 322e 382e 302a 318)..1-0:2.8.0* 0000060: 3235 3528 3035 3936 3932 2e33 3135 3229 255(059692.3152) 0000070: 0d0a 312d 303a 3936 2e35 2e35 2a32 3535 ..1-0:96.5.5*255 0000080: 2838 3229 0d0a 302d 303a 3936 2e31 2e32 (82)..0-0:96.1.2 0000090: 3535 2a32 3535 2830 3030 3030 3836 3631 55*255(000008661 00000a0: 3729 0d0a 312d 303a 3332 2e37 2e30 2a32 7)..1-0:32.7.0*2 00000b0: 3535 2832 3334 2e34 382a 5629 0d0a 312d 55(234.48*V)..1- 00000c0: 303a 3532 2e37 2e30 2a32 3535 2832 3333 0:52.7.0*255(233
In der /etc/vzlogger.conf
"verbosity" : 15,
Den Raspberry neu starten und die log-Datei anschauen.
Geholfen hat auch:
pi@zaehlerpi:~ $ stty -F /dev/ttyAMA0 9600
oder in die /etc/ rc.local
stty -F /dev/ttyAMA0 9600
vor dem exit
Kanäle einstellen
Mit dem Web Browser (z.B. Firefox) auf die IP Adresse des Raspberry Pi gehen und die Kanäle konfigurieren
• Typ: Elektrische Energie (Zaehlerstaende) • Titel: Strom Verbrauch 1.8.0 • Auflösung: 1 • Public: Haken setzen • Cookie: Haken setzen • Aktiv: Haken setzen • Kosten: 0.00030 (30 ct/KWh)
Mit i kann man dann die UUID auslesen, welche dann in der /etc/vzlogger.conf anzupassen sind. System neu starten.
Wenn alles läuft in der /etc/vzlogger.conf „verbosity“: 0 setzen und den Raspberry neu starten.