Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[New Sensor]: Switchbot Indoor/Outdoor Thermo-Hygrometer #1411

Open
mjchantler opened this issue Dec 4, 2024 · 2 comments
Open

[New Sensor]: Switchbot Indoor/Outdoor Thermo-Hygrometer #1411

mjchantler opened this issue Dec 4, 2024 · 2 comments
Assignees
Labels
new sensor Request for a new sensor

Comments

@mjchantler
Copy link

Sensor Description

Switchbot Indoor/Outdoor Thermo-Hygrometer

Additional information

https://uk.switch-bot.com/products/switchbot-indoor-outdoor-thermo-hygrometer

BLE advertisements

No response

@mjchantler mjchantler added the new sensor Request for a new sensor label Dec 4, 2024
@IanThewlis
Copy link

@capo-at-the-5th-fret
Copy link

Here's some data...

Outdoor Temperature/Humidity Sensor
WoSensorTHO (Model W3400010)

Mac Address = c7 6b 04 06 15 5e
Switchbot Firmware = v0.8

Sample data from Bluetooth LE Scanner on Android

a = flags data
b = manufacturer specific data
c = service data

[    a     |                        b                        |           c          ]
[ 02 01 06 | 0f ff 69 09 c7 6b 04 06 15 5e ff 02 03 98 1f 00 | 06 16 3d fd 77 00 64 ] temp = 24.3, humidity = 31%, battery = 100%
[ 02 01 06 | 0f ff 69 09 c7 6b 04 06 15 5e f3 02 09 97 1e 00 | 06 16 3d fd 77 00 e4 ] temp = 23.1, humidity = 30%, battery = 100%
[ 02 01 06 | 0f ff 69 09 c7 6b 04 06 15 5e fe 02 02 98 1f 00 | 06 16 3d fd 77 00 64 ] temp = 24.2, humidity = 31%, battery = 100%
[ 02 01 06 | 0f ff 69 09 c7 6b 04 06 15 5e 15 02 08 99 20 00 | 06 16 3d fd 77 00 64 ] temp = 25.8, humidity = 32%, battery = 100%
[ 02 01 06 | 0f ff 69 09 c7 6b 04 06 15 5e 7b 06 05 05 16 00 | 06 16 3d fd 77 40 64 ] temp = -5.5, humidity = 22%, battery = 100%
[ 02 01 06 | 0f ff 69 09 c7 6b 04 06 15 5e 7c 06 01 06 16 00 | 06 16 3d fd 77 40 64 ] temp = -6.1, humidity = 22%, battery = 100%

First sample:

section a = [ 02 01 06 ]
        a[0] - 02 = length
        a[1] - 01 = flags type
        a[2] - 06 = LE general discoverable, BR/EDR not supported

section b = [ 0f ff 69 09 c7 6b 04 06 15 5e ff 02 03 98 1f 00 ]
        b[0] - 0f = length
        b[1] - ff = manufacturer specific type
        b[2] - 69 = manufacturer id (lo byte)
        b[3] - 09 = manufacturer id (hi byte)
        b[4..9] - c7 6b 04 06 15 5e = mac address
        b[10] - ff = unknown byte
        b[11] - 02 = unknown byte
        b[12] - 03 = xxxxbbbb bits, where x are unknown bits, bbbb = decimal part of temperature, in tenths of a celcius degree
        b[13] - 98 = abbbbbbb bits, where a is 1 if temp is +, a is 0 if temp is -, bbbbbbb = 'whole' part of temperature, in celcius
        b[14] - 1f = xbbbbbbb bits, where x is unknown bit, bbbbbbb = humidity in %
        b[15] - 00 = unknown byte

a) manufacturer id = 0x0969 = Woan Technology (Shenzhen) Co., Ltd.
b) temperature = ((b[13] & 0x7f) + ((b[12] & 0x0f) * 0.1)) * ((b[13] & 0x80 > 0) ? 1 : -1) (deg C)
c) humidity = b[14] & 0x7f (%)

section c = [ 06 16 3d fd 77 00 64 ]
        c[0] - 06 = length
        c[1] - 16 = service data type
        c[2] - 3d = uuid (lo byte)
        c[3] - fd = uuid (hi byte)
        c[4] - 77 = unknown byte
        c[5] - 00 = unknown byte
        c[6] - 64 = xbbbbbbbb bits, where x = unknown bit, bbbbbbb = battery level in %

d) uuid = 0xfd3d
e) battery = c[6] & 0x7f (%)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
new sensor Request for a new sensor
Projects
None yet
Development

No branches or pull requests

4 participants