HM-ES-TX-WM Zählersensor für Strom- und Gaszähler
HM-ES-TX-WM Zählersensor für Strom- und Gaszähler | |
---|---|
Allgemein | |
Protokoll | HomeMatic |
Typ | Powersensor |
Kategorie | HomeMatic |
Technische Details | |
Kommunikation | 868 MHz |
Kanäle | 1 |
Betriebsspannung | 6 V |
Leistungsaufnahme | 30 mA |
Versorgung | 4 Batterien LR6/AA/Mignon |
Abmessungen | 68x105x30mm |
Sonstiges | |
Modulname | CUL_HM |
Hersteller | ELV / eQ-3 |
Features
Der HM-ES-TX-WM ist eine Datenerfassungs- und Sendeeinheit, an die genau ein (separat zu erwerbender) Zählersensor für passende Strom-/Gaszähler angeschlossen wird, der den aktuellen Verbrauch direkt am jeweiligen Zähler erfasst und in FHEM als Momentanwerte und als laufenden Saldo verfügbar macht.
Technische Daten:
Gewicht: 195 g (inkl. 4 LR6/Mignon/AA-Batterien)
Anwendungsszenarien
Mit den erfassten und gesammelten Daten lassen sich Aktionen beim Erreichen bestimmter Schwellwerte auslösen, Verbrauchs- und Kostenstatistiken erstellen sowie beliebige weitere Abhängigkeiten bilden. Durch die Funkdatenübertragung sowie den Batteriebetrieb (1 bis 2 Jahre Betriebsdauer verspricht der Hersteller mit einem Satz) ist die Installation denkbar einfach und erfordert lediglich beim Anbringen der Leseeinheit Genauigkeit.
Im Februar 2015 hat die Auslieferung der Geräte als (einfacher) Bausatz begonnen, zu dem es
- einen Ferraris-Sensor (für Stromzähler mit den markanten Laufscheiben) (ca. 25€),
- einen LED-Sensor (für neue Zähler mit S0-Schnittstelle) (ca. 25€), sowie
- einen BK-G4-Gaszähler von Elster-Kromschröder (die an einer Ziffernrolle einen kleinen Magneten haben, der über einen Sensor mit Reedkontakt erfasst wird) (ca. 60€)
gibt. Es ist laut Hersteller ELV als Bausatz (ca. 45€) oder auch - deutlich teurer - fertig montiert (ca. 70€) verfügbar.
Die Zähler werden mit rückstandslos entfernbaren Klebepads angebracht.
Parameter
list: register | range | peer | description 0: pairCentral | 0 to 16777215 | | pairing to central 1: mtrConstGas | 0 to 655.36 | | constant gas 1: mtrConstIr | 0 to 65536 | | constant IR 1: mtrConstLed | 0 to 65536 | | constant led 1: mtrSensIr | -99 to 99 | | sensiblity IR 1: mtrType | literal | | type of measurement options:LED,gas,unknown,IR
Probleme
Der HM-ES-TX-WM sendet zyklisch im 3-Minuten Takt die aktuellen Verbrauchsdaten. Dabei ist für das Reading "power" (aktuelle Stromleistung in Watt) zu beachten, dass alle drei Minuten der zuletzt bekannte Wert gesendet wird. Das heißt im Besonderen:
- Sollten innerhalb der drei Minuten mehrfach Impulse auftreten mit unterschiedlichen Leistungswerten, wird nur der zuletzt bekannte Wert genommen. Es findet keine Aggregation der Impulse (Mittelwert, Summe, …) statt.
- Sollten innerhalb der drei Minuten keinerlei Impulse auftreten, wird dennoch der zuletzt bekannte Leistungswert gesendet, auch wenn er mehrere Minuten/Stunden/Tage alt ist.
Der state des Devices zeigt den letzten Übertragungsstatus an das Device, das Geräte unterstützt keinen Burst. D.h. einen an das Gerät abgesetzten Befehl z.B. getConfig oder einstellen von Zählerkonstanten sollte man möglichst am Geräte bestätigen, sonst könnte es sein, dass ein ACK zu spät zurück kommt und man sich anschließend im state über ein NACK wundert.
Scheinbar gibt es für das reading energy bei 838860.7 einen Zählerüberlauf. Beitrag
Betrieb mit FHEM
Der Sensor wird mit einem FHEM im Update-Stand vom (mindestens) 7.2.2015 funktionsfähig eingebunden (getestet in der Variante mit Ferraris-Fühler). Es werden der Fühlertyp und die Fühlerkonstante richtig ausgelesen und im Reading energy die errechnete Energiemenge ausgegeben (bei Strom: Wattstunden, Wh).
Für die perfekte Konfiguration wird auf die Seite "Heizleistung und Gasverbrauch" verwiesen, wo eine vollständige Lösung für die Umrechnung von Gasverbrauch in kW/h, Graphen und Hilfsprogramme vorgestellt wird.
Readings
Reading: |Beispiel D-firmware |1.0 D-serialNr |MEQ0025452 battery |ok boot |off current |0 eState |E: 6199.9 P: 1713 I: 0 U: 0 f: 50 energy |6199.9 energyOffset |84413.2 frequency |50 power |1713 powerOn |2015-03-26 14:57:48 voltage |0
Events Auszug
Event |Beispielswert battery* |ok energy |10186.6 power |283 current |0 voltage |0 frequency |50 eState |E: 10186.6 P: 283 I: 0 U: 0 f: 50 boot |off
Ein battery-Event wird nicht zyklisch getriggert. Erst wenn die Batterie tatsächlich leer ist, wird eine entsprechende Meldung vom Gerät selber gesendet und ein battery-Event getriggert (battery: low).
Mit einem Userreading lässt sich die Angabe aus energy (zum Beispiel für einen Stromzähler (Wh)) in die auf dem Zähler übliche Angabe kWh umrechnen und zugleich mit dem Aufaddieren des Unterschieds beim Start (das Zählermodul beginnt ja mit 0 Wh, während der Zähler meist schon einige Jahre auf der "Rolle" hat) die Angaben gleichziehen:
attr <DeviceName> userReadings kWh {sprintf("%.1f",ReadingsVal("<DeviceName>","energy","???")/1000+72031.5639)}
Konfiguration
Nach dem Erkennen durch autocreate wird der Zählersensor mit diesen Angaben eingebunden:
define CUL_HM_HM_ES_TX_WM_353594 CUL_HM 353594 attr CUL_HM_HM_ES_TX_WM_353594 IODev CUL_0 attr CUL_HM_HM_ES_TX_WM_353594 actCycle 000:10 attr CUL_HM_HM_ES_TX_WM_353594 actStatus alive attr CUL_HM_HM_ES_TX_WM_353594 expert 2_full attr CUL_HM_HM_ES_TX_WM_353594 firmware 1.0 attr CUL_HM_HM_ES_TX_WM_353594 model HM-ES-TX-WM attr CUL_HM_HM_ES_TX_WM_353594 subType powerSensor define CUL_HM_HM_ES_TX_WM_353594_IEC_01 CUL_HM 353594 attr CUL_HM_HM_ES_TX_WM_353594_IEC_01 icon measure_power attr CUL_HM_HM_ES_TX_WM_353594_IEC_01 model HM-ES-TX-WM attr CUL_HM_HM_ES_TX_WM_353594_IEC_01 peerIDs define CUL_HM_HM_ES_TX_WM_353594_IEC_02 CUL_HM 353594 attr CUL_HM_HM_ES_TX_WM_353594_IEC_02 model HM-ES-TX-WM
Die Übertragung der Messwerte erfolgt in Kanal 01 (hier: "CUL_HM_HM_ES_TX_WM_353594_IEC_01"). Für eine Darstellung als SVG-Plot können die Messwerte mittels folgender Anweisung in einer Datei abgespeichert werden.
define FileLog_CUL_HM_HM_ES_TX_WM_353594_IEC_01 FileLog ./log/Stromverbrauch-%Y-%m.log CUL_HM_HM_ES_TX_WM_353594_IEC_01
Für den Betrieb mit den verschiedenen Zählern muß eines der Readings R-mtrConstXXX auf den jeweiligen verwendeten Zähler konfiguriert werden. Z.B. kann ein Ferraris-Stromzähler 100, 150 oder 200 Umdrehungen je kWh benötigen. Dies geschieht z.B. für 150 Meldungen je Einheit für einen Ferraris-Zähler mit dem Befehl
set CUL_HM_HM_ES_TX_WM_353594 regSet mtrConstIr 150
oder für einen Gaszähler auf der 1. Rolle (d.h. 1 Impuls je 0.1 m^3)
set CUL_HM_HM_ES_TX_WM_353594 regSet mtrConstGas 0.1
In FHEM bis zum Anfang November 2015 war hier ein kleiner Bug enthalten, der diesen Wert nicht akzeptierte. In diesem Fall läßt sich die Anzahl der Impulse direkt am Gerät über das Display einstellen.
Logging/Graph. Darstellung
Der Zähler wird fortlaufend aufaddiert. Mit der delta-Funktion von SVG-Plot können die Verbräuche sehr gut visualisiert werden. Beispiel Stromzähler:
set terminal png transparent size <SIZE> crop set output '<OUT>.png' set xdata time set timefmt "%Y-%m-%d_%H:%M:%S" set xlabel " " set title 'Stündlicher Stromverbrauch | aktuell: $data{currval1} ($data{min1} / $data{avg1} / $data{max1}) kWh' set ytics set y2tics set grid ytics set ylabel "kWh/h" set y2label "kWh/h" #FileLog 4:CUL_HM_HM_ES_TX_WM_353594.kWh\x3a:0:delta-h plot "<IN>" using 1:2 axes x1y2 title 'Line 1' ls l0 lw 2 with bars
Wiki ToDo
Seit dem FHEM Update vom 06.03.2016 werden bei Neueinrichtung mit Autocreate 2 Kanäle angelegt. Dies entspricht der Firmware Revision 1.1:
- _IEC_01
Im Gas-Modus werden hier die Werte geliefert.
Im IR-Modus kommen seit R12555 vom 12.11.2016 hier die Zähl-Werte Energiewerte an, die auch im Status von IEC02 gezeigt werden.
state enthält dabei den Wert des readings energy. Möchte man hier z.B. die im letzten Zeitfenster gemessene Leistung anzeigen lassen, reading power, so hilft das Attribut stateformat
{sprintf("P: %.1f W", ReadingsVal($name,"power",0))}
- _IEC_02
Firmwareupdate
Für ein erfolgreiches Firmwareupdate sollte das Gerät mit einem Sensor verbunden sein.
Das Gerät lässt sich in den Updatemodus versetzen, im dem die Batterien zunächst entfernt, dann beim Einsetzen die Anlerntaste (die rechte mit der Bezeichnung ">") gedrückt bleibt. Die Leuchtdiode blinkt dann rot im sehr schnellen Takt.
Das FHEM-Kommando zum Senden der Firmware per set <devicename> fwUpdate <Firmwaredatei.eq3>
muss vor dem Einlegen der Batterie (bei gleichzeitigem Drücken der Anlerntaste) aufgegeben werden. Erfolgt zum Zeitpunkt des Einschaltens im Updatemodus keine Sendung der Firmware wird der Zählersensor normal gebootet.
Die Meldung <devicename> fwUpdate: fail:notInBootLoader
im Filelog erscheint, wenn das FHEM fwUpdate Kommando zu spät gesendet wurde.
Der Update dauert etwa eine Minute. Während des Updates blinkt die Diode rot in kurzen Intervallen. Nach erfolgreichen Update muss der Sensor auf die Werkseinstellungen zurückgesetzt (">" Taste 4 Sekunden drücken (Display zeigt reS), kurz warten, ">" noch mal 4 Sekunden drücken - Zählersensor rebootet), aus der FHEM Konfiguration entfernt und neu angelernt werden.
Wenn der Reset nicht durchgeführt wird, kommt vom Sensor immer die Fehlermeldung: einmal langes und drei mal kurzes rotes Blinken (Sitz des Auslesekopfes prüfen). Diese Meldung ist in diesem Zusammenhang ziemlich irreführend.
Dieser Vorgang ist im changelog.txt file der Firmware unvollständig beschrieben, da hier ein Update an der CCU vorausgesetzt wird und die CCU die Firmware wohl automatisch sendet.