Here is my config for wmbusmeters and HA sensor:
/etc/wmbusmeters.conf
loglevel=normal
# Remember to change auto here to the device you are going to use in production.
device=rtlwmbus
logtelegrams=true
format=json
meterfiles=/var/lib/wmbusmeters/meter_readings
meterfilesaction=overwrite
logfile=/var/log/wmbusmeters/wmbusmeters.log
# Enable MQTT Support
shell=/usr/bin/mosquitto_pub -h localhost -t wmbusmeters/$METER_ID -m "$METER_JSON"
/etc/wmbusmeters.d/multical21
name=Tapwater
id=<replace_with_your_id>
key=<replace_with_your_key>
driver=multical21
HomeAssistant configuration.yaml snippet:
mqtt:
sensor:
- name: "Tapwater total"
state_topic: "wmbusmeters/<replace_with_your_id>"
unit_of_measurement: "m³"
device_class: water
state_class: total
value_template: "{{ value_json.total_m3 }}"
- name: "Tapwater target"
state_topic: "wmbusmeters/<replace_with_your_id>"
unit_of_measurement: "m³"
device_class: water
state_class: total
value_template: "{{ value_json.target_m3 }}"
- name: "Tapwater temperature"
state_topic: "wmbusmeters/<replace_with_your_id>"
unit_of_measurement: "°C"
device_class: temperature
state_class: measurement
value_template: "{{ value_json.flow_temperature_c }}"
- name: "Tapwater external temperature"
state_topic: "wmbusmeters/<replace_with_your_id>"
unit_of_measurement: "°C"
device_class: temperature
state_class: measurement
value_template: "{{ value_json.external_temperature_c }}"
- name: "Tapwater time leaking"
state_topic: "wmbusmeters/<replace_with_your_id>"
device_class: timestamp
value_template: "{{ value_json.time_leaking }}"
- name: "Tapwater time bursting"
state_topic: "wmbusmeters/<replace_with_your_id>"
device_class: timestamp
value_template: "{{ value_json.time_bursting }}"