From c4247205ed2c199c734bb4343a9a3c181a2a88bb Mon Sep 17 00:00:00 2001 From: Livio Avalle Date: Thu, 15 Feb 2024 16:52:11 +0100 Subject: [PATCH] Add state_class to ring battery sensor for LTS (#109872) * Add state_class to ring battery sensor for LTS * Add test, in test_sensor.py, for state_class for battery entity; in response to comment in PR --- homeassistant/components/ring/sensor.py | 2 ++ tests/components/ring/test_sensor.py | 8 ++++++++ 2 files changed, 10 insertions(+) diff --git a/homeassistant/components/ring/sensor.py b/homeassistant/components/ring/sensor.py index 356eb1c2b9b133..32382a2f9299fa 100644 --- a/homeassistant/components/ring/sensor.py +++ b/homeassistant/components/ring/sensor.py @@ -10,6 +10,7 @@ SensorDeviceClass, SensorEntity, SensorEntityDescription, + SensorStateClass, ) from homeassistant.config_entries import ConfigEntry from homeassistant.const import ( @@ -162,6 +163,7 @@ class RingSensorEntityDescription(SensorEntityDescription, RingRequiredKeysMixin category=["doorbots", "authorized_doorbots", "stickup_cams"], native_unit_of_measurement=PERCENTAGE, device_class=SensorDeviceClass.BATTERY, + state_class=SensorStateClass.MEASUREMENT, entity_category=EntityCategory.DIAGNOSTIC, cls=RingSensor, ), diff --git a/tests/components/ring/test_sensor.py b/tests/components/ring/test_sensor.py index 5fd50f69c1374b..34b6295b740bdb 100644 --- a/tests/components/ring/test_sensor.py +++ b/tests/components/ring/test_sensor.py @@ -5,6 +5,7 @@ import requests_mock from homeassistant.components.ring.const import SCAN_INTERVAL +from homeassistant.components.sensor import ATTR_STATE_CLASS, SensorStateClass from homeassistant.const import Platform from homeassistant.core import HomeAssistant @@ -22,10 +23,17 @@ async def test_sensor(hass: HomeAssistant, requests_mock: requests_mock.Mocker) front_battery_state = hass.states.get("sensor.front_battery") assert front_battery_state is not None assert front_battery_state.state == "80" + assert ( + front_battery_state.attributes[ATTR_STATE_CLASS] == SensorStateClass.MEASUREMENT + ) front_door_battery_state = hass.states.get("sensor.front_door_battery") assert front_door_battery_state is not None assert front_door_battery_state.state == "100" + assert ( + front_door_battery_state.attributes[ATTR_STATE_CLASS] + == SensorStateClass.MEASUREMENT + ) downstairs_volume_state = hass.states.get("sensor.downstairs_volume") assert downstairs_volume_state is not None