mirror of
https://github.com/home-assistant/core.git
synced 2025-07-23 13:17:32 +00:00
Correct checks for non-finite numbers in ESPHome (#98102)
This commit is contained in:
parent
8912b19cf4
commit
8b99d4678f
@ -105,8 +105,8 @@ def esphome_state_property(
|
||||
if not self._has_state:
|
||||
return None
|
||||
val = func(self)
|
||||
if isinstance(val, float) and math.isnan(val):
|
||||
# Home Assistant doesn't use NAN values in state machine
|
||||
if isinstance(val, float) and not math.isfinite(val):
|
||||
# Home Assistant doesn't use NaN or inf values in state machine
|
||||
# (not JSON serializable)
|
||||
return None
|
||||
return val
|
||||
|
@ -73,7 +73,7 @@ class EsphomeNumber(EsphomeEntity[NumberInfo, NumberState], NumberEntity):
|
||||
def native_value(self) -> float | None:
|
||||
"""Return the state of the entity."""
|
||||
state = self._state
|
||||
if state.missing_state or math.isnan(state.state):
|
||||
if state.missing_state or not math.isfinite(state.state):
|
||||
return None
|
||||
return state.state
|
||||
|
||||
|
@ -96,7 +96,7 @@ class EsphomeSensor(EsphomeEntity[SensorInfo, SensorState], SensorEntity):
|
||||
def native_value(self) -> datetime | str | None:
|
||||
"""Return the state of the entity."""
|
||||
state = self._state
|
||||
if math.isnan(state.state) or state.missing_state:
|
||||
if state.missing_state or not math.isfinite(state.state):
|
||||
return None
|
||||
if self._attr_device_class == SensorDeviceClass.TIMESTAMP:
|
||||
return dt_util.utc_from_timestamp(state.state)
|
||||
|
Loading…
x
Reference in New Issue
Block a user