diff --git a/homeassistant/components/sensor/__init__.py b/homeassistant/components/sensor/__init__.py index 2bbcf3b119d..2c0d75ff471 100644 --- a/homeassistant/components/sensor/__init__.py +++ b/homeassistant/components/sensor/__init__.py @@ -404,10 +404,10 @@ class SensorEntity(Entity): value = value.astimezone(timezone.utc) return value.isoformat(timespec="seconds") - except (AttributeError, TypeError) as err: + except (AttributeError, OverflowError, TypeError) as err: raise ValueError( - f"Invalid datetime: {self.entity_id} has a timestamp device class " - f"but does not provide a datetime state but {type(value)}" + f"Invalid datetime: {self.entity_id} has timestamp device class " + f"but provides state {value}:{type(value)} resulting in '{err}'" ) from err # Received a date value @@ -419,8 +419,8 @@ class SensorEntity(Entity): return value.isoformat() except (AttributeError, TypeError) as err: raise ValueError( - f"Invalid date: {self.entity_id} has a date device class " - f"but does not provide a date state but {type(value)}" + f"Invalid date: {self.entity_id} has date device class " + f"but provides state {value}:{type(value)} resulting in '{err}'" ) from err if ( diff --git a/tests/components/sensor/test_init.py b/tests/components/sensor/test_init.py index 4a3d0202c91..0bae8235ff9 100644 --- a/tests/components/sensor/test_init.py +++ b/tests/components/sensor/test_init.py @@ -183,8 +183,8 @@ async def test_deprecated_datetime_str( await hass.async_block_till_done() assert ( - f"Invalid {provides}: sensor.test has a {device_class} device class " - f"but does not provide a {provides} state but {type(state_value)}" + f"Invalid {provides}: sensor.test has {device_class} device class " + f"but provides state {state_value}:{type(state_value)}" ) in caplog.text