AlexxIT Smart Home
8.88K subscribers
338 photos
29 videos
299 links
Заметки про развитие моего умного дома
Все полезные ссылки тут:
https://github.com/AlexxIT
Download Telegram
Если я давно не писал, это не значит, что ничего интересного не происходит.

За первую неделю своего существования компонент WebRTC получил около 80 звёзд. А его исходники успели стащить в другой аналогичный компонент. Я называю это именно стащить, потому что никакого упоминания оригинального авторства в них нет...

Сам компонент WebRTC успел получить два больших релиза. Коротко по изменениям:

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

2. Появился заголовок со статусом, в котором пишутся все ошибки подключения. Теперь будет более понятно, что происходит. А ещё в этот заголовок можно указать название камеры/помещения.

3. Появился кастомная тема плеера. Написана @Vasilchuk и включается в настройках. Будет полезно пользователям яблок, потому как их интерфейс плеера временами подбешивает.

4. Теперь вместо url до камеры можно указать entity камеры из конфига. А там уже поддерживаются secrets.yaml. Параноики ликуют!

5. Теперь поток до камеры останавливается, если на камеру никто не смотрит. Немного экономим электричество и локальный трафик.

6. Больше не надо чистить кэш браузера при обновлении компонента. Так же должна уйти проблема с пропавшей карточкой камеры у любителей править интерфейс в yaml файлах. Серьёзно, зачем вы продолжаете это делать?!

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

А ещё я решил проверить, как компонент работает с хакнутыми камерами Xiaomi Dafang. Оказалось, она вполне себе крутит FullHD видео не хуже камеры Sonoff.

Долго воевал со звуком в этой камере, нашёл проблему в rstp2webrtc и починил её. Теперь звук есть у Dafang и, возможно, появится у других ваших камер.

PS. Браузер Apple подвинул Internet Explorer и занял заслуженное первое место в списке самых кривых браузеров для веб-разработки.
Навёл красоту. Добавил иконки и лого основным компонентам.

Иконку Яндекс.Станции рисовал автор набора иконок для всех моделей колонок @iSwitch

Сами иконки колонок ставятся из отдельной интеграции HACS. Зато, если вы не пользуетесь ужасным lovelace: mode: yaml - их никуда прописывать не надо. Они автоматически подтянутся всеми колонками сразу после установки:

https://github.com/iswitch/ha-yandex-icons
Недавно разворачивал ХА с нуля и заметил, что мои компоненты занимают первую и вторую строчку в HACS.

Просто по умолчанию HACS сортирует все компоненты по количеству звёзд на GitHub, а официально в HACS добавлено всего два моих компонента.

Вот подумываю добавить туда остальные и занять всю первую страницу 🙈
На днях посмотрел фильм Boss Level и поразился двум вещам:

1. Фильм по очень крутому игровому жанру

2. Большинство обзорщиков так и не поняли, о каком жанре идёт речь

Жанр называется Roguelike или в простонародье "рогалик". Характерной особенностью жанра является необратимость смерти персонажа и постоянный откат к самому началу игры. При этом у персонажа могут сохраниться добытые до момента смерти навыки. В случае с фильмом это был навык боя на мечах.

Некоторые обзорщики сравнивали фильм с популярными в последнее время спидранами. Только вот в спидранах быстрое прохождение игры является необязательной опцией. А в фильме - развитием всего обязательного сюжета.

Накидал тут спойлеров тем, кто ещё не смотрел 🙈

Фильм трешовый, на любителя в стиле Адреналина или Хардкора, не кидайте потом тапками 😅

PS. Один из моих любимых рогаликов, это Dead Cells
Проекту WebRTC нет и трёх недель, а у него уже было 5 больших релизов.

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


1. В этот раз компонент научился транслировать камеры с помощью Google Cast на Chromecast, Android TV и Google Smart Screen. Можно транслировать либо одну камеру на весь экран, либо четыре.

Работает это через стандартный Home Assistant Cast, который требует обязательного внешнего HTTPS доступа, что не всегда удобно.

Но я дополнительно прикрутил альтернативный способ кастинга - DashCast. Он может работать и локально по HTTP протоколу.


2. Кроме этого появилась возможность создать ссылку на HTML-страницу с потоком камеры. Её можно использовать в разных приложениях с уведомлениями. И даже делиться с друзьями или родственниками.

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

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

Ссылка не даёт доступа к Home Assistant и не содержит параметров подключения к вашей камере.


3. Появилась возможность добавить в карточку камеры кнопки PTZ, если ваша камера поддерживает данную функцию. Это могут быть камеры Sonoff или ONVIF. Сам компонент WebRTC вашими камерами не управляет, он может лишь вызывать сервисы, реализованные в других компонентах.


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

https://github.com/AlexxIT/WebRTC/releases/tag/v1.4.0
👍1
Одна из вариаций мема "я джва года ждал"
Когда Apple создаёт что-то новое и инновационное, вроде AirTag, весь мир начинает кричать: вау! круто! как же до этого никто не додумался раньше?!

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

Достаточно установить компонент для Home Assistant - WebRTC, первой или уже второй версии. Компонент использует уникальные подходы для передачи потокового видео с ваших камер с минимальной задержкой.

А во второй версии он научился... второму протоколу - MSE+WS. У протокола нет проблем с подключением за пределами вашей локальной сети, но он чуть хуже собрата в плане задержки.

И самое главное. Компонент стартует оба протокола автоматически и одновременно. Если у WebRTC удастся подключиться - останется работать только он. Если не удастся - задержка у MSE в любом случае будет лучше стандартных интеграций ХА.

А ещё MSE умеет видео в формате H265, но только в браузере Safari. И звук в формате AAC, уже в любом браузере. А ещё он работает в Opera, в отличии от WebRTC. Но, к сожалению, работает не супер плавно и может пропускать кадры.

Зато на телефонах от Apple технология MSE вообще не работает. Такой вот каламбур с техническим прогрессом.

Под капотом, как и раньше, разработки Андрея (deepch).

https://github.com/AlexxIT/WebRTC/releases/tag/v2.0.0
Ну вот в китайском сообществе добрались и до WebRTC. Похоже, Великий Бог становится своеобразным брендом.
Вышел официальный аддон от eWeLink для Home Assistant. Пожалуй я воспользуюсь своим давним правилом отзывов "или хорошо или никак".

https://twitter.com/eWeLinkapp/status/1392071635667091457?s=20
Выше я не стал комментировать новый аддон от eWeLink. За меня это сделал основатель Home Assistant, где собственно и разнёс всю концепцию решения в пух и прах

https://www.reddit.com/r/homeautomation/comments/n9vbed/comment/gxqumny
В умном доме существует огромное количество слухов и домыслов.

Вчера в чате Home Assistant развернулся большой спор, что правильная модель WiFi роутера может значительно повлиять на качество работы ваших умных устройств и избавить от различных фантомных глюков. Судя по многочисленным отзывам реальных пользователей теория подтвердилась.

Частые примеры проблем: отваливаются лампы Yeelight, отваливаются устройства на ESP, отваливается Gateway 3, не работают сенсоры на Gateway 2, не работают Sonoff по локальному протоколу, не работают колонки Яндекс по локальному протоколу.

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


Так же вчера был развеян ещё один известный домысел. У Олега @sprut666666 вышел очередной крутой пост. Он вживую доказывает, что SSD, подключенный к Raspberry может сильно фонить в радио эфир и нарушать работу Zigbee. Поэтому радио стики часто советуют выносить подальше от Малины на удлинителе.

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

https://www.instagram.com/p/COvnkDjKExS/
У меня есть вопрос к знатокам Bluetooth.

Уже несколько дней я глубоко погрузился в работу этой технологии в Xiaomi Gateway 3.

Всё началось с пульта и диммера от Yeelight. На прошлой неделе до них дошли руки у одного легендарного гуру экосистемы Mi Home.

Так вот собственно команды с пульта отлично читаются как с Raspberry 3, так и с Gateway 3. А вот команды с диммера Raspberry 3 улавливает хорошо, а Gateway 3 очень часто пропускает. И я не могу найти этому объяснения.

Ещё раз: пульт работает и с шлюзом и с малиной одинаково отлично. К работе кнопки Yeelight или ночника Xiaomi вопросов тоже нет. Ночник на технологии BLE работает стабильнее датчиков Xiaomi и Aqara на технологии Zigbee.

Проблемы только с диммером и только на шлюзе. Старенькая малина нормально ловит его команды.
Часто ли вы слышите проблему "у меня свет включился сам"? Или любой другой пример с любым другим умным устройством.

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

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

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

https://github.com/AlexxIT/XiaomiGateway3/issues/329#issuecomment-844714793
Сбер представили ОЧЕНЬ интересное и уникальное устройство.

Это камера с встроенной ТВ-приставкой и матрицей из 6 микрофонов.

Среди умных колонок, умных дисплеев и ТВ-приставок, на мой взгляд, это самый гениальный форм-фактор. Идеальное распознавание голоса, жесты, видеозвонки. Android с adb! Осталось дождаться живое устройство и посмотреть исполнение.

Железо аналогично SberPortal, стоимость в два раза ниже.

https://sberdevices.ru/sberboxtop
Сбер анонсировал модуль для превращения глупого устройства в умное - Salute-on-Module.

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

https://developers.sber.ru/portal/services/salute-on-module
#wifi #gateway3
Ещё один пример в продолжение истории про правильные и неправильные модели WiFi-роутеров в умном доме и постоянно отваливающийся Xiaomi Gateway 3.

Начиная с версии прошивки 1.4.7 шлюз проверяет работу wifi... "пингуя" ваш роутер. На некоторых роутерах включен запрет пинга даже в пределах локальной сети. В итоге шлюз очень расстраивается, думает, что всё пропало и перезагружает свой wifi каждые 5 минут.

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

Ну и конечно помните про время обновления групповых ключей, о котором я уже писал ранее
https://t.me/AlexxIT_SmartHome/381

Ещё один плюс в карму Keenetic. Им, как-то удаётся выпускать роутеры, в которых настройки по умолчанию учитывают всё неадекватное поведение современных умных устройств.
Выпустил пару небольших обновлений компонента Xiaomi Gateway 3.

Добавлена поддержка новых выключателей в круглый подрозетник Aqara Wall Switch E1. По традиции поддерживают отвязанный режим кнопок.

Поправлено переключение режима работы с Mi Home на zigbee2mqtt и назад. В некоторых случаях появлялась ошибка при переключении.

Добавлена улучшенная работа BLE на новой прошивке шлюза v1.5.0_0026.

Теперь основная поддержка будет у двух версий прошивки:
- старой стабильной v1.4.6_0012
- самой последней v1.5.0_0026

На моём основном шлюзе установлена именно старая прошивка.
Добавь в Gateway 3 поддержку Yeelight BLE пультов, говорили они. Это очень просто, говорили они.

И действительно. Две недели назад, гений модифицированной версии Mi Home научился добавлять эти пульты напрямую в приложение, как отдельное устройство. И Gateway 3 начал видеть такие пульты как родные.

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

Но и тут у бессменного гения Mi Home был ответ. С его лёгкой руки алгоритм появился в компоненте Passive BLE Monitor ну и конечно у меня.

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

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

И тут огромный вклад в дальнейшее исследование внёс @vswsw. Он нашёл python библиотеку для работы с Bluetooth чипом шлюза напрямую. А я допилил в неё поддержку работы по сети. Получился такой себе полноценный беспроводной Bluetooth-стик.

Эфир сразу же заполнился сообщениями от разных Apple и Google устройств, телефонов Redmi, браслетов Mi Band и прочего всякого.

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

Поэтому сейчас прорабатываю способ полного доступа к BLE эфиру без потери текущего функционала Mi Home. Кстати если вам попадались проекты по чтению BLE формата устройств Apple или Mi Band, киньтесь, пожалуйста, ссылкой.
В развитии Home Assistant случилось малозаметное, но важное событие.

Home Assistant OS появился в качестве опции в официальном установщике от сообщества Raspberry.

А это значит, что продвинутый умный дом становится ещё ближе и проще для неподготовленного пользователя. Не нужны никакие инструкции, нужна microSD карта класса A1 и пара кликов в Raspberry Pi Imager.

https://www.raspberrypi.org/software/
#gateway3
У меня есть ОЧЕНЬ важная новость для пользователей Xiaomi Gateway 3.

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

Но! В процессе реализации новой логики я обнаружил очень критичный баг в устройстве. В момент записи данных в постоянную память (NAND) полностью парализуется работа Zigbee и Bluetooth. Не то чтобы шлюз постоянно что-то пишет в свои базы, но это происходит. А вы можете потерять события с датчиков, кнопок и других устройств. Возможно по этой причине у некоторых пользователей постоянно отваливаются устройства в режиме zigbee2mqtt.

Проверить проблему очень легко. Нужно через telnet запустить скачку файла в папку data и нажимать на кнопку Zigbee или BLE. Шлюз эти нажатия с высокой вероятностью пропустит.

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

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