Недавно я писал о том, как добавить переключатель для простого включения/выключения ИК устройства. Сегодня расскажу про подключение более сложного климатического девайса, на примере своего кондиционера. У меня ничего в итоге не вышло, но тут проблема в моем кондиционере, а не в пульте от LOOKin. У вас, с вероятностью в 99%, все должно получиться.
Подготовка и более простое считывание
Для начала, если пульт у вас запитан от батареек/аккумуляторов, переключаем питание на Micro USB разъем. Это необходимо сделать для сохранения электроэнергии, потому как мы будем часто опрашивать устройство. После этого добавим в HA следующий код в файл sensors.yaml:
- platform: rest resource: http://192.168.1.240/sensors/ir/raw name: LOOKin код scan_interval: 10 value_template: "{{ value_json['Raw']['Updated'] }}" json_attributes_path: '$.Raw' json_attributes: - Value
Внимание! Во второй строке, вместо 192.168.1.240, вам необходимо написать локальный IP адрес своего Remote. Данным сенсором мы будем получать следующие данные:
- время последнего срабатывания;
- сам код срабатывания.
Почему не получать сразу код? Он выходит временами очень длинный, и не влезает в ограничения в 256 символов.
Теперь, чтобы не лазить постоянно и не смотреть атрибут у нашего сенсора, создадим автоматизацию по выводу нативного уведомления о новом коде:
- alias: lookin get new code trigger: platform: state entity_id: sensor.look_in_kod action: - service: persistent_notification.create data_template: title: "Новый код" message: > {{ state_attr('sensor.look_in_kod', 'Value') }}
С предварительной подготовкой все, теперь раз в 10 сек сенсор будет обновляться и если он изменился, то вы получите такое симпатичное уведомление:
Добавление кондиционера
Я вас немного обрадую и скажу, что большую часть работы за вас я уже выполнил и произвел интеграцию плагина в существующий проект Smart.ir. Более того, мои правки уже приняли и они доступны в релизе. Вам остается только добавить кастом компонент в свой инстанс HA или обновить его до последней актуальной версии. После чего можно создать в конфигурации следующий девайс:
smartir: climate: - platform: smartir name: Conditionier_lookin device_code: 9999 #это имя файла, который содержит необходимые для управления коды controller_data: 192.168.1.240 #тут указываем ip своего контроллера temperature_sensor: sensor.temperature_nest # entity_id датчика температуры, который необходим для контроля humidity_sensor: sensor.mi_h_e72e001350d1 # то же для датчика влажности power_sensor: binary_sensor.ac_power # то же для датчика который может показать что кондиционер включен
Теперь нам, собственно, необходимо создать файл с кодами для управления кондиционером. По умолчанию все существующие файлы лежат по пути custom_components/smartir/codes/climate/ и, возможно, ваш кондиционер даже есть там. Но нам необходимо заменить в любом из этих файлов, подходящих вам по составу функций, коды управления. Находим устраивающий вас файл (смотрите на возможные функции по типу режима охлаждения, обогрева, осушения, проветривания, там в принципе все предельно понятно), копируем его и переименовываем, например, в 9999.json, как это сделано у меня.
После этого начнется долгое сканирование нужных кодов управления с пульта и переписывания их в файл. Можно упростить себе задачу, искусственно ограничив промежуток для регулировок температуры. Мало кому потребуется включать кондиционер на 16 градусов охлаждения на максимальной скорости. После добавления всего необходимого, сохраняем файл, перезагружаем HA, и если вы все сделали правильно - вы сможете управлять своим кондиционером из умного дома.
Ах да, чуть не забыл. Если вам надо перейти назад на батарейки, лучше всего удалить или закомментировать сенсор для кодов, который мы делали в самом начале. Опрос устройства каждые 10 секунд им лучше не сделает. Всем теплого лета и крепкого здоровья, не болейте!
А что за кондиционер и почему не получилось ?