Skip to content

Problem with multiple sensors #89

Open
@flecmart

Description

@flecmart

Hi,

I updated the custom_component because of the breaking change in the latest home assistant release. Previously, I ran an airwave plus and and airwave mini with the custom_component for months without a problem.

After the migration only one of my sensors seem to connect. The other one becomes unavailable. Both sensors work independently but when I try to connect them both, one fails without any log in the debug log. It just says:

2022-07-16 09:04:34 DEBUG (SyncWorker_5) [custom_components.airthings_wave.sensor] Searching for Airthings sensors...
2022-07-16 09:04:34 DEBUG (SyncWorker_5) [custom_components.airthings_wave.sensor] Getting info about device(s)
2022-07-16 09:04:34 DEBUG (SyncWorker_5) [custom_components.airthings_wave.airthings] Connecting to AA:AA:AA:AA:AA:AA
2022-07-16 09:04:34 DEBUG (SyncWorker_6) [custom_components.airthings_wave.sensor] Searching for Airthings sensors...
2022-07-16 09:04:34 DEBUG (SyncWorker_6) [custom_components.airthings_wave.sensor] Getting info about device(s)
2022-07-16 09:04:34 DEBUG (SyncWorker_6) [custom_components.airthings_wave.airthings] Connecting to BB:BB:BB:BB:BB:BB
2022-07-16 09:04:37 DEBUG (SyncWorker_5) [custom_components.airthings_wave.airthings] Connected to AA:AA:AA:AA:AA:AA
2022-07-16 09:04:39 INFO (SyncWorker_5) [custom_components.airthings_wave.sensor] AA:AA:AA:AA:AA:AA: Manufacturer: Airthings AS Model: 2920 Serial: 099595 Device: Airthings Wave Mini Firmware: M-BLE-2.0.8-master+0 Hardware Rev.: REV E
2022-07-16 09:04:39 DEBUG (SyncWorker_5) [custom_components.airthings_wave.sensor] Getting sensors
2022-07-16 09:04:39 DEBUG (SyncWorker_5) [custom_components.airthings_wave.airthings] Connecting to AA:AA:AA:AA:AA:AA
2022-07-16 09:04:43 DEBUG (SyncWorker_5) [custom_components.airthings_wave.airthings] Connected to AA:AA:AA:AA:AA:AA
2022-07-16 09:04:43 DEBUG (SyncWorker_5) [custom_components.airthings_wave.airthings] 00002a29-0000-1000-8000-00805f9b34fb (Handle: 49): Manufacturer Name String
2022-07-16 09:04:43 DEBUG (SyncWorker_5) [custom_components.airthings_wave.airthings] 00002a27-0000-1000-8000-00805f9b34fb (Handle: 47): Hardware Revision String
2022-07-16 09:04:43 DEBUG (SyncWorker_5) [custom_components.airthings_wave.airthings] 00002a26-0000-1000-8000-00805f9b34fb (Handle: 45): Firmware Revision String
2022-07-16 09:04:43 DEBUG (SyncWorker_5) [custom_components.airthings_wave.airthings] 00002a25-0000-1000-8000-00805f9b34fb (Handle: 43): Serial Number String
2022-07-16 09:04:43 DEBUG (SyncWorker_5) [custom_components.airthings_wave.airthings] 00002a24-0000-1000-8000-00805f9b34fb (Handle: 41): Model Number String
2022-07-16 09:04:43 DEBUG (SyncWorker_5) [custom_components.airthings_wave.airthings] 00002a23-0000-1000-8000-00805f9b34fb (Handle: 39): System ID
2022-07-16 09:04:43 DEBUG (SyncWorker_5) [custom_components.airthings_wave.airthings] f000ffc5-0451-4000-b000-000000000000 (Handle: 34): Unknown
2022-07-16 09:04:43 DEBUG (SyncWorker_5) [custom_components.airthings_wave.airthings] f000ffc2-0451-4000-b000-000000000000 (Handle: 30): Unknown
2022-07-16 09:04:43 DEBUG (SyncWorker_5) [custom_components.airthings_wave.airthings] f000ffc1-0451-4000-b000-000000000000 (Handle: 26): Unknown
2022-07-16 09:04:43 DEBUG (SyncWorker_5) [custom_components.airthings_wave.airthings] b42e41c4-ade7-11e4-89d3-123b93f75cba (Handle: 21): Unknown
2022-07-16 09:04:43 DEBUG (SyncWorker_5) [custom_components.airthings_wave.airthings] b42e3ef4-ade7-11e4-89d3-123b93f75cba (Handle: 17): Unknown
2022-07-16 09:04:43 DEBUG (SyncWorker_5) [custom_components.airthings_wave.airthings] b42e3b98-ade7-11e4-89d3-123b93f75cba (Handle: 13): Unknown
2022-07-16 09:04:43 DEBUG (SyncWorker_5) [custom_components.airthings_wave.airthings] 00002a05-0000-1000-8000-00805f9b34fb (Handle: 9): Service Changed
2022-07-16 09:04:44 WARNING (MainThread) [homeassistant.components.sensor] Setup of sensor platform airthings_wave is taking over 10 seconds.
2022-07-16 09:04:44 WARNING (MainThread) [homeassistant.components.sensor] Setup of sensor platform airthings_wave is taking over 10 seconds.
2022-07-16 09:04:45 DEBUG (SyncWorker_5) [custom_components.airthings_wave.sensor] AA:AA:AA:AA:AA:AA: Found sensor UUID: b42e3b98-ade7-11e4-89d3-123b93f75cba Handle: 13
2022-07-16 09:04:45 DEBUG (SyncWorker_5) [custom_components.airthings_wave.sensor] Get initial sensor data to populate HA entities
2022-07-16 09:04:45 DEBUG (SyncWorker_5) [custom_components.airthings_wave.airthings] Connecting to AA:AA:AA:AA:AA:AA
2022-07-16 09:04:48 DEBUG (SyncWorker_5) [custom_components.airthings_wave.airthings] Retrying AA:AA:AA:AA:AA:AA
2022-07-16 09:04:51 DEBUG (SyncWorker_5) [custom_components.airthings_wave.airthings] Connected to AA:AA:AA:AA:AA:AA
2022-07-16 09:04:51 DEBUG (SyncWorker_5) [custom_components.airthings_wave.airthings] AA:AA:AA:AA:AA:AA Got sensordata {'date_time': '2022-07-16T09:04:51.735477', 'temperature': 25.19, 'humidity': 37.87, 'voc': 520.0}
2022-07-16 09:04:53 DEBUG (SyncWorker_5) [custom_components.airthings_wave.sensor] AA:AA:AA:AA:AA:AA: date_time: 2022-07-16T09:04:51.735477
2022-07-16 09:04:53 DEBUG (SyncWorker_5) [custom_components.airthings_wave.sensor] Added sensor entity AA:AA:AA:AA:AA:AA-date_time
2022-07-16 09:04:53 DEBUG (SyncWorker_5) [custom_components.airthings_wave.sensor] AA:AA:AA:AA:AA:AA: temperature: 25.19
2022-07-16 09:04:53 DEBUG (SyncWorker_5) [custom_components.airthings_wave.sensor] Added sensor entity AA:AA:AA:AA:AA:AA-temperature
2022-07-16 09:04:53 DEBUG (SyncWorker_5) [custom_components.airthings_wave.sensor] AA:AA:AA:AA:AA:AA: humidity: 37.87
2022-07-16 09:04:53 DEBUG (SyncWorker_5) [custom_components.airthings_wave.sensor] Added sensor entity AA:AA:AA:AA:AA:AA-humidity
2022-07-16 09:04:53 DEBUG (SyncWorker_5) [custom_components.airthings_wave.sensor] AA:AA:AA:AA:AA:AA: voc: 520.0
2022-07-16 09:04:53 DEBUG (SyncWorker_5) [custom_components.airthings_wave.sensor] Added sensor entity AA:AA:AA:AA:AA:AA-voc
2022-07-16 09:04:53 DEBUG (SyncWorker_2) [custom_components.airthings_wave.sensor] State AA:AA:AA:AA:AA:AA-date_time 2022-07-16T09:04:51.735477
2022-07-16 09:04:53 DEBUG (SyncWorker_0) [custom_components.airthings_wave.sensor] State AA:AA:AA:AA:AA:AA-temperature 25.19
2022-07-16 09:04:53 DEBUG (SyncWorker_0) [custom_components.airthings_wave.sensor] State AA:AA:AA:AA:AA:AA-humidity 37.87
2022-07-16 09:04:53 DEBUG (SyncWorker_3) [custom_components.airthings_wave.sensor] State AA:AA:AA:AA:AA:AA-voc 520.0
2022-07-16 09:05:19 WARNING (MainThread) [homeassistant.bootstrap] Waiting on integrations to complete setup: sensor.airthings_wave_2
2022-07-16 09:05:34 ERROR (MainThread) [homeassistant.components.sensor] Setup of platform airthings_wave is taking longer than 60 seconds. Startup will proceed without waiting any longer.
2022-07-16 09:07:23 DEBUG (SyncWorker_3) [custom_components.airthings_wave.airthings] Connecting to AA:AA:AA:AA:AA:AA
2022-07-16 09:07:33 WARNING (MainThread) [homeassistant.helpers.entity] Update of sensor.airthings_wave_mini_temperature is taking over 10 seconds
2022-07-16 09:07:34 DEBUG (SyncWorker_3) [custom_components.airthings_wave.airthings] Connected to AA:AA:AA:AA:AA:AA
2022-07-16 09:07:34 DEBUG (SyncWorker_3) [custom_components.airthings_wave.airthings] AA:AA:AA:AA:AA:AA Got sensordata {'date_time': '2022-07-16T09:07:34.613619', 'temperature': 25.2, 'humidity': 37.83, 'voc': 512.0}
2022-07-16 09:07:36 DEBUG (SyncWorker_3) [custom_components.airthings_wave.sensor] State AA:AA:AA:AA:AA:AA-temperature 25.2
2022-07-16 09:07:36 DEBUG (SyncWorker_9) [custom_components.airthings_wave.sensor] State AA:AA:AA:AA:AA:AA-humidity 37.83
2022-07-16 09:07:36 DEBUG (SyncWorker_2) [custom_components.airthings_wave.sensor] State AA:AA:AA:AA:AA:AA-voc 512.0
2022-07-16 09:09:53 DEBUG (SyncWorker_3) [custom_components.airthings_wave.airthings] Connecting to AA:AA:AA:AA:AA:AA
2022-07-16 09:09:55 DEBUG (SyncWorker_3) [custom_components.airthings_wave.airthings] Connected to AA:AA:AA:AA:AA:AA
2022-07-16 09:09:55 DEBUG (SyncWorker_3) [custom_components.airthings_wave.airthings] AA:AA:AA:AA:AA:AA Got sensordata {'date_time': '2022-07-16T09:09:55.913570', 'temperature': 25.2, 'humidity': 37.83, 'voc': 512.0}
2022-07-16 09:09:58 DEBUG (SyncWorker_3) [custom_components.airthings_wave.sensor] State AA:AA:AA:AA:AA:AA-temperature 25.2
2022-07-16 09:09:58 DEBUG (SyncWorker_0) [custom_components.airthings_wave.sensor] State AA:AA:AA:AA:AA:AA-humidity 37.83
2022-07-16 09:09:58 DEBUG (SyncWorker_10) [custom_components.airthings_wave.sensor] State AA:AA:AA:AA:AA:AA-voc 512.0

While it says it is connecting to Sensor A and B it actually ever connects only to A.

Did anyone try multiple sensors? I suspect some kind of race condition here caused by the switch to asyncio. Bleak has an example on how to connect to two devices at the same time: https://github.com/hbldh/bleak/blob/develop/examples/two_devices.py

Maybe this helps someone. I will try to check the code for this myself but currently I am out of free time.

Thanks for the integration :-)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions