Xiaomi Remote 360 + Home Assistant + Алиса

08 августа 2019, 22:17

Предыстория

Всем привет!

Сегодня я хочу вам рассказать о своем опыте эксплуатации универсального пульта управления Xiaomi Remote 360 или в простонародье «Шайба» . В этой статье вы узнаете:

  1. Как правильно интегрировать данное устройство в альтернативную систему умного дома Home Assistant
  2. Как на базе инфракрасных сигналов сделать виртуальные выключатели для систем умного дома
  3. Как я использую данный девайс в связке с Алисой

И так, начнем сначала. Не изучив матчасть, поддавшись на импульсное желание обычного покупателя, давным давно я купил себе это устройство и до момента, когда начал интересоваться построением УД использовал его исключительно в сценариях приложения 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 . Мне осталось добавить о маленьких хитростях, которые я использовал сам:

1. Важно обратить внимание, что у кондиционеров, как правило команда включить и выключить отличаются. Для успешного использования нужно скопировать 2 разных кода для turn_on и turn_off.

2. В моем случае для выключения проектора требуется дважды нажать на кнопку питания. В конфигурации существует возможность сделать двойное нажатие в одной команде: 

      power_projector:
        command:
          - 'Z6VPABQCAABLAgAAuQYAANgIAACcEQAADiMAAIygAADIdwEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABFICAgEBAQECAgECAQEBAgECAgIBAgEBAQEBAQIBAgICBgNXA1cDUA'
          - 'Z6VPABQCAABLAgAAuQYAANgIAACcEQAADiMAAIygAADIdwEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABFICAgEBAQECAgECAQEBAgECAgIBAgEBAQEBAQIBAgICBgNXA1cDUA'

3. При настройке смены режима у климатической техники, например, в реализации режима интенсивной работы, я использовал следующую схему: Включение режима turn_on записана команда интенсивной работы, а в выключении режима turn_off использует код активации автоматического режима. Таким образом, как бы выключая наш виртуальный switch вы переводите устройство в обычный (автоматический) режим работы. 

На этом я с вами прощаюсь. Благодарю, что осилили этот текст. Желаю успехов и выполнения ваших задумок. Встретимся в комментариях! 


Все новости мира умных домов - t.me/SprutAI_News

Остались вопросы? Мы в Telegram - t.me/soprut

Хочешь умный дом но нет времени разбираться?
Посмотри примеры работ и выбери себе интегратора.
  1. (Brain)
    (Brain) 15 дней назад

    К сожалению использовать сию приблуду не собираюсь, однако автору большое спасибо за четкое, последовательное и лаконичное описание действий.
    Без излишеств, без ярких красок, все по делу.
    Считаю этот труд образцом написания мануала как для новичков так и для продвинутых пользователей УД.

  2. (sayplz)
    (sayplz) отредактировано 12 дней назад

    У меня не заработал такой switch, сработало только когда указал command и entity_id внутри data, вот так:

            turn_on:
              service: remote.send_command
              data:
                command: название команды
                entity_id: название вашего устройства
    

    И подскажите зачем при создании switch указываются параметры remote?

    switch:
      - platform: xiaomi_miio
        host: IP вашего устройства
        token: токен вашего устройства
      - platform: template
    ...
  3. Антон Самсонов (samsonovs)

    Картинка огонь :)

    1000x_image.png?1565657141
К списку блогов

Скидки для сообщества

MI-DOM

+7 977 282-80-53
Промокод:
SPRUTAI
Размер скидки:
5%

Интернет-магазин yourhomekit.ru

+7 914 550-51-11
Промокод:
SPRUT-BLG
Размер скидки:
8%
Cамый большой ассортимент в России аксессуаров Apple HomeKit

Похожие записи

13 февраля 2019, 22:00
Подключение радио на Xiaomi Gateway к Home Assistant c дальнейшим использованием в автоматизациях
19 апреля 2019, 20:53
Требуется ваше мнение!
06 февраля 2019, 12:02
Автоматизированное открытие/закрытие окна
04 апреля 2019, 12:45
Самое важное из апдейта Home Assistant 0.91-0.91.4 от 03.04.19.
21 марта 2019, 11:59
Самое важное из апдейта Home Assistant 0.9 от 20.03.19.
21 февраля 2019, 21:12
Самое важное из апдейта Home Assistant 0.88 от 20.02.19.
07 февраля 2019, 21:12
Самое важное из апдейта Home Assistant 0.87 от 06.02.19.
19 января 2019, 20:49
Делюсь новостями по проекту.
20 мая 2019, 20:54
Добавляем Телевизор в Homekit c помощью новых возможностей Home Assistant версии 0.93 и кастом компонента SmartIR MediaPlayer.