90% людей подключают к Умному Дому только лампочки для освещения. Вся индустрия Умного Дома заточена и протестирована под лампочки.
При подключении других типов устройств могут возникать проблемы с выбором интерфейса для управления из ограниченного списка элементов UI.
После подключении хочется задать условие для выполнения нужного действия. Простое условие "Если нажата кнопка, тогда включи свет" можно через UI с помощью ограниченного YAML задать. Для условия посложнее лучше сразу создать custom component на Python.
Ах, да... с апреля 2020 разработчики удаляют конфигурацию YAML. А с лета 2023 указывали сроки удаления.
Вся конфигурация HomeAssistant теперь хранится в хаотичных JSON'ах с возможностью начальной настройкой только через UI. Тоесть адрес, порт и пароль к MQTT через configuration.yaml
не задать. В Git эти JSON'ы хранить сложнее, потому что постоянная конфигурация и меняющийся (временные токены доступа и т.д.) находятся в одном файле.
Помимо лампочек к HomeAssistant можно подключить устройства отвечающие за безопасность: датчики дыма, потопа, незаконного проникновения и т.п. Но кроме датчиков, которые срабатывают 1 раз за несколько лет, можно подключить более актуальные:
датчик состояния бабушки
проснулись ли детки?
мой сервер опять упал?
и т.д. (custom component на Python)
А вот теперь, когда лампочки, датчики, бабушка с детками и сервер подключены к HomeAssistant... пора начать получать уведомления на телефон!
HomeAssistant на Android ужасен!
На iOS врядли лучше...
HomeAssistant можно пользоваться через browser. Приложение на Android загружает HomeAssistant в WebView + показывает уведомления на телефоне и посылает данные (батарея, местоположение и т.д.) в HomeAssistant.
Сейчас приложение на Android "разрабатывают" 1.5 человека D&J (первые буквы их ников). В основном D&J только принимают pull request.
6 апреля 2024 в Google Play опубликовали версию 2024.3.5 и часть телефонов не могут запустить приложение из-за критической ошибки. Исправленную версию от 6 апреля можно скачать по секретной ссылке с GitHub. Но D&J не хотят даже опубликовать в Google Play исправленную версию, потому что (по мнению D&J) только 1% пользователей пострадали.
Известные проблемы HomeAssistant Android:
Нет тестов. Совсем нет никаких тестов!
Проверка доступности сервера HomeAssistant сделана через ж... Точнее, опрос "Загрузился?", когда WebView уже вернулся с ERR_TIMEOUT. (#4272)
Вид widget'ов ужасен. Иконки и надписи не загружаются. Про вид из HomeAssistant забудьте! Только состояние (state) показывает.
Widget'ы в Lawnchair не работают - хз чей косяк.
Нет возможности по QR дать доступ. Только руками вводить адрес, логин, пароль.
и т.д.
Отношения сообщества HomeAssistant
Я отдаю себе отчёт, что баги есть (поэтому я версию HomeAssistant зафиксировал), сервер может падать (уже ронял) и т.п. В Discord я уже указывал на критические ошибки и каждый раз получал ответ (и D&J поддерживают):
Гыгы, этот идиот не может включить свет без HomeAssistant!
Версия от 6 апреля 2024 является апогеем этого отношения. D&J обещали опубликовать исправленную версию в Google Play через неделю, но это не точно.
Разъясню ситуацию ещё раз:
Сейчас обычные люди (бабушки, дедушки, мамы, папы и т.д.) не могут пользоваться HomeAssistant в своём же доме после авто-обновления клиента на Android. Исправленную версию уже можно скачать, но на телефонах обычных людей будет через неделю или через 2 месяца.
Выводы
HomeAssistant при правильной настройке дает возможности человеку с инвалидностью включить свет, регулировать отопление и т.д. Родственникам предоставляется возможность лишний раз не волноваться.
Отношение разработчиков ПО для Умного Дома, как к "игрушке" - нужно учесть в первую очередь!
Если ты, Хабражитель, имеешь опыт Kotlin, то доведи HomeAssistant Android до адекватного состояния, плиззз.
Upd
На момент прохождения модерации статьи на Хабре: исправленная версия доступна в Google Play.
4 дня потребовалось на публикацию уже исправленной версии! Мы, программисты, можем откатить версию или поставить исправленную. Мы забываем, что обычные пользователи не могут этого сделать.
Я не перекладываю ответственность за человеческую жизнь на разработчиков HomeAssistant. Мне, как программисту, хочется больше профессионализма в этом важном ПО.
Upd 2
Видео-демонстрация бага подключения, когда 2 из 3 кнопок бесполезны:
Комментарии (43)
khodunov14
10.04.2024 12:57На 10 апреля, актуальная версия: 2024.4.1-full
Roffild Автор
10.04.2024 12:57Да, версию выложили. Статья от 8 апреля, но Хабр сейчас только опубликовал.
DaemonGloom
10.04.2024 12:57Судя по информации из Google Play - версия 2024.4.1-full была загружена к ним уже 6 апреля.
yarkov
10.04.2024 12:57Можно чуть подробнее про датчик состояния бабушки?
Roffild Автор
10.04.2024 12:57Бабушку через штекер к Матрице подключить сложновато. Но передать активность телефона можно уже сейчас + другие приборы.
Если бабушка 2 часа не разговаривает с подружками, то это повод глянуть Веб-камеру в НА. Да и "тревожную кнопку" можно сделать.
Встречал не мало людей, кто просит соседей "проверить бабушку" неподключенную к НА.
rustavelli
10.04.2024 12:57В HA можно прокинуть показания фитнес -браслета
https://community.home-assistant.io/t/miband-amazfit-data-direct-from-notify-app-no-more-tasker-and-google-fit-workarounds/457780
Barnaby
10.04.2024 12:57+5Автор поленился написать в чем проблема issues/4323 - у одного компонента внезапно выросла версия SDK и теперь нужен минимум андроид 8.0 вместо 5.0.
Так-то у ха одно из лучших мобильных приложений - все то же самое что и в браузере на десктопе (т.к. хорошо адаптировано), бесплатные уведомления, переключение между внешним\внутренним урл по ssid. А автообновления можно и отключить, особенно на таком старом андроиде.
PS: Недавно, наконец-то, добавили теги и категории, давно о них мечтал. До идеала нехватает только выкинуть ямл-конфиги и писать сценарии прямо на питоне :)
Roffild Автор
10.04.2024 12:57На Питоне давно можно - "кастомный компонент" называется ;)
Barnaby
10.04.2024 12:57кастомный компонент
Ну это не то, я такое делал и мне не понравилось. Я хочу что-то вроде vscode, со специальным автокомплитом и линтером.
Kill_Voice
10.04.2024 12:57Можно и на питоне, https://www.home-assistant.io/integrations/python_script/ но в итоге это менее поддерживаемое решение, чем nodered
Roffild Автор
10.04.2024 12:57э... реальные PyCharm и VSCode чем не угодили? Я свой кастомный компонент в них сделал.
DMGarikk
10.04.2024 12:57Отношение разработчиков ПО для Умного Дома, как к "игрушке" - нужно учесть в первую очередь!
Это кстати общая проблема многих чисто опенсорсных проектов, даже если они очень старые и используются в тяжелом энтерпрайзе
из самых близких примеров это GIMP с его CMYK-ом который super-low-priority этоникомунинада, а комунада пусть фотошоп покупают.. (кто скажет про плагин который тыщу лет всё поддерживает, пусть сам попробует отредактировать и напечатать типографский tiff в правильных цветах на калиброванном оборудовании..да даже не просто на калиброванном, собрать цвета максимально близкие к физическому железу и напечатать так чтобы инфаркт не хватил
сейчас я уже подзабыл, но в начале 10х я настраивал инфраструктуру под всякие стандарты ИБ на одной работе, и какаято тулза, опенсорсная и прям совсем ходовая (чёто типа уровня рсинка, но не он, забыл уже) не умела в подробные настройки шифрования в своих полключениях...там чтобы размеры-типы ключей указывать, кастомные сертификаты и такое прочее
Я помню ходил к сообществу. даже пилил какойто MR который фиксил имеющееся поведение которое туда притащил какойто бедолага-мой предшественник...но это было типа в середине нулевых и безнадежно устарело, на что сообщество с гыгыканием меня послало на три буквы со словами "это никому не нужно, ничего это мы у себя реализовывать не собираемся, юзайте незашифрованный интерконнект между сервисами как все нормальные люди делают"...в итоге делали выделенное шифрование силами инфраструктуры между сервисами где оно работало (потому что поддерживать свой форк было не вариант в наших условиях)
Kill_Voice
10.04.2024 12:57+3В большей части Open Source развивается по модели если надо, то сделай сам. К примеру я разрабатывал под HA интеграцию для кондиционеров Hitachi, и в какой-то момент меня задолбали issue в гитхабе, потому как у меня типа и так работает, мне оно не надо)
DMGarikk
10.04.2024 12:57В большей части Open Source развивается по модели если надо, то сделай сам.
да, но иногда проект становится чуть большим чем интеграция конкретной модели кондиционера, представьте если бы Торвальдс забил бы на расширение круга разработчиков и сказал в середине 90х что нафиг ему не сдались 586 процессоры и он не собирается их там поддерживать и стал бы реджектить все MR-ы... проект бы превратился в очередную полукорпоративную ОС с односторонней поддержкой... как например открытый код MacOS ...вроде и есть но нафиг никому не сдался
Kill_Voice
10.04.2024 12:57+1Тут немного другая история, развитие Linux подхватили компании и фактически они делали, то что было необходимо для решения их задач, есть конечно и пачка небезразличных энтузиастов, но это больше исключение. К примеру если вы отправите issue в ядро Linux в лучше случае результат получите через весьма длительное время, но высока вероятность, что не получите совсем
DMGarikk
10.04.2024 12:57История тут в том что компании подхватили линукс потому что модель разработки комфортна, например у BSD систем более удачная лицензия с корпоративной точки зрения, но развивается именно Линукс..да и среди сотен дистрибутивов линукса популярны лишь те которые идут навстречу пользователям
Earthsea
10.04.2024 12:5790% людей подключают к Умному Дому только лампочки для освещения. Вся индустрия Умного Дома заточена и протестирована под лампочки.
Современные светодиодные лампочки потребляют настолько мало, что даже максимально дешевый патрон со встроенным датчиком движения не окупится. Намного важнее сберечь ресурс самой лампочки - если она будет светить постоянно, то либо быстро совсем выйдет из строя, либо со временем деградирует и будет светить не настолько ярко.
И все равно полноценный умный дом в обычной квартире, с покупкой и прокладкой кабелей, с покупкой и программированием контроллеров, с размещением и монтажом их в щитке не окупится никогда, лампочки даже OSRAM-LEDVANCE стоят не настолько дорого и довольно долго служат, даже если часто забывать их выключать.
Я одно время хотел обычное реле времени под выключателем поставить, в подрозетнике, для санузла. А вместо выключателя - кнопку. И уставку времени выставить на час или полтора - это оптимально. Без фанатизма. С одной стороны, часа-полутора более чем достаточно, с другой стороны, если кто-то забудет выключить, лампочка будет включена целый час но это не страшно, в любом случае это лучше чем 8 часов или больше. Но в таком формате нашел реле максимум на 20 минут, это мало.
В большом здании, например в большой многоэтажной гостинице, смысл уже появляется. Там этих лампочек тысячи. К тому же появляется экономия не только на энергии и закупках лампочек, но и на обслуживании, как минимум на одного электрика в штате меньше надо (который будет ходить их менять).
okop2000
10.04.2024 12:57+3УД это не столько про экономию, сколько про удобство и информацию. Плюс немного безопасности.
OptimumOption
10.04.2024 12:57Я был в шоке, когда HA при потере интернета (и соответственно, связи со всеми "облаками" подключенных устройств) начинал грузить под 100% 8-ядерный проц О_о Кто это поделие вообще писал?!
coolflex
10.04.2024 12:57Скорее всего долбился в checkonline.home-assistant.io нонстопом. Есть решение у них на сайте, но работает ли оно, бог его знает, сам ещё не смотрел что там с сервером происходит без интернета.
Ax0107
10.04.2024 12:57Тут говорили про аналоги HA. Можно посмотреть в сторону homebridge, если HA попахивает ...
У меня дома много устройств от xiaomi, aqara, есть даже китайская ноунейм RBG лента, которая не понятно как работает, но у homebridge есть плагины, которые позволяют всё это дело подключить (почти) в два счета. Устройства от Сбер/Яндекс тоже подключаются, но с усилиями.
Zigbee устройства общаются через вот такую штуку, wifi/bluetooth, понятное дело, через роутер/адаптер с предварительной настройкой в родном софте.Спокойно всё это дело накатывается и автоматизируется, без использования всяких умных колонок, сливающих данные товарищу прапору.
Buzzzzer
10.04.2024 12:57+1Какой то вброс, а не статья.
Пользуюсь HA с 2016 года. По стабильности всё вполне норм. Поддержка "всего и вся". Активное комьюнити и огромная база дополнений и всевозможных расширений на любой вкус и цвет. Есть голосовые команды, а-ля "Алиса" и всё это локально !
Официальное мобильное приложение появилось относительно недавно.
Его очень сильно не хватало. А сейчас оно работает даже на Android Auto.
Конечно, бывают ошибки, но что вы хотите ?
Организация разработки Home Assistant вообще, я считаю, одной из лучших для open source, да и не только.
Завязывать критически важные вещи и бездумно обновляться, а потом возмущаться, какие разработчики плохие, ну такое себе....
Какая то белка-истеричка. Глубочайше простите, но другого сравнения в голову не приходит.
Roffild Автор
10.04.2024 12:57В последних версиях НА на Андроид есть мой патч на уведомления. При добавления патча выяснил про отсутствие тестов и множества странных мест в коде.
За HA-Core стоит большая команда с тестами и документацией.
За HA-Android никто не отвечает и царит хаос. Можете и дальше жить в мире розовых пони. У меня же в планах исправить кривое подключение к HA-Core и сомнительный 15 минутный таймаут...
Buzzzzer
10.04.2024 12:57Я всё же не пойму посыл статьи. Что вы пытаетесь донести до аудитории ?
Авторы никому ничего не должны и делают так, как считают нужным.
Не нравится код ? Присылайте pr, сообщество только вам спасибо скажет.Не принимают ? Форкните, или напишите своё, или перейдите на альтернативу.
Такое ощущение, что это не я, а вы недавно вышли из "мира розовых пони" и пытаетесь поделиться с миром своим "открытием".
Roffild Автор
10.04.2024 12:57Fork, patch, PR - это путь программиста. Обычному пользователю что делать?
Я изучил код и предупреждаю:
Под брендом HomeAssistant сейчас в Google Play распространяют непокрытую тестами поделку школьника "чтоб было".Советую сделать PWA к HA напрямую, на случай падения приложения после обновления.
Roffild Автор
10.04.2024 12:57Добавил видео в статью. Может кого-нибудь оно вернет в суровый реальный мир.
Shibarius
10.04.2024 12:57+1Особенно трогательно читать о 'датчике состояния бабушки'. Надеюсь, она в порядке и не слишком расстроена всем этим технологическим хаосом.
Antra
10.04.2024 12:57Возможно, я невнимательно читал. Но "HomeAssistant на Android" или все-таки "Клиент HomeAssistant на Android"?
При чтении заголовка подумал, что можно не на RPi запустить, а на старом планшете и сервер, и браузер...
Kill_Voice
Вы слишком много хотите от Open Source платформы. Как минимум у вас есть опция не обновляться и установить старую версию через apk, либо перейти на любой другой коммерческий продукт умного дома
DMGarikk
а есть вообще коммерческий аналог HA для умного дома?
Kill_Voice
Сам HA ничего нового не дает, всё работает через интеграции разработанные сообществом для адаптации различных вендорских решений, к примеру я сам разрабатывал интеграцию для кондиционеров Hitachi. Протоколы в большинстве унифицированные это Zigbee, WiFi, BLE или вот сейчас Matter, можно взять любую закрытую совместимую платформу ту же Алису, или HomeKit от Apple, есть более специфичные и дорогие решения вроде Wirenboard
DMGarikk
именно, разработанные для HA, а не для алисы например
оборудование xiaomi? есть куча устройств которые работают по нестандартным протоколам, куча платформ которые не поддерживают унифицированные стандарты, вот у меня есть телевизор LG который какбы поддерживается капсулой мейла но не работает, стиралка LG которую никуда кроме LG-шного thinkiq подключить нельзя.
в случае с сообществом HA есть хоть надежда что хоть ктото чтото взломает и сделают интеграцию, а в проприетарных платформах...вот не сделали нормальную поддержку и всё её не будет, покупайте лампочки строго определенного стандарта..ага а BLE засунте в одно место. или меняйте платформу (теряя ключевые девайся)... вот у меня термостат теплого пола есть который у меня подключен через HA через интеграцию с китайским облаком...никаких универсальных протоколов у него нет..подключить к умному дому xiaomi? неее... вот с мейловой капсулой работает..опять через китайское облако
HA это изолированное решение независящее от облаков для которого энтузиасты пилят самодельные интеграции, ни одно коммерческое облако не покрывает такой функционал
Roffild Автор
К НА можно подключить любое устройство, тогда как Google Assistant, Apple HomeKit, Xiaomi и т.д. работают в основном со своими.
До кастомизации из НА в коммерческих продуктах далеко.
Протокол Matter ещё мало распространен.
Komrus
Смотря что подразумевать под "аналог".
Если коммерческая сборка на базе исходников/наработок HomeAssistant - то не слышал о такой.
Если же "коммерческая система управления светом / климатикой / инженеркой / аудио-видео и прочим домашним" - то есть отечественный Iridi.com, есть импортный Crestron, AMX и т.п...
Roffild Автор
Сервера Xiaomi недавно лежали и пылесос через их приложуху не отвечал.
Kill_Voice
Да так бывает, но там толпа китайцев которые устранят баг в течении часов, в HA же можно и год ждать, пока сам не исправишь)