Hallo zusammen,
ich habe mit zwei IR-Schreib-/Leseköpfen von volkszaehler.org meine beiden Stromzähler ISKRA MT174 über einen Raspberry in die Loxone eingebunden. Vielleicht ist das ja für den ein oder anderen auch interessant.
Einkaufsliste:
- für jeden Zähler einen IR-Schreib-Lesekopf (USB) von volkszaehler.org (ca. 30 EUR/Stück):volkszaehler.org - wiki - USB-IR-Schreib-Lesekopf
- Raspberry mit Raspbian-Image
1. USB IR-Schreib-Lesekopf installieren
Zunächst mal muss man den USB-Kopf gemäß dieser Anleitung in Betrieb nehmen. Anschließend sollte man schauen, dass der Zähler die Daten auch sendet. Dazu testet man das Ganze mit einem Terminalprogramm. Ich habe es dabei nicht geschafft den Zähler mit dem sonst immer unter Linux empfohlenen "minicom" zum Senden der Daten zu überreden. Aber über das bereits auf dem Raspberry installierte "miniterm.py" (ein Pythonsckript) hat es einwandfrei funktioniert. Wenn man sich unsicher ist kann man auch unter Windows das kostenlose Programm "hterm" zum Testen verwenden: der-Hammer: HTerm - A Terminal Program for Windows and Linux
Beim ISKRA MT174 sendet man ein "/?!" zum Zähler und anschließend sendet er den aktuellen sowie die gespeicherten Zählerstände zurück (im OBIS-Format). Näheres dazu hier: volkszaehler.org - wiki - ISKRAemeco MT 174
In den Terminalprogrammen verwendet man folgende Einstellungen:
Bautrate: 300
Databits: 7
Stopbits: 1
Parity: Even
Linefeed: <CR><LF>
Ein kompletter Datensatz sieht wie folgt aus:
Code:
/?! /ISk5MT174-0001 040 0-0:F.F.0*255(0000000) 1-0:0.0.1*255(1ISK1300) 1-0:0.0.0*255(63135194) 1-0:0.9.1*255(164025) 1-0:0.9.2*255(1150517) 1-0:0.1.0*255(20) 1-0:0.1.2*01(1505010000) 1-0:0.1.2*02(1504010000) 1-0:0.1.2*03(1503010000) 1-0:0.1.2*04(1502010000) 1-0:0.1.2*05(1501010000) 1-0:0.1.2*06(1412010000) 1-0:0.1.2*07(1411010000) 1-0:0.1.2*08(1410010000) 1-0:0.1.2*09(1409010000) 1-0:0.1.2*10(1408010000) 1-0:0.1.2*11(1407010000) 1-0:0.1.2*12(1406010000) 1-0:0.1.2*13(1405010000) 1-0:0.1.2*14(1404010000) 1-0:0.1.2*15(1403010000) 1-0:1.8.0*255(0006806.281*kWh) 1-0:1.8.0*01(0006593.420*kWh) 1-0:1.8.0*02(0006238.728*kWh) 1-0:1.8.0*03(0005854.525*kWh) 1-0:1.8.0*04(0005437.021*kWh) 1-0:1.8.0*05(0005018.202*kWh) 1-0:1.8.0*06(0004619.998*kWh) 1-0:1.8.0*07(0004239.062*kWh) 1-0:1.8.0*08(0003873.931*kWh) 1-0:1.8.0*09(0003523.844*kWh) 1-0:1.8.0*10(0003210.644*kWh) 1-0:1.8.0*11(0002934.156*kWh) 1-0:1.8.0*12(0002649.910*kWh) 1-0:1.8.0*13(0002307.053*kWh) 1-0:1.8.0*14(0001968.327*kWh) 1-0:1.8.0*15(0001606.705*kWh) 1-0:1.8.1*255(0004060.578*kWh) 1-0:1.8.1*01(0003946.205*kWh) 1-0:1.8.1*02(0003747.795*kWh) 1-0:1.8.1*03(0003521.373*kWh) 1-0:1.8.1*04(0003251.455*kWh) 1-0:1.8.1*05(0002986.960*kWh) 1-0:1.8.1*06(0002734.930*kWh) 1-0:1.8.1*07(0002504.994*kWh) 1-0:1.8.1*08(0002287.285*kWh) 1-0:1.8.1*09(0002059.373*kWh) 1-0:1.8.1*10(0001866.606*kWh) 1-0:1.8.1*11(0001701.994*kWh) 1-0:1.8.1*12(0001544.009*kWh) 1-0:1.8.1*13(0001338.449*kWh) 1-0:1.8.1*14(0001150.055*kWh) 1-0:1.8.1*15(0000927.765*kWh) 1-0:1.8.2*255(0002745.705*kWh) 1-0:1.8.2*01(0002647.215*kWh) 1-0:1.8.2*02(0002490.933*kWh) 1-0:1.8.2*03(0002333.152*kWh) 1-0:1.8.2*04(0002185.566*kWh) 1-0:1.8.2*05(0002031.242*kWh) 1-0:1.8.2*06(0001885.067*kWh) 1-0:1.8.2*07(0001734.068*kWh) 1-0:1.8.2*08(0001586.645*kWh) 1-0:1.8.2*09(0001464.470*kWh) 1-0:1.8.2*10(0001344.037*kWh) 1-0:1.8.2*11(0001232.161*kWh) 1-0:1.8.2*12(0001105.901*kWh) 1-0:1.8.2*13(0000968.603*kWh) 1-0:1.8.2*14(0000818.271*kWh) 1-0:1.8.2*15(0000678.939*kWh) 1-0:1.8.3*255(0000000.000*kWh) 1-0:1.8.3*01(0000000.000*kWh) 1-0:1.8.3*02(0000000.000*kWh) 1-0:1.8.3*03(0000000.000*kWh) 1-0:1.8.3*04(0000000.000*kWh) 1-0:1.8.3*05(0000000.000*kWh) 1-0:1.8.3*06(0000000.000*kWh) 1-0:1.8.3*07(0000000.000*kWh) 1-0:1.8.3*08(0000000.000*kWh) 1-0:1.8.3*09(0000000.000*kWh) 1-0:1.8.3*10(0000000.000*kWh) 1-0:1.8.3*11(0000000.000*kWh) 1-0:1.8.3*12(0000000.000*kWh) 1-0:1.8.3*13(0000000.000*kWh) 1-0:1.8.3*14(0000000.000*kWh) 1-0:1.8.3*15(0000000.000*kWh) 1-0:1.8.4*255(0000000.000*kWh) 1-0:1.8.4*01(0000000.000*kWh) 1-0:1.8.4*02(0000000.000*kWh) 1-0:1.8.4*03(0000000.000*kWh) 1-0:1.8.4*04(0000000.000*kWh) 1-0:1.8.4*05(0000000.000*kWh) 1-0:1.8.4*06(0000000.000*kWh) 1-0:1.8.4*07(0000000.000*kWh) 1-0:1.8.4*08(0000000.000*kWh) 1-0:1.8.4*09(0000000.000*kWh) 1-0:1.8.4*10(0000000.000*kWh) 1-0:1.8.4*11(0000000.000*kWh) 1-0:1.8.4*12(0000000.000*kWh) 1-0:1.8.4*13(0000000.000*kWh) 1-0:1.8.4*14(0000000.000*kWh) 1-0:1.8.4*15(0000000.000*kWh) 1-0:0.2.0*255(1.02) 1-0:0.2.2*255(00750101) 0-0:C.2.0*255(2) 0-0:C.2.1*255(1130529212117) 0-0:C.1.6*255(70D6) !
2. Automatisieren
Zum regelmäßigen Auslesen des Zählerstands verwende ich ein Perl-Skript, welches ich über einen Cronjog lle 10 Minuten laufen lasse. Dieses liest den Zähler aus und berechnet über den zuletzt ausgelesenen Wert auch die mittlere Leistung (die der Zähler leider nicht mit ausgibt). Die Werte werden in einer Datei zwischengespeichert und können dann per Virtuellem HTML Eingang von der Loxone eingelesen werden.
Als erstes muss man noch 2 Softwarepakete auf dem Raspberry nachinstallieren: Den Apache webserver sowie das Perl-Modul Serial-Port:
[COLOR=#333333][FONT=PT Sans][SIZE=14px]sudo apt-get install apache2 sudo apt-get install libdevice-serialport-perl [/SIZE][/FONT][/COLOR]
[COLOR=#333333][FONT=PT Sans][SIZE=14px]chmod a+x auslesen_zaehler1.pl [/SIZE][/FONT][/COLOR]
[COLOR=#333333][FONT=PT Sans][SIZE=14px]perl auslesen_zaehler1.pl[/SIZE][/FONT][/COLOR]
[COLOR=#333333][FONT=PT Sans][SIZE=14px]# Alle 10 Minuten Zaehlerdaten aktualisieren /10 * * * * cd /usr/lib/cgi-bin/zaehler && /usr/bin/perl /usr/lib/cgi-bin/zaehler/auslesen_zaehler1.pl >/dev/null 2>&1 [/SIZE][/FONT][/COLOR]
die Zählerdaten werden über einen Virtuellen HTML Eingang in die Loxone eingebunden. Zum Abruf der Daten dient das perl-Skript "anzeigen.cgi". Dieses muss man zunächst noch ausführbar machen:
[COLOR=#333333][FONT=PT Sans][SIZE=14px]chmod a+x anzeigen.cgi[/SIZE][/FONT][/COLOR]
Anschließend legt man verschiedene Virtuelle HTML Eingang Befehle an und filtert nach den entsprechenden Daten mit \i....\i (siehe Screenshot im Anhang "http_eingang_befehl.png". Einer meiner Zähler heisst zum Beispiel "allgemein". Der Filterbefehl des Eingangs lautet dann:
[COLOR=#333333][FONT=PT Sans][SIZE=14px]\istand_allgemein:\i\v [/SIZE][/FONT][/COLOR]
Kommentar