Xiaomi BLE integration doesn't have impedance sensor for Mi Body Composition Scale 2

Hi, I have recently added an ESP32 bluetooth proxy to be able to connect BLE devices to my HA, but I encountered a problem with my Xiaomi Mi Body Composition Scale 2.
It is successfully discovered and I have an option to set it up with Xiaomi_BLE, but after I add it, it seems to not have an entity for the impedance sensor, only the weight.

I want to use the Bodymiscale integration, but without the impedance, it’s a bit a waste of potential.
Does anyone have an idea what can be the cause of such behavior, I would be really grateful!

Posting the second screenshot in the reply

Maybe you have to activate it? What shows “+1 entity not shown”?

Having the same scale and the same setup here (connecting through ESP32 bluetooth proxy) it looks like:

Please note that you have to stay on the scale until the display has switched itself to off. Otherwise some data like i.e. the impedance might not have been send to HA in time.

You were right, I really didn’t think that I need to stand longer to measure the impedance and for the entity to appear in HA. Now that looks just like on your screenshots.
Thankyou!

Hi, i tried to add my Mi Body Composition Scale 2 (XMTZC05HM) via the Xiaomi BLE integration and got the same problem, that only “Mass Non Stabilized” got detected.

I’m using a Raspberry Pi 4 and the integrated bluetooth antenna/hardware.

Tried removing all integrations from HA and resetting the scale (taking out the batteries for over 1 hour), but no change.

Signal Strength seems to be the Bluetooth-Signal since it changes values depending on how far the scale is away from my Raspberry Pi.

Is there any other solution than trying to use ESP32?

Hi @Roluf

You could also try our Theengs Gateway HA Add-on, which also allows for discovering the weighing mode on the Mi Body Composition Scale 2 (XMTZC05HM).

Nice! Thank you very much, took a while till it recognized the scale but now it works :+1:

1 Like

@DigiH

How to stop TheengsGateway or OMG to collect information of a specific device (e. g. in case one decides to use the Xiaomi BLE integration instead)?

Of course disabling the entities in MQTT integration (provided by the TheengsGateway/OMG) is a quick and dirty approach, but the topics still arrive in the Mosquitto broker. Is a blacklist needed?

Yes, a black-list to block certain devices or a white-list to only allow specific devices will not publish any unwanted messages.

try to use this addon

and add this sensors to mqtt

  - name: "MY Weight"
    state_topic: "miscale/MY/weight"
    value_template: "{{ value_json['weight'] }}"
    unit_of_measurement: "kg"
    json_attributes_topic: "miscale/USER_NAME/weight"
    icon: mdi:scale-bathroom
   # Below lines only needed if long term statistics are required
    state_class: "measurement"

  - name: "MY impedance"
    state_topic: "miscale/MY/weight"
    value_template: "{{ value_json['impedance'] }}"
    icon: mdi:omega
    unit_of_measurement: "Ohm"
    # Below lines only needed if long term statistics are required
    state_class: "measurement"

where MY - Person name. You will get your sensors.