Skip to content

zibous/ha-watermeter

Repository files navigation

Easy Watermeter Integration for Home Assistant

License ESP32 Release ESPHome release Open in Visual Studio Code Support author


Water meter with IZAR module (Diehl IZAR RC 868 I R4 PL)

diehl_metering

I did some experiments with wmbusmeters, DVT SDR_STICK, NANOCUL and ended up with: ESPHome - ESP32 (v4) + CC1101.

With the NANOCUL solutions, I always had problems with the USB input and with the high resource consumption on the NUC or Raspberry computers.


ESPHome + ESP32 (v4) + CC1101

ESPHome - ESP32 (v4) + CC1101 is the best solution for me because the resource requirement is low.


ESP32 (v4) Variante

ESPHome - ESP32 (v4) + CC1101

Requirements


Wiring CC1101 module to boards

CC1101 module to boards

Meter types:

Currently supported meter types (wmbus 2.1.10):

  • amiplus
  • apator08
  • apator162
  • apatoreitn
  • bmeters
  • compact5
  • elf
  • evo868
  • fhkvdataiii
  • hydrocalm3
  • hydrus
  • iperl
  • itron
  • izar
  • mkradio3
  • mkradio4
  • qheat
  • qwater
  • sharky774
  • topaseskr
  • ultrimis
  • unismart
  • vario451
  • ... more will come :)

see: https://github.com/SzczepanLeon/esphome-components

Installation / Details

ESPHome - ESP32 (v4) + CC1101

Result

ESPHOME Webserver V2

ESPHOME-WATERMETER

ESPHOME Webserver V3

ESPHOME-WEBSERVER3

Homeassistant Device

ESPHOME-WATERMETER


ESP8266 vs ESP32 (v4)

The version with WEMOS D1MINI (ESP8266) was my first version. WEMOS D1MINI (ESP8266) has only limited RAM and can only be used to a limited extent. If there are too many sensors and the logger level is to high, a JSON memory error occurs, which causes the device to restart again and again.

Note: The ESP32 has more RAM memory and is therefore better suited for use. To prevent this, it is absolutely necessary to set the log level to warn. Otherwise, at a higher log level, JSON errors will occur in productive operation.


Device Remarks Hardware
Wemos D1 Mini Board 80KB RAM
CC1101, board: d1_mini ESP8266 80MHz, 80KB RAM, 4MB Flash
Wemos D1 Mini 80KB RAM
CC1101, board: esp12e (board: d1_mini ) ESP8266 80MHz, 80KB RAM , 4MB Flash
NodeMCU Lolin V3 Modul 80KB RAM
CC1101, board: NodeMCU Lua Lolin V3 Module ESP8266 ESP8266 80MHz, 80KB RAM , 4MB Flash
D1MINI ESP32 320KB RAM
CC1101, board: D!MINI ESP32 ESP32 240MHz, 320KB RAM, 4MB Flash
ESP32 Dev Kit C V4 520KB RAM
CC1101, board: az-delivery-devkit-v4 ESP32 240MHz, 520KB RAM, 4MB Flash

Memory Usage D1 Mini

memory_usage


ESPHome Device configurations

  • Testcase - and simple version Total Water m³ (Watermeter Display), LQI, RSSI, Total m³, Last Month total m³, Current Month total liter, Remaining Battery Lifetime, Last Transmit periode, Current Alarm Code, Previous Alarm Code, Boot Counter, WIFI Signal, Application Version.
  • Full version Total Water m³ (Watermeter Display), LQI, RSSI, Total m³, Last Month total m³, Water usage current, Water usage hour, Water usage today, Water usage yesterday, Water usage week, Water usage month, Water usage previous month, Water usage current year , Remaining Battery Lifetime, Last Transmit periode, Alarm Text, Previous Alarm Text, Boot Counter, WIFI Signal, Reset values, Restart, Set History value with Homeassistant service, Application Version, Online Time, Watermeter LED, Watermeter Timestamp, Watermeter Update intervall.

Version Remarks Configuration
🛠 WMBUSCHECK Test configuration and wmbus. NO SENSORS only messages: Details see Log window wm-check-wmbus.yaml
🛠 ESP32 Test Frist run to find watermeters. Messages see Log window or syslog messages wm-esp32-test.yaml
💻 ESP32 Simple Simple Sensor outputs, no calculations. Low memory consumption. wm-esp32-simple.yaml
✔️ ESP32 Full version - Sensors and calulated values, Statitics. Alarmcode text message wm-esp32.yaml
🛠 D1 MINI ESP32 Test Frist run to find watermeters. Messages see Log window or syslog messages wm-d1mini32-test.yaml
💻 D1 MINI ESP32 Simple Simple Sensor outputs, no calculations. Low memory consumption. wm-d1mini32-simple.yaml
✔️ D1 MINI ESP32 Full version - Sensors and calulated values, Statitics. Alarmcode text message wm-d1mini32.yaml
D1MINI IZAR WMBUS Testcase for IZAR WMBUS METER wm-d1mini_izar-wmbus.yaml
🛠 D1MINI Test Frist run to find watermeters. Messages see Log window or syslog messages wm-d1mini-test.yaml
💻 D1MINI Simple Simple Sensor outputs, no calculations. Low memory consumption. wm-d1mini-simple.yaml
✔️ D1MINI Sensors and calulated values, Statitics. Alarmcode text message wm-d1mini.yaml
🛠 NodeMCU Test Frist run to find watermeters. Low memory consumption. Messages see Log window or syslog messages wm-nodemcu-test.yaml
✔️ NodeMCU Full version - Sensors and calulated values, Statitics. Alarmcode text message wm-nodemcu.yaml


Other solutions (alternatively)

For more information see:

DVB-T receiver or Nano CUL Adapter