Цифровые датчики
Ручное добавление¶
Цифровые датчики могут быть добавлены к любому устройству вручную через список 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при ручной настройке датчика