Fix binary_sensor async_update (#14376)
parent
eb2671f4bb
commit
6e831138b4
|
@ -133,7 +133,8 @@ class BinarySensor(zha.Entity, BinarySensorDevice):
|
||||||
from bellows.types.basic import uint16_t
|
from bellows.types.basic import uint16_t
|
||||||
|
|
||||||
result = await zha.safe_read(self._endpoint.ias_zone,
|
result = await zha.safe_read(self._endpoint.ias_zone,
|
||||||
['zone_status'])
|
['zone_status'],
|
||||||
|
allow_cache=False)
|
||||||
state = result.get('zone_status', self._state)
|
state = result.get('zone_status', self._state)
|
||||||
if isinstance(state, (int, uint16_t)):
|
if isinstance(state, (int, uint16_t)):
|
||||||
self._state = result.get('zone_status', self._state) & 3
|
self._state = result.get('zone_status', self._state) & 3
|
||||||
|
|
|
@ -410,7 +410,7 @@ def get_discovery_info(hass, discovery_info):
|
||||||
return all_discovery_info.get(discovery_key, None)
|
return all_discovery_info.get(discovery_key, None)
|
||||||
|
|
||||||
|
|
||||||
async def safe_read(cluster, attributes):
|
async def safe_read(cluster, attributes, allow_cache=True):
|
||||||
"""Swallow all exceptions from network read.
|
"""Swallow all exceptions from network read.
|
||||||
|
|
||||||
If we throw during initialization, setup fails. Rather have an entity that
|
If we throw during initialization, setup fails. Rather have an entity that
|
||||||
|
@ -420,7 +420,7 @@ async def safe_read(cluster, attributes):
|
||||||
try:
|
try:
|
||||||
result, _ = await cluster.read_attributes(
|
result, _ = await cluster.read_attributes(
|
||||||
attributes,
|
attributes,
|
||||||
allow_cache=True,
|
allow_cache=allow_cache,
|
||||||
)
|
)
|
||||||
return result
|
return result
|
||||||
except Exception: # pylint: disable=broad-except
|
except Exception: # pylint: disable=broad-except
|
||||||
|
|
Loading…
Reference in New Issue