Сначала добавим датчик температуры Broadlink в Home Assistant
Узнаем ip Broadlink и его mac, и в sensors.yaml добавляем:
####################################################
# Broadlink #
####################################################
#Датчик темп., Broadlink
- platform: broadlink
host: 192.168.1.104
mac: 'a1:b2:3d:ee:45:67'
monitored_conditions:
- 'temperature'
Перезагружаем Home Assistant, появится новый датчик температуры:
Теперь добавим возможность управлять обучением/отправкой пакетов через Broadlink.
в switches.yaml добавляем:
####################################################
# Broadlink #
####################################################
#Broadlink спальня
- platform: broadlink
host: 192.168.1.104
mac: 'a1:b2:3d:ee:45:67'
После перезапуска Home Assistant в Инструменты разработчика > Службы выбираем switch.broadlink_learn_command_192_168_1_104 :
Теперь, при нажатии CALL SERVICE, Broadlink перейдет в режим обучения (загорится оранжевый светодиод). Жмем кнопку на пульте — и через секунду в основной вкладке Home появится карточка с кодом пакета. Мне удобно вытащить его через Chrome > Просмотреть код:
Теперь в switches.yaml можно дописать команды включения и выключения кондиционера. В итоге код #Broadlink# должен получится вот такой:
####################################################
# Broadlink #
####################################################
#Broadlink спальня
- platform: broadlink
host: 192.168.1.104
mac: 'a1:b2:3d:ee:45:67'
switches:
#---Кондиционер---#
#Вкл, выкл
conditioning_bedroom:
command_on: 'JgDmAGY3EiETIRMJEgoSChIiEAAA='
command_off: 'JgDmAGU5ECQPIhILEQ0RCxAjEAAA='
После перезапуска Home Assistant появится выключатель:
Включать и выключать кондиционер (или любую другую технику) мы теперь можем. Но хочется более интуитивного и информативного переключателя.
Я нашел вот такой пользовательский компонент:
Который выглядит вот так:
Чтобы такое настроить, нам нужно выкачать из репозитория сам компонент (broadlink.py из custom_components/climate/ ) и положить его в Home Assistant в папку custom_components/climate/
В итоге это выглядит следующим образом:
А в корне папки config создать папку broadlink_climate_codes и положить туда .ini файл с командами. Предварительно нужно записать все команды (заменить на свои) или, если ваш кондиционер присутствует в готовых ini файлах, то положить нужный. У меня это выглядит так:
Мне пришлось самому составлять свой .ini файл под свой кондиционер.
Теперь в climate.yaml создадим термостат:
- platform: broadlink
name: bedroom_erisson_ac
host: 192.168.1.104
mac: 'a1:b2:3d:ee:45:67'
ircodes_ini: 'broadlink_climate_codes/erisson.ini'
min_temp: 18
max_temp: 24
target_temp: 22
temp_sensor: sensor.broadlink_sensor_temperature
default_operation: off
default_fan_mode: low
customize:
operations:
- 'off'
- 'on'
- cool
- feel
fan_modes:
- low
- mid
- high
- auto
Указав на датчик температуры. У меня это датчик от самого Broadlink: sensor.broadlink_sensor_temperature
Настраиваем термостат под свои нужды и перезагружаем Home Assistant.
P.S:
В этом репозитории так же есть компонент для управления техникой (тв и прочее)
Все делалось на Raspberry Pi 3, Hassio 0.70.1 и Broadlink RMPro
Скажите, а как Broadlink RMPro получает данные о том какая температура выставлена на кондиционере сейчас?
И второй вопрос: какой контроллер IR самый оптимальный для использования с Home Assistant? Бывает ли что-то что работает по 5ГГц сети вайфай? Или может даже Зигби?
Например, мой кондиционер не передаёт данные на broadlink, данные о температуре в ha будут те, которые вы указали. И они могут быть неверные, если команда не дошла до кондиционера. Zigbee пульты есть в продаже, 5ГГц не встречал.
А вот лучшим я считаю управление именно самой сплит системой, у которой есть wifi или zigbee, так как в этом случае передается точная температура и статус, которые сейчас включены
В общем за $11.5 купил Broadlink RM4C mini. Нормально конечно, но не идеально. Мир еще не очень готов к локальному умному дому, а жаль.
ПС. Смотрю конфиги в репозитории SmartIR, труд конечно титанический по писанию конфигов. Особенно если в кондиционера много режимов.