custom-components / ble_monitor

BLE monitor for passive BLE sensors
https://community.home-assistant.io/t/passive-ble-monitor-integration/
MIT License
1.9k stars 247 forks source link

[New Sensor]: Hatch Baby Rest Light #949

Open markwoodward86 opened 2 years ago

markwoodward86 commented 2 years ago

Sensor Description

Hatch Baby Rest Smart Sound Machine

Additional information

Not sure if this one is possible, the product specs dont give much information regarding bluetooth but the packets seem to show up similar to other sensors in my house. Id like to read data such as light colour and which sound is playing. The control of the unit is secondary.

This is the BLE version, not the new wifi version.

https://www.hatch.co/rest

BLE advertisements

[BLE Scan Data Viewer]
Device Address : DC:06:41:DC:1A:B4
Raw Data : 07 09 53 6F 70 68 69 65 02 01 06 03 03 0A 18 04 16 0F 18 64 1B FF 34 04 52 54 62 D2 65 B5 43 FF FF FF FF 53 04 3E 45 00 00 00 00 00 50 1F 65 83
-- Bytes --
[00]  [007]  [0x07]  [  0  0  0  0  0  1  1  1  ]
[01]  [009]  [0x09]  [  0  0  0  0  1  0  0  1  ]
[02]  [083]  [0x53]  [  0  1  0  1  0  0  1  1  ]
[03]  [111]  [0x6F]  [  0  1  1  0  1  1  1  1  ]
[04]  [112]  [0x70]  [  0  1  1  1  0  0  0  0  ]
[05]  [104]  [0x68]  [  0  1  1  0  1  0  0  0  ]
[06]  [105]  [0x69]  [  0  1  1  0  1  0  0  1  ]
[07]  [101]  [0x65]  [  0  1  1  0  0  1  0  1  ]
[08]  [002]  [0x02]  [  0  0  0  0  0  0  1  0  ]
[09]  [001]  [0x01]  [  0  0  0  0  0  0  0  1  ]
[10]  [006]  [0x06]  [  0  0  0  0  0  1  1  0  ]
[11]  [003]  [0x03]  [  0  0  0  0  0  0  1  1  ]
[12]  [003]  [0x03]  [  0  0  0  0  0  0  1  1  ]
[13]  [010]  [0x0A]  [  0  0  0  0  1  0  1  0  ]
[14]  [024]  [0x18]  [  0  0  0  1  1  0  0  0  ]
[15]  [004]  [0x04]  [  0  0  0  0  0  1  0  0  ]
[16]  [022]  [0x16]  [  0  0  0  1  0  1  1  0  ]
[17]  [015]  [0x0F]  [  0  0  0  0  1  1  1  1  ]
[18]  [024]  [0x18]  [  0  0  0  1  1  0  0  0  ]
[19]  [100]  [0x64]  [  0  1  1  0  0  1  0  0  ]
[20]  [027]  [0x1B]  [  0  0  0  1  1  0  1  1  ]
[21]  [255]  [0xFF]  [  1  1  1  1  1  1  1  1  ]
[22]  [052]  [0x34]  [  0  0  1  1  0  1  0  0  ]
[23]  [004]  [0x04]  [  0  0  0  0  0  1  0  0  ]
[24]  [082]  [0x52]  [  0  1  0  1  0  0  1  0  ]
[25]  [084]  [0x54]  [  0  1  0  1  0  1  0  0  ]
[26]  [098]  [0x62]  [  0  1  1  0  0  0  1  0  ]
[27]  [210]  [0xD2]  [  1  1  0  1  0  0  1  0  ]
[28]  [101]  [0x65]  [  0  1  1  0  0  1  0  1  ]
[29]  [181]  [0xB5]  [  1  0  1  1  0  1  0  1  ]
[30]  [067]  [0x43]  [  0  1  0  0  0  0  1  1  ]
[31]  [255]  [0xFF]  [  1  1  1  1  1  1  1  1  ]
[32]  [255]  [0xFF]  [  1  1  1  1  1  1  1  1  ]
[33]  [255]  [0xFF]  [  1  1  1  1  1  1  1  1  ]
[34]  [255]  [0xFF]  [  1  1  1  1  1  1  1  1  ]
[35]  [083]  [0x53]  [  0  1  0  1  0  0  1  1  ]
[36]  [004]  [0x04]  [  0  0  0  0  0  1  0  0  ]
[37]  [062]  [0x3E]  [  0  0  1  1  1  1  1  0  ]
[38]  [069]  [0x45]  [  0  1  0  0  0  1  0  1  ]
[39]  [000]  [0x00]  [  0  0  0  0  0  0  0  0  ]
[40]  [000]  [0x00]  [  0  0  0  0  0  0  0  0  ]
[41]  [000]  [0x00]  [  0  0  0  0  0  0  0  0  ]
[42]  [000]  [0x00]  [  0  0  0  0  0  0  0  0  ]
[43]  [000]  [0x00]  [  0  0  0  0  0  0  0  0  ]
[44]  [080]  [0x50]  [  0  1  0  1  0  0  0  0  ]
[45]  [031]  [0x1F]  [  0  0  0  1  1  1  1  1  ]
[46]  [101]  [0x65]  [  0  1  1  0  0  1  0  1  ]
[47]  [131]  [0x83]  [  1  0  0  0  0  0  1  1  ]
Ernst79 commented 2 years ago

Sorry, took a while. I've checked the data 0709536f70686965 --> local name: Sophie 020106 --> flags 03030a18 --> UUID 04160f1864 --> service data 0f 18 64 1bff3404525462d265b543ffffffff53043e450000000000501f6583 --> manufacturer specific data

Normally the service data and the manufacturer specific data are the most interesting.

Service data 04 = length 16 = UUID16 service data 0f18 = UUID 64 = data (= 100 in decimals, perhaps battery level??)

manufacturer specific data 1b = length ff = manufacturer specific data 3404 = manufacturer id 525462d265b543ffffffff53043e450000000000501f6583 = data

hard to say what the data means or how it should be translated to readable data.

markwoodward86 commented 2 years ago

Understood. This is a light and noise machine and so I will collect some more data and let you know exactly what a) colour light i select, and b) the noise type. I will maybe send two different sets so we can differentiate the two and if that works I can always send more variations.

markwoodward86 commented 2 years ago
[BLE Scan Data Viewer]
Device Address : DC:06:41:DC:1A:B4
Raw Data : 07 09 53 6F 70 68 69 65 02 01 06 03 03 0A 18 04 16 0F 18 64 1B FF 34 04 52 54 63 18 BA 6E 43 FD D1 2D FF 53 04 FF 45 00 00 00 00 00 50 1F 65
-- Bytes --
[00]  [007]  [0x07]  [  0  0  0  0  0  1  1  1  ]
[01]  [009]  [0x09]  [  0  0  0  0  1  0  0  1  ]
[02]  [083]  [0x53]  [  0  1  0  1  0  0  1  1  ]
[03]  [111]  [0x6F]  [  0  1  1  0  1  1  1  1  ]
[04]  [112]  [0x70]  [  0  1  1  1  0  0  0  0  ]
[05]  [104]  [0x68]  [  0  1  1  0  1  0  0  0  ]
[06]  [105]  [0x69]  [  0  1  1  0  1  0  0  1  ]
[07]  [101]  [0x65]  [  0  1  1  0  0  1  0  1  ]
[08]  [002]  [0x02]  [  0  0  0  0  0  0  1  0  ]
[09]  [001]  [0x01]  [  0  0  0  0  0  0  0  1  ]
[10]  [006]  [0x06]  [  0  0  0  0  0  1  1  0  ]
[11]  [003]  [0x03]  [  0  0  0  0  0  0  1  1  ]
[12]  [003]  [0x03]  [  0  0  0  0  0  0  1  1  ]
[13]  [010]  [0x0A]  [  0  0  0  0  1  0  1  0  ]
[14]  [024]  [0x18]  [  0  0  0  1  1  0  0  0  ]
[15]  [004]  [0x04]  [  0  0  0  0  0  1  0  0  ]
[16]  [022]  [0x16]  [  0  0  0  1  0  1  1  0  ]
[17]  [015]  [0x0F]  [  0  0  0  0  1  1  1  1  ]
[18]  [024]  [0x18]  [  0  0  0  1  1  0  0  0  ]
[19]  [100]  [0x64]  [  0  1  1  0  0  1  0  0  ]
[20]  [027]  [0x1B]  [  0  0  0  1  1  0  1  1  ]
[21]  [255]  [0xFF]  [  1  1  1  1  1  1  1  1  ]
[22]  [052]  [0x34]  [  0  0  1  1  0  1  0  0  ]
[23]  [004]  [0x04]  [  0  0  0  0  0  1  0  0  ]
[24]  [082]  [0x52]  [  0  1  0  1  0  0  1  0  ]
[25]  [084]  [0x54]  [  0  1  0  1  0  1  0  0  ]
[26]  [099]  [0x63]  [  0  1  1  0  0  0  1  1  ]
[27]  [024]  [0x18]  [  0  0  0  1  1  0  0  0  ]
[28]  [186]  [0xBA]  [  1  0  1  1  1  0  1  0  ]
[29]  [110]  [0x6E]  [  0  1  1  0  1  1  1  0  ]
[30]  [067]  [0x43]  [  0  1  0  0  0  0  1  1  ]
[31]  [253]  [0xFD]  [  1  1  1  1  1  1  0  1  ]
[32]  [209]  [0xD1]  [  1  1  0  1  0  0  0  1  ]
[33]  [045]  [0x2D]  [  0  0  1  0  1  1  0  1  ]
[34]  [255]  [0xFF]  [  1  1  1  1  1  1  1  1  ]
[35]  [083]  [0x53]  [  0  1  0  1  0  0  1  1  ]
[36]  [004]  [0x04]  [  0  0  0  0  0  1  0  0  ]
[37]  [255]  [0xFF]  [  1  1  1  1  1  1  1  1  ]
[38]  [069]  [0x45]  [  0  1  0  0  0  1  0  1  ]
[39]  [000]  [0x00]  [  0  0  0  0  0  0  0  0  ]
[40]  [000]  [0x00]  [  0  0  0  0  0  0  0  0  ]
[41]  [000]  [0x00]  [  0  0  0  0  0  0  0  0  ]
[42]  [000]  [0x00]  [  0  0  0  0  0  0  0  0  ]
[43]  [000]  [0x00]  [  0  0  0  0  0  0  0  0  ]
[44]  [080]  [0x50]  [  0  1  0  1  0  0  0  0  ]
[45]  [031]  [0x1F]  [  0  0  0  1  1  1  1  1  ]
[46]  [101]  [0x65]  [  0  1  1  0  0  1  0  1  ]

This data pertains to: Light colour: yellow Light brightness: 100% Noise type: washing machine Noise level: 100% Power: on

markwoodward86 commented 2 years ago
[BLE Scan Data Viewer]
Device Address : DC:06:41:DC:1A:B4
Raw Data : 07 09 53 6F 70 68 69 65 02 01 06 03 03 0A 18 04 16 0F 18 64 1B FF 34 04 52 54 63 18 BC 5A 43 C7 79 D7 40 53 0A 84 45 00 00 00 00 00 50 1F 65
-- Bytes --
[00]  [007]  [0x07]  [  0  0  0  0  0  1  1  1  ]
[01]  [009]  [0x09]  [  0  0  0  0  1  0  0  1  ]
[02]  [083]  [0x53]  [  0  1  0  1  0  0  1  1  ]
[03]  [111]  [0x6F]  [  0  1  1  0  1  1  1  1  ]
[04]  [112]  [0x70]  [  0  1  1  1  0  0  0  0  ]
[05]  [104]  [0x68]  [  0  1  1  0  1  0  0  0  ]
[06]  [105]  [0x69]  [  0  1  1  0  1  0  0  1  ]
[07]  [101]  [0x65]  [  0  1  1  0  0  1  0  1  ]
[08]  [002]  [0x02]  [  0  0  0  0  0  0  1  0  ]
[09]  [001]  [0x01]  [  0  0  0  0  0  0  0  1  ]
[10]  [006]  [0x06]  [  0  0  0  0  0  1  1  0  ]
[11]  [003]  [0x03]  [  0  0  0  0  0  0  1  1  ]
[12]  [003]  [0x03]  [  0  0  0  0  0  0  1  1  ]
[13]  [010]  [0x0A]  [  0  0  0  0  1  0  1  0  ]
[14]  [024]  [0x18]  [  0  0  0  1  1  0  0  0  ]
[15]  [004]  [0x04]  [  0  0  0  0  0  1  0  0  ]
[16]  [022]  [0x16]  [  0  0  0  1  0  1  1  0  ]
[17]  [015]  [0x0F]  [  0  0  0  0  1  1  1  1  ]
[18]  [024]  [0x18]  [  0  0  0  1  1  0  0  0  ]
[19]  [100]  [0x64]  [  0  1  1  0  0  1  0  0  ]
[20]  [027]  [0x1B]  [  0  0  0  1  1  0  1  1  ]
[21]  [255]  [0xFF]  [  1  1  1  1  1  1  1  1  ]
[22]  [052]  [0x34]  [  0  0  1  1  0  1  0  0  ]
[23]  [004]  [0x04]  [  0  0  0  0  0  1  0  0  ]
[24]  [082]  [0x52]  [  0  1  0  1  0  0  1  0  ]
[25]  [084]  [0x54]  [  0  1  0  1  0  1  0  0  ]
[26]  [099]  [0x63]  [  0  1  1  0  0  0  1  1  ]
[27]  [024]  [0x18]  [  0  0  0  1  1  0  0  0  ]
[28]  [188]  [0xBC]  [  1  0  1  1  1  1  0  0  ]
[29]  [090]  [0x5A]  [  0  1  0  1  1  0  1  0  ]
[30]  [067]  [0x43]  [  0  1  0  0  0  0  1  1  ]
[31]  [199]  [0xC7]  [  1  1  0  0  0  1  1  1  ]
[32]  [121]  [0x79]  [  0  1  1  1  1  0  0  1  ]
[33]  [215]  [0xD7]  [  1  1  0  1  0  1  1  1  ]
[34]  [064]  [0x40]  [  0  1  0  0  0  0  0  0  ]
[35]  [083]  [0x53]  [  0  1  0  1  0  0  1  1  ]
[36]  [010]  [0x0A]  [  0  0  0  0  1  0  1  0  ]
[37]  [132]  [0x84]  [  1  0  0  0  0  1  0  0  ]
[38]  [069]  [0x45]  [  0  1  0  0  0  1  0  1  ]
[39]  [000]  [0x00]  [  0  0  0  0  0  0  0  0  ]
[40]  [000]  [0x00]  [  0  0  0  0  0  0  0  0  ]
[41]  [000]  [0x00]  [  0  0  0  0  0  0  0  0  ]
[42]  [000]  [0x00]  [  0  0  0  0  0  0  0  0  ]
[43]  [000]  [0x00]  [  0  0  0  0  0  0  0  0  ]
[44]  [080]  [0x50]  [  0  1  0  1  0  0  0  0  ]
[45]  [031]  [0x1F]  [  0  0  0  1  1  1  1  1  ]
[46]  [101]  [0x65]  [  0  1  1  0  0  1  0  1  ]

This data pertains to: Light colour: lilac Light brightness: 25% Noise type: woodland Noise level: 50% Power: on

Ernst79 commented 1 year ago

Sorry it took so long let’s first look what changes. The bytes with xx have changed.


1B FF 34 04 52 54 62 D2 65 B5 43 FF FF FF FF 53 04 3E 45 00 00 00 00 00 50 1F 65
                  xx xx xx xx    xx xx xx xx       xx
1B FF 34 04 52 54 63 18 BA 6E 43 FD D1 2D FF 53 04 FF 45 00 00 00 00 00 50 1F 65
                        xx xx    xx xx xx xx    xx xx
1B FF 34 04 52 54 63 18 BC 5A 43 C7 79 D7 40 53 0A 84 45 00 00 00 00 00 50 1F 65

I’m not sure if I can make much sense out of it FF FF generally means off, so something was off in the first message.