Предыстория
Всем привет!
Сегодня я хочу вам рассказать о своем опыте эксплуатации универсального пульта управления Xiaomi Remote 360 или в простонародье «Шайба».
Название в MiHome: Mi Universal Remote
Логотип: Mi
Модель: NDZ-08-GA
Модель MiHome: chuangmi.ir.v2
В этой статье вы узнаете:
- Как правильно интегрировать данное устройство в альтернативную систему умного дома Home Assistant
- Как на базе инфракрасных сигналов сделать виртуальные выключатели для систем умного дома
- Как я использую данный девайс в связке с Алисой
И так, начнем сначала. Не изучив матчасть, поддавшись на импульсное желание обычного покупателя, давным давно я купил себе это устройство и до момента, когда начал интересоваться построением УД использовал его исключительно в сценариях приложения Mi Home. Основной задачей, с которой "шайба" вполне хорошо справлялась, было включение по расписанию проектор для дочки.
Со временем появилась возможность сделать голосовое управление в приложении Mi Home с помощью "Shortcuts". Эта схема работала до момента, как я узнал, что такое Home Assistant и как с помощью него добавить Xiaomi устройства в Home Kit.
А теперь давайте поговорим о том, как добавить Xiaomi Remote 360 в Home Assistant. Установка Home Assistant и его настройка подробно описана в серии статей от @OXOTH1K. На этом останавливаться подробно не будем.
Добавляем Xiaomi Remote 360 в HA
Для начала нам нужно получить token нашего устройства, узнать его IP адрес. Об этом сказано много, на сайте достаточно подробных инструкций. После переходим к редактированию configuration.yaml:
cd /home/homeassistant/.homeassistant/ sudo nano configuration.yaml
remote: - platform: xiaomi_miio host: IP вашего устройства token: токен вашего устройства slot: 1 timeout: 30 hidden: false
- Сохраняем изменения в файле configuration.yaml
- Проверяем конфигурацию Home Assistant
- Если все окей, то перезапускаем Home Assistant
Когда Home Assistant загрузиться, проверяем, что устройство успешно добавилось в систему. Для этого на главном экране кликаем в символ со скобочками в левом нижем углу интерфейса для старых версий интерфейса.
Либо в новом интерфейсе идем в раздел "Панель разработчика" и переходим во вкладку "Состояния" для последних версий интерфейса. На открывшейся странице поиском на странице ищем наше устройство remote.xiaomi_miio. Нашли? Все окей! Двигаемся дальше!
Считываем команды с инфракрасных пультов
Следующим шагом нам потребуется обучить нашу "шайбу" командам ваших пультов. Попробую показать это на примере кондиционера. Приступаем к записи команд с пульта.
Для старой версии интерфейса:
- Переходим на главную страницу Home Assistant
- В левом нижнем углу находим иконку с пультом "Службы" и переходим в этот раздел
- В поле "службы" выбираем функцию "remote.xiaomi_miio_learn_command"
- В поле "объект" выбираем наше устройство "remote.xiaomi_miio"
Для последних версий интерфейса:
- Переходим на главную страницу Home Assistant
- В левом нижнем углу находим раздел "Панель разработчика"
- Переходим во вкладку "Службы"
- В поле "служба" выбираем функцию "remote.xiaomi_miio_learn_command"
- В поле "объект" выбираем наше устройство "remote.xiaomi_miio"
- Берем пульт с которого будем записывать команду
- Кликаем "CALL SERVICE" в интерфейсе Home Assistant
- Наводим пульт на "шайбу" и нажимаем кнопку с которой планируете записать инфракрасный сигнал
- Переходим на главную страницу Home Assistant и в разделе уведомлений находите нужный нам код
- В новой версии HA вы свободно можете скопировать код, а в старой придется воспользоваться функцией браузера "Посмотреть код"
Все просто! Теперь у нас есть код кнопки, который мы записали с пульта. В дальнейшем мы и будем его использовать для настройки. Запишите его в блокнотик, очень скоро он нам понадобиться.
Прописываем коды команд в файле configuration.yaml
Следующее, что нам нужно сделать, это обучить наш пульт полученной ранее команде. Для этого переходим к редактированию configuration.yaml. К ранее добавленной записи нам нужно прописать полученный код. Так это выглядит у меня:
commands: activate_daikin: command: - 'Z6UHAZsBAADQAQAAKwUAANgGAAB DQAA8HQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA0IBAQECAQEBAQIBAgIBAgICAgIBAgEBAgEBAQECAgICAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQIBAQICAgEFA0IBAQECAQEBAQIBAgIBAgICAgIBAgEBAgEBAQEBAQEBAgICAgEBAQICAQEBAQEBAQEBAQEBAQEBAQIBAQIBAQEAA='
В результате вы должны получить следующую запись:
remote: - platform: xiaomi_miio host: IP вашего устройства token: токен вашего устройства slot: 1 timeout: 30 hidden: false commands: НАЗВАНИЕ КОМАНДЫ: command: - 'записанный ранее код'
Создаем виртуальный выключатель
Добавленный в систему Home Assistant наш пульт Xiaomi Remote 360
Записанный код с кнопки инфакрасного пульта управления
Прописанный в configuration.yaml код с пульта
И теперь мы подходим к финальному шагу - создание виртуального выключателя
Заходим в редактирование configuration.yaml и добавляем компонент switch:
Сейчас мы будем создавать виртуальный включатель - platform: template
switch: - platform: xiaomi_miio host: IP вашего устройства token: токен вашего устройства - platform: template switches: Название вашего выключателя: value_template: "{{ is_state('название вашего устройства', 'on') }}" turn_on: service: remote.send_command data: command: - 'название команды' entity_id: название вашего устройства turn_off: service: remote.send_command data: command: - 'название команды' entity_id: название вашего устройства
- Название вашего выключателя - произвольное название устройства. Это имя виртуального выключателя, которое будет отображаться в интерфейсе HA
- Название вашего устройства - название вашего Xiaomi Remote 360, которое используется в HA. Посмотреть его можно в разделе "Службы" в поле "Объект". У меня он называется remote.xiaomi_miio_192_168_0_192
- Название команды - то название, которое вы использовали шагом ранее при обучении "шайбы". В моем случае это было activate_daikin
- turn_on - команда отвечающая за состояние "Включен"
- turn_off - команда отвечающая за состояние "Выключен"
Голосовые помощники
На этом основная настройка закончена. Осталось перезагрузить HA и найти ваш новый включатель в разделе "Неиспользуемые объекты". Нам остается подружить эти выключатели с вашим голосом помощником. Я использую Алису, но данный метод отлично подойдет и для решения от Google. Выбирайте удобный вам и переходите по ссылке ниже.
Как это сделать уже давно описали наши друзья. Я всего лишь оставлю это здесь:
- Интеграция Home Assistant в Google Home бесплатно, без СМС, но с регистрацией
- Добавляем Home Assistant в Умный Дом Яндекса
Эпилог
Сегодня мы научились делать "глупые" вещи немного умнее в рамках работы с Home Assistant. Мне осталось добавить о маленьких хитростях, которые я использовал сам:
1. Важно обратить внимание, что у кондиционеров, как правило команда включить и выключить отличаются. Для успешного использования нужно скопировать 2 разных кода для turn_on и turn_off.
2. В моем случае для выключения проектора требуется дважды нажать на кнопку питания. В конфигурации существует возможность сделать двойное нажатие в одной команде:
power_projector: command: - 'Z6VPABQCAABLAgAAuQYAANgIAACcEQAADiMAAIygAADIdwEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABFICAgEBAQECAgECAQEBAgECAgIBAgEBAQEBAQIBAgICBgNXA1cDUA' - 'Z6VPABQCAABLAgAAuQYAANgIAACcEQAADiMAAIygAADIdwEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABFICAgEBAQECAgECAQEBAgECAgIBAgEBAQEBAQIBAgICBgNXA1cDUA'
3. При настройке смены режима у климатической техники, например, в реализации режима интенсивной работы, я использовал следующую схему: Включение режима turn_on записана команда интенсивной работы, а в выключении режима turn_off использует код активации автоматического режима. Таким образом, как бы выключая наш виртуальный switch вы переводите устройство в обычный (автоматический) режим работы.
На этом я с вами прощаюсь. Благодарю, что осилили этот текст. Желаю успехов и выполнения ваших задумок. Встретимся в комментариях!
У меня не заработал такой switch, сработало только когда указал command и entity_id внутри data, вот так:
И подскажите зачем при создании switch указываются параметры remote?
Картинка огонь :)
друзья, настраиваю шайбу IR remote Mi 360 по этой инструкции
все норм, но не могу разобраться с логикой положения ползунка и выключением проектора (он должен выключаться по двойному нажатию кнопки включения)
ИМЕЕМ:
1. проектор включается - норм
2. ползунок сразу уползает в офф (не НОРМ! Почему так?), проектор работает
3. даю команду офф - отрабатывает только одно нажатие и не выключается - проектор говорит нажмите еще раз павер для выключения, хотя конструкция
proj_off:
command:
- 'тот же код'
- 'тот же код'
должна отработать двойное нажатие
Привет.
покажи пожалуйста полностью, как выглядит конструкция. У меня кажется была такая проблема.
1) switch.yaml смысл которого я смутно понимаю
[CODE]
- platform: xiaomi_miio
host: 192.168.0.44
token: 5ec50ccb0f300e1388e951bb17c0303e
- platform: template
switches:
projector:
value_template: "{{ is_state('remote.xiaomi_miio_192_168_0_44', 'on') }}"
turn_on:
service: remote.send_command
data:
command:
- 'proj_on'
entity_id: remote.xiaomi_miio_192_168_0_44
turn_off:
service: remote.send_command
data:
command:
- 'proj_off'
entity_id: remote.xiaomi_miio_192_168_0_44 [/CODE]
2. remote.yaml
[CODE] - platform: xiaomi_miio
host: 192.168.0.44
token: 5ec50ccb0f300e1388e951bb17c0303e
timeout: 30
hidden: false
commands:
proj_on:
command:
- 'nMwmcwlk0mgAhTYAMprMABymQA9ABlNgCyAHOazgAMpoA/wE/TEEQwEDAI8AgwIzAI8COQXjmM2mwM7TUF/QTvA8YJLAAzm4HTTEFTAFWAdQMTwXPAI2YQA='
# - 'nMwmcwlk0mgAhTYAMprMABymQA9ABlNgCyAHOazgAMpoA/wE/TEEQwEDAI8AgwIzAI8COQXjmM2mwM7TUF/QTvA8YJLAAzm4HTTEFTAFWAdQMTwXPAI2YQA='
proj_off:
command:
- 'nMwmcwlk0mgAhTYAMprMABymQA9ABlNgCyAHOazgAMpoA/wE/TEEQwEDAI8AgwIzAI8COQXjmM2mwM7TUF/QTvA8YJLAAzm4HTTEFTAFWAdQMTwXPAI2YQA='
- 'nMwmcwlk0mgAhTYAMprMABymQA9ABlNgCyAHOazgAMpoA/wE/TEEQwEDAI8AgwIzAI8COQXjmM2mwM7TUF/QTvA8YJLAAzm4HTTEFTAFWAdQMTwXPAI2YQA='
[/CODE]
в лавлейсе вызов - entity: switch.projector
блин тег CODE не работает почему-то
я тут понажимал кнопки в режиме обучения и офигел. коды каждый раз разные на одни и те же кнопки! В чем прикол?
Приходи в наш чат в телеге, там обсудим. Тут долго переписываться)
зашел, задал вопрос, игнор. Люди о своём разговаривают. канал HA
Все работает, кроме телевизора Sony. Полученный в ходе обучения код не срабатывает. При этом, если в mi home настроить пульт sony Tv - Все работает. Может кто-то сталкивался с такой проблемой? Ощущение, что у Sony какие-то хитрые IR коды
А если обучение сделать в приложении mihome, работает?
Я уже нашел коды ir sony. Теперь все работает
Не могли бы Вы предоставить коды. (
Я уже нашел коды ir sony. Теперь все работает
)
У меня телевизор залетел норм, рекуператор тоже. А кондиционер просто не принимает команды с Xiaomi IR. Кто сталкивался с таким? Кондиционер Galactic
Какая модель шайбы? Их две, одна корректно работает, а вторая половина кодов не может повторять
Добрый день.
У меня аналогичная проблема.
Использую XIAOMI MI REMOTE (chuangmi.remote.v2). С помощью него удачно получилось считать команды и управлять пультом от телевизора. Однако при попытке считать команды от пульта управления кондиционером всегда получаю разные команды (raw строка) на одно и то же состояние.
Например, нажимаю включение - получаю raw1, нажимаю выключение - получаю raw2, не внося изменений в состояние кондиционера опять нажимаю включение. По логике должен получить raw1, но получаю raw3. Аналогично с выключением - получаю raw4.
Попытки отправить данные команды через IR ни к чему не приводят - кондиционер не включается/не выключается.
Кондиционер Zanussi Fresco / пульт ДУ ZH/TT-02
С этой шайбой не получится , broadlink сможет. проверено на 2х кондеях разных фирм с такой же проблемой
Спасибо.
А не подскажете какой Broadlink лучше подойдет для управления кондиционером/ интеграции в HASS ?
Видел в интернете несколько популярных моделей.
Такая же проблема с этой же версией шайбы, кондиционер electrolux.
Добрый день! Пульт в НА появился спасибо @Bratan, однако коды от пульта ТВ Samsung всегда разные, кто сталкивался? есть решение?
Привет всем!
так же столкнулся с проблемой спаривания шайбы с НА. Конкретно не могу управлять кондеем Gree. Все так-же при каждом нажатии разные коды ловит....
НО! Шайба успешно управляет кондеем из приложения MiHome... Причем там без обучения даже, просто выбрал фурму Gree и все работает... Может кто-то тут сможет подсказать, как можно вытащить команды из приложения?
Привет Андрей. С момента нажимания статьи вышла вторая версия шайбы, она не умеет корректно работать с кодами кондеев. Отличительная особенность это логотип на Mija на верхней поверхности. У вас какая версия?
не смотрел, на своём опыте могу сказать, что корректно работает с кодами кондея та, на которой логотип Mi сверху. Сам случайно купил 2 mija и не работает она зараза. Просто не воспроизводит коды нужные, а прошлая mi версия отрабатывает корректно.
ну вот по моим фоткам: какая у меня версия???
Вторая - логика Mija. Для корректной работы нужно покупать:
https://sprut.ai/static/media/cache/00/23/67/5/4146300/60815/1000x_image.jpeg?1592488752" alt="1000x_image.jpeg?1592488752" />https://sprut.ai/client/user/profile/2367">Сергей Драгунов (@SD)
Но вопрос в другом. Если в приложении MiHome мы указываем модель кондиционера, то все прекрасно из приложения работает.
Вопрос, кто и на каком этапе меняет коды от пульта при считывании? И. Если выловить эти коды через Broadlink подойдут ли они в Xiaomi?
Дополню.
Провел ряд экспериментов.
Вторым устройством читал то, что передает первое на кондиционер при управлении через MiHome - коды разные
Считывал двумя устройствами (первое - версия ПО 1, второе обновилось до версии 2) - код от пульта кондиционера - код получен одинаковый.
Вопрос. Почему этот код не повторяется и не работает при передаче с шайб?
Получилось использовать chuangmi.remote.v2 для home assistant эту модель без перепайки и прочего только с кодами намучался