Add state class to Atome Linky, use class attributes (#52107)
This commit is contained in:
parent
ed4a3d275a
commit
3bfcca2bb0
1 changed files with 18 additions and 33 deletions
|
@ -5,7 +5,11 @@ import logging
|
||||||
from pyatome.client import AtomeClient, PyAtomeError
|
from pyatome.client import AtomeClient, PyAtomeError
|
||||||
import voluptuous as vol
|
import voluptuous as vol
|
||||||
|
|
||||||
from homeassistant.components.sensor import PLATFORM_SCHEMA, SensorEntity
|
from homeassistant.components.sensor import (
|
||||||
|
PLATFORM_SCHEMA,
|
||||||
|
STATE_CLASS_MEASUREMENT,
|
||||||
|
SensorEntity,
|
||||||
|
)
|
||||||
from homeassistant.const import (
|
from homeassistant.const import (
|
||||||
CONF_NAME,
|
CONF_NAME,
|
||||||
CONF_PASSWORD,
|
CONF_PASSWORD,
|
||||||
|
@ -219,37 +223,16 @@ class AtomeSensor(SensorEntity):
|
||||||
|
|
||||||
def __init__(self, data, name, sensor_type):
|
def __init__(self, data, name, sensor_type):
|
||||||
"""Initialize the sensor."""
|
"""Initialize the sensor."""
|
||||||
self._name = name
|
self._attr_name = name
|
||||||
self._data = data
|
self._data = data
|
||||||
self._state = None
|
|
||||||
self._attributes = {}
|
|
||||||
|
|
||||||
self._sensor_type = sensor_type
|
self._sensor_type = sensor_type
|
||||||
|
|
||||||
if sensor_type == LIVE_TYPE:
|
if sensor_type == LIVE_TYPE:
|
||||||
self._unit_of_measurement = POWER_WATT
|
self._attr_unit_of_measurement = POWER_WATT
|
||||||
|
self._attr_state_class = STATE_CLASS_MEASUREMENT
|
||||||
else:
|
else:
|
||||||
self._unit_of_measurement = ENERGY_KILO_WATT_HOUR
|
self._attr_unit_of_measurement = ENERGY_KILO_WATT_HOUR
|
||||||
|
|
||||||
@property
|
|
||||||
def name(self):
|
|
||||||
"""Return the name of the sensor."""
|
|
||||||
return self._name
|
|
||||||
|
|
||||||
@property
|
|
||||||
def state(self):
|
|
||||||
"""Return the state of the sensor."""
|
|
||||||
return self._state
|
|
||||||
|
|
||||||
@property
|
|
||||||
def extra_state_attributes(self):
|
|
||||||
"""Return the state attributes."""
|
|
||||||
return self._attributes
|
|
||||||
|
|
||||||
@property
|
|
||||||
def unit_of_measurement(self):
|
|
||||||
"""Return the unit of measurement."""
|
|
||||||
return self._unit_of_measurement
|
|
||||||
|
|
||||||
def update(self):
|
def update(self):
|
||||||
"""Update device state."""
|
"""Update device state."""
|
||||||
|
@ -257,11 +240,13 @@ class AtomeSensor(SensorEntity):
|
||||||
update_function()
|
update_function()
|
||||||
|
|
||||||
if self._sensor_type == LIVE_TYPE:
|
if self._sensor_type == LIVE_TYPE:
|
||||||
self._state = self._data.live_power
|
self._attr_state = self._data.live_power
|
||||||
self._attributes["subscribed_power"] = self._data.subscribed_power
|
self._attr_extra_state_attributes = {
|
||||||
self._attributes["is_connected"] = self._data.is_connected
|
"subscribed_power": self._data.subscribed_power,
|
||||||
|
"is_connected": self._data.is_connected,
|
||||||
|
}
|
||||||
else:
|
else:
|
||||||
self._state = getattr(self._data, f"{self._sensor_type}_usage")
|
self._attr_state = getattr(self._data, f"{self._sensor_type}_usage")
|
||||||
self._attributes["price"] = getattr(
|
self._attr_extra_state_attributes = {
|
||||||
self._data, f"{self._sensor_type}_price"
|
"price": getattr(self._data, f"{self._sensor_type}_price")
|
||||||
)
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue