Entita sensor

Pro vývojáře integrací: entita sensor reprezentuje měřenou nebo odečtenou hodnotu — teplotu, vlhkost, spotřebu energie a mnoho dalšího.

Sensor poskytuje jediný stav (číselný nebo textový) a sadu atributů. Aby Richpear Home hodnotu správně zobrazil, dlouhodobě ukládal a používal ve statistikách, popíšete ji pomocí třídy zařízení, stavové třídy a měrné jednotky.

Klíčové vlastnosti

VlastnostPopis
native_valueAktuální hodnota senzoru ve výchozí jednotce.
native_unit_of_measurementMěrná jednotka hodnoty (např. °C, kWh).
device_classTřída zařízení — určuje ikonu, formátování a chování (viz níže).
state_classStavová třída pro dlouhodobé statistiky.

device_class

Třída zařízení říká, co sensor měří. Ovlivňuje ikonu, výchozí jednotku a způsob zobrazení.

device_classTypická jednotka
temperature°C, °F
humidity%
powerW, kW
energyWh, kWh
pressurehPa, bar
battery%
illuminancelx

state_class

Stavová třída řídí, jak se hodnota ukládá do dlouhodobých statistik:

  • measurement — okamžitá měřená hodnota (teplota, výkon). Ukládá se průměr/min/max.
  • total — narůstající hodnota, která se může i snížit (např. po resetu).
  • total_increasing — monotónně rostoucí počítadlo (spotřeba energie); reset se detekuje automaticky.
Energie do dlouhodobých statistik

Pro měřič spotřeby použijte device_class: energy, state_class: total_increasing a jednotku kWh. Sensor se pak objeví v energetických přehledech.

Příklad v Pythonu

from homeassistant.components.sensor import (
    SensorEntity, SensorDeviceClass, SensorStateClass,
)
from homeassistant.const import UnitOfTemperature


class TeplotaSenzor(SensorEntity):
    _attr_name = "Teplota obývák"
    _attr_device_class = SensorDeviceClass.TEMPERATURE
    _attr_state_class = SensorStateClass.MEASUREMENT
    _attr_native_unit_of_measurement = UnitOfTemperature.CELSIUS

    @property
    def native_value(self) -> float:
        return self._zarizeni.teplota
Jednotky a převody

Uvádějte hodnotu v native_unit_of_measurement. Richpear Home se postará o případný převod do jednotek, které si zvolil uživatel (např. °C ↔ °F).

Související: Autentizační API · Šablony