AlexxIT Smart Home
7.92K subscribers
321 photos
27 videos
289 links
Заметки про развитие моего умного дома
Все полезные ссылки тут:
https://github.com/AlexxIT
Download Telegram
Итак, небольшие новости про Xiaomi Gateway 3.

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

Но и это не беда! Чем плоха новая прошивка? В ней закрыт Telnet. Значит, что нужно сделать? Взять исходники новой прошивки, открыть там Telnet, запаковать, подписать и подсунуть шлюзу как родные. И уже есть успешные наработки в этом направлении (не у меня).

Это можно сделать только на шлюзе с хорошей прошивкой! Шлюзу с уже установленной плохой прошивкой поможет только паяльник!

В общем, как появится стабильная и проверенная сборка - я смогу добавить опциональную функцию обновления в компонент. Никаких паяльников тут не надо. Прошивка будет на 99.99% соответствовать оригинальной.

PS: раньше времени не будем показывать Xiaomi все свои козыри 🤐
Беда. Пришёл первый шлюз с китайской вилкой (ZNDMWG03LM) и плохой прошивкой (1.4.6_0043). Дата производства 2020.10. Дата заказа 14 октября 2020.

Магазин Mijia Homes Store.

Инструкции на этот случай ещё нет. Она в процессе.

Есть только инструкция по откату прошивки на прошлую. Отличие в том, что на хабе с завода нет "прошлой" прошивки.

PS: есть второй заказ из этого магазина от 12 октября. Прошивка норм.

PS2: это прошивка с Telnet под паролем. Полный аналог прошивки евро-хаба. Для извлечения пароля всё же нужен паяльник.
Хочу напомнить, что даже Xiaomi Gateway 3 с плохой прошивкой можно подключить к Home Assistant по протоколу HomeKit.

Home Assistant сам найдёт новое устройство и предложит его добавить. Pairing Code находится на нижней стороне хаба (цифры около QR-кода).

При этом вам нельзя подключать ваш хаб напрямую в приложение Apple Home. Потому что HomeKit устройство может быть соединено только с одним контроллером. И им может быть либо устройство Apple, либо Home Assistant.

Так можно подключить и другие хабы Aqara, которые умеют HomeKit.

Через HomeKit конечно пробрасываются не все Zigbee/BLE/Mesh-устройства. И принято считать, что такая интеграция работает весьма посредственно. Хотя в последних обновлениях ХА было много улучшений в этом направлении.

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

А вот что, если картина на стене будет отображать обложку песни, которая играет в данный момент?

Такой фокус несложно проделать даже с Яндекс.Станцией. Если это локальная колонка - в атрибутах компонента есть ссылка на обложку на Яндекс.Музыке. А дальше автоматизация и дело техники.

Если есть Chromecast, Mi Box или другой Android TV - можно выводить обложку там.

Цена на рамку из видео, конечно, кусается. А у Samsung есть телевизоры с похожей идеей.

https://twitter.com/i/status/1320833401507745794
Одним из плюсов использования Xiaomi шлюза являются автоматизации Mi Home.

Существует ошибочное мнение, что они все зависят от облака и перестанут работать при проблемах с Интернетом. Это не так.

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

Я только что проверил управление "Zigbee-кнопка на шлюзе 1 => Zigbee-лапмочка на шлюзе 2" и это работает при отключении Интернета.

Я также проверил "Zigbee-кнопка на шлюзе 1 => Mesh-лампочка на шлюзе 2" и это тоже работает без Интернета.

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

На самом деле из Home Assistant я могу послать команду на любой из шлюзов, и он без проблем включит Mesh-лампу.
Ещё одна долгожданная функция - Mesh-группы. Ещё не в релизе, но уже на github.

Если кто-то жаждет попробовать - легко ставится через HACS: три точки в HACS - Reinstall - выпадающий список - master - Install.

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

Зато если в ХА придёт оповещение о изменение статуса любой из ламп группы - оно обновит статус всей группы целиком.

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

ХА не соберёт лампы в группу, если на хабе не будет такой настройки.
Часто в умном доме возникает потребность в реле с сухим контактом для управления, например, котлом. Или реле в режиме Interlock для управления открытием/закрытием электро-крана.

У Sonoff есть очень универсальное реле на многие случаи жизни. Это Pro серия их 4х канального реле. Где контакты реле выведены без особых хитростей.

На вход реле по умолчанию не подаётся питание. Значит, контакт является сухим.

Плюс есть оба выхода каждого реле - для замкнутого и для разомкнутого состояния. Значит, электро-краном можно управлять, используя только один из каналов реле. Он по умолчанию подаёт напряжение либо на один, либо на второй выход канала.

Плюс Pro серия поддерживает управление с радио-пультов на 433 МГц.

Важно помнить, что обычная серия лишена этих плюсов и годится только, чтоб включать лампочки.

В теории, если прошить ESPHome, прикрутить проводной сенсор влажности и аккумулятор питания на 12Вт - можно сделать автономную и надёжную систему защиты от протечек.
Итак, новые датчики Aqara уже появились в официальном магазине на JD и у первых владельцев.

Ах, вы не знаете, что это такое? Это высокоточный датчик присутствия человека на Zigbee 3. Именно присутствия, не движения. Разницу улавливаете?

По слухам Aqara планирует продавать его только в пределах Китая. На Али его нет и непонятно, появится ли.

И пока непонятно, на основании какой технологии он определяет человека. Ждём первые живые обзоры.
Два месяца назад я впустил обновление для Xiaomi Gateway 3 с поддержкой датчиков движения. И всё это время пользователи мучались с досадным багом, который я там допустил. Да что там, мне и самому не раз влетело из-за глючно работающего света в прихожей.

Как вам известно, датчики движения Xiaomi шлют информацию только о начале движения. И не чаще раза в 60 секунд. Информацию о конце движения они не шлют.

И каждое решение, Mi Home, z2m или вот мой компонент, само запускает таймер сброса движения. При каждом новом движении запускается новый таймер, а старый сбрасывается.

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

Это было не супер заметно, потому что в критичных местах дома я использую более хитрые таймеры на Node-RED. А обычный линейный только вот в прихожей и коридоре.

Зато новая версия компонента не просто исправляет эту ошибку. Она приносит ряд плюшек для этого популярного датчика.

Во-первых, датчик теперь можно настраивать из GUI. И новые настройки применяются сразу без перезагрузки. Любителям YAML не стоит переживать, всё можно поменять и там.

https://youtu.be/2EeKnF2uvjo

Во-вторых, я перенёс в компонент логику своего прогрессивного таймера и настройку "быстро вернулся". Теперь более крутые таймеры можно настраивать, прям в Home Assistant. Опять же, без перезагрузки.

PS. Я обновил логику Bluetooth Mesh Groups. Теперь видны и сами лампы и их группы. Состояние группы берётся из последнего обновления состояния дочерних ламп. Так что если у вас дочерние лампы с разными статусами - группу может колбасить.
Прогрессивный таймер позволяет с каждым новым движением человека использовать новое значение таймера. Больше двигаетесь - больше таймер. Хорошо работает в кухне.

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

Режимы можно комбинировать.

У меня ранее была статья про прогрессивный таймер на Node-RED. Теперь эта логика доступна пользователям Xiaomi Gateway 3 в пару кликов.

https://sprut.ai/client/blog/2486
Кто там жаждил менять zigbee каналы и мощность на своём Xiaomi Gateway 3? Уже в продакшене. Пользуйтесь на свой страх и риск. Я не знаю, насколько это безопасно.

Видел у некоторых, шлюз сам выкручивает мощность на 30. Это странно. Потому как по спецификации zigbee чипа он умеет только 19.5 dBm. Может антенна что-то добавляет.

Вообще я не сильно разбираюсь в этих dBm. Знаю, что у популярной связки cc2538+cc2592 эти значения 7+22. Так что, если шлюз действительно может жечь на 30 - он вполне себе сравним по мощности с легендарным стиком.

PS. Ещё я добавил одновременные нажатия нескольких кнопок на всех выключателях, у кого этих несколько кнопок есть. Вы знали, что трёхкнопочные D1 поддерживают одновременные нажатия первой и второй, второй и третьей, и первой и третьей кнопок?
Вокруг Xiaomi Gateway 3 собрались действительно крутые специалисты. Один разобрал алгоритм формирования загрузочного раздела хаба. Второй превратил этот алгоритм в код. Третий разместил этот код в виде сайта. Четвёртый оформил это всё в инструкцию.

И теперь вы относительно просто можете, как откатить прошивку на своём хабе, так и расшифровать пароль с новенького хаба с Али. В обоих случаях, конечно, понадобится паяльник. Лично я не специалист по паянию и отнесу свои следующие хабы к коллеге. Там всего-то надо припаять 3 провода для UART. И опционально 4 провода для Ethernet.

https://github.com/AlexxIT/XiaomiGateway3/wiki

В перспективе, надеюсь, появятся и другие инструкции. По доработке Ethernet, альтернативной прошивке на OpenWrt с поддержкой базового ПО от Xiaomi, DualBoot (выбор прошивки для загрузки) и другие.

Ещё есть желание добавить хабу немного большей автономности от ХА. Поддержка устройств Sonoff на базовой прошивке хаба было бы идеально...
Итак. Выделил вечерок, собрал первую версию аддона для камер RTSP2WebRTC.

Ставится из кастомного репозитория аддонов. Не перепутайте, это не компонент HACS, это аддон hass.io. Их постоянно все путают.

Работает на x86 и малине. Спасибо Docker и go.

В Configuration укажите ссылки на ваши RTSP-камеры.

Пока нет карточки Lovelace, поэтому картинку нужно смотреть через Web UI аддона.

Ну и самое печальное - пока непонятно как прокинуть это дело во внешку. Через VPN конечно поток работает! Но хотелось бы пользоваться через обычный внешний доступ ХА без необходимости запускать VPN на телефоне.

https://github.com/AlexxIT/hassio-addons
Набросал статью для поиска проблем при настройке внешнего доступа в умный дом. Чтоб больше людей смогло ощутить всё удобство современного мира информационных технологий.

Ведь следующим шагом будет добавление внешнего доступа в аддон камер (RTSP2WebRTC). У меня удалось его прикрутить, но для продакшена нужно допилить в паре мест напильником.

https://sprut.ai/client/blog/3688
В прошлом году Xiaomi в лице Yeelight представили очень интересную технологию SLISAON. Она расшифровывается, как "умный свет всегда включен".

Блогеры помусолили тему, ничего толком не поняли и благополучно забыли. Но тема на самом деле очень крутая.

В некоторых новых умных лампах встраивается функция "переключения режима при кратковременном пропадании питания". Именно так работают допотопные реле света на радио 433. Если пульт не работает и быстро щёлкать настенным выключателем - реле переключает режимы по очереди.

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

Желательно конечно заменить или переделать свои выключатели в возвратные. У выключателей Легранда бывает место под пружину.

Мои две тестовые Bluetooth Mesh лампочки, одна от Xiaomi, другая от Yeelight - поддерживают этот новый режим.

Жаль реле Sonoff так не умеют, была бы бомба...
Давайте ещё раз повторю тем, кто не понял с первого раза.

Xiaomi/Yeelight начали выпускать умные лампы и люстры, которыми можно управлять с помощью любого глупого выключателя. В выключателе нет электроники. От него не надо тянуть дополнительные провода. В него не надо подводить ноль. Можно купить готовый возвратный выключатель у Yeelight. Можно смастерить возвратный выключатель самому. Можно использовать свой обычный невозвратный выключатель, но нужно будет быстро клацнуть два раза, чтоб включить или выключить такую лампу.

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

Эта функция называется Flex Switch в настройках лампы/люстры в Mi Home.
И опять про новые лампочки от Xiaomi. Спасибо Mike из комментариев к прошлому посту за идею.

Допустим, вы поставили умные выключатели. Тут неважно какие, Wi-Fi или Zigbee, с нулём или без. И поняли, что просто включения светам вам мало. Хочется управлять яркостью.

Вы можете поставить эти новые лампочки и настроить автоматизацию, чтоб ваш умный выключатель сразу же включался, если был выключен.

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

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

А ещё слышали новомодную фичу "Адаптивное освещение HomeKit", которой Apple так гордиться? Это автоматическая настройка цветовой температуры ламп в течении дня. Почитайте про циркадные ритмы, говорят это полезно.

Так в Home Assistant она появилась 5 лет назад! Без шуток, я проверил.

Это стандартный компонент Flux. Он встроен в Hass по умолчанию. Или чуть более продвинутый компонент Hass Circadian Lighting, который есть в базовых компонентах HACS.

Ваши умные выключатели так не смогут. И умные диммеры так не смогут. А умные лампочки смогут. Такие дела.
В общем, провёл исследование и сделал ставку на новые Bluetooth Mesh-лампы.

Заказал много MJDP09YL. 445 рублей за умную лампу, которая умеет яркость и температуру вполне себе норм цена, когда их нужно много.

Умеют Flex Switch. Есть настройка, как светить после пропадания электричества. Причём не просто включено/выключено, а с учётом яркости и цветовой температуры.

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

Умеют Mesh-группы, а значит, будут включаться одновременно. Это важно.

Плюс, что лампы будут висеть напрямую на шлюзе, а не на WiFi-роутере. Причём на обоих шлюзах сразу.

По всем параметрам уделывают Zigbee-лампы из ИКЕА. Хорошо, что я не купил их много. Теперь не знаю, куда их приткнуть.

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

1. Например, стандартный компонент Flux по умолчанию управляет лампочками через координаты XY цветового пространства CIE. Это годится только для цветных лампочек. Остальными нужно управлять через цветовую температуру CCT (mired), иначе они не будут менять цвет.

2. Лампочки Xiaomi, управляемые по протоколу miio, вообще не поменяют температуру, если она выходит за допустимые значения. И, конечно же, именно так и происходит по вечерам.

3. Координата, где вы живёте, берётся из настроек Home Assistant. Проверьте, чтоб она была верной.

А ещё вы в курсе, что карточка Markdown поддерживает шаблоны? Вам не обязательно создавать кучу Template-сенсоров, чтоб видеть в интерфейсе полезные атрибуты ваших устройств. Я вот изучаю отличие работы компонента Flux от Circadian.
Наткнулся на забавную историю. Если к любому объекту добавить атрибуты hs_color и/или brightness - его иконка будет красится в этот цвет. Тут неважно, выключатель у вас или датчик протечки.

Атрибут можно поменять, например, через GUI customize. Главное следите, чтоб он не был строковый. Brightness это число, а HS это массив из двух чисел.

HS это hue/saturation. Их значения можете подсмотреть в интернете или в атрибутах уже заведённой в Home Assistant RGB лампочки.
Тем временем Xiaomi Gateway 3 стал вторым по популярности репозиторием.

Напоминаю, у каждого компонента есть подробная документация именно на GitHub. На большинство вопросов есть ответы именно там. Это одна большая страница с оглавлением. Для многих случаев есть видео демонстрация действий. Я трачу огромное количество времени, чтоб всё это подробно описать и заснять, чтоб было меньше вопросов.

В редких случаях документация отстаёт от реальности. Например, в последнее время Яндекс много сломал в облачных API.

На Gateway3 и SonoffLAN документации на английском. Но! Они отлично читаются в современных браузерах с автоматическим переводом страницы на удобный вам язык. Когда я захожу на китайский форум Hass, то даже не замечаю, что в оригинале он на совсем другом языке.

Если у вашего браузера нет такой функции - скорее его удаляйте и ставьте нормальный, современный.

https://github.com/AlexxIT