Volkszaehler

Aus FHEMWiki

Volkszaehler.png

Volkszaehler.org Modul für fhem

Was ist ein Volkszaehler?

volkszaehler.org ist ein freies Smart Meter im Selbstbau. siehe volkszaehler.org Der Nutzer behält dabei die vollständige Kontrolle über die anfallenden Strom, Wasser & Gaskosten.

Features

  • 100% Open-Source
  • kostenlos
  • offene Protokolle
  • erweiterbar
  • minmale Anforderungen (LAMP-Stack)
  • flexibele Verwaltungsmöglichkeiten
  • Verbrauchs & Kostenprognose
  • verschiedenste Messgrößen
    • Strom
    • Wasser
    • Gas
    • Betriebsstunden
    • Temperatur
  • Läuft u. a. auf Raspberry Pi Volkszaehler-Installation auf einem Raspberry Pi

Volkszaehler in fhem einbinden

Das fhem-Modul für Volkszaehler.org bindet diese Daten in fhem ein. Das Modul 23_volkszaehler.pm greift per http auf den Volkszaehler zu und interpretiert die JSON - Antwort in fhem-device-Readings. Daraus können logs und plots gebildet werden oder devices mit Kennzahlen aus den Volkszaehler-Daten.

Es ist für Solarstrom-Anlagenbesitzer auch denkbar, bei hoher verfügbarer Sonnenenergie mit fhem Verbraucher einzuschalten, um die Eigenverbrauchsrate zu erhöhen, was die Energiekosten reduziert.

Installation

Meine aktuellen Versionen liegen hier: https://github.com/bgewehr/fhem

Das File 23_VOLKSZAEHLER.pm kommt ins Verzeichnis \\fritz.box\FRITZ.NAS\fhem\fhem\ Das File volkszaehler.gplot kommt ins Verzeichnis \\fritz.box\FRITZ.NAS\fhem\fhem\www\gplot

Das Modul nutzt einen JSON-Interpreter, um die Antwort vom Volkszaehler in eine PERL-Variable zu wandeln. Dazu sind einige zusätzliche PERL Module notwendig.

JSON für PERL kann von hier geladen werden: z. B. von hier http://cpansearch.perl.org/src/MAKAMAKA/JSON-1.15/lib/JSON/

Das File JSON.pm muss in \\fritz.box\FRITZ.NAS\fhem\lib\perl5\site_perl\5.12.2\mips-linux\ Die Files Converter.pm und Parser.pm habe ich in \\fritz.box\FRITZ.NAS\fhem\lib\perl5\site_perl\5.12.2\mips-linux\ ins neue Verzeichnis JSON kopiert.

Auf anderen Plattformen sind die Pfade sicher ähnlich.

Definition der devices

 define <name> VOLKSZAEHLER <ip-address> <port-nr> <channel> <state:last/min/max/average/consumption> <poll-delay>
  • <name>: Name des neuen fhem-devices
  • <ip-address>: IP des Volkszaehlers
  • <port-Nr>: Port, auf dem der Volkszaehler-http-Server erreichtbar ist
  • <channel>: UUID des Volkszaehler-Frontend-Channels, der gelesen werden soll
  • <state>: Das Reading, welches als state genommen werden soll, kann im define gewählt werden. Dabei besteht die Auswahl aus
    • last (letzter geladener Wert, manchmal leer bei zu kleinem poll-delay)
    • min (kleinster Wert innerhalb des poll-delay, manchmal leer bei zu kleinem poll-delay)
    • max (größter Wert innerhalb des poll-delay, manchmal leer bei zu kleinem poll-delay)
    • average (Durchschnitt der Werte im poll-delay, manchmal leer bei zu kleinem poll-delay)
    • consumption (Verbrauch innerhalb des poll-delays, manchmal leer bei zu kleinem poll-delay)
  • <poll-delay>: Zeitraum, der ausgelesen werden soll

Beispiele:

Kanal im Volkszaehler, der den Momentanverbrauch per I/R-Lesekopf ermittelt, alle 60 Sekunden davon der Mittelwert

 define Verbrauch_aktuell VOLKSZAEHLER 192.168.178.45 80 635481a0-6fcd-11e2-8587-eda25228f8bf average 60
 attr Verbrauch_aktuell delay 60
 attr Verbrauch_aktuell group Strom
 attr Verbrauch_aktuell room Volkszaehler

In fhem loggen, um einen Graphen daraus zu zeigen

 define FileLog_Verbrauch_aktuell FileLog ./log/Verbrauch_aktuell-%Y-%m.log Verbrauch_aktuell
 attr FileLog_Verbrauch_aktuell group Volkszaehler
 attr FileLog_Verbrauch_aktuell logtype text
 attr FileLog_Verbrauch_aktuell room Z_Log

der Graph dazu

 define FilePlot_Verbrauch_aktuell weblink fileplot FileLog_Verbrauch_aktuell:Volkszaehler:CURRENT
 attr FilePlot_Verbrauch_aktuell label "Stromverbrauch: $data{currval1}"
 attr FilePlot_Verbrauch_aktuell room Volkszaehler

Kanal im Volkszaehler, der den Zählerstand per I/R-Lesekopf ermittelt, jede Stunde davon der letzte Wert

 define Zaehlerstand VOLKSZAEHLER 192.168.178.45 80 ebb9c9b0-7058-11e2-b5ed-d12ec87a3a7f last 1800
 attr Zaehlerstand delay 1800
 attr Zaehlerstand group Strom
 attr Zaehlerstand room Volkszaehler

Kanal im Volkszaehler, der den Zählerstand per I/R-Lesekopf ermittelt, alle 24 Stunden davon der Verbrauch

 define Verbrauch_24h VOLKSZAEHLER 192.168.178.45 80 635481a0-6fcd-11e2-8587-eda25228f8bf consumption 86400
 attr Verbrauch_24h group Strom
 attr Verbrauch_24h room Volkszaehler

Beispiel-Ergebnis

Als Ergebnis erhält man (z. B.) folgendes:

23 volkszaehler.JPG