ElectricityCalculator: Unterschied zwischen den Versionen

Aus FHEMWiki
Zur Navigation springen Zur Suche springen
(Angaben ergänzt)
Zeile 41: Zeile 41:


=== Indirekter Betrieb ===
=== Indirekter Betrieb ===
tbd.
Wenn der Stromzähler sich nicht in direkter Nähe zum fhem - System befindet, bleibt einem nur die Möglichkeit einen externen Zähler per Funkt oder LAN/WLAN dazwischenzuschalten.
Als Lösung kann hierbei der Homematic HM-ES-TX-WM zum Einsatz kommen. Siehe [[HM-ES-TX-WM Zählersensor für Strom- und Gaszähler|HM-ES-TX-WM Zählersensor für Strom- und Gaszähler]].
<BR>
Auch bei dessen Definition ist auf die Attribute "event-on-update-reading .*" sowie "event-on-change-reading .*" zu achten, da ansonsten das ElectricityCalculator - Modul nicht reagiert.


=== Allgemeine Moduldefinition ===
=== Allgemeine Moduldefinition ===

Version vom 16. Oktober 2018, 05:45 Uhr

ElectricityCalculator
Zweck / Funktion
Berechnung der Energiekosten
Allgemein
Typ Hilfsmodul
Details
Dokumentation EN / DE
Thema
Support (Forum) Unterstützende Dienste
Modulname 73_ElectricityCalculator.pm
Ersteller Sailor
Wichtig: sofern vorhanden, gilt im Zweifel immer die (englische) Beschreibung in der commandref!

ElectricityCalculator ist ein Modul zur Berechnung von Energiemengen.

Features / Funktionen

Die Haupteigenschaft des ElectricityCalculator Moduls ist die Verbrauchsberechnung an Energie für Strom bzw. Gas auf der Basis eines Zählwertes (counter). Das Modul als solches ist kein Zählermodul, sondern nur eine Berechnungsinstanz, die einen eigenen fhem Zähler bzw. Wert aus dem DS2343 erfordert. commandref:" It is not a counter module itself but it requires"

Somit gibt es zwei grundlegende Möglichkeiten

  • Direkter Anschluss an einen GPIO, um eine aktive Impulsverarbeitung zu nutzen (Zählerinstanz liegt auf dem GPIO)
  • Indirekter Anschluss über z.B. einen USB <> 1Wire Adapter < DS2343 Counter (Zählerinstanz liegt im DS2343)

Hinweise zum Betrieb mit FHEM

Direkter Betrieb

Für den direkten Betrieb benötigt man einen Stromzähler der in der Lage ist, die Zählimpulse abzugeben. Als Beispiel sei hierbei der Drehstromzähler eltako DSZ12E-80 erwähnt, der mittels Impulsen zu jedem Watt den Counter an einem GPIO entsprechend über dieses Event informiert. (1 Impuls = 1Wh = 0,001kWh)

Diese Impulse müssen dann zunächst importiert werden. In diesem Beispiel verwenden wir den Raspberry Pi auf dem auch das fhem System betrieben wird. Da der GPIO an einem PI jedoch die Spannung von 3,3 V nicht übersteigen darf, gibt es mit den meisten S0 Bus Zählern ein Problem, da diese eine höhere Spannung zur Impulsbildung benötigen. Dies bedeutet, das man die Impulse erst mittels einer externen Schaltung (Spannungsteiler) wandeln muss.

Anschlussbelegung / Schaltung

Anschließend werden diese Impulse mittels des Moduls RPI_GPIO in fhem eingebunden. (Notwendiges Modul: RPI_GPIO)

Definition des GPIOs :

defmod GPIO26 RPI_GPIO 26
attr GPIO26 active_low no
attr GPIO26 direction Input
attr GPIO26 event-on-change-reading .*
attr GPIO26 event-on-update-reading .*
attr GPIO26 interrupt falling

Wichtig sind hierbei die Attribute "event-on-update-reading .*" sowie "event-on-change-reading .*" da ansonsten das ElectricityCalculator - Modul nicht reagiert.

Indirekter Betrieb

Wenn der Stromzähler sich nicht in direkter Nähe zum fhem - System befindet, bleibt einem nur die Möglichkeit einen externen Zähler per Funkt oder LAN/WLAN dazwischenzuschalten. Als Lösung kann hierbei der Homematic HM-ES-TX-WM zum Einsatz kommen. Siehe HM-ES-TX-WM Zählersensor für Strom- und Gaszähler.
Auch bei dessen Definition ist auf die Attribute "event-on-update-reading .*" sowie "event-on-change-reading .*" zu achten, da ansonsten das ElectricityCalculator - Modul nicht reagiert.

Allgemeine Moduldefinition

defmod MEINZAEHLER ElectricityCalculator REGEXP
defmod WPVerbrauch ElectricityCalculator GPIO26.Counter.*

(bei mir funktioniert auch GPIO26.*)

Sofern das Modul korrekt angelegt wurde, sollte man die Attribute (attr)

  • BasicPricePerAnnum
  • Currency
  • ElectricityKwhPerCounts
  • ElectricityPricePerKWh
  • MonthlyPayment

setzen, damit die Berechnung korrekt durchgeführt werden kann.

Zusätzlich kann man vermeiden, dass man bis zu 12 Monate warten muss, bis alle Werte in den Readings korrekt sind, diese Readings manuell setzen:

<DestinationDevice>_<SourceCounterReading>_CounterDay1st,
<DestinationDevice>_<SourceCounterReading>_CounterMonth1st,
<DestinationDevice>_<SourceCounterReading>_CounterYear1st und
<DestinationDevice>_<SourceCounterReading>_CounterMeter1st

setreading - <WERT>

Bekannte Probleme

Die Readings des Counters sind bei der Verarbeitung fundamental. Sollten diese nicht korrekt definiert bzw. übergeben werden, kann das Modul keine Berechnungen durchführen.

Sofern dem Modul keine initialen Werte mittels set Befehl übergeben werden, kann es vorkommen, dass erst nach einem Tageswechsel die Daten berechnet werden und die Readings des Moduls angelegt werden (siehe device specific help bzw. commandref).

Weblinks

Mit nachfolgendem Produkt ist Vorsicht geboten, denn es handelt sich nicht um den DALLAS 1 Wire Standard!