Інтегруємо інфрачервоні пристрої в Home Assistant
За допомогою учніверсального ІЧ-пульта можна керувати всіма пристроями з ІЧ-підтримкою: кондиціонерами, очищувачами та зволожувачами повітря, телевізорами, проєкторами, медіацентрами, LED-стрічками, вентиляторами та багатьма іншими пристроями. У цьому посібнику розкажу, як легко та просто керувати інфрачервоними пристроями через мобільний застосунок та підключити їх до Home Assistant.
Підтримайте збір мого друга з Social Drone на комплектуючі для збору FPV-дронів.
ℹ️ Хоча ця стаття про інтеграцію Broadlink в Home Assistant, ви можете керувати ІЧ-пристроями без нього, просто з застосунку Broadlink.
Інфрачервоний (ІЧ, IR) протокол — це набір правил кодування команд через світлові імпульси. Щоб не плутати сигнал від світла ламп, використовується модуляція — світлодіод швидко вмикається та вимикається з певною частотою (зазвичай 38 000 разів на секунду — 38 кГц). Приймач налаштований саме на цю частоту та ігнорує інше світло.
Кожна ІЧ-команда це набір нулів та одиниць, що передаються з різною тривалістю імпульсів та пауз. Найпоширеніший (але не єдиний) протокол передачі побутових пристроїв — NEC.
Вибір пристрою
Я давно хотів придбати пристрій керування інфрачервоними пристроями і за запитом IR controller. Ціни на Aliexpress починаються від 200 гривень і це дуже заманливо, зазвичай це пристрої платформи Tuya, або Smart Life. Але я придбав BroadLink RM4 Mini за ~ 600 — 700 грн через те, що Broadlink хоча і має хмару і свій застосунок, він також має локальну інтеграцію Home Assistant.
Локальне керування означає:
- Якщо виробник закриє свої сервери, ви продовжите користуватись пристроєм, він не перетвориться на цеглину.
- Команди виконують всередині локальної мережі швидше, ніж у хмарі.
- Більша гнучкість. Якщо є локальний API, пристроєм можна керувати з різних платформ або програм.
Чи означає це, що хмара — зло і вам ні в якому випадку не потрібно купувати пристрої з хмарним керуванням? Абсолютно ні! Якщо пристрій працює і вирішує вашу проблему — це прекрасно! Але якщо є можливість, раджу віддавати перевагу локальному контролю.
Я також обрав версію RM4 Mini. Існує версія Pro, вона може керувати ще RF-пристроями, але цей функціонал мені поки не потрібен. Крім того, за відгуками ІЧ-сигнал у RM4 Mini кращий за Pro.
Альтернативи:
з локальним керуванням:
— XIAO Smart IR Mate
— LinkLink eRemote та LinkLink eHub
— Саморобний пристрій (відео) (відео) (стаття) (ESP-360-REMOTE)
з хмарним контролем:
Moes UFO-R11
— Tuya Zigbee IR ZS06
— Tuya TS1201
Додавання пристрою у застосунок
1. Завантажте мобільний застосунок BroadLink та зареєструйтесь в ньому.
2. На вкладці Home у верхньому правому кутку натисніть кнопку + та оберіть пункт Add device.

3. У вікні, що відкрилось, оберіть Add a new device >> Universal Remote >> та оберіть модель пристрою. У мене це RM4 mini. Натисніть Next. У налаштуваннях Wi-Fi приєднайтесь телефоном до мережі BroadLink_WiFi_Device або BestCon_WiFi_Device. Поверніться назад у застосунок. Після цього пульт Broadlink буде додано у програму.

Додавання Broarlink в Home Assistant
ℹ️ Коди пристроїв, додані у застосунок Broadlink, не переносяться у Home Assistant.
Показую на прикладі Home Assistant 2026.1.3. (OS 17.0).
У застосунку Broadlink зніміть блокування пристрою (device lock). Для цього спочатку натисніть на ваш пристрій. У вікні, що відкрилось у верхньому лівому куточку, натисніть три крапки. Внизу буде перемикач з назвою lock device — деактивуйте його.

У Home Assistant існує офіційна інтеграція Broadlink і автовиявлення нових пристроїв. Для додавання пристрою перейдіть в бічне меню >> Налаштування >> Пристрої та сервіси. Якщо Broadlink виявлено, він з’явиться зверху і можна просто натиснути кнопку «додати».

Якщо не виявлено, натиснути кнопку «додати інтеграцію» у нижньому правому кутку та ввести Broadlink.
Адресу можна дізнатись кількома методами:
1. В застосунку Broadlink натиснути на пульт >> у верхньому лівому куточку натиснути три крапки >> Device info >> поле Device IP.
2. У вебінтерфейсі вашого Wi-Fi роутера.
3. Завантаживши на телефон застосунок Network Scanner і просканувавши мережу.

У вікні, що відкрилось, введіть IP-адресу Broadlink і натисніть кнопку «надіслати». Після придумайте ім’я та вкажіть кімнату і натисніть кнопку «завершити».

В результаті пристрій доданий в Home Assistant. В моєму випадку також присутні температура та вологість, це тому що у мене спеціальний Micro USB кабель з датчиком температури.

Вивчення ІЧ-команд в Home Assistant
Щоб Broadlink знав, як керувати пристроями, потрібно його навчити, буквально перевести його в режим вивчення та натиснути перед ним кожну клавішу інфрачервоного пульта. Я буду налаштовувати пульт керування світлодіодним світильником Свєткомплект, який працює за протоколом NEC1. Але перед тим потрібно дізнатись ID Broadlink.
1. Перейдіть в бічне меню >> Інструменти для розробників >> Вкладка дії >> у поле дія ввести remote.learn_command.

2. У вікні, що відкрилось у полі «ціль» натисніть кнопку «додати ціль» та оберіть вкладку «сутності» >> в списку сутностей оберіть пульт Broadlink.

3. Активуйте прапорці Device та Command В поле:
- Device — впишіть довільну зрозумілу назву пристрою, яким будете керувати. В моєму випадку це svitlo.
- Command — введіть назву клавіші, яку хочете вивчити. У мене перша команда on.
- Command type — ir (інфрачервоне світло).
- Alternative — зазвичай можна ігнорувати. Використовується, коли одна кнопка надсилає різні команди, наприклад, для увімкнення та вимкнення.
- Timeout — час у режимі вивчення. Іншими словами час, протягом якого Home Assistant чекає сигнал від пульта, щоб його вивчити. Я встановив на 20 секунд.

4. Після натискання кнопки «виконати дію» світлодіод на Broadlink засвітиться білим кольором. Візьміть пульт пристрою, який вивчаєте та натисніть кнопку, яку вивчаєте. У мене це кнопка on. При успішному вивченні команди світлодіод погасне, а кнопка «виконати дію» в Home Assistant стане зеленою.

5. Для наступних команд достатньо змінити назву команди у полі Command та знову натиснути кнопку «виконати дію».

Після вивчення команд можна спробувати надіслати команду. Для цього у полі «дія» потрібно ввести remote.send_command. Усі поля аналогічні як при вивченні команди. Проте є і нові:
- Repeats (кількість повторів). Зручно, коли треба змінити гучність, або, наприклад, змінювати кольори освітлення. В моєму випадку кожен колір переключається почергово: 1 — червоний, 2- зелений і так далі.
- Delay seconds (затримка у секундах) — час очікування між повторюваними командами.
- Hold seconds (час утримання у секундах) — тривалість сигналу.

Автоматизації ІЧ-команд в Home Assistant
Замість того, щоб щоразу заповнювати команди, ми можемо сховати їх за однією кнопкою на панелі керування. Для цього створимо скрипт (для автоматизації потрібна подія, що її запускає, для скрипта — ні). Перейдіть в бічне меню >> Налаштування >> Автоматизації та сцени >> вкладка «Скрипти» >> створити скрипт >> створити новий скрипт. Натисніть кнопку «додати дію» та в полі пошуку введіть «виконати дію». У полі дія введіть:


Для наступних скриптів достатньо дублювати перший та замінити поле command і переіменувати скрипт.

Створення дашборду
Тепер заховаймо скрипти за кнопками. Перейдіть у потрібну інформаційну панель або створіть нову. На інформаційній панелі натисніть піктограму олівця у верхній лівій частині екрану. Натисніть на піктограму +

Оберіть потрібну картку. Я люблю плитку, тому обираю її.

В налаштуваннях картки у полі «сутність» вкажіть назву скрипта. За бажанням додайте назву та додайте піктограму у форматі mdi. Оскільки IR-команди відправляються в одну сторону і мені не відомий статус після виконання команди, я активував перемикач «приховати статус». У вкладці «взаємодія», пункт «поведінка при натисканні» — переключити. Це запускатиме наш скрипт, коли натиснута кнопка.


Ось те саме налаштування у вигляді YAML-коду:

type: tile grid_options: rows: 1 columns: full entity: script.vimknuti_sv_tlo name: увімкнути / вимкнути icon: mdi:lightbulb-on show_entity_picture: false hide_state: true vertical: false tap_action: action: toggle features_position: bottom
Після цього дублюємо існуючу картку. А в новій змінюємо сутність на інший скрипт.

В результаті маємо таку гарну панель керування освітленням. Зверху я додав бейджі з різними колірними RGB-режимами.

Перегляд коду команд
З цікавого можна переглянути усі вивчені коди та назви в окремому файлі. За замовчування Home Assistant приховує деякі теки, але це легко виправити. Встановіть доповнення File Editor якщо у вас його немає. Перейдіть у вкладку «конфігурація» та видаліть .storage.

Після того у редакторі файлів з’явиться тека .storage. У цій теці буде файл з назвою broadlink_remote_xxxx_codes. У цьому файлі зберігаються коди у форматі Broadlink B64.

Кому потрібно, ось вони усі. Ще більш захоплююче — те, що є сайт pasthev.github.io/sensus, який перетворює коди з формату Broadlink в інші формати і навіть показує, як виглядає набір команд та пауз у коді! Чудовий початок для наступних експериментів. Наприклад, можна написати програму для Лілки.

Приблизно те саме, але з більшою деталізацією робить програма IrScrutinizer. Наприклад, ось так виглядає розшифрований код Broadlink on.

А ось так збільшення яскравості:

Також знайшов базу даних irdb та залив коди туди.
Якщо маєте питання, ставте у коментарях, а також доєднуйтесь до форуму української спільноти розумного будинку 🏠.
Сподобалась стаття? Підписуйтесь на автора, щоб отримувати сповіщення про нові публікації на пошту.
4 коментарі
Додати коментар Підписатись на коментаріВідписатись від коментарів