mirror of
https://github.com/home-assistant/core.git
synced 2025-07-24 21:57:51 +00:00
Allow duplicate state updates when force_update is set on an esphome sensor (#92553)
* Allow duplicate states when force_update is set on an esphome sensor fixes #91221 * Update homeassistant/components/esphome/entry_data.py Co-authored-by: pdw-mb <pdw@mythic-beasts.com> --------- Co-authored-by: pdw-mb <pdw@mythic-beasts.com>
This commit is contained in:
parent
6dd88a767b
commit
3f630493ff
@ -25,6 +25,7 @@ from aioesphomeapi import (
|
|||||||
NumberInfo,
|
NumberInfo,
|
||||||
SelectInfo,
|
SelectInfo,
|
||||||
SensorInfo,
|
SensorInfo,
|
||||||
|
SensorState,
|
||||||
SwitchInfo,
|
SwitchInfo,
|
||||||
TextSensorInfo,
|
TextSensorInfo,
|
||||||
UserService,
|
UserService,
|
||||||
@ -240,9 +241,18 @@ class RuntimeEntryData:
|
|||||||
current_state_by_type = self.state[state_type]
|
current_state_by_type = self.state[state_type]
|
||||||
current_state = current_state_by_type.get(key, _SENTINEL)
|
current_state = current_state_by_type.get(key, _SENTINEL)
|
||||||
subscription_key = (state_type, key)
|
subscription_key = (state_type, key)
|
||||||
if current_state == state and subscription_key not in stale_state:
|
if (
|
||||||
|
current_state == state
|
||||||
|
and subscription_key not in stale_state
|
||||||
|
and not (
|
||||||
|
type(state) is SensorState # pylint: disable=unidiomatic-typecheck
|
||||||
|
and (platform_info := self.info.get(Platform.SENSOR))
|
||||||
|
and (entity_info := platform_info.get(state.key))
|
||||||
|
and (cast(SensorInfo, entity_info)).force_update
|
||||||
|
)
|
||||||
|
):
|
||||||
_LOGGER.debug(
|
_LOGGER.debug(
|
||||||
"%s: ignoring duplicate update with and key %s: %s",
|
"%s: ignoring duplicate update with key %s: %s",
|
||||||
self.name,
|
self.name,
|
||||||
key,
|
key,
|
||||||
state,
|
state,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user