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 кнопок бесполезны: