AlexxIT Smart Home
8.34K subscribers
325 photos
28 videos
291 links
Заметки про развитие моего умного дома
Все полезные ссылки тут:
https://github.com/AlexxIT
Download Telegram
#gateway3
Новый проект gw3 ещё не вышел в релиз, а его уже начинают пробовать в бою пользователи других платформ умного дома.

Вот тут интеграция умного замка Aqara Door Lock N100 (Bluetooth) напрямую в Node-RED без участия Home Assistant! Но, конечно, при участии Xiaomi Gateway 3.

Конечно, кроме замков поддерживаются все виды датчиков Xiaomi, весы, чайники (без управления), зубные щетки, Yeelight пульты (скоро), трекеры iBeacon/MiBand/Nut...

И всё это работает стабильнее, чем на обычном шлюзе, подключенным в Mi Home! Почему так происходит, я напишу в отдельной статье после релиза.
#hass
У меня для вас новый проект - облегчённая версия HACS. На тот случай, если вы не можете или не хотите его ставить.

До сих не понимаю, зачем разработчики Home Assistant вцепились в идеологию встраивать в базовую версию ХА всё подряд.

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

В общем:

1. Добавляете switch из документации

2. Настройки > Сервер > Перезагрузка: объекты Command Line

3. Ждёте 30 секунд

4. Добавляете ссылки на нужные кастомы в файл updater.txt

5. Живёте долго и счатливо

Если switch включен - у вас всё обновлено. Если switch выключен - у вас есть обновления. Включите его, и он всё обновит.

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

https://github.com/AlexxIT/Updater
#hass
А вы знали, что Aqara сделала официальный компонент для Home Assistant?

Первый взгляд на репозиторий пробуждает в памяти слова известного профессора:

- за изобретение ставлю пять, а по предмету - неуд

Ну кто же оставляет в репозитории файлы *.pyc и *.lnk. Да и лежит всё не в папке custom_components, как принято оформлять все кастомные компоненты ХА.

Я кстати долго искал кастомный компонент с таким оформлением, чтоб добавить поддержку во вчерашний Updater. Так и не нашёл. Но спасибо разработчикам из Aqara, теперь у меня есть на чём потренироваться 😅

С другой стороны беглый обзор кода говорит, что внутри всё оформлено на уровне и по канонам. Вполне себе эталонный компонент, написанный со знание дела.

Сам проверить работу не могу, совсем не до того. Всё в ваших руках. Работает только через облако, но тенденция в любом случае радует.

https://github.com/aqara/home-assistant
Вчера мой аккаунт GitHub суммарно набрал четыре тысячи звёзд. Два года назад там появился первых публичный проект - SonoffLAN.

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

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

Теперь я планирую убрать все новшества из мастер версии и отправить их на основательную переработку.

Но на днях приоритет развития изменился. Я нашёл способ собирать статистику ошибок Zigbee и Bluetooth чипов. И сейчас основная цель свести количество таких ошибок к минимуму. Это должно значительно улучшить стабильность Хаба во всех режимах - Mi Home, Zigbee Home Automation и zigbee2mqtt.
#hass
Забавно. Разработчик из Купертино (как звучит!) встроил компонент WebRTC в свою кастомную карточку - Frigate Lovelace Card

https://github.com/dermotduffy/frigate-hass-card

Мне пока непонятно, что это такое и как оно работает. Но, как говорится, очень интересно.

А ещё в ядре Home Assistant прорабатывают встроенную поддержку WebRTC и позвали меня поделиться опытом:

https://github.com/home-assistant/architecture/discussions/640
Где может потеряться сигнал с вашего Zigbee датчика?

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

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

3. На уровне Serial данных. Я на неделе выяснил, что этой проблеме подвержено целое поколение новых шлюзов от компании Lumi под брендами Aqara и Mijia. Наш любимый Xiaomi Gateway 3, а также Aqara M1S, Aqara M2 и, возможно, Aqara P3. Все они на неудачной платформе и просто неспособны стабильно читать данные с чипов. А проекты вроде ZHA и zigbee2mqtt будут захлёбываться от постоянного потока ошибок.

4. На уровне WiFi. И тут проблема не в качестве сигнала, а в качестве WiFi-роутера. 90% роутеров на полках магазинов не приспособлены к работе в современных сетях IoT.
#yandexstation
Чуть отвлёкся от Zigbee и шлюзов и добавил возможность изменять настройки Алисы в компонент Yandex.Station.

Мало ли вам придёт в голову какая-нибудь странная автоматизация.

https://github.com/AlexxIT/YandexStation/releases/tag/v3.4.0
#yandexstation
Компонент Yandex.Station довольно давно поддерживает управление яркостью экрана Яндекс.Станции Макс.

Описание фичи не попало в документацию, поэтому не все знали про такую возможность.

Поправил readme и добавил по аналогии управления яркостью на новой Станции Мини. Говорят сегодня старт продаж.

https://github.com/AlexxIT/YandexStation/releases/tag/v3.4.1
#yandexstation
Сегодня БОЛЬШОЙ ДЕНЬ для всех пользователей колонок с Алисой в Home Assistant.

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

Компонент Yandex.Station давно такое умеет. Но раздел документации встречал вас пометкой "только для продвинутых пользователей", потому что требовалось:

- настроить публичный HTTPS-доступ в ХА
- настроить компонент интеграции с Умным домом Яндекса
- настроить плеер-пустышку Yandex Intents
- настроить список фраз в YAML
- кучу раз перезагрузить ХА в процессе настройки

Теперь можно про всё это забыть!

- создаёте Сценарии по нужным вам фразам в интерфейсе Яндекса
- создаёте автоматизации по новому событию yandex_speaker
- наслаждаетесь

И бонусом - в событии будет имя и ID вашей колонки! Это ли не счастье?

https://github.com/AlexxIT/YandexStation/releases/tag/v3.5.0
Будем делать умный дом с голосовым управлением. Заодно посмотрим, что там интересного умеют обновлённые устройства.
#gateway3
Если у вас есть такая Zigbee розетка Xiaomi - скорее проверяйте её прошивку. Если там что-то отличное от v90 - спешите её обновить, не ждите, пока ваша сеть развалится из-за проблем с роутингом. Проблемы есть у всех, и у "родных" шлюзов и на "народных" стиках.

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

Зато вы можете обновить прошивку этой и других розеток через Xiaomi Gateway 3. Функция так и не появилась официально в Mi Home, но шлюз её поддерживает. И с недавних пор её поддерживает одноимённый компонент Home Assistant:

https://github.com/AlexxIT/XiaomiGateway3/wiki/Advanced-commands-to-Gateway#update-zigbee-device-firmware
#gateway3
Продолжаю улучшать инструменты для анализа проблем в вашей сети Zigbee.

Ещё в прошлом году я придумал считать количество "промахов" при передаче данных от устройств. Анализируя эти данные, мне удалось улучшить обработку движения на датчиках Aqara в проектах zigbee2mqtt и Xiaomi Gateway 3.

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

Информация о последнем также очень ценна. Если у вас отвалилась половина сети и у всех устройств одинаковый родитель - проблема очевидна. Привет розеткам Xiaomi на старой прошивке.

А в следующем обновлении в таблице появится количество перезагрузок устройства. Если устройство часто перезагружается без вашего вмешательства - это явно плохой знак. Наиболее вероятно, у него садится батарейка.

Кстати у датчика на Лоджии батарейка показывает 49%. Думаю, этим цифрам не стоит доверять.
Кто бы там что ни говорил о качестве работы Zigbee устройств Xiaomi и Aqara, но эти компании делают огромный вклад в развитие всей отрасли.

Именно они, одни из первых, сделали технологию массовой и доступной. А теперь ещё делают её безопасной!

Вы ведь помните, что классический Zigbee не про безопасность? Сеть уязвима в момент добавления нового устройства.

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

Олег рассказывал об этом пол года назад:
https://www.instagram.com/p/CPOm_K7lTL4/

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

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

Такие дела.
#yandexstation
Частый вопрос про колонки с Алисой - как написать триггер на будильник?

Как обычно, прямого решения нет, но есть ряд обходных путей:

1. Можно установить на будильник определённую песню. И сделать триггер именно по этой песне. Для верности можно добавить условие громкости "0.1", потому что колонка плавно поднимает громкость с единицы до заданной.

Правда, способ работает только при наличии подписки Яндекс Плюс:

https://yandex.ru/support/station/alarm.html

2. Можно пытаться ловить изменение громкости колонки в примерное время срабатывания будильника. Громкость меняется с единицы на 1 шаг каждые 20 секунд. По надёжности способ так себе, но мало ли кто-то решиться исполнить.

3. Можно пользоваться не будильником, а сценарием Яндекса по времени. И просить колонку произнести что-нибудь или выполнить действие. А затем ловить событие yandex_speaker из последнего релиза компонента Yandex.Station:

https://t.me/AlexxIT_SmartHome/580

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

Мне же все эти советы не актуальны. Я, как и раньше, семь дней в неделю просыпаюсь до будильника. Если я проснулся по будильнику, значит что-то пошло не так...

https://t.me/AlexxIT_SmartHome/308
#gateway3
Итак. Думаю я готов выпустить новую бета-версию Xiaomi Gateway 3. Изменений просто огромное количество:

1. Прекращена поддержка прошивок шлюза ниже v1.4.7. Они сильно отличаются от текущих и впустую отнимали очень много сил.

Нужно обновить шлюз ДО обновления компонента.

2. Режимы ZHA и zigbee2mqtt объединены в одну опцию. Теперь для них zigbee чип будет обновляться на свежую версию прошивки, работающую на пониженной скорости. Плюсом был переписан код обновления прошивки, и заменена утилита доступа к чипу по сети. Надеюсь на значительное улучшение стабильности работы этих режимов.

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

3. Добавлена опция переноса баз данных zigbee и bluetooth в оперативную память шлюза. Это на два порядка снижает количество ошибок обоих чипов. С другой стороны повышается шанс, что базы испортятся. Поэтому опция пока экспериментальная.

4. Весь код компонента теперь асинхронный. Пришлось написать свои библиотеки работы с MQTT, Telnet и miIO. Надеюсь, компонент должен лучше работать в больших и сложных сетапах.

5. Полностью переписана логика запуска вспомогательных утилит на шлюзе. Также должно улучшить стабильность и предсказуемость работы.

6. Поправлена функция отключения пищалки для паяных датчиков движения. Теперь отключается только надоедливый звук, а не все звуки, включая кнопку и светодиод на хабе.

7. Сенсоры статистики шлюза и zigbee теперь показывают больше полезных данных.

https://github.com/AlexxIT/XiaomiGateway3/releases/tag/v1.6.0-rc.2
#пробег
Планово прошли шесть месяцев ежедневного бега.

Частый вопрос - можно ли и стоит ли так много бегать?

Критерия тут два:
- организм должен переварить такую нагрузку
- нагрузка должна соответствовать общей цели

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

Я же стараюсь не превышать максимально комфортный темп, чтоб оставались силы на остальную жизнь и другие хобби, ну вы знаете какие.
Итак, Олег продолжает развивать проблему Zigbee-роутинга у Xiaomi/Aqara устройств:

1 https://www.instagram.com/p/CVY5lMgKJPW/
2 https://www.instagram.com/p/CVbZHMdqQcw/
3 https://www.instagram.com/p/CVtuFEpqAXs/

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

Ещё мы помним, что Zigbee-сеть самоорганизующаяся и повлиять на определённые пути роутинга мы не можем.

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

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

Напомню, что Xiaomi Gateway 3 или Aqara Hub E1, если поискать, можно приобрести в пределах 1500 рублей. Это цена среднестатистического датчика или розетки.

Главное принять мысль, что координатор сети не обязательно должен быть один. Кстати на этом принципе давно работает Wi-Fi и это заложено в новомодном Matter, который приходит на смену Zigbee.

В любом случае выбор, как всегда, остаётся за вами.
Новые скидки от Сбера. Сейчас уже цены вполне вменяемые. Учитывая, что в SberPortal звук от Harman/Kardon, а SberBox Top это ТВ-приставка + колонка + камера с жестами.

Очень хочется попробовать, но, чувствую, не потяну по времени. И так новая колонка от Яндекса ещё не распакована...
#gateway3
Лично я не люблю, когда устройство создаёт 100500 сенсоров в Home Assistant. Особенно, когда большинством из этих сенсоров никогда не воспользуешься или включишь лишь раз. Например, poweroff memory на розетках или лампочках или interlock на реле Aqara. Причём все первичные настройки можно произвести в Mi Home.

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

Вот какую картину можно будет получить в следующем релизе Xiaomi Gateway 3 на обычной розетке Xiaomi Plug. Это будет следующий-следующий релиз. А не тот, который сейчас в бета тесте.

Конечно, список сенсоров настраивается. По умолчанию у розетки будут старые добрые switch, power и energy.