You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Сейчас при управлении устройством компонент умеет возвращать ограниченный набор ошибок ("устройство недоступно", "что-то пошло не так", "не поддерживается в текущем режиме"). УДЯ поддерживает куда больше ошибок (полный список), которая Алиса может озвучить.
Из интересных:
Недостаточно воды - мастхев для чайников, привет DIYщикам с HX711 ;)
Устройство застряло - пылесосы? (кейс придумать не могу, не владею :))
Удаленное управление устройством отключено - когда пытаешься включить кондиционер в -30 (а это очень плохая идея)
Сам HA никак не умеет возвращать адекватные ошибки при вызове сервисов, поэтому ошибку должен формировать компонент. Предлагается добавить в entity_config настройку error_code_template, в которой задавать шаблон, возвращающий код ответа. При получении команды на управление устройство этот шаблон будет рендерится (с передачей сырого capability), и если при рендеринге вернулось значение - отдавать его в качестве error_code в сторону УДЯ.
Пример как это может выглядеть:
yandex_smart_home:
entity_config:
climate.kettle:
error_code_template: |
{% if capability.type == 'devices.capabilities.on_off' and capability.state.instance == 'on' and capability.state.value %}
{% if states('sensor.kettle_water_level')|int(0) < 10 %} # тут 10 - это проценты
NOT_ENOUGH_WATER
{% endif %}
{% endif %}
Сейчас при управлении устройством компонент умеет возвращать ограниченный набор ошибок ("устройство недоступно", "что-то пошло не так", "не поддерживается в текущем режиме"). УДЯ поддерживает куда больше ошибок (полный список), которая Алиса может озвучить.
Из интересных:
Сам HA никак не умеет возвращать адекватные ошибки при вызове сервисов, поэтому ошибку должен формировать компонент. Предлагается добавить в
entity_config
настройкуerror_code_template
, в которой задавать шаблон, возвращающий код ответа. При получении команды на управление устройство этот шаблон будет рендерится (с передачей сырого capability), и если при рендеринге вернулось значение - отдавать его в качествеerror_code
в сторону УДЯ.Пример как это может выглядеть:
Содержимое
capability
для включения:The text was updated successfully, but these errors were encountered: