1
0
mirror of https://github.com/home-assistant/core.git synced 2026-05-08 09:38:58 +01:00

NRGkick: do not update vehicle connected timestamp when vehicle is not connected (#163292)

This commit is contained in:
Andreas Jakl
2026-02-19 18:08:50 +01:00
committed by GitHub
parent 36c560b7bf
commit 6f49f9a12a
2 changed files with 29 additions and 4 deletions
+13 -4
View File
@@ -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(
+16
View File
@@ -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