Custom_component bodymiscale [For Xiaomi Miscale 1& 2] Esphome or BLE Monitor

Make sure to keep standing on the scale until the weight-display has switched itself off again.

did that, twice, also restarted HA. No change :frowning:
Zepp Life registers the changes

Be careful, you cannot be on the Zepp application at the same time.

1 Like

Dont know what fixed it. I “reinstalled” the Bluetooth integration, then opened the integration and clicked on configure and checked “passive scanning”. Cant say if I had this enabled before.

Having the Zepp app open does, in fact, hinder the information to be sent to HA.

I dont have to wait for the display to switch off. Its enough if I wait until the measurment-bar is fully complete.

Is this still the case?

Meanwhile I integrated it using OMG.
But having it natively with plain „Bluetooth on HA“ would be an improvement.

No, not anymore. The scales have been added to the xiaomi-ble integration.

Unfortunately it still does not get discovered, even I have an ESP Bluetooth proxy close to the Mi scale.

When got they added to the integration? Maybe I need a newer HA Core version.

Try to enable debug logging for the Bluetooth integration and check if you see BLE messages from your scale. (Search for your scales MAC address)

I let debug logging run for ~ 1.5 hours. Plenty of catches of the Mi scale. Example log output (random lines, truncated and partly blackened)

2024-02-26 18:23:25.653 DEBUG (MainThread) [homeassistant.components.bluetooth.manager] MI_SCALE (XX:XX:XX:XX:XX:XX): Switching from ESP Bluetooth Proxy ABC (XX:XX:XX:XX:XX:XX) [connectable] to hci0 (XX:XX:XX:XX:XX:XX) [connectable] (time elapsed:51.399657689995365 > stale seconds:33.89577338198433)
2024-02-26 18:23:59.543 DEBUG (MainThread) [homeassistant.components.bluetooth.manager] MI_SCALE (XX:XX:XX:XX:XX:XX): Switching from hci0 (XX:XX:XX:XX:XX:XX) [connectable] to ESP Bluetooth Proxy ABC (XX:XX:XX:XX:XX:XX) [connectable] (new rssi:-71 - threshold:5 > old rssi:-82)
2024-02-26 18:50:34.067 DEBUG (MainThread) [homeassistant.components.bluetooth.manager] ESP Bluetooth Proxy ABC (XX:XX:XX:XX:XX:XX) [connectable]: XX:XX:XX:XX:XX:XX AdvertisementData(local_name='MI_SCALE', manufacturer_data={343: b'\xXX\xXX\xXX0\xXX\xXX\xXX'}, ...XXXXXXXXXX... match: set()
2024-02-26 19:07:04.541 DEBUG (MainThread) [homeassistant.components.bluetooth.manager] hci0 (XX:XX:XX:XX:XX:XX) [connectable]: XX:XX:XX:XX:XX:XX AdvertisementData(local_name='MI_SCALE', manufacturer_data={343: b'\xXX\xXX\xXX0\xXX\xXX\xXX'}, ...XXXXXXXXXX... match: set()
2024-02-26 19:45:57.757 DEBUG (MainThread) [homeassistant.components.bluetooth.manager] ESP Bluetooth Proxy ABC (XX:XX:XX:XX:XX:XX) [connectable]: XX:XX:XX:XX:XX:XX AdvertisementData(local_name='MI_SCALE', manufacturer_data={343: b'\xXX\xXX\xXX0\xXX\xXX\xXX'}, ...XXXXXXXXXX... match: set()

So everything is there. Both HA server BT and BT proxy discover it just fine.

Unanswered question (and very likely the reason why my HA does not discover the device natively yet) still is:

They were added around July 2023, so I think 2023.7 or 2023.8.

What version do you have?

I found it:

The Xiaomi BLE now supports the MiScale (V1 and V2). Thanks, @Ernst79!

I need to update first. Until then, OMG does a great job on this, too.