I bought this device hoping to use it with my hobby project, a programmable home thermostat based on a Raspberry Pi board.

Using Python and the BLEAK library, I can find it on a BLE scan quite easily:

import asyncio
from bleak import BleakScanner

def detection_callback(device, advertisement_data):
    print(device.address, "RSSI:", device.rssi, advertisement_data)
async def main():
    scanner = BleakScanner()
    await scanner.start()
    await asyncio.sleep(5.0)
    await scanner.stop()
    for d in scanner.discovered_devices:

resulting in this, including RSSI of -72, which seems a reasonable value:

A4:C1:38:0F:C4:95 RSSI: -72 AdvertisementData(local_name='LYWSD03MMC', service_data={'0000fe95-0000-1000-8000-00805f9b34fb': b'0X[\x05\xa8\x95\xc4\x0f8\xc1\xa4\x08'})

But any attempt to follow this up by connecting to the device at this MAC address, times out. I would appreciate suggestions on how to correctly connect to this device to read the temperature.

1 Answer 1


This guy has got the goods. His example programs JUST WORK! The second one, List Services and Characteristics, connected flawlessly.


  • 1
    Your answer could be improved with additional supporting information. Please edit to add further details, such as citations or documentation, so that others can confirm that your answer is correct. You can find more information on how to write good answers in the help center.
    – Community Bot
    Jun 9 at 8:05

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.