Easy Watermeter Integration for Home Assistant
Water meter with IZAR module (Diehl IZAR RC 868 I R4 PL)
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
Requirements
- Water meter with IZAR module (Diehl IZAR RC 868 I R4 PL), IZAR Radio Compact Hall is designed for mobile reading and fixed network remote reading of Diehl Metering meters.
- ESP32 Dev Kit C V4 NodeMCU
- Fayme CC1101 868MHZ Funk ÜBertragung Antennen Transceiver Modul, Grün Alternative: EBYTE TI CC1101 Wireless 868Mhz 915Mhz RF Modul with external antenna.
Wiring 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
Result
ESPHOME Webserver V2
ESPHOME Webserver V3
Homeassistant Device
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
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
-
DVB-T receiver: https://amzn.eu/d/8AsinRu
-
nano-cul: https://www.smart-home-komponente.de/nano-cul/nano-cul-868-extra/