Add statistics for emoncms power and energy feeds (#55109)
parent
703c8f56f3
commit
ab6be2890a
homeassistant/components/emoncms
|
@ -5,7 +5,12 @@ import logging
|
|||
import requests
|
||||
import voluptuous as vol
|
||||
|
||||
from homeassistant.components.sensor import PLATFORM_SCHEMA, SensorEntity
|
||||
from homeassistant.components.sensor import (
|
||||
PLATFORM_SCHEMA,
|
||||
STATE_CLASS_MEASUREMENT,
|
||||
STATE_CLASS_TOTAL_INCREASING,
|
||||
SensorEntity,
|
||||
)
|
||||
from homeassistant.const import (
|
||||
CONF_API_KEY,
|
||||
CONF_ID,
|
||||
|
@ -13,6 +18,8 @@ from homeassistant.const import (
|
|||
CONF_UNIT_OF_MEASUREMENT,
|
||||
CONF_URL,
|
||||
CONF_VALUE_TEMPLATE,
|
||||
DEVICE_CLASS_ENERGY,
|
||||
DEVICE_CLASS_POWER,
|
||||
HTTP_OK,
|
||||
POWER_WATT,
|
||||
STATE_UNKNOWN,
|
||||
|
@ -149,6 +156,13 @@ class EmonCmsSensor(SensorEntity):
|
|||
self._sensorid = sensorid
|
||||
self._elem = elem
|
||||
|
||||
if unit_of_measurement == "kWh":
|
||||
self._attr_device_class = DEVICE_CLASS_ENERGY
|
||||
self._attr_state_class = STATE_CLASS_TOTAL_INCREASING
|
||||
elif unit_of_measurement == "W":
|
||||
self._attr_device_class = DEVICE_CLASS_POWER
|
||||
self._attr_state_class = STATE_CLASS_MEASUREMENT
|
||||
|
||||
if self._value_template is not None:
|
||||
self._state = self._value_template.render_with_possible_json_value(
|
||||
elem["value"], STATE_UNKNOWN
|
||||
|
|
Loading…
Reference in New Issue