Wmbusmeters (W-MBus to MQTT) izarv2.json

Hi all,

I've managed to get my receiver to work however it is izarv2 and i've tried vairious ways to see if I can create one as its not included in the add on git hub.

Does any one have a working /config/wmbusmeters/etc/mqtt_discovery/izarv2.json that they can share with me please ?

Thanks

T

Hey T,

First the important question: what are you using to receive the telegrams? A USB dongle plugged into your HA machine (RTL-SDR / IM871A / CUL…), or an ESP/gateway that publishes the raw frames to MQTT? That changes the answer a lot.

The etc/mqtt_discovery/<driver>.json per-driver files are part of the way your current add-on handles discovery — a separate template has to exist for every driver, and izarv2 simply is not bundled. That is the wall you have hit.

Full disclosure: I maintain a different wM-Bus add-on:

So take this with that grain of salt. It does not require any per-driver discovery JSON files. Home Assistant MQTT Discovery is generated dynamically from whatever fields wmbusmeters actually decodes. Therefore, once izarv2 is decoded correctly, its entities are created automatically — no izarv2.json is needed.

The catch, and the reason I am asking about your hardware, is that my add-on consumes raw HEX telegrams from an MQTT topic. You therefore need an ESP or another gateway publishing the received frames to MQTT. It does not currently read a USB dongle connected directly to the Home Assistant host.

So:

  • if you are already using an ESP → MQTT setup, it may solve this directly;
  • if your receiver is a USB dongle connected directly to Home Assistant, it will not be a drop-in replacement, and getting the discovery file working in your current add-on will probably be the easier option.

Tell me exactly which receiver you are using and I can say whether it is worth a look.

Hi, thanks for coming back to me.

I use a RTL2832U on my Unraid server and ha vm (Blue usb on eBay ... RTL2832U + FC0012 entry-level RTL-SDR USB SDR Receiver 22-948MHz) which does seem to work except for the conversion to useable data.

I've looked up the meter and I believe it to be an Izar V2 type and actually unencrypted.

I can see a few around me too but always seem to fail at the last step in the conversion to usable.

I do seem to be getting something though...

"Started auto rtlwmbus[00000001] listening on t1
telegram=|1944304C424AC0209801A2_710300136380890A7B1089040A3326|+122
telegram=|1944304C424AC0209801A2_610300136397A643D0315ADDD12A24|+183
telegram=|1944304C424AC0209801A2_1103001363F26ABF81D461D0D06529|+210
telegram=|1944304C424AC0209801A2_3103001363DC342CD797C66366572C|+367
telegram=|1944304C424AC0209801A2_610300136397A643D0315ADDD12A24|+533"

I'll have a look at your addin too.

Let me know if I can add any more detail.

Looking at the izar.json file it would be good to understand the structure to see if I can work it in to a new one but not sure where to start really if your able to help ?

Terran

Good news: the radio side is working — your telegrams decode fine. I tested meter ID 20c04a42 with wmbusmeters: it decodes on both izar and izarv2, with the reading as total_m3. So the meter and the RTL‑SDR are fine — only the Home Assistant side is missing.

:warning: First confirm 20c04a42 is actually your meter, not a neighbour's — you mentioned you can see a few around you. Easiest check: decode it and compare the total_m3 against the reading on your physical meter. Use whichever id turns out to be yours below; I'll use 20c04a42 as the example.

You don't need anyone's izarv2.json. wmbusmeters just decodes and publishes the meter's JSON to MQTT; turning it into entities is the easy classic two‑step, no discovery template needed:

1) Tell wmbusmeters about the meter so it decodes and publishes it. A meter config like:

name=water
type=izar
id=20c04a42
key=

(unencrypted, so no key). It will then publish this meter's JSON to the topic wmbusmeters/20c04a42 (that's the per‑id convention — confirm the exact topic by subscribing with e.g. MQTT Explorer).

2) Point a Home Assistant sensor at that topic. In configuration.yaml:

mqtt:
  sensor:
    - name: "Water total"
      unique_id: wmbus_20c04a42_total
      state_topic: "wmbusmeters/20c04a42"
      unit_of_measurement: "m³"
      value_template: "{{ value_json.total_m3 }}"
      device_class: water
      state_class: total_increasing
      json_attributes_topic: "wmbusmeters/20c04a42"

(That's the modern form; the old sensor: - platform: mqtt style still works too. If you already have a top‑level mqtt: block, merge under it.) Reload via Developer Tools → YAML → Manually configured MQTT entities — no restart needed.

That's it — the sensor picks up the value as soon as the next telegram is published. Add more sensor blocks for the other fields you want (total_m3 is the same on both drivers; the extra field names differ between izar and izarv2, so use whatever your published JSON shows). The json_attributes_topic line also stuffs the full JSON onto the entity as attributes, handy for seeing every field at once.

Thank you... I managed to track the issue down to the dashboard not looking at the right sensor.

This must have happened through my fiddling.

For any one that follows Izar works fine for izarv2.

Once again thanks for the help (been at this on and off for a while now).

Ps pretty sure this is my meter as I went for the strongest signal.

Terran