Умный IR‑контроллер для кондиционера на Wi‑Fi (Home Assistant + ESP8266)

Зачем это нужно
Традиционные кондиционеры с ИК‑пультом не имеют сети — вы не можете включить их удалённо, привязать к расписанию или автоматизации. Небольшой контроллер на ESP8266 превращает ваш пульт в «цифровой» сервис: Home Assistant получает сущность climate, а вы — удобный интерфейс, голосовое управление и триггеры по событиям.
Кратко: преимущества — дистанционное управление, сценарии и автопереключения для экономии энергии.
Важно: это DIY‑проект. Соблюдайте технику безопасности при пайке, не вмешивайтесь в силовую часть кондиционера.
Содержимое статьи (варианты поискового запроса)
- Как сделать Wi‑Fi IR‑контроллер для кондиционера
- ESPHome IR бластер для кондиционера и Home Assistant
- Превратить традиционный кондиционер в умный через ESP8266
- Интеграция IR‑кондиционера с HomeKit
- Настройка climate через ESPHome
Что вам понадобится
- Home Assistant, установленный на Raspberry Pi или другом хосте
- ESP8266 (NodeMCU, D1 Mini; подойдёт и ESP‑01 с адаптером)
- ИК‑светодиод 5 мм, 940 нм (IR transmitter LED)
- Приёмник TSOP1738 или TSOP1838 (IR receiver)
- Транзистор 2N2222 (NPN) для усиления сигнала ИК‑LED
- Макетная плата или общая печатная плата (general PCB)
- Провода, джампер‑шнуры, торцевой резистор (обычно 220–330 Ом для светодиода)
- Паяльник, припой, оплётка/флюс
- Micro‑USB кабель для прошивки и питания
Совет: если у вас нет некоторых деталей, можно временно использовать готовый IR‑бластер, но кастомная сборка даёт лучший радиус и направленность.
Шаг 1 — Подготовка прошивки в ESPHome
- Установите аддон ESPHome в Home Assistant (Supervisor → Add‑on Store → ESPHome).
- После установки откройте ESPHome (Configuration → Add‑ons, Backup & Supervisor → ESPHome). Включите параметры Start on Boot, Watchdog, Auto‑Update и Show on the sidebar для удобства.
- Нажмите Open Web UI или ESPHome в сайдбаре, затем +New Device → Continue.
- Задайте имя прошивки, например smartac, и нажмите Next.
- Выберите ESP8266 и нажмите Next → Skip (или настройте дополнительные параметры при необходимости).
- После создания устройства нажмите EDIT под smartac, чтобы открыть smartac.yaml.
Вставьте (или отредактируйте) следующий YAML‑фрагмент в файл smartac.yaml ниже captive_portal и других стандартных блоков. Пример конфигурации для IR‑климата:
status_led:
pin: GPIO4
remote_receiver:
id: rcvr
pin:
number: GPIO5
inverted: True
dump: all
remote_transmitter:
pin: GPIO14
carrier_duty_percent: 50%
climate:
- platform: climate_ir_lg
name: "AC"
header_high: 3265us
header_low: 9856usПояснения: status_led — индикатор статуса; remote_receiver — приёмник ИК (например TSOP1738); remote_transmitter — вывод для ИК‑светодиода; climate — платформа ИК‑климата. Значения header_high/low относятся к таймингам протокола (в примере для некоторых LG‑приёмников).
Важно: измените блок wifi ниже (или добавьте его) на ваши данные сети:
wifi:
ssid: "MyWiFI Network Name"
password: "12345678"И ещё одно важное изменение: платформа climate зависит от модели кондиционера. В примере использован climate_ir_lg. Некоторые модели используют platform: coolix или другие. Перед прошивкой проверьте документацию ESPHome по IR Remote Climate и подберите подходящую платформу для вашего пульта.
После правок нажмите Save и Install. Выберите Install → Plug into this computer для первоначальной «factory» прошивки.
Когда компиляция закончится, скачайте файл smartac‑factory.bin и сохраните его (Desktop или Downloads). Этот файл понадобится для начальной прошивки устройства.
Шаг 2 — Прошивка smartac‑factory.bin на устройство
- Подключите NodeMCU или D1 Mini к компьютеру через micro‑USB.
- В ESPHome Web UI выберите ваше устройство smartac и нажмите Install.
- Выберите Connect → порт COM (или Plug into this computer) и затем Choose File → укажите smartac‑factory.bin.
- Нажмите Install, дождитесь завершения прошивки.
После успешной прошивки устройство должно подключиться к вашей Wi‑Fi сети и появиться в ESPHome в состоянии online.
Если устройство не появляется онлайн, попробуйте перепрошить ещё раз или проверить правильность Wi‑Fi‑данных.
Добавление ИК‑климата в Home Assistant
- В Home Assistant перейдите Configuration → Devices & Integrations. Устройство smartac скорее всего будет автоматически обнаружено.
- Нажмите Configure рядом с smartac, назначьте Area (зону) и Submit.
- В списке ESPHome выберите smartac → 1 device, затем ADD TO DASHBOARD.
- Выберите дашборд и подтвердите Next → ADD TO DASHBOARD.
После этого на вашей панели появится элемент управления climate с кнопками включения, выставления температуры, выбора режима и скорости вентилятора.
Подключение MCU к ИК‑передатчику и приёмнику — распайка и схема
Схема подключения, используемая в этом руководстве, даёт надёжный уровень сигнала и защиту ESP8266 от токовых выбросов светодиода.
Инструкция по шагам:
- Подключите отрицательный вывод (катод) ИК‑LED к эмиттеру 2N2222 (E).
- Подайте положительный вывод ИК‑LED на 3.3V на NodeMCU/D1 Mini через ограничительный резистор 220–330 Ом.
- Подключите базу транзистора 2N2222 через резистор 1 kΩ к выбранному GPIO (в примере — GPIO14 для remote_transmitter). Часто используют пин D5 (GPIO14).
- Коллектор транзистора подключите к катоду ИК‑LED (если используете схему с высокосторонним питанием, следуйте схеме), либо соберите по приведённой схеме: в типичном варианте коллектор идёт на «общую линию» перед светодиодом.
- Подключите питание Vcc приёмника TSOP к 3.3V (не к 5V — TSOP обычно рассчитан на 3.3–5V, но ESP‑логика 3.3V безопаснее).
- Подключите GND приёмника и GND NodeMCU вместе.
- Выведите Data Out приёмника на выбранный GPIO (в примере D1 → GPIO5) и укажите его в remote_receiver.
Примечание: в источнике иногда путают обозначения D‑пинов и GPIO. Проверьте соответствие вашей платы (NodeMCU/D1 Mini) и используйте правильные номера GPIO в YAML.
Практические советы по пайке и сборке:
- Если вы никогда не паяли, потренируйтесь на макетной плате или купите готовую сумочку для паяльника. Безопасность прежде всего.
- Используйте термоусадочные трубки на контактах ИК‑LED и проводах.
- Для направленного посылания ИК‑сигнала разместите LED с небольшим «оконцем» в корпусе, чтобы луч не экранировался.
Настройка корпуса и размещение
- Для домашнего использования можно распечатать 3D‑корпус и закрепить плату, транзистор и ИК‑LED так, чтобы луч был направлен на гардины/оконный проём кондиционера.
- Альтернатива — купить готовый IR‑бластер и прошить его той же smartac‑прошивкой (если аппарат поддерживает ESP‑флэshing).
Совет: ставьте устройство ближе к кондиционеру и избегайте препятствий на пути ИК‑луча (стекло обычно блокирует ИК‑сигнал).
Управление через приложение Home Assistant и автоматизации
После добавления на дашборд можно управлять кондиционером с iOS/Android. Примеры автоматизаций:
- Включение при обнаружении присутствия (presence) и выключение при уходе.
- Включение при повышении температуры по датчику и отключение при достижении заданной.
- Режим «ночь»: по расписанию снижать скорость вентилятора и поднимать температуру на 1–2° для экономии.
Для обнаружения присутствия можно использовать ESP32‑датчик или BLE‑маячок, интегрированный в Home Assistant.
Интеграция с Apple HomeKit
Чтобы добавить устройство в HomeKit, установите HomeKit интеграцию в Home Assistant и настройте мост (HomeKit bridge). HomeKit представит climate‑устройство в приложении «Дом», и вы сможете управлять кондиционером через Siri или Сценарии HomeKit.
Совет: HomeKit нативно отображает устройства удобнее для iOS‑пользователей, но часть логики остаётся в Home Assistant (автоматизации/условия).
Отладка: распространённые проблемы и решения
- Устройство не появляется в сети
- Проверьте корректность ssid/password в smartac.yaml.
- Убедитесь, что ваш роутер не блокирует новые устройства или не использует клиентскую изоляцию.
- ИК‑команды не проходят, климат не реагирует
- Убедитесь, что ИК‑LED подключён через транзистор и резистор. Попробуйте заменить светодиод или увеличить мощность carrier_duty_percent.
- Проверьте направление LED (анод/катод).
- Направьте LED прямо на приёмник кондиционера, исключите препятствия.
- Неправильная платформа climate
- Попробуйте другие платформы (например, coolix, climate_ir_lg) и сравните поведение.
- Включите remote_receiver.dump: all, чтобы увидеть распознаваемые коды и подобрать подходящие параметры.
- Перепрошивка не проходит
- Попробуйте режим «Plug into this computer» или флешер esptool напрямую; смените USB‑кабель.
Важно: не пытайтесь подключать устройство к электрической цепи кондиционера. Это ИК‑контроллер, он повторяет сигналы пульта, но не вмешивается в силовую электронику.
Альтернативные подходы
- Готовые IR‑бластеры: проще, если вы не хотите паять. Минус — ограниченная гибкость и возможные проблемы с прошивкой.
- Использовать ESP32: даёт больше памяти и дополнительные интерфейсы (BLE, дополнительные GPIO) для датчиков присутствия.
- Wi‑Fi → IR облачные сервисы: менее приватно и требует интернета.
Критерии приёмки
- Устройство отвечает в ESPHome Web UI и отображается в Home Assistant.
- В панели climate доступны команды включения/выключения, установка температуры, смена режима и скорости.
- IR‑бластер физически способен включать кондиционер с расстояния и под углом, необходимыми в комнате.
- Автоматизация на основе событий Home Assistant корректно включается/выключается.
Мини‑SOP для развёртывания
- Подготовить список деталей и проверить совместимость платы.
- Настроить ESPHome и сгенерировать smartac‑factory.bin.
- Подключить плату к компьютеру и прошить начальную прошивку.
- Собирать аппарат на макетной плате, проверить отправку/приём ИК‑сигналов.
- Закрепить в корпусе, установить на место, добавить в Home Assistant и протестировать все команды.
- Настроить автоматизации и резервное копирование конфигурации.
Тесты и критерии приёмки (Test cases)
- Тест 1: Нажать ON в интерфейсе HA — кондиционер включается.
- Тест 2: Изменить температуру с 24° на 22° — кондиционер реагирует изменением режима/температуры.
- Тест 3: Поставить на таймер или автоматизацию — устройство включится по условию.
- Тест 4: Отключить питание ESP, включить — устройство автоматически подключается к Wi‑Fi и HA.
Факт‑бокс: ключевые параметры
- Плата: ESP8266 (NodeMCU / D1 Mini)
- Пины в примере: remote_transmitter GPIO14 (D5), remote_receiver GPIO5 (D1), status_led GPIO4
- Рабочее напряжение: 3.3 V
- ИК‑диапазон: ~940 nm (обычный пульт)
Однострочный словарь
- IR‑бластер — устройство, которое посылает ИК‑команды от пульта по Wi‑Fi.
- ESPHome — фреймворк для простого создания прошивок для ESP‑устройств и интеграции в Home Assistant.
- climate — компонент Home Assistant для управления климатическими устройствами.
Безопасность и конфиденциальность
- Локальное управление через Home Assistant сохраняет данные у вас в сети — более приватно, чем облачные сервисы.
- Не вмешивайтесь в силовую часть кондиционера. Все операции выполняются имитацией пульта.
Примечание: не добавляйте в систему публичного доступа к устройству без защиты (VPN, авторизация).
Когда этот подход не сработает
- У старого кондиционера с нестандартным или проприетарным ИК‑протоколом потребуется дополнительная расшифровка сигналов и корректировка платформы.
- Если между контроллером и кондиционером толстое стекло или препятствие, ИК‑сигнал может не доходить — потребуется перенести бластер ближе.
Итог
Вы собрали Wi‑Fi IR‑контроллер на базе ESP8266 и ESPHome, прошили его, подключили к Home Assistant и добавили в дашборд климат‑устройство. Теперь можно управлять кондиционером со смартфона, добавлять автоматизации и интегрировать устройство в HomeKit при необходимости.
Важно: проверьте соответствие платформы climate вашей модели кондиционера и внимательно отнеситесь к пайке и электрическим соединениям.
Extras — коротко:
- Файлы прошивки: smartac‑factory.bin сохраняйте в безопасном месте для повторной прошивки.
- Если что‑то не работает — включите dump: all в remote_receiver и прочитайте логи.
Спасибо за сборку — теперь ваш кондиционер умнее и экономичнее.
Похожие материалы
Как слушать подкасты на Amazon Echo
Добавить адрес дома в HomeKit
Создание анимированных GIF в PowerPoint
Защита от отслеживания приложений — DuckDuckGo
Как использовать iSpy для мониторинга рабочего стола