Last active 1711102564

wsd1 revised this gist 1711102564. Go to revision

1 file changed, 190 insertions

test.md(file created)

@@ -0,0 +1,190 @@
1 + # Easy Watermeter Integration for Home Assistant
2 +
3 + [![License][license-shield]][license]
4 + [![ESP32 Release](https://img.shields.io/github/v/release/zibous/ha-watermeter.svg?style=flat-square)](https://github.com/zibous/ha-watermeter/releases)
5 + [![ESPHome release][esphome-release-shield]][esphome-release]
6 + [![Open in Visual Studio Code][open-in-vscode-shield]][open-in-vscode]
7 + [![Support author][donate-me-shield]][donate-me]
8 +
9 + [license-shield]: https://img.shields.io/static/v1?label=License&message=MIT&color=orange&logo=license
10 + [license]: https://opensource.org/licenses/MIT
11 +
12 + [esphome-release-shield]: https://img.shields.io/static/v1?label=ESPHome&message=2023.5.0&color=green&logo=esphome
13 + [esphome-release]: https://GitHub.com/esphome/esphome/releases/
14 +
15 + [open-in-vscode-shield]: https://img.shields.io/static/v1?label=+&message=Open+in+VSCode&color=blue&logo=visualstudiocode
16 + [open-in-vscode]: https://open.vscode.dev/zibous/ha-watermeter
17 +
18 + [donate-me-shield]: https://img.shields.io/static/v1?label=+&color=orange&message=Buy+me+a+coffee
19 + [donate-me]: https://www.buymeacoff.ee/zibous
20 +
21 + <br>
22 +
23 + ## Water meter with IZAR module (Diehl IZAR RC 868 I R4 PL)
24 +
25 + ![diehl_metering](https://github.com/zibous/ha-watermeter/blob/master/docs/diehl_metering.jpg)
26 +
27 +
28 + I did some experiments with **wmbusmeters**, **DVT SDR_STICK**, **NANOCUL** and ended up with: **ESPHome - ESP32 (v4) + CC1101**.
29 +
30 + With the NANOCUL solutions, I always had problems with the USB input and with the high resource consumption on the NUC or Raspberry computers.
31 +
32 + <br>
33 +
34 + ## ESPHome + ESP32 (v4) + CC1101
35 +
36 + ESPHome - ESP32 (v4) + CC1101 is the best solution for me because the resource requirement is low.
37 +
38 + [![](https://img.shields.io/badge/ESPHOME_ESP32_(v4)+CC1101-orange?style=for-the-badge)](https://github.com/zibous/ha-watermeter/blob/master/esphome/wm-esp32.yaml)
39 +
40 +
41 + <br>
42 +
43 + ## ESP32 (v4) Variante
44 +
45 + ![ESPHome - ESP32 (v4) + CC1101](https://github.com/zibous/ha-watermeter/blob/master/esphome/docs/esp32_cc1101.png)
46 +
47 + ### Requirements
48 +
49 + - Water meter with IZAR module (Diehl IZAR RC 868 I R4 PL),
50 + IZAR Radio Compact Hall is designed for mobile reading and fixed network remote reading of Diehl Metering meters.
51 + <br>
52 + - [ ESP32 Dev Kit C V4 NodeMCU](https://amzn.eu/d/eUNLyYc)
53 + - [Fayme CC1101 868MHZ Funk ÜBertragung Antennen Transceiver Modul, Grün](https://amzn.eu/d/i5YwBkR) <br>
54 + Alternative: [ EBYTE TI CC1101 Wireless 868Mhz 915Mhz RF Modul](https://amzn.eu/d/7GPqsng) with external antenna.
55 +
56 + <br>
57 +
58 + ## Wiring CC1101 module to boards
59 + ![CC1101 module to boards](https://github.com/zibous/ha-watermeter/blob/master/esphome/docs/cc1101_board_pins.png)
60 +
61 +
62 + ### Meter types:
63 +
64 + Currently supported meter types (wmbus 2.1.10):
65 +
66 + - amiplus
67 + - apator08
68 + - apator162
69 + - apatoreitn
70 + - bmeters
71 + - compact5
72 + - elf
73 + - evo868
74 + - fhkvdataiii
75 + - hydrocalm3
76 + - hydrus
77 + - iperl
78 + - itron
79 + - **izar**
80 + - mkradio3
81 + - mkradio4
82 + - qheat
83 + - qwater
84 + - sharky774
85 + - topaseskr
86 + - ultrimis
87 + - unismart
88 + - vario451
89 + - ... more will come :)
90 +
91 + see: <https://github.com/SzczepanLeon/esphome-components>
92 +
93 + ## Installation / Details
94 + [ESPHome - ESP32 (v4) + CC1101](./esphome/README.md)
95 +
96 + ## Result
97 +
98 + ### ESPHOME Webserver V2
99 + ![ESPHOME-WATERMETER](./esphome/docs/water-meter-esp.png)
100 +
101 + ### ESPHOME Webserver V3
102 + ![ESPHOME-WEBSERVER3](./esphome/docs/watermeter-webserver3.png)
103 +
104 + ### Homeassistant Device
105 + ![ESPHOME-WATERMETER](./esphome/docs/ha_water-meter-esp.png)
106 +
107 + <br>
108 +
109 + ## ESP8266 vs ESP32 (v4)
110 + 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.
111 +
112 + __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.
113 +
114 + <br>
115 +
116 + | Device | Remarks | Hardware |
117 + |---------|-----------|--------|
118 + |**Wemos D1 Mini Board 80KB RAM**<br><img src="./esphome/docs/d1Mini-wemos.png" width="40%">| CC1101, board: d1_mini | ESP8266 80MHz, **80KB RAM**, 4MB Flash |
119 + |**Wemos D1 Mini 80KB RAM**<br><img src="./esphome/docs/d1mini-esp8266MOD-12F.png" width="40%"> | CC1101, board: esp12e (board: d1_mini )|ESP8266 80MHz, **80KB RAM** , 4MB Flash |
120 + |**NodeMCU Lolin V3 Modul 80KB RAM** <br><img src="./esphome/docs/nodemcu_v3.png" width="40%"> | CC1101, board: NodeMCU Lua Lolin V3 Module ESP8266 | ESP8266 80MHz, **80KB RAM** , 4MB Flash |
121 + |**D1MINI ESP32 320KB RAM**<br><img src="./esphome/docs/d1miniesp32.png" width="40%"> | CC1101, board: D!MINI ESP32 | ESP32 240MHz, **320KB RAM**, 4MB Flash |
122 + |**ESP32 Dev Kit C V4 520KB RAM**<br><img src="./esphome/docs/az-delivery-devkit-v4.png" width="40%"> | CC1101, board: az-delivery-devkit-v4 | ESP32 240MHz, **520KB RAM**, 4MB Flash |
123 +
124 +
125 + <br>
126 +
127 + ### Memory Usage D1 Mini
128 + ![memory_usage](https://user-images.githubusercontent.com/30198737/235585457-895bb25f-47a6-4901-a403-96a115caac3d.png)
129 +
130 + <br>
131 +
132 + ## ESPHome Device configurations
133 +
134 +
135 + - **Testcase - and simple version**
136 + `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`.
137 + - **Full version**
138 + `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`.
139 +
140 + <br>
141 +
142 + | Version | Remarks | Configuration |
143 + |------------------|-----------|----------------|
144 + | 🛠 WMBUSCHECK |Test configuration and wmbus. NO SENSORS only messages: Details see Log window |[wm-check-wmbus.yaml](esphome/wm-check-wmbus.yaml) |
145 + | 🛠 ESP32 Test |Frist run to find watermeters. Messages see Log window or syslog messages |[wm-esp32-test.yaml](esphome/wm-esp32-test.yaml) |
146 + | 💻 ESP32 Simple |Simple Sensor outputs, no calculations. Low memory consumption.|[wm-esp32-simple.yaml](esphome/wm-esp32-simple.yaml) |
147 + |✔️ ESP32 |Full version - Sensors and calulated values, Statitics. Alarmcode text message |[wm-esp32.yaml](esphome/wm-esp32.yaml) |
148 + | 🛠 D1 MINI ESP32 Test |Frist run to find watermeters. Messages see Log window or syslog messages |[wm-d1mini32-test.yaml](esphome/wm-d1mini32-test.yaml) |
149 + | 💻 D1 MINI ESP32 Simple |Simple Sensor outputs, no calculations. Low memory consumption. |[wm-d1mini32-simple.yaml](esphome/wm-d1mini32-simple.yaml) |
150 + |✔️ D1 MINI ESP32 |Full version - Sensors and calulated values, Statitics. Alarmcode text message |[wm-d1mini32.yaml](esphome/wm-d1mini32.yaml) |
151 + | D1MINI IZAR WMBUS|Testcase for IZAR WMBUS METER |[wm-d1mini_izar-wmbus.yaml](esphome/wm-d1mini_izar-wmbus.yaml)|
152 + | 🛠 D1MINI Test|Frist run to find watermeters. Messages see Log window or syslog messages |[wm-d1mini-test.yaml](esphome/wm-d1mini-test.yaml)|
153 + | 💻 D1MINI Simple |Simple Sensor outputs, no calculations. Low memory consumption. |[wm-d1mini-simple.yaml](esphome/wm-d1mini-simple.yaml)|
154 + |✔️ D1MINI |Sensors and calulated values, Statitics. Alarmcode text message |[wm-d1mini.yaml](esphome/wm-d1mini.yaml)|
155 + | 🛠 NodeMCU Test |Frist run to find watermeters. Low memory consumption. Messages see Log window or syslog messages |[wm-nodemcu-test.yaml](esphome/wm-nodemcu-test.yaml) |
156 + |✔️ NodeMCU |Full version - Sensors and calulated values, Statitics. Alarmcode text message|[wm-nodemcu.yaml](esphome/wm-nodemcu.yaml) |
157 +
158 + <br>
159 +
160 + <hr>
161 +
162 + ## Other solutions (alternatively)
163 +
164 + - 1. [NANOCUL-DOCKER.md](NANOCUL-DOCKER.md)
165 + - 2. [NANO-CUL.md](NANO-CUL.md)
166 + - 3. [RB3B_DVBT - RTL232-md](RTL232.md)
167 +
168 +
169 +
170 + ### For more information see:
171 +
172 + - <https://github.com/weetmuts/wmbusmeters>
173 +
174 + - <https://github.com/maciekn/izar-wmbus-esp>
175 + - <https://github.com/MariuszWoszczynski/ESPhome-IZAR-meter-reader>
176 +
177 + - <https://github.com/SzczepanLeon/esphome-components>
178 +
179 + - <https://osmocom.org/projects/rtl-sdr/wiki/Rtl-sdr>
180 + - <https://github.com/xaelsouth/rtl-wmbus>
181 + - <https://github.com/ZeWaren/izar-prios-smart-meter-collector>
182 +
183 + #### DVB-T receiver or Nano CUL Adapter
184 + - DVB-T receiver: <https://amzn.eu/d/8AsinRu>
185 +
186 + - nano-cul: <https://www.smart-home-komponente.de/nano-cul/nano-cul-868-extra/>
187 +
188 + - diehl watermeter: <https://www.diehl.com/metering/en/portfolio/software-system-components/software-system-components-products/software-system-components-product/izar-radio-compact-hall/74843/>
189 +
190 +
Newer Older