AlexxIT Smart Home
8.89K subscribers
338 photos
29 videos
299 links
Заметки про развитие моего умного дома
Все полезные ссылки тут:
https://github.com/AlexxIT
Download Telegram
По заявкам накидал небольшую статью про установку Home Assistant Supervised (hass.io), Plex и NAS на Debian на примере Intel Nuc. Вполне сгодится под любой компьютер на процессоре Intel или AMD. В том числе старенький ноутбук или Mac Mini.

https://sprut.ai/client/blog/4041
Новый фича-реквест на проекте SonoffLAN.

История про Великого Бога тут:
https://t.me/AlexxIT_SmartHome/285

А "узловая" версия это просто неправильный перевод Node-RED.
Смотрите, какая ко мне пришла посылка. Спасибо @icoderus купил, прошил и прислал мне два Xiaomi Gateway 3 для разработки. Шлюзы вверх ногами, чтоб показать аккуратность вскрытия.

Вообще я не знал, что приедет два шлюза. Я лишь просил припаять к шлюзу Ethernet, чтоб полноценно его отладить на стороне компонента.

И тут забавная история. Ни Андрей, ни я не получаем профита от этих новых шлюзов. Я то вообще получаю ряд новых задач, на которые необходимо тратить своё свободное время:
- тестирование разных прошивок
- отладка обновления прошивки шлюза
- отладка работы Ethernet
- отладка одновременной работы Bluetooth на нескольких шлюзах

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

Своё спасибо вы можете высказать напрямую Андрею:
https://www.tinkoff.ru/rm/kozhevnikov.andrey3/ZTxNt75531/
Ну что владельцы Яндекс Станций, успели огорчиться, что локальный режим начал плохо работать? Похоже, этой ночью вышла новая прошивка для Яндекс.Станций Мини, где всё поправлено.

А чтоб быть наверняка уверенным в этом - в новой версии компонента Yandex.Station к каждой колонке добавлен атрибут connection_class.

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

https://www.home-assistant.io/blog/2016/02/12/classifying-the-internet-of-things/

Бывают устройства с "неизвестным" состоянием (assumed state). Например, это колонки с Алисой в облачном режиме.

Бывают устройства с состоянием, обновляемым по таймеру (local/cloud polling).

Именно это произошло недавно с станциями Яндекса. Они перестали сами слать своё состояние и пришлось его перезапрашивать вручную.

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

Интеграция Xiaomi Miio работает именно так из-за ограничений протокола. Поэтому Xiaomi шлюзы, подключенные через эту интеграцию, не могут поддерживать датчики движения или кнопки.

И бывают устройства (local/cloud push).

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

Датчик двери Qingping Door Sensor (CGH1) не имеет сенсора освещённости, в отличии от Xiaomi Door Sensor 2 (MCCGQ02HL).

А датчик движения Qingping Motion Sensor (CGPR1) имеет сенсор освещённости и отправляет данные в люксах, в отличии от Xiaomi Motion Sensor 2 (RTCGQ02LM), который отправляет только значение в формате светло/темно.

В итоге мы имеем два датчика двери и три датчика движения (включая ночник Night Light 2) на технологии BLE в экосистеме Xiaomi.

На технологии Zigbee аналогичных датчиков на одну модель больше - старые от Xiaomi, старые от Aqara, новые от Aqara серии T1 и один "высокоточный" датчик движения от Aqara.

Похоже все три датчика движения BLE посылают событие движения не чаще чем раз в 15 секунд. Два старых датчика Zigbee посылают событие движения не чаще раза в 60 секунд. А у двух новых Zigbee датчиков интервал события движения настраивается программно. До минимальных 1-2 секунды.
Более полугода назад я сделал портативную сборку Home Assistant под Windows - HassWP.

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

Сегодня я выпустил новый, аналогичный по значимости проект. Это публичный HTTPS доступ в Home Assistant в пару кликов на основе сервиса Dataplicity. Он работает даже для "серых" IP-адресов и авторы сервиса не берут с пользователя абонплату за один сервер.

Вам не надо изучать, как поставить и настроить Duck DNS, Let's Encrypt, Nginx, проброс портов на роутере и прочее. Всё действительно настраивается в пару кликов и заработает с Алисой.

Интеграция выполнена в виде кастомного компонента для Home Assistant, поэтому заработает для любого способа установки ХА, кроме Windows. К сожалению, в исходниках Dataplicity очень много завявок на Linux, от них невозможно избавиться.

https://github.com/AlexxIT/Dataplicity
2
Сегодня Xiaomi Gateway 3 празднует своё второе рождение. В честь такого события я решил повысить компонент до первой версии!

Сообществу стал доступен способ приручить любую версию шлюза без вскрытия и пайки.

https://github.com/AlexxIT/XiaomiGateway3/releases/tag/v1.0.0
В компонент YandexStation добавлены новые возможности авторизации.

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

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

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

А ещё появилась опция перенести токен Яндекса с другого сервера Home Assistant.

Но даже после успешной авторизации у жителей Украины может не работать часть функций. Поэтому в компоненте экспериментально добавлена поддержка HTTPS proxy. Используется он только для одного запроса обновления облачного токена.
Пользователи Яндекс.Станций Мини и роутеров MikroTik. Для фиксации IP-адреса колонки оставляйте поле Client ID пустым. С заполненным по умолчанию значением привязка глючит.
Написал новую статью на сразу ряд холиварных тем:

- провод vs беспровод
- шлюзы vs стики
- диммеры и выключатели vs умные лампы

https://sprut.ai/client/blog/4091

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

Можно ли без этого прожить? Конечно можно! Жили же когда-то люди с проводными телефонами. Я когда-то задал вопрос соседке, зачем она до сих пор платит за городской телефон. На что получил ответ: а вдруг война! Где-то в глубине души она сама понимала, что адекватного ответа на этот вопрос у неё нет.

Большинство современных технологий не являются жизненной необходимостью. Но они точно способны сделать вашу жизнь проще и лучше, если им это позволить.
На днях в zigbee2mqtt были добавлены эпичные изменения (пока не в релиз!). Это поддержка Zigbee-чипов серии EFR32, написанная двумя гигантами нашего сообщества @goofyk и @mrG1K.

А это значит, что z2m теперь поддерживает прошитый Sonoff Zigbee Bridge, Sprut.stick и Xiaomi Gateway 3! Последний сейчас активно тестируется и с ним есть неприятный момент - Zigbee-чип нужно обновить на более новую версию прошивки. А значит быстро и просто прыгать между режимами работы в Mi Home и zigbee2mqtt не получится. Зато паять Xiaomi Gateway 3 для работы с zigbee2mqtt не нужно, всё можно сделать программно. Я надеюсь, в перспективе появится поддержка и старой прошивки чипа.

Режим работы схож с режимом ZHA. Вся zigbee логика перестаёт работать в Mi Home, но BLE и Mesh продолжают работать в штатном режиме. Я постараюсь всячески поддерживать новый режим в своём компоненте.

И не стоит сравнивать этот шлюз с SLS! По идеологии это два разных продукта. SLS сам по себе автономен, а gw3 в режиме ZHA или zigbee2mqtt выступает в роли беспроводного координатора для вашего сервера умного дома.

Ну что, выкусили все те, кто говорил, что шлюзу до стиков ещё далеко? 😝

https://github.com/Koenkk/zigbee-herdsman/pull/317
AlexxIT Smart Home
Смотрите, какая ко мне пришла посылка. Спасибо @icoderus купил, прошил и прислал мне два Xiaomi Gateway 3 для разработки. Шлюзы вверх ногами, чтоб показать аккуратность вскрытия. Вообще я не знал, что приедет два шлюза. Я лишь просил припаять к шлюзу Ethernet…
А я тем временем несколько дней изучаю работу BLE на нескольких шлюзах.

В этом вопросе очень сильно помогают два шлюза, присланные Андреем @icoderus. Спасибо всем, кто поддержал Андрея по ссылке из прошлого поста. Теперь у меня есть три тестовых шлюза на прошивках 0012, 0043 и 0115.

Кстати, если вы пользовались специальными веб-страницами для понижения версии прошивки шлюза или для получения пароля от Telnet - эти страницы тоже дело рук Андрея. Если ещё не успели сказать ему спасибо - ссылка всё там же в прошлом посте.

А собственно парадокс в том, что BLE на нескольких шлюзах работает хуже, чем на одном 🤦

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

Но есть и хорошая новость. Похоже на уровне железа в шлюзе всё нормально. Он принимает на порядок больше BLE данных, чем затем отправляет в облако. Пока я ищу способ, достать сырые данные со шлюза в момент приёма. Но в отличии от zigbee части тут всё гораздо сложнее поддаётся вмешательству.
Как думаете, сколько issue на тему manifest version успеют создать ВО ВСЕХ моих репозиториях?
Приехали новые железки на опыты.

Розетка Xiaomi Mijia Smart Socket 2 с функцией BLE шлюза. Для тестирования, как влияют несколько BLE шлюзов друг на друга. Надежды, что можно будет использовать подобные устройства в качестве BLE шлюзов в сторонних системах практически нет, если вы вдруг ждёте такую фичу.

Лампочка Aqara. Она нужна для двух задач:
- тестирование обновления прошивки на этой лампе с помощью Xiaomi Gateway 3
- добавление в компонент возможности включить функцию "запоминать состояние лампы" при потере питания

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

За информацию о скидке спасибо @bessarabov, без неё бы не стал брать. А вы читаете Ивана?
https://t.me/bessarabov_ha/386
23 февраля Xiaomi Gateway 3 праздновал своё второе рождение. А сегодня своё второе рождение празднует его неотъемлемая спутница - технология BLE на шлюзе.

Я больше недели изучал, как четыре разных шлюза на трёх разных прошивках шлют данные с окружающих их датчиков. И внёс в это поведение значительные коррективы.

Теперь Home Assistant получает BLE данные с датчиков не реже, чем решения на ESPHome и другие аналоги. Лишь помните, что физику радио-сигнала никто не отменял. По моим наблюдениям шлюз, спрятанный глубоко в шкафу около роутера и сервера - получает намного меньше данных по сравнению со своими, более грамотно размещёнными собратьями.

И что немаловажно - теперь корректно обрабатываются BLE данные одновременно с нескольких шлюзов, подключенных к одному ХА.

Новая логика пока ещё требует тестирования и отладки, поэтому попала только в бета-версию.

https://github.com/AlexxIT/XiaomiGateway3/releases/tag/v1.1b1

Ну и конечно с праздником, дорогие дамы!
👍1
А вот и новые плоды вчерашнего обновления. Данные от BLE датчиков идут просто в бешеных количествах. Особенно в сравнении с Zigbee аналогом. Теперь нужно придумывать защиту от дребезга.

https://t.me/xiaomi_gw_v3_hack/37266
Ух, новая логика работы с BLE в компоненте Xiaomi Gateway 3 не только изменила количество обрабатываемых данных от датчиков. Она, совершенно неожиданно, добавила поддержку чайников!

Важно понимать, что управлять чайником нельзя. Можно лишь получать с него данные - температуру и режим работы (их четыре). Теперь можно написать автоматизацию, чтоб Алиса пригласила вас к столу, когда чайник закипит.

Ещё нужно проверить, вдруг случайно появилась поддержка самокатов, а может и браслетов Xiaomi.

https://github.com/AlexxIT/XiaomiGateway3/releases/tag/v1.1b2
Всё же очень душевные ребята из китайского сообщества Home Assistant. Речь идёт про вскрытие Xiaomi Gateway 3 для прошивки. Что на сегодняшний день более не актуально
За полтора года SonoffLAN перешагнул отметку в тысячу звёзд, а Xiaomi Gateway 3 за полгода - 600. Но всё ещё остаётся очень много задач по всем этим проектам.

В SonoffLAN нужно, наконец, добавить настройку через GUI.

В Gateway3 - повысить общую стабильность, добавить настройку устройств, обновление прошивок дочерних устройств, поддержку z2m и хабов M1S, M2, G2H.

В YandexStation - навигацию по каталогу Яндекс Музыки, уже есть готовый код от @alryaz, осталось в него внимательно вникнуть и принять.

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

В YandexDialogs нужно починить авторизацию для автоматического создания навыка.

И это только существующие проекты. А ещё в мыслях поддержка камер Xiaomi Dafang и проект gateway2mqtt по которым уже были успешные рабочие прототипы.
После достижения тысячи звёзд, GitHub начал сильно волноваться, что в моём аккаунте не указан "преемник", которому перейдёт управление всеми моими публичными репозиториями в случае моей смерти 😱

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