mirror of
https://github.com/home-assistant/core.git
synced 2025-07-23 21:27:38 +00:00
Set state_class for demo sensor (#50523)
This commit is contained in:
parent
38a0cf6650
commit
216b0df908
@ -1,5 +1,5 @@
|
|||||||
"""Demo platform that has a couple of fake sensors."""
|
"""Demo platform that has a couple of fake sensors."""
|
||||||
from homeassistant.components.sensor import SensorEntity
|
from homeassistant.components.sensor import STATE_CLASS_MEASUREMENT, SensorEntity
|
||||||
from homeassistant.const import (
|
from homeassistant.const import (
|
||||||
ATTR_BATTERY_LEVEL,
|
ATTR_BATTERY_LEVEL,
|
||||||
CONCENTRATION_PARTS_PER_MILLION,
|
CONCENTRATION_PARTS_PER_MILLION,
|
||||||
@ -23,6 +23,7 @@ async def async_setup_platform(hass, config, async_add_entities, discovery_info=
|
|||||||
"Outside Temperature",
|
"Outside Temperature",
|
||||||
15.6,
|
15.6,
|
||||||
DEVICE_CLASS_TEMPERATURE,
|
DEVICE_CLASS_TEMPERATURE,
|
||||||
|
STATE_CLASS_MEASUREMENT,
|
||||||
TEMP_CELSIUS,
|
TEMP_CELSIUS,
|
||||||
12,
|
12,
|
||||||
),
|
),
|
||||||
@ -31,6 +32,7 @@ async def async_setup_platform(hass, config, async_add_entities, discovery_info=
|
|||||||
"Outside Humidity",
|
"Outside Humidity",
|
||||||
54,
|
54,
|
||||||
DEVICE_CLASS_HUMIDITY,
|
DEVICE_CLASS_HUMIDITY,
|
||||||
|
STATE_CLASS_MEASUREMENT,
|
||||||
PERCENTAGE,
|
PERCENTAGE,
|
||||||
None,
|
None,
|
||||||
),
|
),
|
||||||
@ -39,6 +41,7 @@ async def async_setup_platform(hass, config, async_add_entities, discovery_info=
|
|||||||
"Carbon monoxide",
|
"Carbon monoxide",
|
||||||
54,
|
54,
|
||||||
DEVICE_CLASS_CO,
|
DEVICE_CLASS_CO,
|
||||||
|
STATE_CLASS_MEASUREMENT,
|
||||||
CONCENTRATION_PARTS_PER_MILLION,
|
CONCENTRATION_PARTS_PER_MILLION,
|
||||||
None,
|
None,
|
||||||
),
|
),
|
||||||
@ -47,6 +50,7 @@ async def async_setup_platform(hass, config, async_add_entities, discovery_info=
|
|||||||
"Carbon dioxide",
|
"Carbon dioxide",
|
||||||
54,
|
54,
|
||||||
DEVICE_CLASS_CO2,
|
DEVICE_CLASS_CO2,
|
||||||
|
STATE_CLASS_MEASUREMENT,
|
||||||
CONCENTRATION_PARTS_PER_MILLION,
|
CONCENTRATION_PARTS_PER_MILLION,
|
||||||
14,
|
14,
|
||||||
),
|
),
|
||||||
@ -63,15 +67,23 @@ class DemoSensor(SensorEntity):
|
|||||||
"""Representation of a Demo sensor."""
|
"""Representation of a Demo sensor."""
|
||||||
|
|
||||||
def __init__(
|
def __init__(
|
||||||
self, unique_id, name, state, device_class, unit_of_measurement, battery
|
self,
|
||||||
|
unique_id,
|
||||||
|
name,
|
||||||
|
state,
|
||||||
|
device_class,
|
||||||
|
state_class,
|
||||||
|
unit_of_measurement,
|
||||||
|
battery,
|
||||||
):
|
):
|
||||||
"""Initialize the sensor."""
|
"""Initialize the sensor."""
|
||||||
self._unique_id = unique_id
|
self._battery = battery
|
||||||
|
self._device_class = device_class
|
||||||
self._name = name
|
self._name = name
|
||||||
self._state = state
|
self._state = state
|
||||||
self._device_class = device_class
|
self._state_class = state_class
|
||||||
|
self._unique_id = unique_id
|
||||||
self._unit_of_measurement = unit_of_measurement
|
self._unit_of_measurement = unit_of_measurement
|
||||||
self._battery = battery
|
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def device_info(self):
|
def device_info(self):
|
||||||
@ -99,6 +111,11 @@ class DemoSensor(SensorEntity):
|
|||||||
"""Return the device class of the sensor."""
|
"""Return the device class of the sensor."""
|
||||||
return self._device_class
|
return self._device_class
|
||||||
|
|
||||||
|
@property
|
||||||
|
def state_class(self):
|
||||||
|
"""Return the state class of the sensor."""
|
||||||
|
return self._state_class
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def name(self):
|
def name(self):
|
||||||
"""Return the name of the sensor."""
|
"""Return the name of the sensor."""
|
||||||
|
@ -47,14 +47,14 @@ async def prometheus_client(hass, hass_client):
|
|||||||
)
|
)
|
||||||
|
|
||||||
sensor1 = DemoSensor(
|
sensor1 = DemoSensor(
|
||||||
None, "Television Energy", 74, None, ENERGY_KILO_WATT_HOUR, None
|
None, "Television Energy", 74, None, None, ENERGY_KILO_WATT_HOUR, None
|
||||||
)
|
)
|
||||||
sensor1.hass = hass
|
sensor1.hass = hass
|
||||||
sensor1.entity_id = "sensor.television_energy"
|
sensor1.entity_id = "sensor.television_energy"
|
||||||
await sensor1.async_update_ha_state()
|
await sensor1.async_update_ha_state()
|
||||||
|
|
||||||
sensor2 = DemoSensor(
|
sensor2 = DemoSensor(
|
||||||
None, "Radio Energy", 14, DEVICE_CLASS_POWER, ENERGY_KILO_WATT_HOUR, None
|
None, "Radio Energy", 14, DEVICE_CLASS_POWER, None, ENERGY_KILO_WATT_HOUR, None
|
||||||
)
|
)
|
||||||
sensor2.hass = hass
|
sensor2.hass = hass
|
||||||
sensor2.entity_id = "sensor.radio_energy"
|
sensor2.entity_id = "sensor.radio_energy"
|
||||||
@ -65,13 +65,19 @@ async def prometheus_client(hass, hass_client):
|
|||||||
await sensor2.async_update_ha_state()
|
await sensor2.async_update_ha_state()
|
||||||
|
|
||||||
sensor3 = DemoSensor(
|
sensor3 = DemoSensor(
|
||||||
None, "Electricity price", 0.123, None, f"SEK/{ENERGY_KILO_WATT_HOUR}", None
|
None,
|
||||||
|
"Electricity price",
|
||||||
|
0.123,
|
||||||
|
None,
|
||||||
|
None,
|
||||||
|
f"SEK/{ENERGY_KILO_WATT_HOUR}",
|
||||||
|
None,
|
||||||
)
|
)
|
||||||
sensor3.hass = hass
|
sensor3.hass = hass
|
||||||
sensor3.entity_id = "sensor.electricity_price"
|
sensor3.entity_id = "sensor.electricity_price"
|
||||||
await sensor3.async_update_ha_state()
|
await sensor3.async_update_ha_state()
|
||||||
|
|
||||||
sensor4 = DemoSensor(None, "Wind Direction", 25, None, DEGREE, None)
|
sensor4 = DemoSensor(None, "Wind Direction", 25, None, None, DEGREE, None)
|
||||||
sensor4.hass = hass
|
sensor4.hass = hass
|
||||||
sensor4.entity_id = "sensor.wind_direction"
|
sensor4.entity_id = "sensor.wind_direction"
|
||||||
await sensor4.async_update_ha_state()
|
await sensor4.async_update_ha_state()
|
||||||
@ -81,6 +87,7 @@ async def prometheus_client(hass, hass_client):
|
|||||||
"SPS30 PM <1µm Weight concentration",
|
"SPS30 PM <1µm Weight concentration",
|
||||||
3.7069,
|
3.7069,
|
||||||
None,
|
None,
|
||||||
|
None,
|
||||||
CONCENTRATION_MICROGRAMS_PER_CUBIC_METER,
|
CONCENTRATION_MICROGRAMS_PER_CUBIC_METER,
|
||||||
None,
|
None,
|
||||||
)
|
)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user