Passive BLE Monitor integration (Xiaomi Mijia BLE MiBeacon monitor)

Below is the easiest way I found to get the bind key for the Xiaomi Mijia LYWSD03MMC sensor. I used a mobile phone and performed the following steps:

  1. Keep the Xiaomi Mijia LYWSD03MMC sensor close to the mobile phone.
  2. On the mobile phone, make sure that the bluetooth connection is enabled.
  3. Using the mobile phone’s browser, navigate to https://atc1441.github.io/TelinkFlasher.html.
  4. Enlarge the mobile phone’s screen for better readability.
  5. Now, click the [Connect] button and wait until it shows “Connected.” See the Log section at the bottom.
  6. Once connected, click the [Do Activation] button and wait until the “Mi Bind Key” shows the information.

Source: Around the 11:40 mark of https://www.youtube.com/watch?v=NXKzFG61lNs

7 Likes

Thanks, I want to add this to the faq of the custom component. Is this also working on iOS, or android only?

It is a website_ so should work on any OS.

Thanks, I’ve added it to the FAQ as the first option.

Is there a way to get mitemp_bi working with the custom firmware by Atc1441? It offers some nice options. For instance, to correct the humidity. (For all my sensors YWSD03MMC, it’s off by a certain amount.)

1 Like

I use the custom firmware with a esp32 flashed with openmqttgateway.

Hello! Am I right, that LYWSD03MMC is not best solution to use as external thermometer for thermostatic radiator valve? I can’t get stable periodical data from this thermometers.
Screenshot 2020-09-11 040609
About 3:00 I have heated it up, but there is no reaction on the graph.

They all update nice


Can you show your yaml configuration, please?

They are autodiscoverd, so no yaml.

And ESP32 is connected to Home Assistant?

Esp32 connected to mqtt -> Home Assistant

blimey these are a pita to setup :crazy_face:
i’m running hassOS 4.31 on an Odroid C2
I bunged a bluetooth dongle in it and I can ssh to the device but I get a ‘cut down’ interface
I can run bluetoothctl and it sees my mobile phone but it doesn’t see these poxy monitors
I’ve set them up in the xiaomi app…which doesn’t pair with the device if I tell it I’m on the Chinese mainland…change to somewhere in Europe and it’s ok but firmware shows as 0106 and doesn’t appear to want to update to 0109…which is why I was trying to be a Chinaman :grimacing:
any ideas? I did buy another bluetooth dongle off ebay but probably not see that for a few weeks :roll_eyes:

Yes, I’d say that if you set the Advertising type to be ‘Mi Like’, it should work as with any other LYWSD03MMC with original Xiaomi firmware

Hi, I’m running HA in a VM on VMware using the standard vmdk. Intel AX200 bluetooth is connected to the guest. Supervisor 243, HassOS 4.13. I used HACS to install this custom component. I used bluetoothctl to get the MAC ID of my Xiaomi thermometer:
image

I got the key from the TelinkFlasher web page.
This is what I put in my configuration.yaml

sensor:
  - platform: mitemp_bt
    hci_interface: 0
    encryptors:
             'A4:C1:38:C3:02:C2': '3535e844232fae0168c5949f8c4a093e'

I added hci_interface: 0 later, I initially didn’t have that. According to btmon, my bluetooth device is hci0.

The problem I’m having is nothing happens. No new entities. No new devices. No errors in the logs. Any ideas?

Have you tried this your self? I have but and I dont get any data. If it works for you can you show the config?

Honestly no, because I have my LYWSD03MMC sensors connected to an esphome, which then send the values to HA.

Still then, I assumed that as it worked that way with esphome (as the custom firmware developer mentioned somewhere that the format of data sending is the same as in the original firmware, when you choose Advertising Type ‘Mi Like’).

In case it doesn’t work, I suppose there must be something with this custom component instead, which I’m currently not using.

Well I think the custom component expect the decryption key, but there is no use for it after flashing. So its most probably not compatible after flashing the device.

In esphome sensor config you also need to put ANY encryption key (as the config schema sets it as mandatory), but then it works anyway.

Are u sure this was not an update? https://github.com/esphome/feature-requests/issues/877