Научим Home Assistant управлять диммером Noolite SU, через Ethernet-шлюз Ноолайт PR1132.
Сначала добавим
input_number в
configuration.yaml:
####################################################
# Ночник в спальне #
####################################################
input_number:
light_level:
name: "яркость ночник" # имя
min: 0 # значение ОТ
max: 60 # значение ДО
step: 10 # шаг
У нас ночник будет регулировать яркость от 0 до 60% с шагом 10%.
Туда же добавляем
shell command:
shell_command:
dimer_nochnik_0: '/usr/bin/curl -s "http://192.168.0.8/api.htm?ch=5&cmd=0"'
dimer_nochnik_10: '/usr/bin/curl -s "http://192.168.0.8/api.htm?ch=5&cmd=6&br=10"'
dimer_nochnik_20: '/usr/bin/curl -s "http://192.168.0.8/api.htm?ch=5&cmd=6&br=20"'
dimer_nochnik_30: '/usr/bin/curl -s "http://192.168.0.8/api.htm?ch=5&cmd=6&br=30"'
dimer_nochnik_40: '/usr/bin/curl -s "http://192.168.0.8/api.htm?ch=5&cmd=6&br=40"'
dimer_nochnik_50: '/usr/bin/curl -s "http://192.168.0.8/api.htm?ch=5&cmd=6&br=50"'
dimer_nochnik_60: '/usr/bin/curl -s "http://192.168.0.8/api.htm?ch=5&cmd=6&br=60"'
Перезагружаем инстанс и добавляем карточку в Lovelace:
Теперь нам нужно создать автоматизацию.
Прицип работы всей этой схемы такой.
При перемещении ползунка
input_number light_level в карточке Lovelace срабатывает автоматизация (input_number - будет триггером), которая запускает shell command, которая в свою очередь формирует и отправляет HTTP запрос на Ethernet-шлюз Ноолайт PR1132, который в свою очередь, получив такой запрос, выставляет нужную яркость на силовом блоке Noolite SU. Напишем такую автоматизацию:
alias: Ночник в спальне (диммер)
description: Регулировка яркости
trigger:
- platform: state
entity_id: input_number.light_level
condition: []
action:
- service: shell_command.dimer_nochnik_{{ states('input_number.light_level') | int }}
mode: single
Все просто)
Тут в Твиттере подсказали, что можно намного проще все сделать:
####################################################
# Ночник в спальне #
####################################################
input_number:
light_level:
name: "яркость ночник" # имя
min: 0 # значение ОТ
max: 100 # значение ДО
step: 10 # шаг
automation:
- alias: Регулировка яркости диммера Noolite
trigger:
platform: state
entity_id: input_number.light_level
action:
service: shell_command.set_dimmer_level
shell_command:
set_dimmer_level: '/usr/bin/curl -s "http://192.168.0.8/api.htm?ch=5&cmd={{ states("input_number.light_level") | int }}"'
И как я читал документацию по
Shell Command Home Assistant. Там даже есть такой пример..