You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Last working Home Assistant release (if known): 0.100
Integration: Hue
Description of problem:
In #27078 we made turning lights on be limited by the same semaphore as the updates. This semaphore is 1 for sync integrations and unlimited for async integrations.
This is a problem for Hue, which is async, but cannot handle unlimited parallel requests. This results in issues like #29152 and #29087 where the Hue bridge kills incoming connections.
We need to limit the number of parallel requests to the Hue bridge and we need to do this by having HueBridge (hue/bridge.py) provide a sempahore that we can use when reaching out to the API. We should initialize it inside HueBridge.async_setup and base it on the model of the hub (bridge.api.config.modelid, values are BSB001 and BSB002 I think).
For using the semaphore with random requests, we can adopt the way we do it for Entity.async_request_call. We just pass a coro in.
For values of the semaphore, homebridge uses 3 parallel for the old bridge and 10 for the newer one (source). Let's adopt that too.
The text was updated successfully, but these errors were encountered:
Home Assistant release with the issue: 0.102
Last working Home Assistant release (if known): 0.100
Integration: Hue
Description of problem:
In #27078 we made turning lights on be limited by the same semaphore as the updates. This semaphore is 1 for sync integrations and unlimited for async integrations.
This is a problem for Hue, which is async, but cannot handle unlimited parallel requests. This results in issues like #29152 and #29087 where the Hue bridge kills incoming connections.
We need to limit the number of parallel requests to the Hue bridge and we need to do this by having
HueBridge
(hue/bridge.py
) provide a sempahore that we can use when reaching out to the API. We should initialize it insideHueBridge.async_setup
and base it on the model of the hub (bridge.api.config.modelid
, values areBSB001
andBSB002
I think).For using the semaphore with random requests, we can adopt the way we do it for
Entity.async_request_call
. We just pass a coro in.For values of the semaphore, homebridge uses 3 parallel for the old bridge and 10 for the newer one (source). Let's adopt that too.
The text was updated successfully, but these errors were encountered: