HomeAssistant Update
HomeAssistant Update

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)


  1. Kill_Voice
    10.04.2024 12:57
    +3

    Вы слишком много хотите от Open Source платформы. Как минимум у вас есть опция не обновляться и установить старую версию через apk, либо перейти на любой другой коммерческий продукт умного дома


    1. DMGarikk
      10.04.2024 12:57

      либо перейти на любой другой коммерческий продукт умного дома

      а есть вообще коммерческий аналог HA для умного дома?


      1. Kill_Voice
        10.04.2024 12:57

        Сам HA ничего нового не дает, всё работает через интеграции разработанные сообществом для адаптации различных вендорских решений, к примеру я сам разрабатывал интеграцию для кондиционеров Hitachi. Протоколы в большинстве унифицированные это Zigbee, WiFi, BLE или вот сейчас Matter, можно взять любую закрытую совместимую платформу ту же Алису, или HomeKit от Apple, есть более специфичные и дорогие решения вроде Wirenboard


        1. DMGarikk
          10.04.2024 12:57
          +1

          всё работает через интеграции разработанные сообществом для адаптации различных вендорских решений

          именно, разработанные для HA, а не для алисы например

          Протоколы в большинстве унифицированные это Zigbee, WiFi, BLE или вот сейчас Matter

          оборудование xiaomi? есть куча устройств которые работают по нестандартным протоколам, куча платформ которые не поддерживают унифицированные стандарты, вот у меня есть телевизор LG который какбы поддерживается капсулой мейла но не работает, стиралка LG которую никуда кроме LG-шного thinkiq подключить нельзя.

          в случае с сообществом HA есть хоть надежда что хоть ктото чтото взломает и сделают интеграцию, а в проприетарных платформах...вот не сделали нормальную поддержку и всё её не будет, покупайте лампочки строго определенного стандарта..ага а BLE засунте в одно место. или меняйте платформу (теряя ключевые девайся)... вот у меня термостат теплого пола есть который у меня подключен через HA через интеграцию с китайским облаком...никаких универсальных протоколов у него нет..подключить к умному дому xiaomi? неее... вот с мейловой капсулой работает..опять через китайское облако

          HA это изолированное решение независящее от облаков для которого энтузиасты пилят самодельные интеграции, ни одно коммерческое облако не покрывает такой функционал


      1. Roffild Автор
        10.04.2024 12:57
        +1

        К НА можно подключить любое устройство, тогда как  Google Assistant,  Apple HomeKit, Xiaomi и т.д. работают в основном со своими.

        До кастомизации из НА в коммерческих продуктах далеко.

        Протокол Matter ещё мало распространен.


      1. Komrus
        10.04.2024 12:57

        Смотря что подразумевать под "аналог".

        Если коммерческая сборка на базе исходников/наработок HomeAssistant - то не слышал о такой.

        Если же "коммерческая система управления светом / климатикой / инженеркой / аудио-видео и прочим домашним" - то есть отечественный Iridi.com, есть импортный Crestron, AMX и т.п...


    1. Roffild Автор
      10.04.2024 12:57

      Сервера Xiaomi недавно лежали и пылесос через их приложуху не отвечал.


      1. Kill_Voice
        10.04.2024 12:57

        Да так бывает, но там толпа китайцев которые устранят баг в течении часов, в HA же можно и год ждать, пока сам не исправишь)


  1. khodunov14
    10.04.2024 12:57

    На 10 апреля, актуальная версия: 2024.4.1-full


    1. Roffild Автор
      10.04.2024 12:57

      Да, версию выложили. Статья от 8 апреля, но Хабр сейчас только опубликовал.


      1. DaemonGloom
        10.04.2024 12:57

        Судя по информации из Google Play - версия 2024.4.1-full была загружена к ним уже 6 апреля.


        1. Roffild Автор
          10.04.2024 12:57

  1. yarkov
    10.04.2024 12:57

    Можно чуть подробнее про датчик состояния бабушки?


    1. gerod
      10.04.2024 12:57

      предположу - жизненные показатели.


    1. Roffild Автор
      10.04.2024 12:57

      Бабушку через штекер к Матрице подключить сложновато. Но передать активность телефона можно уже сейчас + другие приборы.

      Если бабушка 2 часа не разговаривает с подружками, то это повод глянуть Веб-камеру в НА. Да и "тревожную кнопку" можно сделать.

      Встречал не мало людей, кто просит соседей "проверить бабушку" неподключенную к НА.


    1. 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


  1. Barnaby
    10.04.2024 12:57
    +5

    Автор поленился написать в чем проблема issues/4323 - у одного компонента внезапно выросла версия SDK и теперь нужен минимум андроид 8.0 вместо 5.0.

    Так-то у ха одно из лучших мобильных приложений - все то же самое что и в браузере на десктопе (т.к. хорошо адаптировано), бесплатные уведомления, переключение между внешним\внутренним урл по ssid. А автообновления можно и отключить, особенно на таком старом андроиде.

    PS: Недавно, наконец-то, добавили теги и категории, давно о них мечтал. До идеала нехватает только выкинуть ямл-конфиги и писать сценарии прямо на питоне :)


    1. Roffild Автор
      10.04.2024 12:57

      На Питоне давно можно - "кастомный компонент" называется ;)


      1. Barnaby
        10.04.2024 12:57

        кастомный компонент

        Ну это не то, я такое делал и мне не понравилось. Я хочу что-то вроде vscode, со специальным автокомплитом и линтером.


        1. Kill_Voice
          10.04.2024 12:57

          Можно и на питоне, https://www.home-assistant.io/integrations/python_script/ но в итоге это менее поддерживаемое решение, чем nodered


        1. Roffild Автор
          10.04.2024 12:57

          э... реальные PyCharm и VSCode чем не угодили? Я свой кастомный компонент в них сделал.


    1. buratino
      10.04.2024 12:57

      толку от того, что оно одно из лучших, если облачный доступ - кю три раза?


      1. Buzzzzer
        10.04.2024 12:57

        HA вполне себе работает без "облаков".

        Всё локально на управляемых вами серверах. Только белый ip желателен.


  1. DMGarikk
    10.04.2024 12:57

    Отношение разработчиков ПО для Умного Дома, как к "игрушке" - нужно учесть в первую очередь!

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

    из самых близких примеров это GIMP с его CMYK-ом который super-low-priority этоникомунинада, а комунада пусть фотошоп покупают.. (кто скажет про плагин который тыщу лет всё поддерживает, пусть сам попробует отредактировать и напечатать типографский tiff в правильных цветах на калиброванном оборудовании..да даже не просто на калиброванном, собрать цвета максимально близкие к физическому железу и напечатать так чтобы инфаркт не хватил

    сейчас я уже подзабыл, но в начале 10х я настраивал инфраструктуру под всякие стандарты ИБ на одной работе, и какаято тулза, опенсорсная и прям совсем ходовая (чёто типа уровня рсинка, но не он, забыл уже) не умела в подробные настройки шифрования в своих полключениях...там чтобы размеры-типы ключей указывать, кастомные сертификаты и такое прочее

    Я помню ходил к сообществу. даже пилил какойто MR который фиксил имеющееся поведение которое туда притащил какойто бедолага-мой предшественник...но это было типа в середине нулевых и безнадежно устарело, на что сообщество с гыгыканием меня послало на три буквы со словами "это никому не нужно, ничего это мы у себя реализовывать не собираемся, юзайте незашифрованный интерконнект между сервисами как все нормальные люди делают"...в итоге делали выделенное шифрование силами инфраструктуры между сервисами где оно работало (потому что поддерживать свой форк было не вариант в наших условиях)


    1. Kill_Voice
      10.04.2024 12:57
      +3

      В большей части Open Source развивается по модели если надо, то сделай сам. К примеру я разрабатывал под HA интеграцию для кондиционеров Hitachi, и в какой-то момент меня задолбали issue в гитхабе, потому как у меня типа и так работает, мне оно не надо)


      1. DMGarikk
        10.04.2024 12:57

        В большей части Open Source развивается по модели если надо, то сделай сам.

        да, но иногда проект становится чуть большим чем интеграция конкретной модели кондиционера, представьте если бы Торвальдс забил бы на расширение круга разработчиков и сказал в середине 90х что нафиг ему не сдались 586 процессоры и он не собирается их там поддерживать и стал бы реджектить все MR-ы... проект бы превратился в очередную полукорпоративную ОС с односторонней поддержкой... как например открытый код MacOS ...вроде и есть но нафиг никому не сдался


        1. Kill_Voice
          10.04.2024 12:57
          +1

          Тут немного другая история, развитие Linux подхватили компании и фактически они делали, то что было необходимо для решения их задач, есть конечно и пачка небезразличных энтузиастов, но это больше исключение. К примеру если вы отправите issue в ядро Linux в лучше случае результат получите через весьма длительное время, но высока вероятность, что не получите совсем


          1. DMGarikk
            10.04.2024 12:57

            История тут в том что компании подхватили линукс потому что модель разработки комфортна, например у BSD систем более удачная лицензия с корпоративной точки зрения, но развивается именно Линукс..да и среди сотен дистрибутивов линукса популярны лишь те которые идут навстречу пользователям


  1. Earthsea
    10.04.2024 12:57

    90% людей подключают к Умному Дому только лампочки для освещения. Вся индустрия Умного Дома заточена и протестирована под лампочки.

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

    И все равно полноценный умный дом в обычной квартире, с покупкой и прокладкой кабелей, с покупкой и программированием контроллеров, с размещением и монтажом их в щитке не окупится никогда, лампочки даже OSRAM-LEDVANCE стоят не настолько дорого и довольно долго служат, даже если часто забывать их выключать.

    Я одно время хотел обычное реле времени под выключателем поставить, в подрозетнике, для санузла. А вместо выключателя - кнопку. И уставку времени выставить на час или полтора - это оптимально. Без фанатизма. С одной стороны, часа-полутора более чем достаточно, с другой стороны, если кто-то забудет выключить, лампочка будет включена целый час но это не страшно, в любом случае это лучше чем 8 часов или больше. Но в таком формате нашел реле максимум на 20 минут, это мало.

    В большом здании, например в большой многоэтажной гостинице, смысл уже появляется. Там этих лампочек тысячи. К тому же появляется экономия не только на энергии и закупках лампочек, но и на обслуживании, как минимум на одного электрика в штате меньше надо (который будет ходить их менять).


    1. okop2000
      10.04.2024 12:57
      +3

      УД это не столько про экономию, сколько про удобство и информацию. Плюс немного безопасности.


  1. OptimumOption
    10.04.2024 12:57

    Я был в шоке, когда HA при потере интернета (и соответственно, связи со всеми "облаками" подключенных устройств) начинал грузить под 100% 8-ядерный проц О_о Кто это поделие вообще писал?!


    1. Roffild Автор
      10.04.2024 12:57
      +3

      Не... тут виноват тот, кто НА умудрился так настроить :D


    1. coolflex
      10.04.2024 12:57

      Скорее всего долбился в checkonline.home-assistant.io нонстопом. Есть решение у них на сайте, но работает ли оно, бог его знает, сам ещё не смотрел что там с сервером происходит без интернета.


  1. Ax0107
    10.04.2024 12:57

    Тут говорили про аналоги HA. Можно посмотреть в сторону homebridge, если HA попахивает ...
    У меня дома много устройств от xiaomi, aqara, есть даже китайская ноунейм RBG лента, которая не понятно как работает, но у homebridge есть плагины, которые позволяют всё это дело подключить (почти) в два счета. Устройства от Сбер/Яндекс тоже подключаются, но с усилиями.
    Zigbee устройства общаются через вот такую штуку, wifi/bluetooth, понятное дело, через роутер/адаптер с предварительной настройкой в родном софте.

    Спокойно всё это дело накатывается и автоматизируется, без использования всяких умных колонок, сливающих данные товарищу прапору.


  1. Buzzzzer
    10.04.2024 12:57
    +1

    Какой то вброс, а не статья.

    Пользуюсь HA с 2016 года. По стабильности всё вполне норм. Поддержка "всего и вся". Активное комьюнити и огромная база дополнений и всевозможных расширений на любой вкус и цвет. Есть голосовые команды, а-ля "Алиса" и всё это локально !

    Официальное мобильное приложение появилось относительно недавно.

    Его очень сильно не хватало. А сейчас оно работает даже на Android Auto.

    Конечно, бывают ошибки, но что вы хотите ?

    Организация разработки Home Assistant вообще, я считаю, одной из лучших для open source, да и не только.

    Завязывать критически важные вещи и бездумно обновляться, а потом возмущаться, какие разработчики плохие, ну такое себе....

    Какая то белка-истеричка. Глубочайше простите, но другого сравнения в голову не приходит.


    1. Roffild Автор
      10.04.2024 12:57

      В последних версиях НА на Андроид есть мой патч на уведомления. При добавления патча выяснил про отсутствие тестов и множества странных мест в коде.

      За HA-Core стоит большая команда с тестами и документацией.

      За HA-Android никто не отвечает и царит хаос. Можете и дальше жить в мире розовых пони. У меня же в планах исправить кривое подключение к HA-Core и сомнительный 15 минутный таймаут...


      1. numb
        10.04.2024 12:57

        И тесты добавьте на тот функционал, который правите. Будьте первым)



      1. Buzzzzer
        10.04.2024 12:57

        Я всё же не пойму посыл статьи. Что вы пытаетесь донести до аудитории ?

        Авторы никому ничего не должны и делают так, как считают нужным.


        Не нравится код ? Присылайте pr, сообщество только вам спасибо скажет.

        Не принимают ? Форкните, или напишите своё, или перейдите на альтернативу.

        Такое ощущение, что это не я, а вы недавно вышли из "мира розовых пони" и пытаетесь поделиться с миром своим "открытием".


        1. Roffild Автор
          10.04.2024 12:57

          Fork, patch, PR - это путь программиста. Обычному пользователю что делать?

          Я изучил код и предупреждаю:
          Под брендом HomeAssistant сейчас в Google Play распространяют непокрытую тестами поделку школьника "чтоб было".

          Советую сделать PWA к HA напрямую, на случай падения приложения после обновления.


    1. Roffild Автор
      10.04.2024 12:57

      Добавил видео в статью. Может кого-нибудь оно вернет в суровый реальный мир.


  1. Shibarius
    10.04.2024 12:57
    +1

    Особенно трогательно читать о 'датчике состояния бабушки'. Надеюсь, она в порядке и не слишком расстроена всем этим технологическим хаосом.


  1. Antra
    10.04.2024 12:57

    Возможно, я невнимательно читал. Но "HomeAssistant на Android" или все-таки "Клиент HomeAssistant на Android"?

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