ble_monitor icon indicating copy to clipboard operation
ble_monitor copied to clipboard

[New Sensor]: SwitchBot W3400010 Indoor/Outdoor Thermo-Hygrometer

Open zedrdave opened this issue 1 year ago • 7 comments

Sensor Description

SwitchBot IP65 Indoor/Outdoor Thermo-Hygrometer

Additional information

Seems to be a simpler version of the already-supported Switchbot Meter (with LCD): https://eu.switch-bot.com/pages/switchbot-indoor-outdoor-thermo-hygrometer

I have already managed to extract temp/hygro and battery from the two BLE advertisements (see below):

    if sdid == 22:
        # "service data"
        battery = int(value[8:10], 16)
    elif sdid == 255:
        # "manufacturer specific data"
        byte10 = int(value[20:22],16)
        byte11 = int(value[22:24],16)
        byte12 = int(value[24:26],16)
        tempc = ((byte10 & 0x0F) * 0.1 + (byte11 & 0x7F)) * (1 if ((byte11 & 0x80) > 0) else -1)
        humidity = byte12 & 0x7F

Happy to help with the integration (new to BLE and BLE monitor, but know my way around Python).

BLE advertisements

2023-07-06 08:02:37.644 INFO (Thread-13) [custom_components.ble_monitor.ble_parser] BLE advertisement received from MAC/UUID d65d706dc117: service data: [b'\x06\x16=\xfdw\x00\xe4']manufacturer specific data: []local name: UUID16: None,UUID128: None
2023-07-06 08:02:39.649 INFO (Thread-13) [custom_components.ble_monitor.ble_parser] BLE advertisement received from MAC/UUID d65d706dc117: service data: []manufacturer specific data: [b'\x0f\xffi\t\xd6]pm\xc1\x17\xc7\x03\x00\x97;\x00']local name: UUID16: None,UUID128: None

zedrdave avatar Jul 06 '23 06:07 zedrdave