Water meter and Home assistant

Posted by on December 12, 2025 in Blog | 0 comments

Home Assistant - Wikipedia

Guide: Reading Multical 21 & FlowIQ 2200 Water Meters in Home Assistant via ESPHome

Introduction

This guide explains how to read Wireless M-Bus (wMBus) data from two types of water meters:

• Kamstrup Multical 21  
• Kamstrup FlowIQ 2200  

Using:

• ESP32  
• CC1101 868 MHz radio module  
• ESPHome  
• Wmbusmeter add-on  

You will find two complete YAML configurations included at the end of this guide.

Hardware Required

• ESP32 Dev Board  
• CC1101 868 MHz RF module  
• Jumper wires  
• USB cable for programming  
• Home Assistant

Wiring Diagram (ESP32 → CC1101)

Connect the CC1101 to the ESP32 as follows:

CC1101 Pin → ESP32 Pin  
• VCC → 3.3V  
• GND → GND  
• MISO → GPIO19  
• MOSI → GPIO23  
• SCK → GPIO18  
• CS → GPIO5  
• GDO0 → GPIO4  
• GDO2 → GPIO2

Row 1 starts with GND and row 2 with VCC (3.3V)

Install Required Home Assistant Add-ons

Install from Add-on Store and HACS (Home Assistant Community Store):

1. Wmbusmeter – decodes Wireless M-Bus telegrams  
3. ESPHome – for firmware building and flashing (tested with 2025.0.0 to 2025.10)

Make sure these are running after installation.

Extracting the AES Key (KEM Key)

To decode encrypted telegrams, you need the AES key from your water supplier. Ask their customer service.

1. Open Wmbusmeters  
2. Go to the “KEM Processing” tab  and upload your kem file.
3. Extract the meter details (meter ID + key)  

This key along with the meter ID will be used inside the YAML file. Meter ID is the same as the meter number printed on the meter.

Preparing the ESP32 Using ESPHome

1. Open ESPHome in Home Assistant  
2. Click “New Device” → Continue  
3. Select “ESPHome Web” to flash via browser 
4. Connect your ESP32  
5. Flash minimal base image  
6. Adopt the device into Home Assistant

Once adopted, open the device YAML for editing.

Flashing the Final YAML

1. Use the YAML configuration from this guide or go to my other site pinout.se and copy it.
2. Paste it into the ESPHome YAML editor 
3. Adjust Wi-Fi, meter ID, keys, and names 
4. Click INSTALL → “Plug into this computer” 
5. Flash via ESPHome Web

Your water meter should now appear in Home Assistant automatically.  Open the ESPHome integration under settings/integrations and check if the meter sends values as intended.

Unfortunately this script is problematic with the latest version of ESP home builder. 2025.0.0 to 2025.10.0 is confirmed working.

Big thanks to all of you developers, SzczepanLeon and many more for providing this solution.

Multical 21 ESPHome YAML

FlowIQ 2200 ESPHome YAML

Leave a Comment

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