AlexxIT Smart Home
7.64K subscribers
320 photos
27 videos
287 links
Заметки про развитие моего умного дома
Все полезные ссылки тут:
https://github.com/AlexxIT
Download Telegram
Итак, новые датчики 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
Обновил аддон RTSP2WebRTC. Добавил поддержку Ingress и внешнего доступа!

На скрине LTE.

Ingress это когда аддон работает через авторизацию Home Assistant. А это значит, если вы настроили внешний доступ к своему серверу, подключили HTTPS и двухфакторную авторизацию - аддон будет это всё использовать.

Но! Сам видео-поток нельзя передать по Ingress. Поэтому для видео используются UDP порты 50000-50009. Их необходимо прокинуть на вашем роутере. Их несколько, потому что каждая трансляция (не камера) занимает отдельный порт.

Теоретически там всё шифрованно, но я не проверял.

Настройка диапазона портов будет в следующих версиях. Мне пришлось переустановить аддон, чтоб всё заработало.

https://github.com/AlexxIT/hassio-addons/tree/master/rtsp2webrtc
Слыхали про новые одноканальные реле Aqara серии Т1 (Zigbee 3)?

И в двух версиях - с нулём и без нуля! Активно продаются в Европе. Цены пугают.

Ждём появления на Али как самого реле, так и обновленную линейку устройств серии Т1. Кнопки, датчики движения, двери и протечки...

Все эти устройства даже Zigbee Alliance признал и не постеснялся добавить в свою базу на сайте.

А это значит, что устройства исправно поддерживают протокол. Вполне возможно с серией Т1 больше не будет проблем с роутингом в сети Zigbee. А ещё "хорошие" устройства на Zigbee протоколе позволяют настраивать пороги и период обновления значения своих сенсоров.

Считаете, что температура на вашем датчике обновляется редко? Надеемся и ждём, что это не будет проблемой в будущем.

Хаб то на Zigbee 3 у вас уже есть? 😉
Задавались ли вы вопросом, что использовать? Raspberry/аналог или Intel Nuc/аналог?

Идея в том, что Raspberry не прощает "плохих" конфигов. Но в правильных руках третья малина будет работать не хуже x86.

А Home Assistant в последнее время начинают пробовать всё больше и больше "домохозяек" (и это хорошо).

Бездумно скопипастили чей-то конфиг для камер? Получите 30% постоянной нагрузки на процессор и тормоза.

Но, может вам повезло, и скопипастили уже другой пример. И вот у вас пол процента загрузки CPU. RTSP2WebRTC как раз из таких компонентов 😉

Используете конфиг по умолчанию и кучу сенсоров? Получите дохнущие microSD карточки раз в полгода. А всего-то надо было:

1. Купить карточку с пометкой А1. Забейте на Class 10. Должно быть написано именно А1.

2. Настроить recorder commit_interval равным, допустим 60 секундам.

3. Аккуратнее пользоваться логами. Я часто прошу включить в моих компонентах debug режим для поиска проблем. Но если у вас именно microSD карта - обязательно выключайте его после сбора логов.

И как бы всё. Нет особой необходимости покупать eMMC или SSD. Велика вероятность, что ваша карта ещё перейдёт вашим детям по наследству.

Я не сказал ничего нового. Это всё есть в документации Home Assistant! Но кто-нибудь её вообще читает?

Так что ответ на вопрос - если есть возможность пользоваться x86, выбирайте именно его. Но и малина при должной сноровке вполне способна служить верой и правдой.
Продолжаю изучать адаптивное освещение. Сравнил работу трех популярных компонентов: Flux, Circadian и Adaptive Lighting.

Натравил их на ненастоящие лампочки и построил графики яркости и температуры. Вы в курсе, что в Home Assistant есть компонент demo? И с его помощью можно посмотреть, как работают разные приборы: лампочки, медиа плееры, умные шторы, замки и тп. Можно даже прокинуть их в Алису или Сири.

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

Circadian от рассвета до заказа устанавливает максимальную яркость, а от заката до рассвета - минимальную температуру (желтый свет).

В течении дня он поднимает температуру до максимальной (к середине дня) и опускает до минимальной к закату. А в течении ночи - понижает до минимальной ярость (к середине ночи) и возвращает до максимальной к рассвету.

Время рассвета и заката совпадают с данными на Яндексе.
Забавно. Есть ряд программ на Android, которые замеряют яркость света через встроенный датчик освещённости, который сейчас есть почти во всех смартфонах.

Так вот главное не это. Оказывается, эти датчики бывают как с поддержкой цвета, так и нет. И на моём новом телефоне датчик без RGB. А вот на старом Samsung всё есть. И показывает очень близкие цифры к тем, что я выставляю в Home Assistant.
Уже второй день некоторые города России полностью покрыты сплошной коркой льда.

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

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

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

Мне совсем не больно падать, страшно не летать (с)

Берегите себя.

https://www.sportmaster.ru/product/10165080/