Как добавить wifi розетку xiaomi в home assistant

Обновлено: 05.07.2024

Сегодня мы разберемся как добавлять новые устройства в Home Asisstant (далее HA) на базе того, что есть у меня. Для добавления нового устройства определенной группы необходимо в нашем конфиге внести соответствующий раздел. При этом практически никогда вам не надо будет добавлять плагины для этого! В редких случаях, при использовании кастом компонентов необходимо скачать нужные файлы для их работы и поместить в соответствующие папки, но об этом чуть позже. Расскажу про добавление базовых вещей. По сути тут собраны все плагины устройств и сервисов, которые поддерживаются HA, можно поискать свой конкретный случай и посмотреть, есть ли поддержка девайса.

Xiaomi шлюз и Zigbee девайсы, подключенные к нему.

Если вы по моей предыдущей статье оставили раздел discovery: в конфиге, то все поддерживаемые устройства у вас автоматически появились и в HA:

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

Так как мы приступили к серьезной правке конфига, необходимо помнить, что HA очень чувствителен к лишним пробелам, следите за ними!

Что надо сделать для этого? Открываем наш конфиг на малинке:

cd /home/homeassistant/.homeassistant/
sudo nano configuration.yaml

После этого прописываем в конце нашего конфига следующее:

xiaomi_aqara:
discovery_retry: 5
gateways:
- key: your_key_gateway

Ключ (он же пароль, не токен, не перепутайте) для гейтвея получаем например как тут . После сохранения конфига, можно проверить его на правильность в веб интерфейсе и перезагрузить HA. При желании можно отредактировать названия датчиков или кнопок нажатием на них, а после в новом окошке на шестеренку:

Samsung smart TV (Tizen)

У меня телевизор самсунг 2017го года на тайзоне, для его добавления необходимо добавить в конфиг следующее:

media_player:
- platform: samsungtv
host: 192.168.1.X
port: 8001
mac: mac_your_tv
name: SamsungTV

Причем не важно как подключен телевизор, по кабелю или wifi к роутеру - команды на вкл и выкл будут отрабатывать в любом случае. Если у вас телевизор 2015го года или ранее, параметры port и mac можно не указывать, должно работать и так.

Xiaomi Philips Light

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

light:
- platform: xiaomi_miio
name: living_room
host: 192.168.1.x
token: your_token
model: philips.light.bulb

Если необходимо добавить несколько устройств, делаем так:

light:
- platform: xiaomi_miio
name: living_room
host: 192.168.1.x
token: your_token_1
model: philips.light.bulb
- platform: xiaomi_miio
name: bathroom
host: 192.168.1.y
token: your_token_2
model: philips.light.bulb

Broadlink on/off устройства

Если у нас есть устройства, которые можно включить или выключить через ИК пульт и Broadlink rm mini или pro, их так же можно добавить. Для начала запустим сам плагин, для этого нужно знать IP адрес броадлинка и его мак адрес. Добавляем в конфиг следующие строчки:

После этого проверяем конфиг на правильность и перезагружаем HA. Теперь можно добавлять наши устройства исправляемые по ИК. Коды сканированные ранее через плагин для Homebridge не подойдут, но их можно переделать в нужный формат используя конвертер HEX in base64 (говорим спасибо @samsonovs). Если же ИК кодов у вас нет, можно их получить используя HA. Как это сделать? Открываем веб морду HA и переходим по первой кнопке в разделе "Инструменты разработчика", в первом поле выбираем службу switch.broadlink_learn_command_*** и жмем кнопку "Call service":

После этого направляем пульт на broadlink и жмем на кнопку, код которой нам надо считать. Если затем перейти на главную страницу веб морды HA - там появится новое окошко со считанным кодом. Копируем его и сохраняем куда нибудь. Для считывания следующего кода процедуру необходимо повторить. Как только все необходимые коды будут прочитаны, возвращаемся к редактированию конфига и добавляем наш девайс. Должно получиться так:

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

group: !include groups.yaml
automation: !include automations.yaml
script: !include scripts.yaml

media_player:
- platform: samsungtv
host: 192.168.1.x
port: 8001
mac: tv_mac
name: SamsungTV

xiaomi_aqara:
discovery_retry: 5
gateways:
- key: your_key

light:
- platform: xiaomi_miio
name: living_room
host: 192.168.1.x
token: your_token1
model: philips.light.bulb
- platform: xiaomi_miio
name: bathroom
host: 192.168.1.y
token: your_token2
model: philips.light.bulb

Переходим на главную страницу и видим наши устройства:

Вуаля! Вы молодцы и можете гордиться собой! В принципе для каждого плагина тут есть подробная инструкция с примерами, кое что я не показал, кое что можно найти там. К сожалению у меня не такой богатый зоопарк устройств. В следующей части рассмотрим пробросать наших девайсов в HomeKit, а так же их фильтрацию

Сегодняшний небольшой обзор будет посвящен европейской версии Zigbee розетки Xiaomi. К основным достоинствам этого устройства, таким как энергомониторинг и интерфейс Zigbee, добавляется еще один — европейский, форм фактор, как его принято называть — Schuko или Type F.

Содержание

Где купить ?

Тот случай когда дешевле искать в локальных магазинах

    Покупал в Украине тут — KTC.UA — цена на момент покупки — 499 грн

Параметры

  • Модель — ZNCZ04LM
  • Максимальная мощность — 2300 Вт, при токе не более 10 А
  • Интерфейс — Zigbee
  • Формфактор — EU
  • Диапазон рабочих температур — 0 — 35 С при влажности не более 95%
  • Размер — 60 * 60 * 58,5 мм

Поставка

Поставляется устройство в привычной для экосистемы белой коробке с логотипом Xiaomi и фотографией устройства. Необычным является отсутствие иероглифов и надписи на русском языке. Всего на коробке, вместе с русским я насчитал 6 языков. Это устройство ориентировано на европейский рынок.

В коробке кроме розетки, нашелся еще гарантийный талон и многоязычная инструкция, содержащая в том числе и русский язык.


Внешний вид

Внешне розетка представляет собой белый пластиковый кубик. На фронтальной части — евророзетка стандарта Type F, c заземлением, над ней находится светодиод активности


На одном из торцов находится кнопка, короткое нажатие на которую переключает состояние реле, удерживание более 5 секунд — перевод в режим сопряжения.


На тыльной части — стандартная евровилка, контакты маркированы на ноль и фазу, имеется заземление. Тут же продублированы ее параметры.


Сравнение

Сравнительно с китайской версией — европейская имеет большие габариты, но это и понятно — так как сама розетка больше чем универсальный вариант классической версии.


Высота и глубина тоже превышают размеры китайской версии, при использовании в удлинителях с близко находящимися друг к другу розетками — она будет перекрывает мешать установке соседних вилок.


Подключение


Попробую режим прямого подключения сначала с китайским шлюзом второй версии — для перевода в режим сопряжения, на шлюзе нужно трижды нажать на кнопку, после чего зажать кнопку на розетке. Однако тут даже с модифицированным mihome — ничего не получилось, я делал несколько попыток.

Процесс можно посмотреть ввидео версии обзора


А вот тот же метод с шлюзом mi третьей версии — сработал, устройство смогло к нему подключится в ручном режиме.

По информации, от одного из разработчиков модифицированного mihome — (Себастьяна), розетка работает с европейской версией шлюза mi второй версии, и любыми версиями круглых шлюзов Aqara и mi 3.


Mihome

Через несколько минут после ручного сопряжения розетка появляется и в списке дочерних устройств шлюза и в общем перечне устройств. Регион, еще раз напомню — Китай.

Розетка имеет свой плагин, большую часть окна, в верхней части, занимает иконка розетки, выполняющая роль выключателя. Под ней находятся информация о потребленной энергии в разрезе дня и месяца, кнопка управления и расписание. Обратите внимание что розетка умеет определять есть ли в ней вилка устройства — потребителя.

Расписание включения и выключения — позволяет задать время для работы розетки в обход автоматизаций. В меню учета энергопотребления — должна хранится информация о расходе в кВт * ч.

Меню настроек — подобное азиатским версиям розеток. Тут есть опция аналогичная Charging Protection, тут она называется Maximum Power Limit — при активации она отключает розетку при падении потребления менее 2 Ватт, опция восстановления состояния после восстановления подачи электроэнергии, меню выбора иконок для плагина. Из нового — лог показывающий физическое наличие вилки в розетке.

в начале. В данном примере их можно использовать для условий автоматизаций — кроме включение и выключения розетки, еще и подключение и отключение вилки потребителя. Для действий автоматизаций — три стандартные опции, включить, выключить и переключить.

Теперь давайте перейдем к подключению розетки в Home Assistant. Так как единственный шлюз с режимом разработчика ее не поддерживает — это возможно только при использовании USB стика. Сначала удаляем розетку из mihome

Home Assistant

Подробно про usb zigbee stick СС2531 я рассказал в пятом уроке, своей обучающей серии видео про Home Assistant. Если вы его пропустили, то рекомендую с ним ознакомится -

Подключение совершенно стандартное — переключаем модуль zigbee2mqtt в режим сопряжения, при помощи стандартного набора автоматизации про который я рассказал в упомянутом уроке.


Вот так выглядел мой список Zigbee устройств на стике до этого момента. Зажимаем кнопку сопряжения на розетке.


Через несколько секунд устройство появляется в списке интеграции.


Аналогично азиатским версиям розетки, она содержит в себе три сущности — реле, сенсор потребления и сенсор уровня радиосигнала.


Все три сущности в своем названии содержат идентичный набор символов — техническое имя устройства, которое формируется в зависимости от его MAC адреса.

Устройство — на карте оно в правом нижнем углу, является роутером для zigbee сети, к нему могут подключаться конечные устройства типа сенсоров климата, движения, открытия, кнопок или выключателей без нулевой линии, либо беспроводных. Таким образом розетка расширяет и покрытие и емкость zigbee сети.

Первая версия компонента XiaomiGateway3 для Home Assistant вышла 4 месяца назад, и с тех пор много всего изменилось. В прошлой статье я писал про создание компонента. А в этой статье расскажу, почему это решение так заинтересовало сотни пользователей.


Прошивка шлюза

Эта модель шлюза действительно получилась очень удачной. Иначе как можно объяснить, что компания Xiaomi уже два раза успела обновить прошивку шлюза на своих заводах. Это единственная модель шлюза, у которой прошивка теперь обновляется настолько оперативно на производстве.

В сентябре вышла первая версия компонента. В октябре, после долгих задержек, покупателям начали приходить шлюзы уже с новой прошивкой. В ней Telnet был закрыт паролем. В ноябре прошивка на заводах снова обновилась, и Telnet в ней совсем пропал. Определить проблемный шлюз можно по дате производства на коробке — 2020.10 и выше.

В миг шлюз превратился из простого Plug and Play устройства в устройство, которое нужно обязательно вскрыть и прошить для интеграции в альтернативные системы умного дома.

Но шлюз хорош не только своим современным Zigbee-чипом и наличием чипа Bluetooth. Выбранный компанией-производителем SoC от Realtek позволяет в любой момент записать на шлюз любую прошивку, подключив всего три провода UART.

Если вы не любите паять, можно воспользоваться специальной прищепкой с контактами. Есть даже удачные примеры прошивки с бельевой прищепкой. Главное помнить, что обрыв контактов во время прошивки или UART на 5 В вместо 3.3 В вполне могут спалить микросхемы шлюза.

В развитии этого хаба участвует довольно много крутых людей. @serrj-sv собрал скрипт под Windows, который может прошить шлюз в полуавтоматическом режиме. А @zvldz собрал альтернативную версию прошивки, которая на 99% соответствует оригинальной. В ней поправлено недоразумение с закрытым Telnet и ещё пара мелочей. По особенностям прошивки и другим вопросам можно писать в этот чат Telegram.

Все полезные ссылки можно найти в вики проекта.

Поддержка Mi Home

Многие гики не любят облака и стараются с ними не связываться. Идеология облаков нарушает и главный девиз Home Assistant: конфиденциальность — прежде всего (privacy first).

С другой стороны, если при данном подходе сохраняется полноценное локальное управление (local control, вторая часть девиза Home Assistant), то ничего страшного в облаках нет.

Экосистемы производителей добавляют устройствам больше свободы и возможностей управления, включая внешний доступ «из коробки» и прямое подключение к популярным голосовым ассистентам вроде Яндекс.Алисы и Google Assistant.

Также с этим подходом новые пользователи могут плавно осваивать Open Source системы умного дома: если что-то не получается, можно легко продолжить пользоваться устройством в экосистеме производителя.

Да, где-то на китайском сервере будет хранится информация, включен ли у вас в туалете свет. Так ли много на вас компромата у лампочки? Особенно если сравнивать с данными в вашем браузере или смартфоне. А полный доступ к прошивке шлюза позволяет пытливому уму легко отследить, какая именно информация отправляется «на родину».

Поддержка Zigbee устройств Xiaomi

все популярные устройства: выключатели, кнопки, розетки, реле, лампочки, датчики движения, температуры, открытия, протечки, вибрации, газа, дыма, шторы и замки;

редкие устройства вроде термостата Aqara Thermostat S2 (KTWKQ03ES) — такой термостат пока не поддерживается даже в zigbee2mqtt;

самые свежие устройства вроде новых: реле Aqara Relay T1 и высокоточный датчик присутствия Aqara Hight Precision Motion Sensor (RTCGQ13LM).

Альтернатива: разнообразные DIY и коммерческие Zigbee-стики и DIY-хабы. Вот довольно большое русскоязычное сообщество в Telegram, где могут ответить на ваши вопросы по поводу Zigbee.

Поддержка BLE-датчиков Xiaomi

все популярные датчики: разнообразные датчики температуры с экраном, датчик ухода за растениями, фумигатор, ночник и умный кубик Рубика;

редкие устройства вроде сейфа Xiaomi Safe Box (BGX-5/X1-3001) — да, есть и такое устройство;

самые свежие датчики вроде новых датчиков двери, протечки и движения на технологии BLE;

различные дверные замки экосистемы Xiaomi.

Компонент не поддерживает не BLE устройства вроде чайника и самоката Xiaomi.

Альтернатива: шлюз на основе ESP32 или встроенный Bluetooth на сервере умного дома. Обычно этими способами поддерживаются только популярные датчики температуры — альтернативной поддержки дверных замков я не встречал.

Поддержка Bluetooth Mesh-ламп

Компонент поддерживает новые Mesh-лампы экосистемы Xiaomi под брендами MiJia и Yeelight. И один китайский пользователь уже второй месяц пытается добавить поддержку Mesh-выключателей. А я никак не найду время рассмотреть его pull request.

Новые лампы очень выгодно отличаются ценой и функциями от аналогов на технологиях Wi-Fi и Zigbee, поэтому к ним стоит присмотреться. Об одной из таких ламп я рассказываю в своей статье про адаптивное освещение.

Альтернатива: на ум приходит только новый хаб Yeelight и подключение его к Home Assistant через протокол HomeKit. Open Source проекты с поддержкой Mesh-ламп я не встречал.

Поддержка Zigbee Home Automation

Пользователи не любят хабы крупных компаний из-за того, что они поддерживают только устройства своего производителя. Так вот Xiaomi Gateway 3 лишен этого недостатка.

Я добавил в него режим, в котором Home Assistant напрямую подключается к Zigbee-чипу хаба через интеграцию Zigbee Home Automation.

Конечно, у подхода есть минусы:

Zigbee-чип перестаёт работать с Mi Home и начинает работать только с Home Assistant;

по количеству поддерживаемых устройств ZHA сильно уступает проекту zigbee2mqtt.

Но есть и плюсы:

в Китае не узнают, включен ли у вас в туалете свет;

в любой момент можно вернуть хаб в обычный режим работы c Mi Home без последствий для родной прошивки хаба;

BLE-датчики и Mesh-лампы продолжают работать в этом режиме;

команда Home Assistant активно развивает проект ZHA в рамках своей основной работы.

Альтернатива: шлюз Sonoff ZBBridge, прошитый Tasmota.

Поддержка сторонних устройств в Mi Home

В некоторых случаях для поддержки сторонних Zigbee-устройств режим ZHA включать не обязательно.

Изучая проблему, почему лампы IKEA E27 из российских магазинов не подключаются к хабам Xiaomi, я пришел к выводу, что в хабах зашита поддержка лишь семи моделей ламп, хотя проект zigbee2mqtt поддерживает более 30 моделей ИКЕА.

Дело осталось за малым — вместо настоящей модели лампы подсунуть хабу ту, которую он поддерживает. Реализовать код, организующий подмену модели устройства в момент добавления устройства в хаб, оказалось несложно. Как оказалось, этот способ отлично подошёл для диммеров и реле других фирм.

И самое интересное в данном способе то, что устройства работают и управляются в Mi Home без участия Home Assistant. И могут участвовать в автоматизациях.

Конечно, не стоит рассчитывать, что таким образом заработают любые устройства. Например, у меня не получилось заставить работать лампочки и датчик Philips Hue, а также кнопку Sonoff. А умные розетки, добавленные таким образом, не показывают энергопотребление.

Интеграция с облаком

Компонент поддерживает опциональную интеграцию с облаком. При этом компонентом можно пользоваться и без интеграции с облаком, просто добавив шлюз по IP-адресу и токену Mi Home.

Но если вы авторизуетесь в облаке Xiaomi, все данные о шлюзе загрузятся автоматически. Кроме адреса и токена шлюза из облака загрузятся все имена ваших Zigbee, BLE и Mesh-устройств. Вам не придётся снова заполнять их в Home Assistant, выясняя, что за устройство скрывается за именем 0x00158D0007396A5D.

Получение токенов любых Xiaomi устройств

Помимо получения данных о шлюзе и его устройствах - облачная интеграция позволяет получить Mi Home токены от любых Wi-Fi устройств в вашем аккаунте. Если ваш аккаунт использует одновременно разные сервера (например, европейский и китайский), это тоже поддерживается.

Функция получения токенов работает даже если у вас нет шлюза Xiaomi Gateway 3.

Расширенные настройки устройств

Один из самых популярных Zigbee-датчиков в экосистеме Xiaomi это датчик движения. Ранее я пользовался “вторым шлюзом” Xiaomi и писал автоматизации для этого датчика в Node-RED.

Довольно давно я придумал автоматизацию “прогрессивного” таймера для датчика движения с опцией “быстрого возвращения”. Первое движение человека перед датчиком запускало небольшой таймер, а следующие движения - запускали уже увеличенный таймер. Таким образом при постоянном нахождении в комнате свет мог гореть дольше, а при кратковременном пробегании мимо датчика - свет выключался быстро. Хорошо работает в помещении вроде кухни.

Также при обнаружении движения сразу после выключения света - свет включался с увеличенным таймером. Полезно, когда свет выключается не вовремя и злой человек машет рукой датчику.

Логика работы показана на картинке


Мониторинг работы устройств

Радиосвязь всегда менее надёжнее провода. Сигнал от датчика может по разным причинам “не дойти” в центр. Zigbee и Bluetooth работают на той же частоте, что Wi-Fi и микроволновки.

Для обнаружения возможных проблем в компоненте есть опциональная статистика по каждому Zigbee и BLE устройству.


Именно этот показатель помог мне выпустить две заплатки и уменьшить количество пропусков срабатывания у популярного датчика движения Aqara Motion Sensor. Одна заплатка попала в компонент Home Assistant, а вторая в проект zigbee2mqtt.

Перспективы развития

За четыре месяца компонент оброс огромным количеством функционала и успел получить более 400 звёзд на GitHub. Но мысли по дальнейшему развитию и не думают кончаться.

Ещё остаётся добавить корректную работу с Bluetooth-устройствами при использовании нескольких хабов на одном сервере Home Assistant. Дело в том, что BLE датчики и Mesh-лампы не привязаны к какому-либо одному хабу. Все хабы могут получать данные с окружающих сенсоров и управлять окружающими лампами. Кстати огромный плюс в сравнении с технологией Zigbee.

Так же в планах добавить настройку параметров дочерних устройств - режим interlock в реле Aqara (переключатель пропал в последних версиях приложения Mi Home), чувствительность и задержки между срабатываниями нового датчика присутствия Aqara и многие другие.

Отдельным направление развития остаётся поддержка конвертеров проекта zigbee2mqtt. Если его удастся довести до релиза, пользователь сможет выбрать, как именно подключать имеющиеся у него устройства:

оригинальное ПО Xiaomi - готово

конвертеры zigbee2mqtt - есть рабочий прототип

И что немаловажно - переключаться между режимами можно в любой момент без последствий для оригинальной прошивки хаба.

На моём GitHub можно найти ссылки на другие компоненты и статьи. А за их развитием можно следить на моём канале в Telegram.

Сегодняшний небольшой обзор будет посвящен европейской версии Zigbee розетки Xiaomi. К основным достоинствам этого устройства, таким как энергомониторинг и интерфейс Zigbee, добавляется еще один — европейский, форм фактор, как его принято называть — Schuko или Type F.

Тот случай когда дешевле искать в локальных магазинах


  • Модель — ZNCZ04LM
  • Максимальная мощность — 2300 Вт, при токе не более 10 А
  • Интерфейс — Zigbee
  • Формфактор — EU
  • Диапазон рабочих температур — 0 — 35 С при влажности не более 95%
  • Размер — 60 * 60 * 58,5 ммПоставка
Поставляется устройство в привычной для экосистемы белой коробке с логотипом Xiaomi и фотографией устройства. Необычным является отсутствие иероглифов и надписи на русском языке. Всего на коробке, вместе с русским я насчитал 6 языков. Это устройство ориентировано на европейский рынок.В коробке кроме розетки, нашелся еще гарантийный талон и многоязычная инструкция, содержащая в том числе и русский язык.


Внешне розетка представляет собой белый пластиковый кубик. На фронтальной части — евророзетка стандарта Type F, c заземлением, над ней находится светодиод активности Сравнительно с китайской версией — европейская имеет большие габариты, но это и понятно — так как сама розетка больше чем универсальный вариант классической версии. Высота и глубина тоже превышают размеры китайской версии, при использовании в удлинителях с близко находящимися друг к другу розетками — она будет перекрывает мешать установке соседних вилок.


Процесс можно посмотреть ввидео версии обзораА вот тот же метод с шлюзом mi третьей версии — сработал, устройство смогло к нему подключится в ручном режиме.


По информации, от одного из разработчиков модифицированного mihome — (Себастьяна), розетка работает с европейской версией шлюза mi второй версии, и любыми версиями круглых шлюзов Aqara и mi 3.

в начале. В данном примере их можно использовать для условий автоматизаций — кроме включение и выключения розетки, еще и подключение и отключение вилки потребителя. Для действий автоматизаций — три стандартные опции, включить, выключить и переключить.Теперь давайте перейдем к подключению розетки в Home Assistant. Так как единственный шлюз с режимом разработчика ее не поддерживает — это возможно только при использовании USB стика. Сначала удаляем розетку из mihome

Читайте также: