Add state_class = MEASUREMENT to Derivative sensor (#88408)

* Add `state_class = MEASUREMENT` to Derivative sensor

One line change per title.

* Update sensor.py

* Update tests for Derivative Sensor
This commit is contained in:
Carlos Gustavo Sarmiento 2023-02-20 14:57:58 -06:00 committed by GitHub
parent bee79e351e
commit fa2e7aa592
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 8 additions and 1 deletions

View file

@ -8,7 +8,11 @@ from typing import TYPE_CHECKING
import voluptuous as vol import voluptuous as vol
from homeassistant.components.sensor import PLATFORM_SCHEMA, SensorEntity from homeassistant.components.sensor import (
PLATFORM_SCHEMA,
SensorEntity,
SensorStateClass,
)
from homeassistant.config_entries import ConfigEntry from homeassistant.config_entries import ConfigEntry
from homeassistant.const import ( from homeassistant.const import (
ATTR_UNIT_OF_MEASUREMENT, ATTR_UNIT_OF_MEASUREMENT,
@ -131,6 +135,7 @@ class DerivativeSensor(RestoreEntity, SensorEntity):
_attr_icon = ICON _attr_icon = ICON
_attr_should_poll = False _attr_should_poll = False
_attr_state_class = SensorStateClass.MEASUREMENT
def __init__( def __init__(
self, self,

View file

@ -4,6 +4,7 @@ from math import sin
import random import random
from unittest.mock import patch from unittest.mock import patch
from homeassistant.components.sensor import ATTR_STATE_CLASS, SensorStateClass
from homeassistant.const import UnitOfPower, UnitOfTime from homeassistant.const import UnitOfPower, UnitOfTime
from homeassistant.core import HomeAssistant from homeassistant.core import HomeAssistant
from homeassistant.setup import async_setup_component from homeassistant.setup import async_setup_component
@ -78,6 +79,7 @@ async def setup_tests(hass, config, times, values, expected_state):
assert state is not None assert state is not None
assert round(float(state.state), config["sensor"]["round"]) == expected_state assert round(float(state.state), config["sensor"]["round"]) == expected_state
assert state.attributes.get(ATTR_STATE_CLASS) is SensorStateClass.MEASUREMENT
return state return state