AlexxIT Smart Home
8.34K subscribers
325 photos
28 videos
291 links
Заметки про развитие моего умного дома
Все полезные ссылки тут:
https://github.com/AlexxIT
Download Telegram
Для владельцев колонок с локальным управлением готовится технически несложный, но очень крутой апдейт.

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

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

Я тоже очень люблю слушать музыку. И вопрос мультирума у меня давно решён через Google колонки.

Яндекс.Станцию Мини я покупал для трансляции музыки на старую акустику. Но теперь с открытием HDMI-AUX с радостью заменил её на Chromecast. Как раз лежал без дела после покупки Xiaomi Mi Box S. Chromecast тоже умеет мультирум и легко прокидывается в умный дом. Кстати Mi Box умеет Cast, но не умеет мультирум!

Теперь при старте трансляции Home Assistant включает акустику, а при остановке - выключает. Идиллия.
Речь была про интеграцию Яндекс Алисы в Телеграм!

Не устали общаться с бездушным Телеграм ботом через слеш-команды и жать на кнопочки с эмоджи?

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

One more thing... (c)

Компонент научился проигрывать медиа по ссылкам. Поддерживаются только Яндекс.Музыка и YouTube с Кинопоиском (последние два только на устройствах с экраном).

Но вы уже можете кинуть (расшарить) ссылку на песню/альбом/плейлист или фильм своему Телеграм боту (это удобно делать с мобилы). Или вставить ссылку в поле "воспроизвести текст" в карточке колонки в Home Assistant.

Всё вышеупомянутое поддерживается только по локальному управлению. А это на сегодняшний день: Яндекс.Станция большая и маленькая и Яндекс.Модуль.

В readme больше подробностей с примерами:
https://github.com/AlexxIT/YandexStation/releases/tag/v2.2.0
AlexxIT Smart Home
Пожил немного на ноуте с Windows (Dell G3) и это было ужасно. Я часто жалуюсь, что MacBook плохо просыпается, когда к нему подключены внешние мониторы. Чем больше мониторов, тем ситуация хуже. В процессе включения все экраны начинают судорожно моргать на…
Только что MacBook ушёл в экран смерти при просыпании. Чтож за вселенская беда с такой повседневной функцией...

Wake transition timed out after 180 seconds while entering fullwake from darkwake. Suspected bundle: com.apple.iokit.IOGraphicsFamily.
К вопросу о Мультируме. Ну и к количеству Wi-Fi устройств в доме.

Тут человек жалуется, что мультикаст у него плохо работает:
https://github.com/home-assistant/core/issues/35227

I have 30+ ChromeCast Audio devices and over 80+ Google casting devices.


🙈
В компоненте YandexStation было много жалоб, что Мини станции не находятся локально и продолжают работать только в облачном режиме.

Как оказалось, уже несколько версий подряд, разработчики Home Assistant активно улучшают логику работы mDNS (zeroconf). С помощью которого и обнаруживаются эти колонки в локальной сети.

Я адаптировал компонент под эти нововведения. Возможно станет работать лучше.

Но если и это не поможет - я добавил возможность указать статический IP-адрес ваших колонок. Чтоб каждый пользователь мог насладиться плюшками локального режима вне зависимости от качества работы всяких там mDNS. Передавайте привет инженерам Apple, их детище.

https://github.com/AlexxIT/YandexStation/releases/tag/v2.2.2
В последние дни мне много людей написали о проблемах с локальным режимом у Яндекс.Станции Мини.

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

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

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

И есть пользователь с поправленым уровнем громкости, но с поломанной информацией о воспроизведении... 🤦
Если вы вдруг подумали, что все самые крутые фичи в YandexStation уже реализованы, ох как вы ошибаетесь... Stay tuned...
В прошлом сообщении я говорил про гибкие команды вашему умному дому через Яндекс.Диалоги.

Что такое Яндекс.Диалоги и зачем они вам нужны?

Компонент YandexStation позволяет вам управлять вашими колонками из Home Assistant.

Через компонент Дмитрия (Yandex Smart Home) - вы сможете управлять вашим Home Assistant с ваших колонок. А также из мобильного приложения Яндекса и с недавнего времени - из Telegram. Но не всем Home Assistant, а только лампочками, выключателями и некоторой другой техникой. Причём на базовом уровне - включить, выключить, изменить режим и всё в общем-то.

Первый шаг для реакции на произвольные фразы пользователя я сделал через yandex_intent в компоненте YandexStation. Костыльный подход имел ряд ограничений:
- нельзя ответить тому же устройству, с которого пришёл вопрос
- нужно в точности перечислять все варианты фраз, на которые нужна реакция

Яндекс.Диалоги решают обе этих проблемы:
- ответ формируются в процессе обработки запроса
- при необходимости фразы можно очень гибко обрабатывать с помощью Natural Language Processing от Яндекса

У Диалогов есть лишь одна неприятная особенность - нужно обращаяться к ним по имени и это имя должно быть уникальным у каждого пользователя.

Зато в последних обновлениях приватные навыки создаются очень быстро. А мой новый компонент даже умеет создавать такой навык за вас. От вас требуется только рабочий внешний доступ по HTTPS и желаемое имя навыка.

- Алиса узнай у Дома температуру в спальне
- Алиса попроси Джарвиса включить Ютуб на телевизоре в зале
- Алиса узнай у Вероники когда было последнее движение у входной двери

https://github.com/AlexxIT/YandexDialogs
О, Телеграм включил для меня статистику. Видимо они что-то поменяли в своих правилах, потому как она должна работать на каналах от 1000 пользователей.

А горбики - это статья на Хабре и ссылка на канал в чате Яндекс.Станции
А вы ругаетесь на Почту России.

Special Line от www.itead.cc - вот где настоящая жесть.

Пришлось заказывать с официального магазина, потому что на Али ещё не было Sonoff ZigBee Bridge в продаже.

Думаю дождаться и заказать с Али было бы быстрее...

Кстати я выпрашивал у них скидку - не дали. Пришлось заказывать на кровные донаты.
Sonoff ZigBee Bridge приятно удивил, когда к нему успешно добавился датчик температуры Xiaomi MiJia.

В прочем на этом приятные удивления закончились. Разные кнопки Xiaomi, их розетку и датчик движения Aqara - Sonoff не увидел.

Успешно подхватил лампочку IKEA и лампочку Philips Hue. И даже смог их включать/выключать. Но вот статус лампочек всегда отображается, как включено. Смысла пользоваться таким решением нет. Хотя лампочки нативно прокинулись в Яндекс и даже управляются оттуда. Но из-за проблем со статусом могут самопроизвольно включаться/выключаться. Управления яркостью нет вообще.

Собственный датчик движения от Sonoff работает очень странно и непонятно как часто он может слать данные. Похоже, если крутиться перед ним постоянно - сигнала о движении не будет совсем.

Ну и контрольный минус - локального протокола нет. А значит всё управление будет через облако.

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

Но я всё же добавлю его поддержку в SonoffLAN. Пользователи из Европы, Азии и Америки любят всякие странные вещи вроде RF 433. И активно дёргают с просьбами добавить и этот девайс.
Кстати Яндекс.Диалоги всё ещё принимают самоподписанные SSL сертификаты.

Ваш webhook может вполне указывать даже на IP-адрес и странный порт, например: https://87.250.250.242:8443/

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

Уже два раза сталкиваюсь с этим в компоненте SonoffLAN.

Идея в том, что YAML пытается самостоятельно угадать тип записанной переменной. Строка, цифра, дата или что-то ещё.

Например, слова yes, true, on - будут прочитаны как логический тип (true), если вы не возьмёте их в кавычки. Частый предмет ошибок в конфигах Home Assistant.

Если в ID устройств Sonoff были только цифры - первые версии компонента SonoffLAN читали их как целое число и устройство не работало. Это было довольно легко починить в самом компоненте принудительной конвертацией всех ID в строку.

И вот теперь прилетела вторая проблема с управлением камерами Sonoff. Ими я решил управлять по 6-значному ID камеры. Он состоит только из цифр.

Так вот в этих ID часто встречается ведущий ноль. Но это не проблема. В YAML такая запись будет прочитана как строка.

НО! Если все остальные цифры меньше 8 - ведущий ноль будет воспринят как восьмеричная система счисления. Это такая частая форма записи во многих языках программирования, не в YAML её придумали.

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

Это "продвинутая" версия стандартного компонента Python Scripts. Им толком никто не пользуется, потому как функционала Python в нём почти не осталось (запрещено использование любых библиотек).

В моей версии нет ограничений и доступны все внутренние и внешние python-библиотеки. Есть возможность автоматически установить недостающие библиотеки. Это будет работать даже в многострадальном Docker-окружении.

Есть компиляция и кэширование python-кода, а значит, он будет выполняться максимально быстро, не напрягая слабое железо (привет Command Line и Shell Command).

Доступны Hass API (чтение состояний, вызов сервисов, генерация событий).

При желании python-код можно писать прям в YAML-файлах. И плюсом компонент поддерживает создание python-сесоров.

С помощью нового компонента можно легко накидать логику и заменить вот эти мои компоненты: YandexCOVID, YandexRoute, SSHCommand, DashCast.

https://github.com/AlexxIT/PythonScriptsPro
Вчера на ночь глядя SonoffLAN начал поддерживать Smart Mosquito Killer и очередную noname Wi-Fi RBG лампочку 2020 года выпуска.

Франкоговорящий тренер тхэквондо из Канады придумал какой-то цветной перформанс на день рождения дочери на этой неделе. И очень просил добавить поддержку этой новой лампочки.

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

Вообще поддерживать лампочки eWeLink дело очень неблагодарное. У каждой новой лампочки свои API и логика работы. Я даже устал давать им какие-то осмысленные называния и просто дописал ID в имена классов.

Стандартов нет даже в пределах одной экосистемы...
Допускать ошибки в своих компонентах неприятно. Пришлось в срочном порядке выпускать SonoffLAN v2.2.3 и убивать версию v2.2.2

Владелец этого вот выключателя уверял, что его нужно сделать по умолчанию light вместо switch. Ну логично, этож настенный выключатель.
https://www.amazon.ca/gp/product/B081JM45ZZ/

Как оказалось, его идентификатор совпал с очень популярными Sonoff POW и множеством других реле, поддерживающих потребление энергии.

Куча людей уже успела мне написать, не обнаружив своих устройств на привычных местах. Хотя реле всё же должны были появится в интерфейсе. Но только в виде лампочки...
Xiaomi тут выпустила новую бюджетную ТВ-приставку с настоящим Android TV.

Не стоит путать с обычным мобильным Android, растянутым на большой экран ТВ. Это неудобный хлам, который оставит после себя кучу неприятных впечатлений.

Так вот железо прошлых приставок Xiaomi уже работало с натяжкой. Никакого запаса производительности там нет. Интерфейс работает на пределе.

А в новом Mi TV Stick они ещё больше сэкономили.

Девайс можно было бы использовать как замену Chromecast Audio, если бы не два но:

1. Приставки Xiaomi имеют привычку засыпать. Перед трансляцией видео или аудио - их нужно будить. Это неудобно.
2. Приставки Xiaomi не добавляются в мультирум.

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

А вот вторая версия (её пока нет в продаже) уже интереснее. Там больше памяти, она шустрее. И наконец-то графика получит новое поколение GPU.
В Яндексе опять полностью поменяли политику своего Яндекс.Плюс. Возможно, официальное появление Spotify на них как-то повлияло.

С августа весь каталог фильмов КиноПоиск HD будет доступен всем владельцам обычной подписки: https://t.me/yandexhq/1087

Кстати я несколько месяцев пользуюсь КиноПоиск HD + Амедиатека. Библиотеки фильмов вполне хватает, чтоб не скучать по вечерам и не искать что-то в других источниках.

Получается вместо 299 рублей можно заплатить 267 рублей (при оплате за год) и получить всё то же самое, что даёт Плюс Мульти и вдобавок доступ к куче сериалов Амедиатеки.