Поиск по базе знаний

Обучение умного ИК-пульта Яндекс кастомным командам

Интеграция бытовой техники с инфракрасным управлением (телевизоры, кондиционеры, аудиосистемы) в умный дом Яндекса позволяет автоматизировать старые приборы без существенных затрат. Однако встроенная база данных ИК-кодов Яндекса содержит пресеты далеко не для всех китайских или редких OEM-брендов. В этом случае единственным решением становится ручное обучение умного ИК-пульта оригинальными командами. Если ваш пульт Яндекса периодически теряет связь с сетью или не реагирует на команды даже для известных брендов, обязательно ознакомьтесь с руководством по решению проблем с ИК-пультами Яндекса.

В этой статье мы подробно разберем физические принципы ИК-кодирования, специфику обучения пульта длинным пакетам кондиционеров и резервные варианты интеграции через ESPHome и Home Assistant.

Как кодируются ИК-команды: физика процесса

Каждое нажатие кнопки на физическом пульте ДУ генерирует пачку инфракрасных импульсов. Передача кодируется изменением длительности импульсов (Marks) и пауз между ними (Spaces) в микросекундах.

Основные протоколы ИК-связи:

  • NEC: Наиболее распространенный протокол (частота модуляции 38 кГц). Команда состоит из стартового импульса (9 мс), паузы (4.5 мс) и 32 бит данных (адрес устройства и код клавиши). Такой короткий код легко считывается и воспроизводится пультом Яндекса.
  • RC5/RC6: Протоколы компании Philips. Используют манчестерское кодирование, где бит информации определяется направлением перехода сигнала в середине битового интервала.
  • Кондиционеры (протокол Air Conditioner Raw): В отличие от телевизоров, пульты кондиционеров не отправляют одиночные коды кнопок. При нажатии «Температура +» пульт передает массивный пакет данных (до 300 бит), содержащий текущую целевую температуру, режим работы (охлаждение/нагрев), скорость вентилятора, положение жалюзи и таймеры. Пульт Яндекса в режиме ручного обучения не всегда способен корректно записать такой длинный пакет из-за жестких ограничений по длине буфера приема.

Несовместимость частоты модуляции (38 кГц против 56 кГц)

Не все инфракрасные приемники работают на стандартной несущей частоте $38\text{ кГц}$. Некоторые типы оборудования (например, спутниковые ресиверы Pace/Humax, используемые операторами НТВ-Плюс и Триколор, старые аудиоресиверы Pioneer, или приставки кабельного ТВ) используют частоту модуляции $56\text{ кГц}$ (или реже $40\text{ кГц}$ и $455\text{ кГц}$).

  • Стандартные передатчики умного пульта Яндекса аппаратно спроектированы под длину волны $940\text{ нм}$ и частоту модуляции $38\text{ кГц}$.
  • При попытке обучения пульта сигналу $56\text{ кГц}$ приемный ИК-диод пульта Яндекса может считать код, но запишет его с большими фазовыми искажениями. При последующем воспроизведении этого сигнала приемник спутникового ресивера отфильтрует его как высокочастотный шум.
  • В таких случаях ручное обучение встроенными средствами Яндекса невозможно. Решением является использование мультичастотных умных пультов (например, некоторых моделей Broadlink RM4 Pro) или самостоятельная сборка передатчика на ESP32 с использованием ИК-диодов, поддерживающих широкий спектр несущих частот.

Проблемы при обучении ИК-пульта Яндекса

Во время записи кастомных команд пользователи часто сталкиваются с ошибками считывания. Главные причины:

  1. Люминесцентные и светодиодные лампы: Драйверы дешевых ламп пульсируют на частотах 30–50 кГц. Эти пульсации забивают фотоприемник пульта Яндекса помехами, искажая считываемый код оригинального пульта.
  2. Слишком долгое удержание кнопки: Если удерживать кнопку оригинального пульта дольше 0.5 секунды, он начинает передавать циклическую команду повтора (Repeat Code). Пульт Яндекса запишет этот повтор вместо основного кода, и в результате команда не выполнится или выполнится некорректно.

Создание сложных сценариев с кастомными командами в Алисе

После того как все необходимые кнопки добавлены в качестве кастомных пультов в приложении «Дом с Алисой», их можно объединять в сквозные автоматизации. Например, для сценария «Алиса, включи домашний кинотеатр» можно настроить последовательный запуск:

  1. Запуск кастомной кнопки «Включить проектор».
  2. Пауза в сценарии на 5 секунд (время развертывания экрана проектора).
  3. Отправка команды «Включить AV-ресивер».
  4. Выбор источника сигнала «HDMI 2» на ресивере через отдельную обученную ИК-команду.
  5. Установка режима кондиционера на «Бесшумный» с помощью ранее обученного ИК-пакета.

Такая последовательность позволяет реализовать сценарии любой сложности, которые не поддерживаются стандартным голосовым управлением Алисы «из коробки».

Альтернатива: обучение через ESPHome и Home Assistant

Если штатный пульт Яндекса не может обучиться кастомным кодам кондиционера, или вам требуется точечное управление сложным прибором, лучшим техническим решением является использование ИК-передатчика на базе ESP8266/ESP32 под управлением прошивки ESPHome. ESPHome имеет мощный анализатор ИК-сигналов, способный декодировать любые редкие кондиционерные протоколы (Daikin, Mitsubishi, Panasonic).

Пример конфигурации ESPHome для считывания и отправки сырых ИК-команд (raw timings):

remote_receiver:
  pin: 
    number: GPIO14
    inverted: true
  dump: raw

remote_transmitter:
  pin: GPIO12
  carrier_frequency: 38kHz

button:
  - platform: template
    name: "Включить кондиционер кастомно"
    on_press:
      - remote_transmitter.transmit_raw:
          carrier_frequency: 38kHz
          code: [8980, -4462, 570, -560, 570, -1670, 570, -560, 570, -560, 570, -1670, 570, -560, 570]

После прошивки платы ESPHome в логах при нажатии кнопки оригинального пульта отобразится точный массив чисел (raw code). Вы можете использовать этот массив для отправки команд. Далее, созданное в Home Assistant устройство (например, переключатель или медиаплеер) пробрасывается в Яндекс Станцию с помощью навыка Yandex Smart Home, обеспечивая 100% стабильность управления.

Инструкция по устранению

1

Перевод пульта Яндекса в режим обучения

В приложении 'Дом с Алисой' добавьте новое устройство, выберите пульт Яндекса и нажмите кнопку 'Обучить пульт'. Выберите тип создаваемого прибора (ТВ, кондиционер или кастомный пульт).

2

Считывание ИК-команды с пульта ДУ

Расположите оригинальный пульт от техники напротив умного пульта Яндекса на расстоянии 3–5 см. Нажмите нужную клавишу коротким четким кликом после того, как светодиод на пульте Яндекса начнет мигать.

3

Проверка записанного сигнала

Направьте умный пульт Яндекса на управляемый прибор и отправьте команду из интерфейса приложения. Если устройство не отреагировало, повторите запись кнопки при выключенном верхнем свете.

4

Создание сценариев с кастомными кнопками

Назовите записанную кнопку понятным именем на русском языке. Теперь эту команду можно использовать в качестве действия в любых автоматических сценариях Алисы.