home-assistant / core

:house_with_garden: Open source home automation that puts local control and privacy first.
https://www.home-assistant.io
Apache License 2.0
74.14k stars 31.12k forks source link

ThermoPro becomes unavailable #108946

Open rain0r opened 10 months ago

rain0r commented 10 months ago

The problem

Hi all,

I got three ThermoPro TP357S and one TP357 but they all got the same problem.

After some time (sometimes 30 minutes, sometimes a few hours) they become unavailable.

When I restart home assistant, they are available again. But again only for a limited time.

Since one of the devices sits directly on top of the host running home assistant, it shouldn't be a connectivity issue

I'm using version 2024.1.2.

From the home assistant log:

Jan 06 21:48:39 foobar systemd[2138]: Started homeassistant.service - Home Assistant.
Jan 06 21:49:54 foobar hass[1038170]: 2024-01-06 21:49:54.549 WARNING (MainThread) [homeassistant.bootstrap] Waiting on integrations to complete setup: default_config
Jan 06 21:49:55 foobar hass[1038170]: 2024-01-06 21:49:55.375 DEBUG (MainThread) [thermopro_ble.parser] Parsing thermopro BLE advertisement data: <habluetooth.models.BluetoothServiceInfoBleak object at 0x7f6271025440>
Jan 06 21:49:55 foobar hass[1038170]: 2024-01-06 21:49:55.378 DEBUG (MainThread) [thermopro_ble.parser] Parsing thermopro BLE advertisement data: <habluetooth.models.BluetoothServiceInfoBleak object at 0x7f627102cb40>
Jan 06 21:49:55 foobar hass[1038170]: 2024-01-06 21:49:55.378 DEBUG (MainThread) [thermopro_ble.parser] Parsing thermopro BLE advertisement data: <habluetooth.models.BluetoothServiceInfoBleak object at 0x7f62715919c0>
Jan 06 21:49:55 foobar hass[1038170]: 2024-01-06 21:49:55.378 DEBUG (MainThread) [thermopro_ble.parser] Parsing thermopro BLE advertisement data: <habluetooth.models.BluetoothServiceInfoBleak object at 0x7f62716653c0>
Jan 06 22:42:55 foobar systemd[2138]: Stopping homeassistant.service - Home Assistant...
Jan 06 22:42:57 foobar systemd[2138]: Stopped homeassistant.service - Home Assistant.
Jan 06 22:42:57 foobar systemd[2138]: homeassistant.service: Consumed 1min 29.837s CPU time.
Jan 06 22:42:57 foobar systemd[2138]: Started homeassistant.service - Home Assistant.
Jan 06 22:42:59 foobar hass[1043895]: 2024-01-06 22:42:59.840 DEBUG (MainThread) [thermopro_ble.parser] Parsing thermopro BLE advertisement data: <habluetooth.models.BluetoothServiceInfoBleak object at 0x7fc00d384ec0>
Jan 06 22:43:00 foobar hass[1043895]: 2024-01-06 22:43:00.014 DEBUG (MainThread) [thermopro_ble.parser] Parsing thermopro BLE advertisement data: <habluetooth.models.BluetoothServiceInfoBleak object at 0x7fbfda3b1b40>
Jan 06 22:43:00 foobar hass[1043895]: 2024-01-06 22:43:00.110 DEBUG (MainThread) [thermopro_ble.parser] Parsing thermopro BLE advertisement data: <habluetooth.models.BluetoothServiceInfoBleak object at 0x7fbfda3b2540>
Jan 06 22:43:02 foobar hass[1043895]: 2024-01-06 22:43:02.806 DEBUG (MainThread) [thermopro_ble.parser] Parsing thermopro BLE advertisement data: <habluetooth.models.BluetoothServiceInfoBleak object at 0x7fbfd8a49640>
Jan 06 22:43:05 foobar hass[1043895]: 2024-01-06 22:43:05.073 DEBUG (MainThread) [thermopro_ble.parser] Parsing thermopro BLE advertisement data: <habluetooth.models.BluetoothServiceInfoBleak object at 0x7fbfd9a04340>

What version of Home Assistant Core has the issue?

2024.1.2

What was the last working version of Home Assistant Core?

No response

What type of installation are you running?

Home Assistant Core

Integration causing the issue

No response

Link to integration documentation on our website

https://www.home-assistant.io/integrations/thermopro/

Diagnostics information

No response

Example YAML snippet

No response

Anything in the logs that might be useful for us?

No response

Additional information

No response

home-assistant[bot] commented 10 months ago

Hey there @bdraco, @h3ss, mind taking a look at this issue as it has been labeled with an integration (thermopro) you are listed as a code owner for? Thanks!

Code owner commands Code owners of `thermopro` can trigger bot actions by commenting: - `@home-assistant close` Closes the issue. - `@home-assistant rename Awesome new title` Renames the issue. - `@home-assistant reopen` Reopen the issue. - `@home-assistant unassign thermopro` Removes the current integration label and assignees on the issue, add the integration domain after the command. - `@home-assistant add-label needs-more-information` Add a label (needs-more-information, problem in dependency, problem in custom component) to the issue. - `@home-assistant remove-label needs-more-information` Remove a label (needs-more-information, problem in dependency, problem in custom component) on the issue.

(message by CodeOwnersMention)


thermopro documentation thermopro source (message by IssueLinks)

h3ss commented 10 months ago

@rain0r Do you happen to have any other BLE devices that work with Home Assistant? If so, can you test to see if they also become unavailable after a similar time period? This could help to differentiate between a problem specific to the ThermoPro integration component and an issue that may be affecting your whole Bluetooth integration.

Also, would it be possible to enable debugging on the Bluetooth integration as well so we can get some details from there? (Settings -> Devices & Services -> Bluetooth -> Enable Debug Logging)

Thanks!

rain0r commented 10 months ago

@h3ss

Unfortunately they are my only bluetooth devices that work with Home Assistant. But that's a good idea. I will see if I can find anything to try that.

Here's my debug log:

2024-01-27 20:33:40.010 DEBUG (MainThread) [homeassistant.components.bluetooth.manager] hci0 (20:C1:9B:55:93:89) [connectable]: E0:9D:13:66:44:BB AdvertisementData(local_name='[TV] Samsung S95BA 55 TV', manufacturer_data={117: b'B\x04\x01 o!\r\x00"\x017\x01\x01\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x05'}, rssi=-83) match: set()
2024-01-27 20:33:42.072 DEBUG (MainThread) [homeassistant.components.bluetooth.manager] hci0 (20:C1:9B:55:93:89) [connectable]: D0:52:0A:D1:9E:C5 AdvertisementData(local_name='TP357S (9EC5)', manufacturer_data={48578: b'\x009"\x0b\x01', 48322: b'\x009"\x0b\x01'}, rssi=-76) match: set()
2024-01-27 20:33:42.569 DEBUG (MainThread) [homeassistant.components.bluetooth.manager] hci0 (20:C1:9B:55:93:89) [connectable]: E0:9D:13:66:44:BB AdvertisementData(local_name='[TV] Samsung S95BA 55 TV', manufacturer_data={117: b'B\x04\x01\x01o\xe0\x9d\x13fD\xbb\xe2\x9d\x13fD\xba\x0b\x00\x00\x00\x00\x00\x00'}, rssi=-79) match: set()
2024-01-27 20:33:45.085 DEBUG (MainThread) [homeassistant.components.bluetooth.manager] hci0 (20:C1:9B:55:93:89) [connectable]: 40:B0:A7:B2:4E:DF AdvertisementData(manufacturer_data={76: b'\x10\x06\x07\x1dAU\xe5\x08'}, tx_power=4, rssi=-91) match: set()
2024-01-27 20:34:00.436 DEBUG (MainThread) [homeassistant.components.bluetooth.manager] hci0 (20:C1:9B:55:93:89) [connectable]: 72:C8:FC:5C:64:F6 AdvertisementData(manufacturer_data={76: b'\x10\x06t\x1e\xe5;\xa6\xc2'}, tx_power=12, rssi=-88) match: set()
2024-01-27 20:34:30.173 DEBUG (MainThread) [homeassistant.components.bluetooth.manager] hci0 (20:C1:9B:55:93:89) [connectable]: 40:B0:A7:B2:4E:DF AdvertisementData(rssi=-92) match: set()
2024-01-27 20:34:45.113 DEBUG (MainThread) [homeassistant.components.bluetooth.manager] hci0 (20:C1:9B:55:93:89) [connectable]: 5F:42:B2:DB:38:FE AdvertisementData(manufacturer_data={76: b'\x10\x07 \x1f\xcc\x9d6\xb3x'}, tx_power=12, rssi=-87) match: set()
2024-01-27 20:34:53.952 DEBUG (MainThread) [homeassistant.components.bluetooth.manager] hci0 (20:C1:9B:55:93:89) [connectable]: 19:FB:9E:2F:49:43 AdvertisementData(manufacturer_data={6: b'\x01\t "\xaf\xebo\xd4X\x84K8mo\xe2\xa2v\x13\x1di\xa97\x99\x9b`\xec;'}, rssi=-90) match: set()
2024-01-27 20:35:29.038 DEBUG (MainThread) [homeassistant.components.bluetooth.manager] hci0 (20:C1:9B:55:93:89) [connectable]: 4E:71:0D:4C:1F:25 AdvertisementData(manufacturer_data={76: b'\x10\x05\x03\x98\x97Y\xe7'}, tx_power=24, rssi=-88) match: set()
2024-01-27 20:36:20.123 DEBUG (MainThread) [homeassistant.components.bluetooth.manager] hci0 (20:C1:9B:55:93:89) [connectable]: 6C:73:39:36:FC:5A AdvertisementData(manufacturer_data={76: b'\x10\x07r\x1f\xb7\xbb\xfb\xd0\x08'}, tx_power=11, rssi=-93) match: set()
2024-01-27 20:37:34.138 DEBUG (MainThread) [homeassistant.components.bluetooth.manager] hci0 (20:C1:9B:55:93:89) [connectable]: 4C:D2:0C:2B:A6:2B AdvertisementData(manufacturer_data={76: b'\x10\x05\x0c\x98\xa2\x0eS'}, tx_power=24, rssi=-88) match: set()
2024-01-27 20:38:43.513 DEBUG (MainThread) [homeassistant.components.bluetooth.manager] hci0 (20:C1:9B:55:93:89) [connectable]: 40:02:EA:D5:CC:B1 AdvertisementData(manufacturer_data={76: b'\x10\x06\x15\x19\xc9\xb7\xca\x18'}, tx_power=3, rssi=-77) match: set()
2024-01-27 20:40:01.648 DEBUG (MainThread) [homeassistant.components.bluetooth.manager] hci0 (20:C1:9B:55:93:89) [connectable]: 60:B2:BB:41:BC:2C AdvertisementData(service_data={'0000fe9f-0000-1000-8000-00805f9b34fb': b'\x02-e5P_BpvFas\x00\x00\x01\x8dLx\xc8\n'}, service_uuids=['0000fe9f-0000-1000-8000-00805f9b34fb'], rssi=-82) match: set()
2024-01-27 20:40:02.937 DEBUG (MainThread) [homeassistant.components.bluetooth.manager] hci0 (20:C1:9B:55:93:89) [connectable]: 60:B2:BB:41:BC:2C AdvertisementData(manufacturer_data={224: b'\x00\xc2\xcapJ\xed'}, service_data={'0000fe9f-0000-1000-8000-00805f9b34fb': b'\x02-e5P_BpvFas\x00\x00\x01\x8dLx\xc8\n'}, service_uuids=['0000fe9f-0000-1000-8000-00805f9b34fb'], rssi=-86) match: set()
2024-01-27 20:40:20.090 DEBUG (MainThread) [homeassistant.components.bluetooth.manager] hci0 (20:C1:9B:55:93:89) [connectable]: 75:5A:0A:CE:80:6E AdvertisementData(manufacturer_data={76: b'\x10\x06>\x1e\xf9\x8f\x15\xf0'}, tx_power=12, rssi=-91) match: set()
2024-01-27 20:40:25.746 DEBUG (MainThread) [homeassistant.components.bluetooth.manager] hci0 (20:C1:9B:55:93:89) [connectable]: 24:C1:27:A5:C9:FC AdvertisementData(manufacturer_data={6: b'\x01\t "\xc0\xf6a\xec\x06\x07\xe0X(Xj\xa2Mq\xfagQ=\x04L\xa8$F'}, rssi=-88) match: set()
2024-01-27 20:43:07.817 DEBUG (MainThread) [homeassistant.components.bluetooth.manager] hci0 (20:C1:9B:55:93:89) [connectable]: 6C:5F:E1:A8:45:5C AdvertisementData(manufacturer_data={76: b'\x10\x06#\x1e\x92+\x9a\x12'}, tx_power=12, rssi=-92) match: set()
2024-01-27 20:43:10.663 DEBUG (MainThread) [homeassistant.components.bluetooth.manager] hci0 (20:C1:9B:55:93:89) [connectable]: 4C:D2:0C:2B:A6:2B AdvertisementData(manufacturer_data={76: b'\x10\x05\x0c\x98\xa2\x0eS'}, tx_power=24, rssi=-89) match: set()
2024-01-27 20:44:33.515 DEBUG (MainThread) [homeassistant.components.bluetooth.manager] hci0 (20:C1:9B:55:93:89) [connectable]: 45:73:2F:14:2F:5E AdvertisementData(manufacturer_data={76: b'\x10\x063\x1e\r\xde\xfa0'}, tx_power=12, rssi=-80) match: set()
2024-01-27 20:45:02.148 DEBUG (MainThread) [homeassistant.components.bluetooth.manager] hci0 (20:C1:9B:55:93:89) [connectable]: 75:5A:0A:CE:80:6E AdvertisementData(manufacturer_data={76: b'\x10\x067\x1e\xf9\x8f\x15\xf0'}, tx_power=12, rssi=-89) match: set()
2024-01-27 20:45:05.527 DEBUG (MainThread) [homeassistant.components.bluetooth.manager] hci0 (20:C1:9B:55:93:89) [connectable]: 45:73:2F:14:2F:5E AdvertisementData(manufacturer_data={76: b'\x10\x063\x1e\r\xde\xfa4'}, tx_power=12, rssi=-71) match: set()
2024-01-27 20:45:15.793 DEBUG (MainThread) [homeassistant.components.bluetooth.manager] hci0 (20:C1:9B:55:93:89) [connectable]: 75:5A:0A:CE:80:6E AdvertisementData(manufacturer_data={76: b'\x10\x06>\x1e\xf9\x8f\x15\xf0'}, tx_power=12, rssi=-90) match: set()
2024-01-27 20:45:48.776 DEBUG (MainThread) [homeassistant.components.bluetooth.manager] hci0 (20:C1:9B:55:93:89) [connectable]: 61:06:CE:E6:5C:63 AdvertisementData(manufacturer_data={76: b'\x10\x05\x0b\x98\xf9\xbe\xea'}, tx_power=24, rssi=-91) match: set()
2024-01-27 20:46:27.973 DEBUG (MainThread) [homeassistant.components.bluetooth.manager] hci0 (20:C1:9B:55:93:89) [connectable]: 45:73:2F:14:2F:5E AdvertisementData(manufacturer_data={76: b'\x10\x063\x1e\r\xde\xfa0'}, tx_power=12, rssi=-75) match: set()
2024-01-27 20:47:15.201 DEBUG (MainThread) [homeassistant.components.bluetooth.manager] hci0 (20:C1:9B:55:93:89) [connectable]: 6E:9E:F8:7F:72:DB AdvertisementData(manufacturer_data={76: b'\x10\x06I\x1d\xd0\xdd\xf6\x02'}, tx_power=2, rssi=-78) match: set()
2024-01-27 20:47:15.450 DEBUG (MainThread) [homeassistant.components.bluetooth.manager] hci0 (20:C1:9B:55:93:89) [connectable]: 44:59:91:3B:09:9C AdvertisementData(manufacturer_data={76: b'\x10\x06I\x1d\xd0\xdd\xf6\x02'}, tx_power=2, rssi=-82) match: set()
2024-01-27 20:47:15.681 DEBUG (MainThread) [homeassistant.components.bluetooth.manager] hci0 (20:C1:9B:55:93:89) [connectable]: 44:59:91:3B:09:9C AdvertisementData(manufacturer_data={76: b'\x10\x06G\x1dV\xcbQ\x02'}, tx_power=2, rssi=-84) match: set()
2024-01-27 20:47:15.696 DEBUG (MainThread) [homeassistant.components.bluetooth.manager] hci0 (20:C1:9B:55:93:89) [connectable]: 6E:9E:F8:7F:72:DB AdvertisementData(manufacturer_data={76: b'\x10\x06G\x1dV\xcbQ\x02'}, tx_power=2, rssi=-83) match: set()
2024-01-27 20:47:17.346 DEBUG (MainThread) [homeassistant.components.bluetooth.manager] hci0 (20:C1:9B:55:93:89) [connectable]: 44:59:91:3B:09:9C AdvertisementData(manufacturer_data={76: b'\x10\x06K\x1dV\xcbQ\x02'}, tx_power=2, rssi=-85) match: set()
2024-01-27 20:47:17.443 DEBUG (MainThread) [homeassistant.components.bluetooth.manager] hci0 (20:C1:9B:55:93:89) [connectable]: 6E:9E:F8:7F:72:DB AdvertisementData(manufacturer_data={76: b'\x10\x06K\x1dV\xcbQ\x02'}, tx_power=2, rssi=-71) match: set()
2024-01-27 20:47:20.653 DEBUG (MainThread) [homeassistant.components.bluetooth.manager] hci0 (20:C1:9B:55:93:89) [connectable]: 44:59:91:3B:09:9C AdvertisementData(manufacturer_data={76: b'\x10\x05K\x1cV\xcbQ'}, tx_power=2, rssi=-84) match: set()
2024-01-27 20:47:21.483 DEBUG (MainThread) [homeassistant.components.bluetooth.manager] hci0 (20:C1:9B:55:93:89) [connectable]: 6E:9E:F8:7F:72:DB AdvertisementData(manufacturer_data={76: b'\x10\x05K\x1cV\xcbQ'}, tx_power=2, rssi=-73) match: set()
2024-01-27 20:47:33.036 DEBUG (MainThread) [homeassistant.components.bluetooth.manager] hci0 (20:C1:9B:55:93:89) [connectable]: 4E:71:0D:4C:1F:25 AdvertisementData(manufacturer_data={76: b'\x10\x05\x03\x98\x97Y\xe7'}, tx_power=24, rssi=-92) match: set()
2024-01-27 20:47:47.150 DEBUG (MainThread) [homeassistant.components.bluetooth.manager] hci0 (20:C1:9B:55:93:89) [connectable]: 5F:8D:AA:4B:B4:EB AdvertisementData(manufacturer_data={76: b"\x10\x07'\x1f|\xa5\xd6m8"}, tx_power=7, rssi=-69) match: set()
2024-01-27 20:48:36.408 DEBUG (MainThread) [homeassistant.components.bluetooth.manager] hci0 (20:C1:9B:55:93:89) [connectable]: 1F:64:0E:EF:BF:3C AdvertisementData(manufacturer_data={6: b'\x01\t "S\x86\xda\x15\xbcn1\x83jw\xd9\x1c\x99\x08\xa8C\xbd\x13\xde\xdc6\\-'}, rssi=-85) match: set()
2024-01-27 20:48:47.962 DEBUG (MainThread) [homeassistant.components.bluetooth.manager] hci0 (20:C1:9B:55:93:89) [connectable]: 5F:8D:AA:4B:B4:EB AdvertisementData(manufacturer_data={76: b'\x10\x07c\x1f|\xa5\xd6m8'}, tx_power=7, rssi=-69) match: set()
2024-01-27 20:48:48.314 DEBUG (MainThread) [homeassistant.components.bluetooth.manager] hci0 (20:C1:9B:55:93:89) [connectable]: 5F:8D:AA:4B:B4:EB AdvertisementData(manufacturer_data={76: b'\x10\x07o\x1f|\xa5\xd6m8'}, tx_power=7, rssi=-60) match: set()
2024-01-27 20:48:48.458 DEBUG (MainThread) [homeassistant.components.bluetooth.manager] hci0 (20:C1:9B:55:93:89) [connectable]: 5F:8D:AA:4B:B4:EB AdvertisementData(manufacturer_data={76: b'\x10\x07o\x1f|\xa5\xd6mX'}, tx_power=7, rssi=-75) match: set()
2024-01-27 20:49:27.907 DEBUG (MainThread) [homeassistant.components.bluetooth.manager] hci0 (20:C1:9B:55:93:89) [connectable]: 4E:71:0D:4C:1F:25 AdvertisementData(manufacturer_data={76: b'\x10\x05\x03\x98\x97Y\xe7'}, tx_power=24, rssi=-91) match: set()
2024-01-27 20:50:00.608 DEBUG (MainThread) [homeassistant.components.bluetooth.manager] hci0 (20:C1:9B:55:93:89) [connectable]: 60:B2:BB:41:BC:2C AdvertisementData(manufacturer_data={224: b'\x00\xc2\xcapJ\xed'}, service_data={'0000fe9f-0000-1000-8000-00805f9b34fb': b'\x02HlRm7wKmRW4\x00\x00\x01\x8dL\x81\xef\xca'}, service_uuids=['0000fe9f-0000-1000-8000-00805f9b34fb'], rssi=-88) match: set()
2024-01-27 20:50:02.207 DEBUG (MainThread) [homeassistant.components.bluetooth.manager] hci0 (20:C1:9B:55:93:89) [connectable]: 40:45:AE:91:43:9B AdvertisementData(manufacturer_data={76: b'\x10\x077\x1f\xd5t \x9eH'}, tx_power=11, rssi=-87) match: set()
2024-01-27 20:50:57.958 DEBUG (MainThread) [homeassistant.components.bluetooth.manager] hci0 (20:C1:9B:55:93:89) [connectable]: 40:45:AE:91:43:9B AdvertisementData(manufacturer_data={76: b'\x10\x07v\x1f\xd5t \x928'}, tx_power=11, rssi=-85) match: set()
2024-01-27 20:51:06.927 DEBUG (MainThread) [homeassistant.components.bluetooth.manager] hci0 (20:C1:9B:55:93:89) [connectable]: 43:61:9B:32:CC:AF AdvertisementData(manufacturer_data={76: b'\x10\x05G\x1c\x013\xcc'}, tx_power=12, rssi=-83) match: set()
2024-01-27 20:51:14.898 DEBUG (MainThread) [homeassistant.components.bluetooth.manager] hci0 (20:C1:9B:55:93:89) [connectable]: 43:61:9B:32:CC:AF AdvertisementData(manufacturer_data={76: b'\x10\x05\x07\x18\x013\xcc'}, tx_power=12, rssi=-76) match: set()
2024-01-27 20:52:06.426 DEBUG (MainThread) [homeassistant.components.bluetooth.manager] hci0 (20:C1:9B:55:93:89) [connectable]: 51:87:0A:35:9F:C2 AdvertisementData(manufacturer_data={76: b'\x10\x07#\x1fl6\xad\x948'}, tx_power=12, rssi=-91) match: set()
2024-01-27 20:52:16.429 DEBUG (MainThread) [homeassistant.components.bluetooth.manager] hci0 (20:C1:9B:55:93:89) [connectable]: 5F:8D:AA:4B:B4:EB AdvertisementData(manufacturer_data={76: b'\x10\x07c\x1f|\xa5\xd6m\x08'}, tx_power=7, rssi=-72) match: set()
2024-01-27 20:53:21.624 DEBUG (MainThread) [homeassistant.components.bluetooth.manager] hci0 (20:C1:9B:55:93:89) [connectable]: 5F:8D:AA:4B:B4:EB AdvertisementData(manufacturer_data={76: b'\x10\x07c\x1f|\xa5\xd6m8'}, tx_power=7, rssi=-71) match: set()
2024-01-27 20:54:28.021 DEBUG (MainThread) [homeassistant.components.bluetooth.manager] hci0 (20:C1:9B:55:93:89) [connectable]: 43:61:9B:32:CC:AF AdvertisementData(manufacturer_data={76: b'\x10\x05G\x18\x013\xcc'}, tx_power=12, rssi=-78) match: set()
2024-01-27 20:54:28.040 DEBUG (MainThread) [homeassistant.components.bluetooth.manager] hci0 (20:C1:9B:55:93:89) [connectable]: 43:61:9B:32:CC:AF AdvertisementData(manufacturer_data={76: b'\x10\x05G\x1c\x013\xcc'}, tx_power=12, rssi=-77) match: set()
2024-01-27 20:54:29.804 DEBUG (MainThread) [homeassistant.components.bluetooth.manager] hci0 (20:C1:9B:55:93:89) [connectable]: 43:61:9B:32:CC:AF AdvertisementData(manufacturer_data={76: b'\x10\x05\x07\x18\x013\xcc'}, tx_power=12, rssi=-81) match: set()
2024-01-27 20:54:35.653 DEBUG (MainThread) [homeassistant.components.bluetooth.manager] hci0 (20:C1:9B:55:93:89) [connectable]: 6E:42:71:69:45:2F AdvertisementData(manufacturer_data={76: b'\x10\x05<\x1c\n:-'}, tx_power=12, rssi=-84) match: set()
2024-01-27 20:54:46.753 DEBUG (MainThread) [homeassistant.components.bluetooth.manager] hci0 (20:C1:9B:55:93:89) [connectable]: 6E:42:71:69:45:2F AdvertisementData(manufacturer_data={76: b'\x10\x058\x1c\n:-'}, tx_power=12, rssi=-82) match: set()
2024-01-27 20:54:47.039 DEBUG (MainThread) [homeassistant.components.bluetooth.manager] hci0 (20:C1:9B:55:93:89) [connectable]: 6E:42:71:69:45:2F AdvertisementData(manufacturer_data={76: b'\x10\x054\x1c\n:-'}, tx_power=12, rssi=-76) match: set()
2024-01-27 20:55:02.571 DEBUG (MainThread) [homeassistant.components.bluetooth.manager] hci0 (20:C1:9B:55:93:89) [connectable]: 5F:8D:AA:4B:B4:EB AdvertisementData(manufacturer_data={76: b"\x10\x07'\x1f|\xa5\xd6m8"}, tx_power=7, rssi=-69) match: set()
2024-01-27 20:55:23.585 DEBUG (MainThread) [homeassistant.components.bluetooth.manager] hci0 (20:C1:9B:55:93:89) [connectable]: 6E:42:71:69:45:2F AdvertisementData(manufacturer_data={76: b'\x10\x05<\x1c\n:-'}, tx_power=12, rssi=-83) match: set()
2024-01-27 20:56:45.474 DEBUG (MainThread) [homeassistant.components.bluetooth.manager] hci0 (20:C1:9B:55:93:89) [connectable]: 47:F7:84:DE:18:83 AdvertisementData(manufacturer_data={76: b'\x10\x06\x0e\x1d\xc8\x11*x'}, tx_power=4, rssi=-89) match: set()
2024-01-27 20:56:54.225 DEBUG (MainThread) [homeassistant.components.bluetooth.manager] hci0 (20:C1:9B:55:93:89) [connectable]: 64:E8:42:05:BC:69 AdvertisementData(manufacturer_data={76: b'\x10\x05\x07\x98\xbe\x1f\x86'}, tx_power=24, rssi=-88) match: set()
2024-01-27 20:57:23.361 DEBUG (MainThread) [homeassistant.components.bluetooth.manager] hci0 (20:C1:9B:55:93:89) [connectable]: 6E:42:71:69:45:2F AdvertisementData(manufacturer_data={76: b'\x10\x058\x1c\n:-'}, tx_power=12, rssi=-73) match: set()
2024-01-27 20:57:23.592 DEBUG (MainThread) [homeassistant.components.bluetooth.manager] hci0 (20:C1:9B:55:93:89) [connectable]: 6E:42:71:69:45:2F AdvertisementData(manufacturer_data={76: b'\x10\x054\x1c\n:-'}, tx_power=12, rssi=-76) match: set()
2024-01-27 20:57:37.845 DEBUG (MainThread) [homeassistant.components.bluetooth.manager] hci0 (20:C1:9B:55:93:89) [connectable]: 6E:42:71:69:45:2F AdvertisementData(manufacturer_data={76: b'\x10\x05<\x1c\n:-'}, tx_power=12, rssi=-84) match: set()
2024-01-27 20:57:53.252 DEBUG (MainThread) [homeassistant.components.bluetooth.manager] hci0 (20:C1:9B:55:93:89) [connectable]: 54:A0:B7:B7:13:2E AdvertisementData(manufacturer_data={76: b'\x10\x05\x0b\x1c6s\xcd'}, tx_power=12, rssi=-93) match: set()
2024-01-27 20:58:42.116 DEBUG (MainThread) [homeassistant.components.bluetooth.manager] hci0 (20:C1:9B:55:93:89) [connectable]: 45:A2:32:7A:D7:39 AdvertisementData(manufacturer_data={76: b'\x10\x05N\x1c1"\xaf'}, tx_power=2, rssi=-83) match: set()
2024-01-27 20:58:42.276 DEBUG (MainThread) [homeassistant.components.bluetooth.manager] hci0 (20:C1:9B:55:93:89) [connectable]: 69:BF:D9:B4:D1:9A AdvertisementData(manufacturer_data={76: b'\x10\x05N\x1c1"\xaf'}, tx_power=2, rssi=-83) match: set()
2024-01-27 20:59:04.531 DEBUG (MainThread) [homeassistant.components.bluetooth.manager] hci0 (20:C1:9B:55:93:89) [connectable]: 6E:42:71:69:45:2F AdvertisementData(manufacturer_data={76: b'\x10\x054\x1c\n:-'}, tx_power=12, rssi=-74) match: set()
2024-01-27 20:59:29.973 DEBUG (MainThread) [homeassistant.components.bluetooth.manager] hci0 (20:C1:9B:55:93:89) [connectable]: 51:87:0A:35:9F:C2 AdvertisementData(manufacturer_data={76: b'\x10\x07#\x1fl6\xad\x948'}, tx_power=12, rssi=-89) match: set()
2024-01-27 20:59:57.162 DEBUG (MainThread) [homeassistant.components.bluetooth.manager] hci0 (20:C1:9B:55:93:89) [connectable]: AC:0B:FB:68:A9:5E AdvertisementData(manufacturer_data={76: b'\x02\x15\xb9@\x7f0\xf5\xf8Fn\xaf\xf9%UkW\xfek\x00\nm9\xc5'}, rssi=-87) match: {'ibeacon'}
2024-01-27 21:00:00.913 DEBUG (MainThread) [homeassistant.components.bluetooth.manager] hci0 (20:C1:9B:55:93:89) [connectable]: 6F:5D:E4:1D:BA:49 AdvertisementData(service_data={'0000fe9f-0000-1000-8000-00805f9b34fb': b'\x02Rw2ov-5gNEU\x00\x00\x01\x8dL\x8b\x17\x8a'}, service_uuids=['0000fe9f-0000-1000-8000-00805f9b34fb'], rssi=-88) match: set()
2024-01-27 21:00:06.311 DEBUG (MainThread) [homeassistant.components.bluetooth.manager] hci0 (20:C1:9B:55:93:89) [connectable]: 6F:5D:E4:1D:BA:49 AdvertisementData(manufacturer_data={224: b'\x00\xc2\xcapJ\xed'}, service_data={'0000fe9f-0000-1000-8000-00805f9b34fb': b'\x02Rw2ov-5gNEU\x00\x00\x01\x8dL\x8b\x17\x8a'}, service_uuids=['0000fe9f-0000-1000-8000-00805f9b34fb'], rssi=-87) match: set()
2024-01-27 21:00:58.951 DEBUG (MainThread) [homeassistant.components.bluetooth.manager] hci0 (20:C1:9B:55:93:89) [connectable]: 40:45:AE:91:43:9B AdvertisementData(manufacturer_data={76: b'\x10\x077\x1f\xd5t \x9eH'}, tx_power=11, rssi=-90) match: set()
2024-01-27 21:01:18.122 DEBUG (MainThread) [homeassistant.components.bluetooth.manager] hci0 (20:C1:9B:55:93:89) [connectable]: 66:74:2A:49:BB:35 AdvertisementData(local_name='LE_WF-C500', service_data={'0000fe2c-0000-1000-8000-00805f9b34fb': b'\x00\x00'}, tx_power=-10, rssi=-78) match: set()
2024-01-27 21:02:29.622 DEBUG (MainThread) [homeassistant.components.bluetooth.manager] hci0 (20:C1:9B:55:93:89) [connectable]: 76:4A:3B:B9:83:26 AdvertisementData(manufacturer_data={76: b'\x10\x06\x06\x1a\xbc\xf3J\xf1'}, tx_power=11, rssi=-93) match: set()
2024-01-27 21:03:07.069 DEBUG (MainThread) [homeassistant.components.bluetooth.manager] hci0 (20:C1:9B:55:93:89) [connectable]: 5B:52:68:2F:97:AA AdvertisementData(manufacturer_data={76: b'\x10\x067\x1e\xba\x92+\x98'}, tx_power=12, rssi=-92) match: set()
2024-01-27 21:04:54.223 DEBUG (MainThread) [homeassistant.components.bluetooth.manager] hci0 (20:C1:9B:55:93:89) [connectable]: 64:E8:42:05:BC:69 AdvertisementData(manufacturer_data={76: b'\x10\x05\x07\x98\xbe\x1f\x86'}, tx_power=24, rssi=-90) match: set()
2024-01-27 21:05:02.842 DEBUG (MainThread) [homeassistant.components.bluetooth.manager] hci0 (20:C1:9B:55:93:89) [connectable]: 7E:CD:00:38:0E:8F AdvertisementData(manufacturer_data={76: b'\x10\x066\x1e\x86f&\xec'}, tx_power=12, rssi=-78) match: set()
2024-01-27 21:05:50.814 DEBUG (MainThread) [homeassistant.components.bluetooth.manager] hci0 (20:C1:9B:55:93:89) [connectable]: 6E:42:71:69:45:2F AdvertisementData(manufacturer_data={76: b'\x10\x05<\x1c\n:-'}, tx_power=12, rssi=-85) match: set()
2024-01-27 21:06:25.219 DEBUG (MainThread) [homeassistant.components.bluetooth.manager] hci0 (20:C1:9B:55:93:89) [connectable]: 57:22:97:88:26:D7 AdvertisementData(manufacturer_data={76: b'\x10\x05\x06\x1c\xd0(\x15'}, tx_power=5, rssi=-78) match: set()
2024-01-27 21:06:25.229 DEBUG (MainThread) [homeassistant.components.bluetooth.manager] hci0 (20:C1:9B:55:93:89) [connectable]: 60:1D:00:C7:C1:13 AdvertisementData(manufacturer_data={76: b'\x10\x05\x06\x1c\xd0(\x15'}, rssi=-78) match: set()
2024-01-27 21:06:39.118 DEBUG (MainThread) [homeassistant.components.bluetooth.manager] hci0 (20:C1:9B:55:93:89) [connectable]: 57:22:97:88:26:D7 AdvertisementData(manufacturer_data={76: b'\x10\x05\x00\x1c\xd4eb'}, tx_power=5, rssi=-83) match: set()
2024-01-27 21:06:39.138 DEBUG (MainThread) [homeassistant.components.bluetooth.manager] hci0 (20:C1:9B:55:93:89) [connectable]: 60:1D:00:C7:C1:13 AdvertisementData(manufacturer_data={76: b'\x10\x05\x00\x1c\xd4eb'}, tx_power=5, rssi=-83) match: set()
h3ss commented 10 months ago

Thanks @rain0r! I think the debug logs you shared may be quite useful.

I see logs for about 33 minutes of activity, where your device is picking up BLE advertisements from various devices the whole time.

But there's only one logged advertisement picked up from the probe, this one:

2024-01-27 20:33:42.072 DEBUG (MainThread) [homeassistant.components.bluetooth.manager] hci0 (20:C1:9B:55:93:89) [connectable]: D0:52:0A:D1:9E:C5 AdvertisementData(local_name='TP357S (9EC5)', manufacturer_data={48578: b'\x009"\x0b\x01', 48322: b'\x009"\x0b\x01'}, rssi=-76) match: set()

Do you recall about what time you saw the device go unavailable in Home Assistant? Was it after or before the last timestamp in this set of logs? Perhaps it was around 21:03?

If possible, it would be great if you could grab the logs with both of the integrations on debug mode. The way you would do this is to enable debug logging on one, then enable it on the second without disabling it on the first. Then, when you're done with the capture, you can disable it on both of them, and each one will generate a copy of the logs. Each copy should include data from both integrations' debug logging.

How stable were the temperature readings coming out of your device(s) when you ran this test? Did the temperature change or was it the same the whole way through? I ask, because I have a theory...

Because of the way ThermoPro's BLE data is encoded in the manufacturer data of its advertisements, we only pick up updates to the device when a value changes. In the case of my TP962R, that happens pretty frequently because it sends battery values in millivolts that change every minute or less. It looks like the TP357 only has three levels to its battery:

BATTERY_VALUE_TO_LEVEL = {
    0: 1,
    1: 50,
    2: 100,
}

Which means that if the temperature isn't updating, then we won't pick up any updates from the device.

Is there some internal timeout that you're aware of @bdraco where the entity would show up as unavailable if it doesn't see any updates to the sensor value? Perhaps a 30 minute timeout?

@rain0r, could you share any screenshots so we could see what this looks like? Preferably for the whole device page for one of your devices.

Thanks!

bdraco commented 10 months ago

The bluetooth stack will drop the device if it doesn't advertise for a while.

It works out how frequently the device advertises and when it stops getting them, it marks it unavailable.

h3ss commented 10 months ago

Thanks @bdraco, sounds like we're on the right track.

@rain0r, if the temperature was steady for the 30 minutes before it went unavailable, can you try a test for us? Let it disappear after 30 minutes of steady temperature, and then instead of restarting Home Assistant, do something to change the temperature of the probe. Does that make it become available again?

rain0r commented 10 months ago

@h3ss

First of all, let me thank you for your time and in-depth reply.

After changing the temperature of the probe it didn't become available again.

Then I activated the debug log and shortly after, the devices became unavailable. home-assistant_bluetooth_2024-01-29T14-49-26.050Z and home-assistant_thermopro_2024-01-29T14-49-30.724Z.

So I restarted home assistant again on 15:49:37. This time all probes were available until 16:59. home-assistant_bluetooth_2024-01-29T16-01-26.181Z and home-assistant_thermopro_2024-01-29T16-01-34.930Z.

I also attached some screenshots. home-assistant_bluetooth_2024-01-29T14-49-26.050Z.log home-assistant_bluetooth_2024-01-29T16-01-26.181Z.log home-assistant_thermopro_2024-01-29T14-49-30.724Z.log home-assistant_thermopro_2024-01-29T16-01-34.930Z.log

Screenshot 2024-01-29 at 15 46 33 Screenshot 2024-01-29 at 15 46 49 Screenshot 2024-01-29 at 19 30 15
shaivadnai commented 9 months ago

Hi All, I'm new to home assistant and I'm facing a similar issue with my TP357.

Unfortunately, in my case the temp readings received by HA decrease in frequency until such point that I notice something is wrong and restart HA.

During this time, there are large jumps/drops in temp (25 mins and 2 or 3 degrees) - so it's not as if the sensor doesnt have data to report.

I can send logs if that would be helpful in pinpointing the problem.

h3ss commented 9 months ago

@rain0r Thank you very much for sharing that information. Based on what I'm seeing, it looks like your Home Assistant instance's BLE stack stops receiving the advertisements that the integration relies on.

Can you share what Bluetooth adapter you are using? Is it one of the known working ones from the list in this article?

@shaivadnai would you also please confirm which Bluetooth adapter you are using?

I have a different ThermoPro model (TP962R) but I was encountering issues with poor performance and drop outs on my device prior to switching from an unsupported BT adapter (Edimax) to a supported high performance one (Sena UD100-G03). Now HA sees temperature changes within seconds and does not drop out even after running for several hours.

rain0r commented 9 months ago

@rain0r Thank you very much for sharing that information. Based on what I'm seeing, it looks like your Home Assistant instance's BLE stack stops receiving the advertisements that the integration relies on.

Can you share what Bluetooth adapter you are using? Is it one of the known working ones from the list in this article?

This should be my adapter: Intel Bluetooth AX201 - right?

dmesg | grep -i blue
[    2.767587] Bluetooth: Core ver 2.22
[    2.767606] NET: Registered PF_BLUETOOTH protocol family
[    2.767607] Bluetooth: HCI device and connection manager initialized
[    2.767609] Bluetooth: HCI socket layer initialized
[    2.767612] Bluetooth: L2CAP socket layer initialized
[    2.767615] Bluetooth: SCO socket layer initialized
[    2.774485] Bluetooth: hci0: Bootloader revision 0.0 build 0 week 30 2018
[    2.775481] Bluetooth: hci0: Device revision is 2
[    2.775482] Bluetooth: hci0: Secure boot is enabled
[    2.775483] Bluetooth: hci0: OTP lock is enabled
[    2.775484] Bluetooth: hci0: API lock is enabled
[    2.775484] Bluetooth: hci0: Debug lock is disabled
[    2.775485] Bluetooth: hci0: Minimum firmware build 1 week 10 2014
[    2.776735] bluetooth hci0: firmware: direct-loading firmware intel/ibt-19-0-0.sfi
[    2.776737] Bluetooth: hci0: Found device firmware: intel/ibt-19-0-0.sfi
[    2.776766] Bluetooth: hci0: Boot Address: 0x24800
[    2.776767] Bluetooth: hci0: Firmware Version: 15-45.22
[    4.063631] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
[    4.063634] Bluetooth: BNEP filters: protocol multicast
[    4.063636] Bluetooth: BNEP socket layer initialized
[    4.401637] Bluetooth: hci0: Waiting for firmware download to complete
[    4.402456] Bluetooth: hci0: Firmware loaded in 1587615 usecs
[    4.402498] Bluetooth: hci0: Waiting for device to boot
[    4.417466] Bluetooth: hci0: Device booted in 14632 usecs
[    4.419375] bluetooth hci0: firmware: direct-loading firmware intel/ibt-19-0-0.ddc
[    4.419381] Bluetooth: hci0: Found Intel DDC parameters: intel/ibt-19-0-0.ddc
[    4.421465] Bluetooth: hci0: Applying Intel DDC parameters completed
[    4.422485] Bluetooth: hci0: Firmware revision 0.0 build 15 week 45 2022
[    4.486568] Bluetooth: MGMT ver 1.22
[    6.387140] Bluetooth: RFCOMM TTY layer initialized
[    6.387147] Bluetooth: RFCOMM socket layer initialized
[    6.387151] Bluetooth: RFCOMM ver 1.11

I couldn't find any Intel modell in the list of supported devices.

h3ss commented 9 months ago

Thanks for confirming @rain0r. If possible, I would advise testing with a different Bluetooth adapter that is listed as supported by HA, or you could consider trying a Bluetooth proxy like an ESP32 device with ESPHome.

Claus65 commented 9 months ago

If the TP357 with more than one Bluetooth Network cnected, then TP357 don´t send Data. Example; TP357 conected only over ShellyPlus1PM, then send allways data. When i switch the BT on my PC on, the TP357 conect to the PC and i lost the conection to Hass.

TP357-1JPG TP357-2

thekikao commented 9 months ago

Hi all, today, I am facing the same issue with 2 out of my 3 TP357S devices. They had been functioning perfectly for the past two months. Initially, one of them became unavailable, followed by the second one after a few hours. Despite attempting reboots, they remain inaccessible, with only one still operational.

I'm using a Raspberry Pi 5 with the Pi's Bluetooth chip. Unfortunately I'm not at home and can't check the hardware or try to reconnect them.

FFX267 commented 7 months ago

Hi I have the same experience. Two TP357 devices. Worked perfectly for the past 6 weeks. After that they became unavailable. Removed them and scan for new. They work for a couple of hours, then unavailable, come back for some time and became unavailable again. HA, latest version on a Gigabyte mini pc.

issue-triage-workflows[bot] commented 4 months ago

There hasn't been any activity on this issue recently. Due to the high number of incoming GitHub notifications, we have to clean some of the old issues, as many of them have already been resolved with the latest updates. Please make sure to update to the latest Home Assistant version and check if that solves the issue. Let us know if that works for you by adding a comment 👍 This issue has now been marked as stale and will be closed if no further activity occurs. Thank you for your contributions.

s00500 commented 4 months ago

It is pretty weird, my TP358 has been working for the longest time now... but since a few weeks it is unavailable. I removed the integration and now have no chance of readding it... it still pairs fine with the thermo pro IOS app.

In the meanwhile I added the bermuda triangulation and PrivateBLE device components.... but also when disabeling these I cant get the thermopro to pair again, running homeassistant OS latest version, with latest stable HA release

Any Ideas ?

KaliPete commented 2 months ago

Any news on this? I keep having this same issue, sometimes for only one of the devices, and sometimes for all of them.

coaxx77 commented 1 month ago

I have the same problem with a few 357s . Could be the same reason @Claus65 described because I use some shellys acting as Gateway to covery the house. Wrong place here to ask, I know, but is there any other Temp tracker with BT Integration out there working better?

agittins commented 3 weeks ago

It's likely that these devices stop broadcasting once they have an active connection (I have no direct experience with them).

The HA ThermoPro integration just listens for broadcasts from the devices, it does not "connect" or "pair" with them.

The Phone apps (or maybe a PC app if you have such a thing for it) is likely to connect to the thermometer, and if it does, the thermo will probably stop broadcasting, and thus go unavailable in HA.

IF that's the case, the fix will be to ensure your apps don't connect to the thermometer (especially when running in the background), or to accept that this is just how it works. You can then use the HA companion app and HA automations to likely replace any features you might have used the app for.

Re the PC - it's possible that it's "paired" with the thermometer, and automatically connects to it on bootup, even if it's not running any particular app to talk to it.

bs76 commented 1 week ago

I use ble_monitor where TP437 work well, the only downside is missing battery level. Two TPs are in the basement having RSSI -80 and -90dB, they are caught by BT dongle on 1st floor (basement, groundfloor, 1st floor). Yesterday I switched temporarily to bluetooth integration to see if it worked (I switched to ble_monitor 6 months ago to get my TPs work). Here are my observations with bluetooth integration and ThermoPro integration:

What I found interesting was the the 3rd TP on groundfloor was scanned it showed also packets with service UUIDs an manufacurer data, I did not no such message for the basement TPs. Shelly script only sends advertisment data via HA supplied script. Could that have an effect ?

I use EDIMAX Bluetooth 5.0 USB dongle via passthrough from host to KVM HA OS guest.