Цифровые датчики
Ручное добавление¶
Цифровые датчики могут быть добавлены к любому устройству вручную через список properties
в entity_config
. Каждый датчик содержит один или несколько параметров.
Устройство может иметь одновременно цифровые и событийные датчики.
Пример настройки датчиков
yandex_smart_home:
entity_config:
sensor.bedroom_temperature:
properties:
- type: temperature
entity: sensor.bedroom_temperature
- type: humidity
entity: sensor.bedroom_humidity
- type: co2_level
entity: sensor.bedroom_co2
- type: event.motion
entity: binary_sensor.bedroom_motion
sensor.pet_feeder:
type: pet_feeder
properties:
- type: float.food_level
attribute: pet_feeder.pet_food_left_level
Тип датчика¶
Параметр:
type
(обязательный)
Может быть задан в сокращённом или полном виде (float.X
). Полный вид желательно использовать для датчиков, которые могут быть как числовыми, так и событийными (battery_level
, food_level
, water_level
).
Тип (сокращённый) | Тип (полный) | Описание |
---|---|---|
amperage | float.amperage | Текущее потребление тока |
battery_level | float.battery_level | Уровень заряда аккумулятора (в процентах) |
co2_level | float.co2_level | Уровень углекислого газа |
electricity_meter | float.electricity_meter | Показания счетчика электроэнергии |
food_level | float.food_level | Уровень корма (в процентах) |
gas_meter | float.gas_meter | Показания счетчика газа |
heat_meter | float.heat_meter | Показания счетчика тепла |
humidity | float.humidity | Влажность |
illumination | float.illumination | Уровень освещенности |
meter | float.meter | Показания универсального счетчика |
pm1_density | float.pm1_density | Уровень загрязнения воздуха частицами PM1 |
pm2.5_density | float.pm2.5_density | Уровень загрязнения воздуха частицами PM2.5 |
pm10_density | float.pm10_density | Уровень загрязнения воздуха частицами PM10 |
power | float.power | Текущая потребляемая мощность |
pressure | float.pressure | Давление |
temperature | float.temperature | Температура |
tvoc | float.tvoc | Уровень загрязнения воздуха органическими веществами |
voltage | float.voltage | Текущее напряжение |
water_level | float.water_level | Уровень воды (в процентах) |
water_meter | float.water_meter | Показания счетчика воды |
Источник состояния (объект)¶
Параметры:
entity
и/илиattribute
Задают объект и/или его атрибут, в котором находится текущее состояние датчика. Нельзя использовать совместно с value_template
.
Описание
yandex_smart_home:
entity_config:
humidifier.room:
properties:
# Задан только атрибут, значение датчика будет взято из атрибута объекта, для которого задаются датчики
# В данном случае - атрибут current_temperature объекта humidifier.room
- type: temperature
attribute: current_temperature
# Значение датчика будет взято из состояния объекта sensor.humidifier_room_water_level
- type: float.water_level
entity: sensor.humidifier_room_water_level
# Значение датчика будет взято из атрибута current_power объекта switch.humidifier_socket
- type: power
entity: switch.humidifier_socket
attribute: current_power
Источник состояния (шаблон)¶
Параметр:
value_template
Задаёт шаблон для вычисления текущего состояние датчика. Нельзя использовать совместно с entity
и/или attribute
.
Используйте в случаях, когда в УДЯ требуется получиться значение отличное от значения в HA, и для этого не хочется создавать дополнительный датчик на шаблоне.
Не рекомендуется использовать для конвертации из одних единиц измерения в другие подробнее
Пример
Единицы измерения в HA¶
Параметр:
unit_of_measurement
Задаёт единицы измерения, в котором находится значение датчика в Home Assistant. Следует задавать, только если автоматическая конвертация значений работает неверно. В большинстве случаев использовать этот параметр не требуется.
Альтернативные способы задать единицы измерения:
- Параметр
device_class
при создании датчика на шаблоне - Настройки объекта на странице
Настройки
→Устройства и службы
→Объекты
Пример
Возможные значения unit_of_measurement
(регистр важен):
Тип | unit_of_measurement |
---|---|
amperage | A , mA |
power | W , kW |
pressure | atm , Pa , hPa , kPa , bar , cbar , mbar , mmHg , inHg , psi |
temperature | °C , °F , K |
tvoc | µg/m³ , mg/m³ , μg/ft³ , p/m³ , ppm , ppb |
voltage | V , mV |
Единицы измерения в УДЯ¶
Параметр:
target_unit_of_measurement
Задаёт единицы измерения, в которых значение датчика должно быть представлено в УДЯ. Поддерживается только для температуры и давления.
Следует использовать в тех редких случаях, когда вам хочется, чтобы единицы измерения не совпадали между HA и УДЯ. Например: в HA давление в паскалях, а в УДЯ нужно в мм. рт. ст.
Пример
Конвертация значений¶
Единицы измерения значения датчика в УДЯ фиксированы и не могут быть произвольными:
Тип | Единицы измерения |
---|---|
amperage | Всегда амперы |
battery_level | Всегда проценты |
co2_level | Всегда миллионные доли (ppm) |
food_level | Всегда проценты |
humidity | Всегда проценты |
illumination | Всегда люксы |
pm1_density pm2.5_density pm10_density |
Всегда мкг/м³ |
power | Всегда ватты |
pressure | На выбор: атмосферы, паскали, бары, мм рт. ст. |
temperature | На выбор: градусы по цельсию, кельвины |
tvoc | Всегда мкг/м³ |
voltage | Всегда вольты |
water_level | Всегда проценты |
Компонент автоматически выполняет конвертацию значений из единиц измерения в HA в единицы измерения в УДЯ.
Если в HA используется значение в единцах, поддерживаемых УДЯ - конвертация выполнена не будет (например если в HA давление в барах, то и в УДЯ оно будет передано в барах).
Изменение единиц измерения¶
В некоторых случаях компонент не может сам определить, в каких единицах измерения находится значение датчика. В этом случае значение может быть сконвертировано неверно.
Несколько способов исправить эту ситуацию:
- Задать верные единицы измерения через
device_class
при создании датчика на шаблоне - Задать верные единицы измерения в настройках объекта на странице
Настройки
→Устройства и службы
→Объекты
- Использовать параметр
unit_of_measurement
при ручной настройке датчика