Home Assistant — це безкоштовне програмне забезпечення з відкритим вихідним кодом для домашньої автоматизації, створене як незалежна від екосистем виробників інтеграційна платформа Інтернету речей і домашній центр для керування пристроями розумного дому з акцентом на локальному контролі та конфіденційності. Доступ до його інтерфейсу можна отримати через веб-інтерфейс користувача, за допомогою програм компаньйонів Android, iOS, Mac OS або через голосових помічників, Google Assistant, Amazon Alexa, Siri та Assist.

Home Assistant
Тип Home automation, smart home technology, Internet of things, task automator
Автори Паулюс Схоутсен
Розробник Open Home Foundation, розробники Home Assistant Core та Спільнота
Перший випуск 17 вересня, 2013
(10 років тому)
 (2013-09-17)
Платформа ARM, ARM64, IA-32 (x86), and x64 (x86-64)
Операційна система Software appliance / Virtual appliance (Linux)
Мова програмування Python (Python 3.11)
Ліцензія Apache License (free and open-source)
Онлайн-документація home-assistant.io/docs
Репозиторій github.com/home-assistant/core
Вебсайт www.home-assistant.io

Програмне забезпечення Home Assistant зазвичай запускається на комп’ютері з операційною системою Home Assistant, яка працює як центральна система керування домашньої автоматизації та має на меті керування пристроями, програмним забезпеченням, додатками та послугами від сторонніх розробників за допомогою різноманітних інтеграцій для обладнання та поширених протоколів, таких як MQTT, Wi-Fi, Bluetooth, Zigbee, Z-Wave, Thread, Matter.

Home Assistant може керувати пристроями та сервісами, підключеними через відкриті, так і власні стандарти, а також через популярні домашні шлюзи. Це можливо завдяки тому, що ці пристрої та сервіси надають публічний доступ через відкриті API або MQTT-інтерфейси. Це дозволяє Home Assistant інтегруватися з ними локально або через Інтернет. Прикладами такої інтеграції є інтеграції з Amazon Alexa, Google Home, Apple HomeKit, Samsung SmartThings, Philips Hue, Shelly, Tyua та інші.

Home Assistant дозволяє використовувати та контролювати інформацію з усіх підключених пристроїв та їх функцій за допомогою автоматизації або сценаріїв. Це дає можливість керувати освітленням, кліматом, безпекою, розвагами та іншими розумними пристроями у домі.

Історія

ред.

Проект було розпочато як додаток Python Паулюсом Шоутсеном у вересні 2013 року та вперше публічно опубліковано на GitHub у листопаді 2013 року [1]. У липні 2017 року для спрощення використання Home Assistant на одноплатних комп'ютерах, як-от серія Raspberry Pi, вперше було представлено керовану операційну систему під назвою Hass.io. Згодом її перейменували на "Home Assistant Operating System" (часто скорочують до "Home Assistant OS"). Вона використовує концепцію пакетного менеджера "supervisor", який дозволяє користувачам керувати, створювати резервні копії, оновлювати локальну інсталяцію та розширювати функціональність програмного забезпечення за допомогою додатків (плагінів). Ці додатки працюють як служби на тій же платформі, забезпечуючи тіснішу інтеграцію з ядром Home Assistant.

У грудні 2017 року засновники Home Assistant презентували необов'язкову платну підписку "Home Assistant Cloud" як зовнішню службу хмарних обчислень. Вона покликана забезпечити безпечний віддалений доступ та інтеграцію з сторонніми хмарними сервісами, як-от Amazon Alexa і Google Assistant. У вересні 2018 року для управління цією підпискою було створено компанію Nabu Casa, Inc. Її діяльність повністю фінансується за рахунок надходжень від підписки "Home Assistant Cloud", що дозволяє оплачувати роботу штатної команди розробників проєктів Home Assistant та ESPHome.

У січні 2020 року відбулася зміна брендингу проєкту для більш чіткого розмежування його компонентів. Основне програмне забезпечення перейменували на Home Assistant Core, тоді як весь пакет, що включає вбудовану операційну систему Hass.io з інтегрованою системою керування "supervisor", отримав назву Home Assistant (також часто скорочують до "HAOS" – від англ. "Home Assistant Operating System").

На початку січня 2021 року команда Home Assistant публічно оголосила про виявлені вразливості в сторонніх користувацьких інтеграціях. [2] Пізніше, в січні 2021 року, було оприлюднено ще одне повідомлення про виявлену вразливість.[3]

У квітні 2024 року вихідний код та торговельна марка Home Assistant були передані новоствореній неприбутковій організації "Open Home Foundation". Open Home Foundation займається розвитком та фінансуванням проектів з відкритим кодом. Проекти можна розділити на власні, серед яких Home Assistant, ESPHome, Zigpy, Improv Wi-Fi, Wyoming та інші. Також завдяки тісному партнерству з фондом Nabu Casa, організація спрямовує ресурси та співпрацює у розвитку важливих зовнішніх проектів, таких як Z-Wave JS , WLED, Rhasspy та Zigbee2MQTT. Вимоги фонду, щоб проекти залишалися відкритими для всіх і узгоджувалися з принципами фонду. Прес-реліз також згадує про додаткові цілі – перетворити Home Assistant з платформи для ентузіастів на масовий споживчий продукт.

Варіанти встановлення Home Assistant

ред.

Home Assistant OS (HAOS)

HAOS - це рекомендований та найпростіший спосіб встановити Home Assistant. Це мінімалістична операційна система, оптимізована для роботи Home Assistant. Її перевагими є простота налаштування та використання, автоматичні оновлення та мінімальні системні вимоги. Недоліком же є обмежена можливість встановлення стороннього програмного забезпечення (Linux застосунків) HAOS використовується 67% користувачів Home Assistant.

 
Варіанти встановлення Home Assistant

Home Assistant Container

Home Assistant Container - це автономна контейнерна установка, яка не має магазину доповнень. Її перевагами є легкість керування контейнерами (наприклад, за допомогою Portainer) та невеликі системні вимоги. Недоліком же є відсутність магазину доповнень та складніше налаштування, ніж у HAOS. Home Assistant Container - це другий за популярністю спосіб встановлення Home Assistant.

Home Assistant Supervised

Home Assistant Supervised - це повнофункціональна система, що встановлюється у Linux. Цей метод дає користувачам практично повний контроль над системою. Перевагими його є повний контроль над системою та можливість встановлення стороннього програмного забезпечення та контейнерів. Недоліком же є те, що він вимагає знань Linux та Docker, а користувачі повинні самостійно оновлювати пакети.

Home Assistant Core

Home Assistant Core - це ядро Home Assistant, яке можна встановити на різні операційні системи. Перевагими його є максимальна гнучкість та можливість встановлення на будь-яку сумісну операційну систему. Недоліком же є те, що це найскладніший спосіб встановлення, користувачі повинні самостійно налаштовувати та обслуговувати систему, а також немає магазину доповнень. Home Assistant Core рекомендується лише досвідченим користувачам, яким потрібна максимальна гнучкість та контроль над системою.

Обладнання

ред.

Home Assistant підтримується та може бути встановлений на різних платформах:

  • Комп'ютери X86-64 різних форм факторів (повнорозмірний MFF, SFF, USFF, вентиляторні та безвентиляторні міні пк)
  • Сервери, NAS
  • Одноплатні комп'ютери (SBC), наприклад, Raspberry Pi, Orange Pi, ODROID, Asus Tinkerboard, Intel NUC
  • Операційні системи: Windows (WSL), macOS, Linux
  • Віртуальні машини (VirtualBox, VMware Workstation Player, Proxmox)

Одноплатні комп'ютери від Home Assistant

ред.

У грудні 2020 року було презентовано комп'ютерний пристрій ODROID N2+ з попередньо встановленим Home Assistant під назвою "Home Assistant Blue". Цей продукт став офіційно підтримуваною апаратною платформою. До комплекту входить Home Assistant OS, встановлена на локальному сховищі eMMC, блок живлення та корпус із тематичним дизайном Home Assistant. Розробники Home Assistant запевнили, що випуск офіційного апаратного забезпечення не вплине на підтримку інших платформ, таких як Raspberry Pi.

 
Home Assistant Green, Yellow та Blue

У вересні 2021 року розробники Home Assistant з Nabu Casa оголосили на Crowd Supply краудфандингову кампанію з попереднього замовлення "Home Assistant Yellow" (початкова назва - "Home Assistant Amber"), що став ідейним наступником "Home Assistant Blue". "Home Assistant Yellow" розроблено як плату розширення сумісну з комп'ютерними модулями Raspberry Pi Compute Module 4 (CM4). Також передбачено інтегрований роз'єм розширення M.2 для NVMeSSD (розширення сховища) або карти прискорення штучного інтелекту. Додатково присутній вбудований радіомодуль EFR32 від Silicon Labs, здатний працювати як координатор Zigbee або керуючий вузол Thread (граничний маршрутизатор Thread). Існує варіант із підтримкою PoE (живлення через Ethernet). Серед найбільш помітних відсутніх функцій у "Home Assistant Yellow" - HDMI або DisplayPort для підключення монітора (ймовірно, тому, що більшість розумних домашніх хабів призначені для безекранної роботи). Також за замовчуванням немає вбудованого Bluetooth, Wi-Fi та порту USB 3.0.

У червні 2022 року розробники Home Assistant з Nabu Casa презентували офіційно підтримуваний "Home Assistant SkyConnect" - мультипротокольний USB-радіопередавач, що працює з Zigbee та/або Thread. Він забезпечує підключення "plug-and-play" до вбудованого шлюзу Zigbee в Home Assistant (інтеграція "ZHA") та експериментальних інтеграцій Thread/Matter. Ця початкова модель USB-радіопередавача SkyConnect згодом була перейменована на "Home Assistant Connect ZBT-1" напередодні появи нових моделей цієї серії. Зокрема, було анонсовано випуск Z-Wave-передавача, в кінці 2024 року.

У вересні 2023 року розробники Home Assistant з Nabu Casa презентували офіційно підтримуваний пристрій "Home Assistant Green". Це бюджетний комп'ютерний пристрій, призначений для початкового знайомства з Home Assistant. Він підходить для користувачів, які тільки починають знайомство з Home Assistant. "Home Assistant Green" має лише один Ethernet-порт для підключення до локальної мережі та два USB-порти. На відміну від попередньої моделі "Home Assistant Yellow", цей пристрій не оснащений вбудованими радіомодулями для бездротових протоколів Zigbee та Thread. Тому користувачам, які бажають підключити такі пристрої, необхідно буде придбати окремі USB-радіопередавачі для кожного протоколу.

 
Інформаційна панель Home Assistant

Інформаційна панель

ред.

Інформаційна панель Home Assistant називається Lovelace (на честь Ади Лавлейс ), яка пропонує різні картки для відображення інформації та керування пристроями. Картки можуть відображати інформацію, підключених пристроїв, або керувати освітлення, термостатами та інших пристрої. Дизайн інтерфейсу базується на Material Design і може бути налаштована за допомогою глобальних тем. Графічний інтерфейс можна налаштувати за допомогою інтегрованого редактора або шляхом зміни YAML конфігурації. Унікальність інформаційної панелі Home Assistant полягає в тому, що існує велика кількість піктограм, тем та карток, які можуть докорінно змінювати вигляд Home Assistant, дозволяючи кожному користувачу створити інтерфейс, що відповідає його потребам і вподобанням.

Автоматизації

ред.

Home Assistant працює як центральний хаб для керування розумним будинком, об'єднуючи різні пристрої та сервіси в єдиному місці та інтегруючи їх як елементи системи. Вбудована система автоматизації на основі правил дозволяє створювати персоналізовані сценарії, що базуються на певних подіях (тригерах), умовах та діях, включаючи скрипти. Завдяки цьому можна налаштовувати автоматизації освітлення, керувати системою сигналізації та відеоспостереженням, а також здійснювати моніторинг приладів обліку енергоресурсів. З грудня 2020 року з'явилася можливість використовувати готові сценарії (blueprints) автоматизації від спільноти Home Assistant, які можна легко додавати до існуючої системи.

Безпека

ред.

Home Assistant - це програмне забезпечення, яке встановлюється безпосередньо користувачем (on-premises) і робить акцент на локальному керуванні пристроями розумного будинку. Такий підхід вважається більш безпечним, ніж використання закритого програмного забезпечення для розумного будинку, що працює на фірмовому обладнанні та залежить від хмарних сервісів.

За замовчуванням віддалений доступ до Home Assistant не ввімкнено, а дані зберігаються локально на пристрої. Користувацькі облікові записи можна захистити двофакторною автентифікацією, щоб запобігти доступу навіть у випадку компрометації пароля користувача. Додатки отримують рейтинг безпеки залежно від їх доступу до системних ресурсів. Це додатково підвищує безпеку платформи.

У січні 2021 року аналітик кібербезпеки Оріель Гоель виявив вразливість безпеки, пов'язану з переходом каталогів, у сторонніх користувацьких інтеграціях. Ця проблема була оприлюднена 22 січня 2021 року та виправлена в Home Assistant версії 2021.1.5, яка вийшла 23 січня. Інформації про те, чи було використано цю вразливість, немає.

У березні 2023 року в Home Assistant було виявлено критичну вразливість повного обходу автентифікації, що отримала оцінку CVE 10/10. Ця проблема безпеки вплинула на стандартне рішення для віддаленого доступу Home Assistant, Nabu Casa. Ця вразливість безпеки дозволила зловмисникам отримати повний контроль над будь-яким сервером Home Assistant, до якого вони могли отримати доступ, через повний обхід автентифікації. Розробники швидко вирішили цю проблему в оновленні 2023.3.1.

Доповнення та інтеграції

ред.
 
Магазин доповнень Home Assistant

Доповнення

ред.

Доповнення це налаштовані докер-контейнери, що керуються Home Assistant, розширюючи його функціональність, але працюють незалежно від нього. Усі доповнення в магазині поділяються на офіційні (official add-ons), доповнення спільноти (community add-ons) та користувацькі. Користувацькі репозиторії потрібно встановлювати самостійно.

  • Teilscale - VPN тунель, що забезпечує безпечний віддалений доступ до Home Assistant.
  • Cloudflared - тунель Cloudflare для віддаленого підключення до Home Assistant, не відкриваючи жодних портів.
  • Let's Encrypt – надбудова Let's Encrypt для Home Assistant, дозволяє користувачам створювати сертифікати SSL .
  • Samba Share - дозволяє запускати локальний сервер Samba на своєму пристрої Home Assistant, що забезпечує доступ до файлів через Windows Explorer.
  • Сервер і термінал SSH - дозволяє використовувати термінал SSH безпосередньо в інтерфейсі користувача Home Assistnat.
  • Vaultwarden - дозволяє запускати приватний і локальний сервер Bitwarden для безпечного керування паролями.
  • Zigbee2MQTT - дозволяє локально керувати Zigbee пристроями, поєднуючи протокол Zigbee з MQTT протоколом.

Інтеграції

ред.

Інтеграції - це частина Home Assistant, що дозволяють йому підключатись до іншого програмного забезпечення, шлюзів та платформ. До прикладу інтеграція Philips Hue дозволяє відображати та контролювати освітлення підключене через Hue Bridge. За типом підключення усі інтеграції поділяються на ті, що вимагають підключення до інтернету - cloud push, та ті що працюють локально - local push. Кількість інтеграцій та підтримуваних платформ постійно збільшується

  • MQTT – одна з найпопулярніших інтеграцій та дозволяє локально керувати пристроями за допомогою MQTT протоколу.
  • Zigbee Home Automation (ZHA) - інтеграція дозволяє локально підключати та керувати Zigbee пристроями різних виробників, через Zigbee координатор.
  • Tuya - інтеграція підтримує пристрої, що додані до програм Tuya Smart і Tuya Smart Life. Працює через інтернет (cloud push)
  • Android TV remote - інтеграція дозволяє керувати Android TV і запускати програми.

Home Assistant Cloud

ред.

Home Assistant Cloud це платна підписка від компанії розробника - Nabu Casa. Підписка пропонує безпечний віддалений доступ до екземпляру Home Assistant, інтеграцію з Google Home, Amazon Alexa та їх голосовими помічниками. Хмарну послугу власного голосового помічника Assist та власну функцію перетворення тексту у мовлення. Також є послуга, яка присвоює публічні URL адреси усьому, що налаштовано на ініціювання через Webhook. Це дозволяє відправляти дані в Home Assistant з будь-якого місця, не відкриваючи адресу серверу Home Assistant в інтернет. Home Assistant не отримує жодного зовнішнього фінансування. Єдине джерело доходу - підписка. Ці надходження використовуються для розвитку проектів та найму нових програмістів.

Home Assistant в Україні

ред.
 
Кількість інсталяцій Home Assistant в Україні

Згідно статистики Home Assistant Analytics на середину 2024 року в Україні налічувалось 2897 інсталяцій Home Assistant. У травні 2022 року за ініціативи та розробки Павла Аннекова Home Assistant випустив спеціальне оновлення 2022.5.3. У ньому було додано інтеграцію Ukraine Alarm [4], яка сповіщає населення України про загрози артобстрілу й інших небезпек. Після початку повномасштабного вторгнення росії в Україну, платна підписка Home Assistant Cloud стала безкоштовною для старих користувачів з України. Українська спільнота Home Assistant та розумного будинку почала змінюватись. Деякі популярні YouTube канали змінили мову відео з російської на українську. З'являтись нові україномовні канали, блогери та спільноти.

ESPHome

ред.

ESPHome — це платформа з відкритим кодом, що покликана створювати дешеві Wi-Fi та Bluetooth пристрої без знань мови програмування на основі сімейства Wi-Fi мікроконтролерів ESP8266, ESP32, RP2040, плат Tuya, (BK72xx та RTL87xx). ESPHome базується на компонентах, що, пов’язуються разом через легкозрозумілі YAML файли з валідацією, що виконується через Python. Python генерує необхідний C++ код, який потім компілюється в мікропрограму. У березні 2021 року проект ESPHome був придбаний компанією Nabu Casa.[5] ESPHome легко інтегрується в Home Assistant за допомогою Native API та MQTT. Home Assistant має інтеграцію та доповнення ESPHome.

Примітки

ред.
  1. Home Assistant: The Python Approach to Home Automation. Linux.com. 20 листопада 2018. Процитовано 13 травня 2022.
  2. Schoutsen, Paulus (22 January 2021). Disclosure: security vulnerabilities in custom integrations HACS, Dwains Dashboard, Font Awesome and others. Home Assistant (англ.). Процитовано 6 квітня 2022.
  3. Schoutsen, Paulus (23 January 2021). Security Disclosure 2: vulnerabilities in custom integrations HACS, Font Awesome and others. Home Assistant (англ.). Процитовано 6 квітня 2022.
  4. У Home Assistant з’явилися сповіщення про повітряну тривогу.
  5. Nabu Casa has acquired ESPHome.