Zum Inhalt springen

Volkszaehler

Aus FHEMWiki
Version vom 27. Juni 2013, 19:55 Uhr von Bgewehr (Diskussion | Beiträge) (Volkszaehler.org bietet eine open source Lösung um Zähler für Strom, Gas, Wasser usw. auszulesen, die Werte zu loggen und als Graphen anzuzeigen. Das fhem-Modul für Volkszaehler.org bindet diese Daten in fhem ein.)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)

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

Das File 23_VOLKSZAEHLER.pm kommt ins Verzeichnis \\fritz.box\FRITZ.NAS\fhem\fhem\ 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 (z. B. von hier http://cpansearch.perl.org/src/MAKAMAKA/JSON-1.15/lib/JSON/) 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.

Das Reading, welches als state genommen werden soll, kann im define gewählt werden, also:

 define <name> VOLKSZAEHLER <ip-address> <port-nr> <channel> <state:last/min/max/average/consumption> <poll-delay>

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

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