zibous / ha-watermeter

Data provider for smartmeter watermeter.
GNU General Public License v3.0
183 stars 27 forks source link
esp32 esphome home-assistant izar mbus mqtt raspberry-pi-3 rtl-sdr rtl-wmbus watermeter wmbus-dongle wmbusmeters

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):

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


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