FHEM module for ELV ESA1000 (WZ/Z/GAS) series of devices

FHEM, the amazing home-automation server software, already has support for several sensors, meters and switches produced by ELV. In October 2010 I bought two meters, ESA1000WZ and ESA1000GAS for my house in the hope that FHEM would support them. Unfortunately it did not (at the time). I quickly found some hints that somebody, namely Gerd K., was working on adding support. So I contacted him and a day later received his module for testing. In the meantime eager in anticipation I was hacking away, duplicating the existing EM1000 extension and customizing it to read the raw strings coming from my Busware.de CUL 868 MHz USB adapter. While I got the power meter’s values (ESA1000WZ) figured out pretty quickly, it was a bit more involving to get correct readings from the gas meter (ESA1000GAS). Unfortunately Gerd’s code did not include support for the gas meter, so I emailed him my changes, but sadly never received feedback.
So today I am releasing my code on a works-for-me basis:

Download

UPDATE:Patch for FHEM 5.3 Version: Feb 10th 2013 for FHEM 5.3
Package for FHEM 5.0 Version: Oct 25th 2010 for FHEM 5.0

  • Supports ESA1000WZ power meter (infrared version, possibly others as well)
  • Supports ESA1000Z and ESA1000GAS gas meters (infrared version and version using impulse transducer for the Elster-Kromschroeder BK-G4)
  • Features proper graph files to plot current and cumulated day/month consumption

Photos / Screenshots

Installation

If you are using FHEM 5.3, please download the tar-ball version (or SVN version for that matter) and directly apply the patch cul_esa-for-fhem-5.3.patch.

UPDATE 2: Here is a completely patched version based on the tar-ball version of FHEM 5.3: fhem-5.3-cul_esa.tar.gz Version: Feb 10th 2013

If you are using FHEM 5.0:
Copy 19_CUL_ESA.pm and all .gplot files to your FHEM directories.
Sadly adding autocreate support and extending the CUL module to understand the raw message strings requires patching. Check cul_esa-for-fhem-5.0.patch to patch the files. This was diffed against the Debian package of FHEM 5.0. The very same version of FHEM as tar.gz has some differences in the sourcecode and some files missing. I contacted the author of FHEM about this issue but he has not updated the packages yet. So if you run into issues here it is probably due to these differences.

UPDATE 1: Here is a completely patched version based on the Debian package of FHEM 5.0: fhem-5.0-cul_esa.tar.gz Version: Oct 25th 2010

Here are some notes in German I made while developing the module, mostly concerning the different behavior of the ESA1000GAS compared to the ESA1000WZ:

Der ESA1000GAS mit dem ESA1000Z-Messgerät verhält sich leider anders als das ESA1000WZ, sodaß ich wieder die Korrektur-Faktoren einbinden mußte.
Ich konnte nicht herausfinden, wozu der übermittelte Tick beim ESA1000Z dient. Zwar ändert sich dieser mit geänderter Zählerkonstante, allerdings ergibt der Wert im Zusammenhang mit den von der Einheit übermittelten Werten keinen Sinn, sodaß ich hier direkt mit der Zählerkonstante multipliziere, um die Kubikmeter zu erhalten, und dann zusätzlich noch mit dem Umrechnungsfaktor (bei der EWE ergibt sich dieser aus der Zustandszahl * Brennwert Hs) multipliziere, um die Kilowattstunden aus der Gasmenge zu erhalten.
Leider ändern sich damit die Parameter bei der Definition:

Stromzähler:
define CUL_ESA_286 CUL_ESA 1925 286 1 1 23.086
also:
corr1 = corr2 = 1 (und damit wirkungslos)
CostPerUnit = 23.086 Cent/kWh

Gaszähler:
define CUL_ESA_798 CUL_ESA 1429 798 0.001 9.5154 4.5339
also:
corr1 = 0.001
corr2 = 9.5154 kWh/m3
CostPerUnit = 4.5339 Cent/kWh

Ich habe ebenfalls noch einen Durchschnittswert in Kilowatt implementiert, sodaß man die Durchschnittleistung einigermaßen sinnvoll in einem Diagramm darstellen kann. Hier gab es allerdings bei meinem Drehstromzähler Probleme mit Unterabtastung, weil sich die Drehscheibe bei geringem Verbrauch zu langsam dreht, sodaß das Meßgerät zwischendurch schon Nullwerte zurückmeldet, weil kein Impuls eingegangen ist. Dafür habe ich einen entsprechenden Schwellenwert bei der Berechnung des Durchschnittswertes implementiert. Nicht schön, funktioniert aber für meine Zwecke.

10 thoughts on “FHEM module for ELV ESA1000 (WZ/Z/GAS) series of devices

  1. Hallo,
    geht das auch mit der aktuellen FHEM version ?

    FHEM module for ELV ESA1000 (WZ/Z/GAS) series of devices

    bei mir klappt mit dem neuen ESA2000 standardmodul die ploterstellung nicht ?

    Gruß Markus

  2. Der Link zu der kompletten tar-ball version für FHEM 5.3 scheint zu tar-ball für die version 5.0 für FHEM zu zeigen :-(
    Kannst Du das korrigieren ?
    Danke !

  3. Hallo,
    habe mir auch einen ESA1000WZ und ESA1000GAS zugelegt.
    Dachte eigentlich, dass die schon von FHEM unterstützt werden. Glück im Unglück habe ich deinen Blogeintrag hier gefunden. Ich betreibe FHEM auf meiner Fritzbox 7390. Leider bin ich noch recht neu in der FHEM Thematik. Könntest du vielleicht noch kurz erläutern, wie man die .patch Datei in FHEM auf der Fritzbox einspielt? Vielen Dank im Voraus!

  4. Hallo,
    erstmal vielen Dank für die schnelle Antwort.
    Habe nun die Tar-Ball-Version entpackt und auf meine Fritzbox kopiert. Leider startet FHEM jetzt gar nicht mehr.
    Anscheinend ist die Version nicht für die Fritzbox geeignet.

  5. Ich denke nicht, daß einfaches Rüberkopieren funktionieren wird.
    Für die Fritzbox muss ein Paket oder ein Image erstellt werden, je nachdem, welche Fritzbox Du verwendest. Dafür ist das Makefile im Tar-Ball. Bitte mit make und dem Makefile vertraut machen. FHEM hat anscheinend keine Anleitung, wie man die FB-Images erstellt.

  6. OK, anscheinend ist es nicht so trivial wie von mir gedacht.
    Hast du zufällig vor deine Anpassung in zukünftige FHEM Versionen einfließen zu lassen?

  7. Hello,

    I have four ESA1000 meters at home, ESA1000-WR-IR (2x), ESA1000GAS, and an Funk-Energie-Messadapter. This weekend I have installed FHEM on my RPi with an SCC CC1101 (868 MHz)Transceiver. This device is detected by FHEM (version 5.6), but here it comes….How can I define my four meters? Can I download and install the patch for Fhem 5.3 on 5.6?
    I’ve not much experience with Fhem and Linux.
    For me this is a major experiment :)

    Hope you can help me forward.

Leave a Reply

Your email address will not be published. Required fields are marked *

*

This site uses Akismet to reduce spam. Learn how your comment data is processed.