diff --git a/homeassistant/components/nrgkick/sensor.py b/homeassistant/components/nrgkick/sensor.py index 090a1f19c3f..680de893008 100644 --- a/homeassistant/components/nrgkick/sensor.py +++ b/homeassistant/components/nrgkick/sensor.py @@ -7,6 +7,8 @@ from dataclasses import dataclass from datetime import datetime, timedelta from typing import Any, cast +from nrgkick_api import ChargingStatus + from homeassistant.components.sensor import ( SensorDeviceClass, SensorEntity, @@ -632,11 +634,18 @@ SENSORS: tuple[NRGkickSensorEntityDescription, ...] = ( key="vehicle_connected_since", translation_key="vehicle_connected_since", device_class=SensorDeviceClass.TIMESTAMP, - value_fn=lambda data: _seconds_to_stable_timestamp( - cast( - StateType, - _get_nested_dict_value(data.values, "general", "vehicle_connect_time"), + value_fn=lambda data: ( + _seconds_to_stable_timestamp( + cast( + StateType, + _get_nested_dict_value( + data.values, "general", "vehicle_connect_time" + ), + ) ) + if _get_nested_dict_value(data.values, "general", "status") + != ChargingStatus.STANDBY + else None ), ), NRGkickSensorEntityDescription( diff --git a/tests/components/nrgkick/test_sensor.py b/tests/components/nrgkick/test_sensor.py index c8ab7d4a797..b84a59f752a 100644 --- a/tests/components/nrgkick/test_sensor.py +++ b/tests/components/nrgkick/test_sensor.py @@ -67,3 +67,19 @@ async def test_cellular_and_gps_entities_are_gated_by_model_type( assert hass.states.get("sensor.nrgkick_test_cellular_mode") is None assert hass.states.get("sensor.nrgkick_test_cellular_signal_strength") is None assert hass.states.get("sensor.nrgkick_test_cellular_operator") is None + + +async def test_vehicle_connected_since_none_when_standby( + hass: HomeAssistant, + mock_config_entry: MockConfigEntry, + mock_nrgkick_api: AsyncMock, +) -> None: + """Test vehicle connected since is unknown when vehicle is not connected.""" + mock_nrgkick_api.get_values.return_value["general"]["status"] = ( + ChargingStatus.STANDBY + ) + + await setup_integration(hass, mock_config_entry, platforms=[Platform.SENSOR]) + + assert (state := hass.states.get("sensor.nrgkick_test_vehicle_connected_since")) + assert state.state == STATE_UNKNOWN