Я наконец-то заменил свой бестолковый робот пылесос от iRobot Roomba на нормальную модель от Xiaomi Roborock и начал изучать всё то море интеграций, которое имеется на сегодняшний день в Home Assistant.
И как оказалось, ни одна интеграция не пытается решить вопрос уборки помещений.
Конечно, сообщество давно пользуется уборкой зон, это когда отправляешь пылесос в некий прямоугольник на карте. Но последние модели пылесосов поддерживают полноценную разбивку карты на комнаты, с привязкой имени комнаты в MiHome и индивидуальными настройками сухой и влажной уборки для каждого помещения.
Только вот как получить нормальный список своих комнат с их номерами никто не сказал. И мне пришлось это исправить в компоненте Xiaomi Gateway 3.
Теперь для любого Wi-Fi устройства Xiaomi легко можно получить токен.
Для старого гейта Xiaomi - ключ разработчика.
Для пылесоса - номера комнат, к которым он привязан.
А для BLE устройств - заветный bindkey для подключения к шлюзу на ESPHome.
И как оказалось, ни одна интеграция не пытается решить вопрос уборки помещений.
Конечно, сообщество давно пользуется уборкой зон, это когда отправляешь пылесос в некий прямоугольник на карте. Но последние модели пылесосов поддерживают полноценную разбивку карты на комнаты, с привязкой имени комнаты в MiHome и индивидуальными настройками сухой и влажной уборки для каждого помещения.
Только вот как получить нормальный список своих комнат с их номерами никто не сказал. И мне пришлось это исправить в компоненте Xiaomi Gateway 3.
Теперь для любого Wi-Fi устройства Xiaomi легко можно получить токен.
Для старого гейта Xiaomi - ключ разработчика.
Для пылесоса - номера комнат, к которым он привязан.
А для BLE устройств - заветный bindkey для подключения к шлюзу на ESPHome.
👍2
Сегодня утром у меня не запустился Home Assistant. И что бы вы думали? Виной замечательная колонка Яндекс Мини и баг с громкостью минус бесконечность.
HACS по какой-то причине забыл, что должен обновлять компонент YandexStation и я пропустил фикс в своём же компоненте.
Но есть простой способ всё починить - установить колонке громкость ноль. Только вот моя мини почему-то вообще отказалась менять свою громкость, поэтому пришлось использовать второй способ - временно выдернуть питание колонке.
https://t.me/AlexxIT_SmartHome/462
HACS по какой-то причине забыл, что должен обновлять компонент YandexStation и я пропустил фикс в своём же компоненте.
Но есть простой способ всё починить - установить колонке громкость ноль. Только вот моя мини почему-то вообще отказалась менять свою громкость, поэтому пришлось использовать второй способ - временно выдернуть питание колонке.
https://t.me/AlexxIT_SmartHome/462
Telegram
AlexxIT Smart Home
Home Assistant это настоящий комбайн, способный решить практически любую задачу умного дома с помощью сотен интеграций и десятков аддонов. Но у такого подхода есть и огромная боль - Обновления.
Составных частей настолько много, что никогда не знаешь, откуда…
Составных частей настолько много, что никогда не знаешь, откуда…
Media is too big
VIEW IN TELEGRAM
В продолжении вопроса зональной уборки я решил написать очередную интеграцию 😅
Антон @anton_v_ermolov в комментариях к прошлому посту предложил крутой лайфхак: если создать несколько виртуальных пылесосов с именами ваших комнат - они будут отлично управляться из Алисы.
Например, вы создаёте пылесосы "Прихожая" и "Под столом". И говорите Алисе - "уберись в прихожей" или "пропылесось под столом". То есть любые варианты фраз про уборку комнаты или зоны.
А самое интересное - Алиса отлично выполняет команды вроде "уберись в прихожей и под столом".
И вот чтоб такие команды работали в Home Assistant - я написал новый компонент. Он позволяет удобно создать набор виртуальных пылесосов и поддерживает уборку комнат по очереди. Пылесос не поедет в новую комнату, пока не уберётся в текущей. Поддерживаются как комнаты, так и зоны.
Говорят такой подход хорошо работает не только с Алисой, но и с Сири. И, вероятно, с Google.
https://github.com/AlexxIT/VacuumZones
Антон @anton_v_ermolov в комментариях к прошлому посту предложил крутой лайфхак: если создать несколько виртуальных пылесосов с именами ваших комнат - они будут отлично управляться из Алисы.
Например, вы создаёте пылесосы "Прихожая" и "Под столом". И говорите Алисе - "уберись в прихожей" или "пропылесось под столом". То есть любые варианты фраз про уборку комнаты или зоны.
А самое интересное - Алиса отлично выполняет команды вроде "уберись в прихожей и под столом".
И вот чтоб такие команды работали в Home Assistant - я написал новый компонент. Он позволяет удобно создать набор виртуальных пылесосов и поддерживает уборку комнат по очереди. Пылесос не поедет в новую комнату, пока не уберётся в текущей. Поддерживаются как комнаты, так и зоны.
Говорят такой подход хорошо работает не только с Алисой, но и с Сири. И, вероятно, с Google.
https://github.com/AlexxIT/VacuumZones
👍1
Ну и вишенкой на торте всей этой пылесосной истории - YandexStation теперь поддерживает пылесосы!
Это полезно, если ваш пылесос можно добавить в Яндекс, но у него нет прямой поддержки в Home Assistant. Правда, в этом случае не может быть и речи о зональной уборке. Зато есть батарейка и управление скоростями.
https://github.com/AlexxIT/YandexStation/releases/tag/v3.2.0
Не прошло и недели с момента покупки, как три мои интеграции начали поддерживать пылесосы.
Но это не последняя хорошая новость...
Сегодня ночью Яндекс.Станции большая и Мини начали показывать актуальную громкость! Теперь можно придумывать крутые автоматизации с использованием правильной громкости колонки.
Это полезно, если ваш пылесос можно добавить в Яндекс, но у него нет прямой поддержки в Home Assistant. Правда, в этом случае не может быть и речи о зональной уборке. Зато есть батарейка и управление скоростями.
https://github.com/AlexxIT/YandexStation/releases/tag/v3.2.0
Не прошло и недели с момента покупки, как три мои интеграции начали поддерживать пылесосы.
Но это не последняя хорошая новость...
Сегодня ночью Яндекс.Станции большая и Мини начали показывать актуальную громкость! Теперь можно придумывать крутые автоматизации с использованием правильной громкости колонки.
Многие так давно ждали эту функцию - установка уровня громкости для TTS в Яндекс.Станциях
https://github.com/AlexxIT/YandexStation/releases/tag/v3.3.0
https://github.com/AlexxIT/YandexStation/releases/tag/v3.3.0
GitHub
Release v3.3.0 - 2021-03-26 · AlexxIT/YandexStation
Поддержка установки громкости для TTS (подробнее), работает только в локальном режиме
Поддержка статуса недоступно для всех типов колонок
Поддержка статуса недоступно для всех типов колонок
Вчера помогал другу подружить телевизор Samsung с Алисой, и это был настоящий ад.
Ничего не предвещало беды. В теории создаёшь аккаунт Samsung, вводишь его в телевизоре, затем вводишь его в умном доме Яндекса и наслаждаешься управлением телевизора из Алисы.
Аккаунт Samsung уже был. Телевизор его успешно принял. Правда, на поиски нужного пункта меню ушло минут 5. Но приключения на этом только начинались.
Яндекс был установлен на телефоне Samsung. И вот с него связать аккаунт Samsung с Алисой никак не удавалось. Ошибка 500 после ввода логина/пароля и хоть ты тресни.
Пришлось устанавливать Яндекс на ещё один телефон - Xiaomi. Там авторизация уже прошла успешно, но вот устройств в аккаунте Samsung не нашлось.
Вспомнив, что весь умный дом Samsung крутится вокруг приложения SmartThings - я установил и его. Но вот незадача, теперь не удавалось авторизоваться уже в этом приложении. Ошибки 500 не было, но телефон спрашивал логин/пароль и шесть цифр из двухфакторной авторизации снова и снова и снова и... Ну вы поняли.
Ну ладно, попробуем установить SmartThings на телефон от Samsung. Там то точно должно быть всё отлично. Но вот незадача, для этого телефона этого приложения нет в Play Market. Зато есть приложение Smart Home. Уж не знаю, чем они отличаются, но надо пробовать. Без проблем получилось его установить и даже авторизоваться. Но... Приложение не поддерживает телевизоры. Ладно, мы не привыкли сдаваться.
И тут я вспомнил, что в телефонах Samsung есть свой магазин приложений, и там уже SmartThings был. Он легко установился и даже сам автоматически нашёл телевизор!
Очередная попытка добавить аккаунт Samsung в умных дом Яндекса к успеху не привела. Снова ошибка 500. Возвращаемся в телефон Xioami и получаем долгую крутилку обновления списка устройств. После пары минут ожидания пришлось принудительно закрыть приложение и запустить процесс заново.
И вот спустя полчаса мучений и кучи потерянных нервов - телевизор наконец появился в списке устройств Яндекса и заработало управление с Алисы. Такие дела.
Ничего не предвещало беды. В теории создаёшь аккаунт Samsung, вводишь его в телевизоре, затем вводишь его в умном доме Яндекса и наслаждаешься управлением телевизора из Алисы.
Аккаунт Samsung уже был. Телевизор его успешно принял. Правда, на поиски нужного пункта меню ушло минут 5. Но приключения на этом только начинались.
Яндекс был установлен на телефоне Samsung. И вот с него связать аккаунт Samsung с Алисой никак не удавалось. Ошибка 500 после ввода логина/пароля и хоть ты тресни.
Пришлось устанавливать Яндекс на ещё один телефон - Xiaomi. Там авторизация уже прошла успешно, но вот устройств в аккаунте Samsung не нашлось.
Вспомнив, что весь умный дом Samsung крутится вокруг приложения SmartThings - я установил и его. Но вот незадача, теперь не удавалось авторизоваться уже в этом приложении. Ошибки 500 не было, но телефон спрашивал логин/пароль и шесть цифр из двухфакторной авторизации снова и снова и снова и... Ну вы поняли.
Ну ладно, попробуем установить SmartThings на телефон от Samsung. Там то точно должно быть всё отлично. Но вот незадача, для этого телефона этого приложения нет в Play Market. Зато есть приложение Smart Home. Уж не знаю, чем они отличаются, но надо пробовать. Без проблем получилось его установить и даже авторизоваться. Но... Приложение не поддерживает телевизоры. Ладно, мы не привыкли сдаваться.
И тут я вспомнил, что в телефонах Samsung есть свой магазин приложений, и там уже SmartThings был. Он легко установился и даже сам автоматически нашёл телевизор!
Очередная попытка добавить аккаунт Samsung в умных дом Яндекса к успеху не привела. Снова ошибка 500. Возвращаемся в телефон Xioami и получаем долгую крутилку обновления списка устройств. После пары минут ожидания пришлось принудительно закрыть приложение и запустить процесс заново.
И вот спустя полчаса мучений и кучи потерянных нервов - телевизор наконец появился в списке устройств Яндекса и заработало управление с Алисы. Такие дела.
Спустя месяц от прошлого релиза у Xiaomi Gateway 3 выходит новая версия. О большинстве изменений я уже писал в прошлых постах. Среди главных из них:
Новый способ получения BLE данных. Теперь компонент получает данные с датчиков намного чаще, чем это было раньше. Должно стать на порядок меньше пропусков. Но поддерживаются не все прошивки шлюза - 0012, 0043, 0160. На остальных прошивка BLE обрабатывается в старом режиме.
Компонент научился обрабатывать BLE данные одновременно с нескольких шлюзов.
Теперь дочерние устройства будут уходить в оффалайн, когда пропадает подключение к шлюзу. В случае с BLE и Mesh проверяется доступность всех ваших шлюзов. Но работу Mesh ещё надо дотачивать.
Теперь с помощью интеграции можно получить bindkey для ваших BLE устройств и собирать с них данные через шлюзы на ESPHome.
Доработан процесс настройки компонента. Теперь ошибки отображаются более точно - шлюз недоступен, ошибка в токене или неправильная команда для открытия Telnet.
Исправлены задержки при обработке zigbee-данных. Некоторые пользователи жаловались, что на стике устройства работают быстрее.
В случае если ваш сервер умного дома работает по Wi-Fi задержки могут быть десятые доли секунды. А вот если сервер подключен по проводу - задержки составляют символические сотые доли секунды.
Ну и куча других улучшений и исправлений:
https://github.com/AlexxIT/XiaomiGateway3/releases/tag/v1.1.0
Новый способ получения BLE данных. Теперь компонент получает данные с датчиков намного чаще, чем это было раньше. Должно стать на порядок меньше пропусков. Но поддерживаются не все прошивки шлюза - 0012, 0043, 0160. На остальных прошивка BLE обрабатывается в старом режиме.
Компонент научился обрабатывать BLE данные одновременно с нескольких шлюзов.
Теперь дочерние устройства будут уходить в оффалайн, когда пропадает подключение к шлюзу. В случае с BLE и Mesh проверяется доступность всех ваших шлюзов. Но работу Mesh ещё надо дотачивать.
Теперь с помощью интеграции можно получить bindkey для ваших BLE устройств и собирать с них данные через шлюзы на ESPHome.
Доработан процесс настройки компонента. Теперь ошибки отображаются более точно - шлюз недоступен, ошибка в токене или неправильная команда для открытия Telnet.
Исправлены задержки при обработке zigbee-данных. Некоторые пользователи жаловались, что на стике устройства работают быстрее.
В случае если ваш сервер умного дома работает по Wi-Fi задержки могут быть десятые доли секунды. А вот если сервер подключен по проводу - задержки составляют символические сотые доли секунды.
Ну и куча других улучшений и исправлений:
https://github.com/AlexxIT/XiaomiGateway3/releases/tag/v1.1.0
GitHub
Release v1.1.0 - 2021-03-29 · AlexxIT/XiaomiGateway3
Main
Total rewrite BLE data handling. Much more BLE data is processed from each device. No more 10 minutes gaps between messages. Supported only for firmwares: 0012, 0043, 0160
Support BLE data ha...
Total rewrite BLE data handling. Much more BLE data is processed from each device. No more 10 minutes gaps between messages. Supported only for firmwares: 0012, 0043, 0160
Support BLE data ha...
Я устал, я ухожу... (шутка)
А если серьёзно, я оставляю поддержку только двух прошивок для Xioami Gateway 3 - v1.4.6_0012 и v1.4.7_0160.
Ранее я тестировал также v1.4.6_0043. Именно с ней продаются евро версии этого хаба. А также после 2020.10 её стали устанавливать на китайскую версию. Но вчера я обнаружил в этой прошивке критичный баг. В ней не работают группы Mesh-ламп. Вообще.
Кроме последней версии прошивки я пока поддерживаю и довольно старую, которую долгое время использую сам в качестве основной. Проблема в том, что, начиная с прошивки v1.4.6_0043, шлюз перестаёт отвечать на локальные команды при отсутствии подключения к своему облаку. Это не влияет на работу Zigbee устройств, но ломает работу с Mesh устройствами. Это не похоже на случайную ошибку разработчиков Xioami и возможно сделано намеренно. Я не встречал такого поведения в других устройствах экосистемы Mi Home.
Надо ли вам скорее обновляться, если прошивка не из списка поддерживаемых? Если вас всё устраивает в работе шлюза, то не обязательно. А вот, если есть вопросы и проблемы - сперва проверьте, что виной не прошивка, а потом уже пишете на github.
Надо ли вам понижать прошивку, если пользуетесь последней? Если также не замечаете проблем - можете продолжать пользоваться 0160. У меня в планах вообще отказаться от протокола miio, чтоб максимально отвязать стабильность работы шлюза от облака.
Ещё раз отвечаю на частый вопрос - всё взаимодействие со шлюзом происходит полностью локально. Для полноценной работы вводить свой аккаунт Mi Home совсем необязательно. Он лишь помогает автоматически получить токен шлюза и нормальные имена всех ваших устройств из облака Xiaomi.
Но вот самому шлюзу подключение к облаку иногда требуется: при добавление Zigbee устройства, при обновлении списков BLE и Mesh устройств. Один раз: при блокировке обновления прошивки или включении режима Zigbee Home Automation (ZHA), а скоро и при включении режима zigbee2mqtt.
А если серьёзно, я оставляю поддержку только двух прошивок для Xioami Gateway 3 - v1.4.6_0012 и v1.4.7_0160.
Ранее я тестировал также v1.4.6_0043. Именно с ней продаются евро версии этого хаба. А также после 2020.10 её стали устанавливать на китайскую версию. Но вчера я обнаружил в этой прошивке критичный баг. В ней не работают группы Mesh-ламп. Вообще.
Кроме последней версии прошивки я пока поддерживаю и довольно старую, которую долгое время использую сам в качестве основной. Проблема в том, что, начиная с прошивки v1.4.6_0043, шлюз перестаёт отвечать на локальные команды при отсутствии подключения к своему облаку. Это не влияет на работу Zigbee устройств, но ломает работу с Mesh устройствами. Это не похоже на случайную ошибку разработчиков Xioami и возможно сделано намеренно. Я не встречал такого поведения в других устройствах экосистемы Mi Home.
Надо ли вам скорее обновляться, если прошивка не из списка поддерживаемых? Если вас всё устраивает в работе шлюза, то не обязательно. А вот, если есть вопросы и проблемы - сперва проверьте, что виной не прошивка, а потом уже пишете на github.
Надо ли вам понижать прошивку, если пользуетесь последней? Если также не замечаете проблем - можете продолжать пользоваться 0160. У меня в планах вообще отказаться от протокола miio, чтоб максимально отвязать стабильность работы шлюза от облака.
Ещё раз отвечаю на частый вопрос - всё взаимодействие со шлюзом происходит полностью локально. Для полноценной работы вводить свой аккаунт Mi Home совсем необязательно. Он лишь помогает автоматически получить токен шлюза и нормальные имена всех ваших устройств из облака Xiaomi.
Но вот самому шлюзу подключение к облаку иногда требуется: при добавление Zigbee устройства, при обновлении списков BLE и Mesh устройств. Один раз: при блокировке обновления прошивки или включении режима Zigbee Home Automation (ZHA), а скоро и при включении режима zigbee2mqtt.
В честь интеграции Zigbee2MQTT с Xiamoli cloud я также выпустил долгожданное обновление Xiaomi Gateway 3 с поддержкой zigbee2mqtt!
Самое время задать себе вопрос, шучу ли я...
https://youtu.be/esJ0nsqjejc
https://github.com/AlexxIT/XiaomiGateway3/releases/tag/v1.2.0
Самое время задать себе вопрос, шучу ли я...
https://youtu.be/esJ0nsqjejc
https://github.com/AlexxIT/XiaomiGateway3/releases/tag/v1.2.0
Только что случилось чудо.
У меня в доме отключили свет. К слову это бывает довольно редко. А вот когда свет вернулся - перестали работать все автоматизации по датчикам движения.
Я полез проверять Home Assistant - он успешно запустился сам. Проверил Node-RED, ведь все автоматизации на нём - он живой. Стал смотреть на датчики - все недоступны.
Как оказалось, мой главный шлюз был подключен через умный удлинитель. Который, конечно же, не сохранял состояние розеток при потере электричества.
Но самое интересное, пока я выяснял причину поломки, один свет всё же включился сам. Не подвёл BLE ночник:
https://t.me/AlexxIT_SmartHome/428
Он у меня подключен, через тот самый шлюз в режиме zigbee2mqtt с этого вот видео:
https://youtu.be/esJ0nsqjejc
Напоминаю, что режимы ZHA или z2m не ломают работу BLE и Mesh устройств. А BLE и Mesh устройства не привязаны к какому-либо конкретному шлюзу, они работают со всеми шлюзами одновременно и последние версии компонента это поддерживают.
Такая вот история про отказоустойчивость в умном доме.
У меня в доме отключили свет. К слову это бывает довольно редко. А вот когда свет вернулся - перестали работать все автоматизации по датчикам движения.
Я полез проверять Home Assistant - он успешно запустился сам. Проверил Node-RED, ведь все автоматизации на нём - он живой. Стал смотреть на датчики - все недоступны.
Как оказалось, мой главный шлюз был подключен через умный удлинитель. Который, конечно же, не сохранял состояние розеток при потере электричества.
Но самое интересное, пока я выяснял причину поломки, один свет всё же включился сам. Не подвёл BLE ночник:
https://t.me/AlexxIT_SmartHome/428
Он у меня подключен, через тот самый шлюз в режиме zigbee2mqtt с этого вот видео:
https://youtu.be/esJ0nsqjejc
Напоминаю, что режимы ZHA или z2m не ломают работу BLE и Mesh устройств. А BLE и Mesh устройства не привязаны к какому-либо конкретному шлюзу, они работают со всеми шлюзами одновременно и последние версии компонента это поддерживают.
Такая вот история про отказоустойчивость в умном доме.
Telegram
AlexxIT Smart Home
Наконец-то добрался вживую попробовать и докрутить логику работы для Xiaomi Mijia Night Light 2.
Исправления работы разных моделей датчиков движения в последней бете компонента Xiaomi Gateway 3.
Весьма недооценённый на рынке девайс, при его достоинствах.…
Исправления работы разных моделей датчиков движения в последней бете компонента Xiaomi Gateway 3.
Весьма недооценённый на рынке девайс, при его достоинствах.…
На выходных уделил время аддону веб-камер - RTSP2WebRTC.
У части пользователей аддон не мог собраться на их сервере.
С версии 0.2.0 аддон собирается где-то в облаках GitHub под все поддерживаемые в Home Assistant архитектуры процессоров и загружается на Docker Hub в виде готовых образов.
Это гарантирует, что аддон без проблем запустится практически на любой версии Малины/Апельсина и не будет занимать место в бэкапах.
Впрочем, пользователям необязательно это всё знать. Достаточно лишь настроить репозиторий аддонов и нажать кнопку Install.
Планировал ещё собрать карточку Lovelace, но всё время ушло на прошлую задачу. Хотя разработчики ХА создали инструмент для сборки аддонов, правильно его применить оказалось не очень то и тривиальной задачей. Забавно, что сам Френк (соавтор ХА и автор основных аддонов) этот инструмент не использует, так что подсмотреть было негде :)
https://github.com/AlexxIT/hassio-addons
У части пользователей аддон не мог собраться на их сервере.
С версии 0.2.0 аддон собирается где-то в облаках GitHub под все поддерживаемые в Home Assistant архитектуры процессоров и загружается на Docker Hub в виде готовых образов.
Это гарантирует, что аддон без проблем запустится практически на любой версии Малины/Апельсина и не будет занимать место в бэкапах.
Впрочем, пользователям необязательно это всё знать. Достаточно лишь настроить репозиторий аддонов и нажать кнопку Install.
Планировал ещё собрать карточку Lovelace, но всё время ушло на прошлую задачу. Хотя разработчики ХА создали инструмент для сборки аддонов, правильно его применить оказалось не очень то и тривиальной задачей. Забавно, что сам Френк (соавтор ХА и автор основных аддонов) этот инструмент не использует, так что подсмотреть было негде :)
https://github.com/AlexxIT/hassio-addons
GitHub
GitHub - AlexxIT/hassio-addons: Hass.io addons: go2rtc and SSH Tunnel
Hass.io addons: go2rtc and SSH Tunnel. Contribute to AlexxIT/hassio-addons development by creating an account on GitHub.
Если вы думаете, что я всё свободное время посвящаю программированию, то это не так. Иногда я люблю поиграть в видеоигры.
Как сказал ирландский комик Дара О'Брайен, в одном из своих выступлений: индустрия видеоигр выгодно отличается от всех остальных индустрий. Невозможно плохо смотреть фильм. Невозможно плохо слушать музыкальный альбом. Но можно плохо играть в видеоигру, и она накажет вас за это, закрыв доступ к остальной части игры.
На прошлой неделе вышло шикарное продолжение сатирической стратегии про Злого Гения. Я в очередной раз отстраивал базу по пути к мировому господству и заметил, что все приборы в разных помещениях начали активно выходить из строя. Я проверил количество техников, пять штук, должно хватать на починку. Но приборы никто не чинил. Стал искать техников по базе, почему они не выполняют свою основную обязанность. И обнаружил всех их на кухне!
Меня поразил момент, что разработчики настолько тонко передали типичную ситуацию из реальной жизни: когда толпа офисных работников тупо стоит на кухне, болтает и не выполняет свои прямые обязанности. Пришлось позвать своего гения и разогнать всех этих бездельников. А затем дежурить на кухне в течение пары дней, чтоб такое больше не повторялось.
Кстати, если захотите покорять мир - стройте проход в сокровищницу через комнату охраны. Так грабителям, по пути к выходу с базы, в любом случае придётся пройти через два десятка ваших бравых ребят, даже тревогу поднимать не надо.
А ещё на портале Sprut.ai вышел долгожданный подкаст с моим участием:
https://sprut.ai/client/news/4190
Как сказал ирландский комик Дара О'Брайен, в одном из своих выступлений: индустрия видеоигр выгодно отличается от всех остальных индустрий. Невозможно плохо смотреть фильм. Невозможно плохо слушать музыкальный альбом. Но можно плохо играть в видеоигру, и она накажет вас за это, закрыв доступ к остальной части игры.
На прошлой неделе вышло шикарное продолжение сатирической стратегии про Злого Гения. Я в очередной раз отстраивал базу по пути к мировому господству и заметил, что все приборы в разных помещениях начали активно выходить из строя. Я проверил количество техников, пять штук, должно хватать на починку. Но приборы никто не чинил. Стал искать техников по базе, почему они не выполняют свою основную обязанность. И обнаружил всех их на кухне!
Меня поразил момент, что разработчики настолько тонко передали типичную ситуацию из реальной жизни: когда толпа офисных работников тупо стоит на кухне, болтает и не выполняет свои прямые обязанности. Пришлось позвать своего гения и разогнать всех этих бездельников. А затем дежурить на кухне в течение пары дней, чтоб такое больше не повторялось.
Кстати, если захотите покорять мир - стройте проход в сокровищницу через комнату охраны. Так грабителям, по пути к выходу с базы, в любом случае придётся пройти через два десятка ваших бравых ребят, даже тревогу поднимать не надо.
А ещё на портале Sprut.ai вышел долгожданный подкаст с моим участием:
https://sprut.ai/client/news/4190
Итак, сегодня у меня для вас новый Home Assistant компонент на старую тему - проигрывание видео с IP-камер в реальном времени без задержек.
Под капотом всё тот же RTSPtoWebRTC. Но теперь это не аддон Hass.io, а компонент Home Assistant, который можно установить через HACS. А значит, теперь он поддерживается не только в установках с Supervisor, но и в Docker-версии, в venv и даже в Windows, в том числе в HassWP.
А самое главное - компонент теперь поставляется с карточкой Lovelace, которую не нужно отдельно ставить и как-то добавлять в ресурсы. Оно само.
Если на сервере запущен старый аддон - его нужно остановить. Вместе они не запустятся. Также нужно почистить кэш браузера, чтоб новая карточка появилась в общем списке доступных карточек.
Конечно, не стоит ожидать, что все камеры мира заработают. Но те, что заработаю - будут выдавать картинку ОЧЕНЬ быстро.
https://youtu.be/2otE2dc6OAA
Под капотом всё тот же RTSPtoWebRTC. Но теперь это не аддон Hass.io, а компонент Home Assistant, который можно установить через HACS. А значит, теперь он поддерживается не только в установках с Supervisor, но и в Docker-версии, в venv и даже в Windows, в том числе в HassWP.
А самое главное - компонент теперь поставляется с карточкой Lovelace, которую не нужно отдельно ставить и как-то добавлять в ресурсы. Оно само.
Если на сервере запущен старый аддон - его нужно остановить. Вместе они не запустятся. Также нужно почистить кэш браузера, чтоб новая карточка появилась в общем списке доступных карточек.
Конечно, не стоит ожидать, что все камеры мира заработают. Но те, что заработаю - будут выдавать картинку ОЧЕНЬ быстро.
https://youtu.be/2otE2dc6OAA
YouTube
WebRTC Camera real time streaming component for Home Assistant
https://github.com/AlexxIT/WebRTC
Всего пару дней компоненту WebRTC, а репозиторий уже посетило более 2000 человек. И за это время много всего улучшилось в компоненте.
Карточка плеера приобрела нормальный дизайн. Больше нет отдельной страшненькой полосы для управления звуком, а края видеоплеера закруглены, как и у остальных каточек ХА.
Сервер WebRTC теперь сам находит свободный порт, если 8083 у вас по какой-то причине занят. А если что-то пойдёт не так - он сам перезапустится.
Видео на айфонах теперь не стартует на весь экран. А если у вас в пароле есть очень страшные символы - в логе будет соответствующая ошибка.
Если у вас с десяток и более камер - появилась настройка увеличить количество активных подключений. По умолчанию их всего десять.
В документации компонента появился большой раздел FAQ с ответами на самые частые вопросы и проблемы:
https://github.com/AlexxIT/WebRTC
Карточка плеера приобрела нормальный дизайн. Больше нет отдельной страшненькой полосы для управления звуком, а края видеоплеера закруглены, как и у остальных каточек ХА.
Сервер WebRTC теперь сам находит свободный порт, если 8083 у вас по какой-то причине занят. А если что-то пойдёт не так - он сам перезапустится.
Видео на айфонах теперь не стартует на весь экран. А если у вас в пароле есть очень страшные символы - в логе будет соответствующая ошибка.
Если у вас с десяток и более камер - появилась настройка увеличить количество активных подключений. По умолчанию их всего десять.
В документации компонента появился большой раздел FAQ с ответами на самые частые вопросы и проблемы:
https://github.com/AlexxIT/WebRTC
GitHub
GitHub - AlexxIT/WebRTC: Home Assistant custom component for real-time viewing of almost any camera stream using WebRTC and other…
Home Assistant custom component for real-time viewing of almost any camera stream using WebRTC and other technologies. - AlexxIT/WebRTC
На прошлой неделе было две забавные истории.
Один пользователь написал, что после установки компонента Xiaomi Gateway 3 и ввода логина/пароля от облака Xiaomi - на его телевизоре начали самопроизвольно включатся ролики YouTube. Советовал всем быть осторожными в чате шлюза.
У второго пользователя, после установки компонента Dataplicity, админка роутера переключилась на китайский язык. Предостерегал всех от использования этого спамерского (цитата автора) компонента во всех ресурсах, куда только смог написать.
Идея в том, что я пишу все свои компоненты под себя. С моими личными нормами удобства установки, настройки, использования и конечно безопасности.
Например, gw3 требует скачивания нескольких утилит из Интернета для своей полноценной работы. Перед запуском каждой утилиты компонент проверяет контрольные суммы. Таким образом, если сайт, откуда всё добро скачивается, окажется во власти злоумышленников - шлюзы пользователей останутся в безопасности.
Компонент Яндекс.Станции не сохраняет пароль пользователя. Сохраняется только токен авторизации. И заложен механизм повторной ручной авторизации пользователя через год, когда токен "протухнет".
Веб-ссылки на логи в некоторых моих компонентах, хоть и доступны без авторизации, но постоянно разные, чтоб исключить малейший шанс утечки.
В системе логов нет даже намёка на автоматическую отсылку данных. Каждый пользователь видит всё, что он отправит неизвестному человеку в интернете. А из логов SonoffLAN автоматически удаляется вся приватная информация.
Также я стараюсь использовать внешние библиотеки только в случае крайней необходимости. С одной стороны, меньше вероятность, что будет какая-либо ошибка при их скачивании и установке. С другой стороны, неизвестно, что там творится внутри библиотеки, код становится менее прозрачным, уходя в некий черный ящик.
Прозрачность кода отдельная история. Я всегда пишу код согласно правилу, что "его будет поддерживать больной на всю голову психопат, знающий мой домашний адрес". То есть он должен быть максимально читаемым для любого стороннего человека. Это важно.
А в историях с телевизором и роутером, с высокой долей вероятности, Home Assistant вообще не участвовал.
Один пользователь написал, что после установки компонента Xiaomi Gateway 3 и ввода логина/пароля от облака Xiaomi - на его телевизоре начали самопроизвольно включатся ролики YouTube. Советовал всем быть осторожными в чате шлюза.
У второго пользователя, после установки компонента Dataplicity, админка роутера переключилась на китайский язык. Предостерегал всех от использования этого спамерского (цитата автора) компонента во всех ресурсах, куда только смог написать.
Идея в том, что я пишу все свои компоненты под себя. С моими личными нормами удобства установки, настройки, использования и конечно безопасности.
Например, gw3 требует скачивания нескольких утилит из Интернета для своей полноценной работы. Перед запуском каждой утилиты компонент проверяет контрольные суммы. Таким образом, если сайт, откуда всё добро скачивается, окажется во власти злоумышленников - шлюзы пользователей останутся в безопасности.
Компонент Яндекс.Станции не сохраняет пароль пользователя. Сохраняется только токен авторизации. И заложен механизм повторной ручной авторизации пользователя через год, когда токен "протухнет".
Веб-ссылки на логи в некоторых моих компонентах, хоть и доступны без авторизации, но постоянно разные, чтоб исключить малейший шанс утечки.
В системе логов нет даже намёка на автоматическую отсылку данных. Каждый пользователь видит всё, что он отправит неизвестному человеку в интернете. А из логов SonoffLAN автоматически удаляется вся приватная информация.
Также я стараюсь использовать внешние библиотеки только в случае крайней необходимости. С одной стороны, меньше вероятность, что будет какая-либо ошибка при их скачивании и установке. С другой стороны, неизвестно, что там творится внутри библиотеки, код становится менее прозрачным, уходя в некий черный ящик.
Прозрачность кода отдельная история. Я всегда пишу код согласно правилу, что "его будет поддерживать больной на всю голову психопат, знающий мой домашний адрес". То есть он должен быть максимально читаемым для любого стороннего человека. Это важно.
А в историях с телевизором и роутером, с высокой долей вероятности, Home Assistant вообще не участвовал.
Media is too big
VIEW IN TELEGRAM
Почему я развёл такую шумиху вокруг камер. Это через удалённый доступ. Левая - WebRTC с качеством 1080p и звуком. Правая - штатная интеграция ХА с качеством 360p без звука.
Не надоел я вам ещё с камерами? Но оно того стоит!
Николай @Vasilchuk, автор некоторых официальных интеграций Home Assistant, добавил крутейшее обновление в компонент WebRTC.
Новая версия теперь может показывать видео с камеры, даже если у вас "серый" IP-адрес и вы не пробрасывали порты на своём роутере (но не во всех случаях)!!! Лично моё представление об устройстве Интернета немного вывернулось наизнанку.
Да-да, большинство типов NAT этому протоколу не помеха и он сможет установить прямое подключение между браузером/мобильным приложением и вашим сервером ХА. Он не справится только, с так называемым, Симметричным NAT, который, как правило, используют в корпоративных сетях.
PS. В новой версии видео научилось автоматически стартовать и останавливаться. А также вернулась поддержка Firefox, привет @Belokobylskiy
Николай @Vasilchuk, автор некоторых официальных интеграций Home Assistant, добавил крутейшее обновление в компонент WebRTC.
Новая версия теперь может показывать видео с камеры, даже если у вас "серый" IP-адрес и вы не пробрасывали порты на своём роутере (но не во всех случаях)!!! Лично моё представление об устройстве Интернета немного вывернулось наизнанку.
Да-да, большинство типов NAT этому протоколу не помеха и он сможет установить прямое подключение между браузером/мобильным приложением и вашим сервером ХА. Он не справится только, с так называемым, Симметричным NAT, который, как правило, используют в корпоративных сетях.
PS. В новой версии видео научилось автоматически стартовать и останавливаться. А также вернулась поддержка Firefox, привет @Belokobylskiy
Если я давно не писал, это не значит, что ничего интересного не происходит.
За первую неделю своего существования компонент 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 и занял заслуженное первое место в списке самых кривых браузеров для веб-разработки.
За первую неделю своего существования компонент 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. Зато, если вы не пользуетесь ужасным
https://github.com/iswitch/ha-yandex-icons
Иконку Яндекс.Станции рисовал автор набора иконок для всех моделей колонок @iSwitch
Сами иконки колонок ставятся из отдельной интеграции HACS. Зато, если вы не пользуетесь ужасным
lovelace: mode: yaml - их никуда прописывать не надо. Они автоматически подтянутся всеми колонками сразу после установки:https://github.com/iswitch/ha-yandex-icons
Недавно разворачивал ХА с нуля и заметил, что мои компоненты занимают первую и вторую строчку в HACS.
Просто по умолчанию HACS сортирует все компоненты по количеству звёзд на GitHub, а официально в HACS добавлено всего два моих компонента.
Вот подумываю добавить туда остальные и занять всю первую страницу 🙈
Просто по умолчанию HACS сортирует все компоненты по количеству звёзд на GitHub, а официально в HACS добавлено всего два моих компонента.
Вот подумываю добавить туда остальные и занять всю первую страницу 🙈