Category Archives: Home Assistant

Sengled element LED Smart control kit, самостійна робота та в HA.

Передмова

Нещодавно до мене в руки потрапив стартовий набір компанії Sengled. Точніше, не повний набір, а його залишки. Власне, до його складу мають входити дві лампи, zigbee-контролер, блок живлення та кабель для з’єднання контролера з домашньою локальною мережею. В моєму випадку, в пакунку була лише одна лампа і не було блоку живлення. Оскільки, в характеристиках було вказано, що контролер має напругу живлення 5V, я вирішив під’єднати звичайний зарядний пристрій від телефону, попередньо випаявши роз’єм для бочкоподібного штекера на платі контролера, а на його місце припаяв кабель від зарядного пристрою.

Тепер можемо ввімкнути живлення і працювати зі стартовим набором.

Робота з освітленням Sengled у власній екосистемі.

Щоб отримати змогу керування світловими приладами Sengled, встановіть на ваш смартфон додаток “Sengled Home” та відкрийте його.

Якщо ви ще не маєте тут облікового запису, створіть його, вказуйте правильну адресу електронної пошти, адже на одному з кроків туди мають відправити код-підтвердження.

Тепер можемо додавати до будинку пристрої. Першим звичайно додамо контролер, адже саме він буде “знаходити” наші лампи, та керувати ними. Додаток люб’язно попросить вас перевірити всі з’єднання, та попередить вас, що самартфон має бути в одній мережі з підключеним роутером. На наступному кроці почнеться пошук контролера, потім, коли його буде знайдено, маємо можливість задати йому унікальну назву.

На вкладці “Devices” бачимо доданий смарт-контролер. Тепер ми маємо можливість додавати світлові прилади. Переконайтесь, що на лампі є логотип “zigbee” і приступайте до її додавання.


Перш ніж підключити лампу до живлення, необхідно буде просканувати qr-код на її корпусі, лише після цього можна встановити лампу на її місце. Наступним кроком оберіть вірну модель вашого світлового приладу, ваш девайс в додатку має бути “виділено” червоною рамкою.

Після цього розпочнеться пошук лампи. Коли контролер її “виявить”, вона має блимнути декілька разів. Якщо лампу не буде знайдено, повторіть процедуру пошуку з початку, можливо ви будете змушені скинути лампу до заводських налаштувань. Для цього вимкніть та увімкніть живлення лампи п’ять разів. Після того, як смарт-контролер знайде та додасть всі необхідні освітлювальні прилади, ви побачите їх в списку, в мобільному додатку, звідки зможете керувати ними. Саме ця модель вміє вмикатись та вимикатись, змінювати яскравість та світлову температуру в діапазоні 2700 -6500К.

Додаємо zigbee лампу Sengled до Home Assistant

Так як у ламп Sengled вже є підтримка zigbee2mqtt, то проблем з додаванням пристроїв до розумного будинку не має бути. Але перш ніж почати пошук лампи, зкинемо її налаштування. Для цього необхідно вимкнути та увімкнути живлення девайсу п’ять разів. Після того, як лампа блимне декілька разів, у вікні аддону Zigbee2MQTT натискайте кнопку “Permit join”

Тепер, коли девайс знайдено, задайте йому зрозумілу назву, і, при необхідності, змініть його ID

Зверніть увагу: зображення лампи у вікні Zigbee2MQTT може відрізнятися від справжнього, але це не впливає на роботу самого пристрою. Тепер ви можете додати лампу до ваших правил автоматизації. Мушу зазначити, ця лампа – досить якісний девайс для розумного будинку, має потужний світловий потік. З Home Assistant, як і з рідного додатку, можемо керувати яскравістю та світловою температурою. Але, як на мене, суттєвим недоліком світлових приладів Sengled є нездатність зберігати свій стан після втрати живлення. Тобто, якщо у вас вдома пропало світло, то, після його появи, лампа увімкнеться лише у “яскравому” режимі. І поведінку Power On Behavior, як то в Philips Hue, налаштувати ми, на жаль, ніяк не можемо.

На сьогодні все, побачимось!

Знайомство з Xiaomi Mi Airpurifier 3H та інтеграція в Home Assistant

Вступ

Проблема забрудненої атмосфери у великих містах є особливо гострою. Якщо ви проживаєте на нижніх поверхах багатоповерхівки, біля дороги з щільним вуличним трафіком, чи, можливо, ваш будинок знаходиться біля потужного промислового об’єкту, то повітря, яким ви дихаєте може бути шкідливим для вашого здоров’я та здоров’я ваших близьких. І навіть в маленьких містечках та селах, в періоди спалювання сухої трави та городини, доступ до чистого повітря може стати справжнім подарунком.
Очищувачі повітря призначені для того, щоб мінімізувати вплив шкідливих речовин в атмосфері. Деякі моделі таких пристроїв здатні відфільтрувати до 99% шкідливих речовин та запахів у вашій кімнаті. Герой сьогоднішнього огляду Mi Airpurifier модель 3H прийшов з екосистеми Xiaomi, але він цілком здатен працювати самостійно (без хабу), і має можливість керування з альтернативних систем «розумного будинку», таких як Home Assistant.

Знайомство з конструкцією Mi Airpurifier 3H

Пристрій являє собою невелику колону розміром 24х24х52см, стінки якого, (крім дверцят), мають перфорацію для подачі повітря до фільтру.

Фільтр має циліндричну форму, тобто, теоретично, вся площа фільтра має використовуватись максимально ефективно.

Для зручності, в верхній частині фільтру передбачено спеціальний язичок, з його допомогою ви дістанете використаний фільтр для заміни чи протирання від пилу, адже сам корпус досить ніжний. До речі, приблизно один-два рази в місяць бажано фільтр протирати від пилу вологою ганчіркою, адже він осідає на захисній сітці. В нижній частині циліндру розміщено NFC-чіп, який містить інформацію про тип фільтра, та його ступінь зношення. В залежності від налаштованої потужності фільтрування ресурс фільтру лежатиме в діапазоні 6 – 12 місяців. Після закінчення цього терміну фільтр необхідно замінити.
В верхній частині пристрою розміщено потужний але не шумний вентилятор, він «витягує» вже відфільтроване повітря з центральної камери фільтру вгору, і виштовхує чисте повітря через отвори решітки в верхній частині корпусу.



До речі, в комплекті з очищувачем повітря, йде так званий True HEPA фільтр, це тришаровий фільтр, який, якщо вірити виробнику, має ефективність очищення 99,97% часток розміром до 0,3мкм. Але у продажу є і інші фільтри, які «спеціалізуються», наприклад, на очищенні формальдегіду чи бактерій. В минулому році в одному з магазинів проходила акція, при покупці пристрою «онлайн», покупець отримував в подарунок ще й антибактеріальний фільтр.

Керування Mi Airpurifier 3H

В верхній частині лицьової панелі є симпатичний сенсорний OLED дисплей, точніше на ньому є сенсорна кнопка. За допомогою цієї кнопки ви можете вмикати та вимикати пристрій довгим натисканням, та коротким натисканням перемикати режим роботи – тобто потужність роботи вентилятора. На дисплеї ви побачите поточний режим роботи, ресурс фільтра, температуру та вологість в кімнаті. І найбільші цифри – це стан якості повітря, чим менше значення, тим краще.
У фірмовому додатку, крім керування потужністю, маємо змогу створювати розклад вмикання та вимикання пристрою, змінити яскравість або повністю вимкнути дисплей, якщо він вам заважає, вимкнути звукові сповіщення пристрою, та інше. Звичайно, всі ці функції доступні і без смарт хабу Mi Smart Home Hub. Хаб дасть змогу добавляти певні елементи автоматизації в ваш розумний будинок. Перше, і найпростіше, що мені зараз спадає на думку, це, наприклад, відправлення сповіщення про підвищений рівень забруднення повітря.

Додаємо Mi Airpurifier 3H в Home Assistant

Якщо ви створюєте розумний будинок з сенсорів і пристроїв різних вендорів, скоріше за все, у вас буде декілька мобільних додатків, що керують цими пристроями. Але наша мета, зібрати весь зоопарк в одному місці, і це місце Home Assistant.
Отже, перше, що нам знадобиться для інтеграції очищувача в HA – це токен пристрою. Якщо ви користувач Android смартфону, щоб отримати токен Mi Airpurifier завантажте та встановіть модифікований додаток MI Home від VEVS
За необхідності, введіть ваші облікові дані та перейдіть в розділ «Network Info» вашого пристрою. В нижній частині вікна скопіюйте токен, та запишіть його окремо, він знадобиться при створенні інтеграції.

Винесемо налаштування в окремий файл. Частина configuration.yaml

fan: !include includes/fans.yaml

Файл /config/includes/fans.yaml

- platform: xiaomi_miio
  host: 192.168.10.150
  token: !secret airpurifier_livingroom_token #тут має бути токен, що ви скопіювали з додатку

Вже після перезавантаження в системі має з’явитися очищувач, за бажанням можете змінити йому іконку та friendly_name

fan.xiaomi_miio_device:
  friendly_name: Livingroom purifier
  icon: mdi:air-purifier

Для зручності керування з інтерфейсу я рекомендую встановити HACS додаток, що має назву «Purifier Card». Це розробка українського програміста denysdovhan, являє собою вже підготовлену lovelace картку органами керування очищувачем повітря. Встановити кастомізацію можна як з GitHub сторінки автора, так і безпосередньо з HACS. На картці можете побачити стан вашого пристрою під час роботи. До речі, тут використана досить симпатична анімація. Ось так виглядає ця картка у мене, правда з дещо зміненими стилями:

Налаштовуємо Home Assistant для роботи з Telegram

На сьогодні, Telegram є одним з найпопулярніших засобів обміну повідомленнями. Якщо ви є активним користувачем Telegram, мабуть, тоді для вас буде зручно отримувати повідомлення про стан вашого розумного будинку саме сюди. Більше того, у вас, навіть, з’явиться можливість керування прямісінько з Telegram.

Підготовка

Додамо включення в configuration.yaml окремими зовнішніми файлами

Введіть в стрічці пошуку Telegram @BotFather та перейдіть до нього. Створимо бота в Telegram за допомогою @BotFather: натискаємо /newbot та вводимо назву, наприклад «testhassbot», тиснемо відправити. Другим кроком, вводимо ім’я та відправляємо. Якщо ім’я не зайняте, бачимо подібне повідомлення, інакше підберіть інше ім’я для вашого бота.

В повідомленні є посилання на створеного вами бота, можете його зберегти на майбутнє, також скопіюйте токен, він нам ще знадобиться.

Знайдіть бота @userinfobot та натисніть /start , у відповідь ви отримаєте власний telegram ID, скопіюйте його. Повторіть цю процедуру з іншими членами родини, якщо хочете щоб і вони теж могли отримувати інформацію з домашнього телеграм бота. Заповніть інформацію в файлі /config/includes/telegram.yaml отриманими раніше даними за зразком

Створюємо сповіщення та даємо їм назви, для кожного члена родини в файлі /config/includes/notify.yaml

Перезавантажте Home Assistant.


Налаштувавши сповіщення в автоматизації, є змога відправляти повідомлення конкретному адресату

Або усім, хто підписаний на повідомлення від домашнього бота.

Додавання автоматизацій для роботи з Telegram

Створимо першу автоматизацію що діятиме при старті бота (або натисканні /start)

В вікні телеграм ми побачимо щось подібне

Тепер додамо ще одне правило, яке діятиме при натисканні кнопки в вікні Telegram наприклад кнопки «Weather»

В такому варіанті правила автоматизації у відповідь ми отримаємо подібне повідомлення:

Тут директива service: telegram_bot.edit_message не відправляє нове повідомлення, а редагує останнє (message_id: ‘last’), відбувається це з не нав’язливим анімаційним ефектом, це повідомлення «зміниться лише в того користувача, який натискав кнопку «Weather» (chat_id: ‘{{ trigger.event.data.user_id }}’), що не відволікає інших членів вашої родини зайвими повідомленнями.

Аналогічні правила і дії можна «повісити» і на інші кнопки «панелі керування», і навіть зробити деревовидну структуру дій та команд. Після всіх налаштувань, поділіться з членами вашої родини посиланням на домашнього бота. Користуйтесь з задоволенням.

 

Світлодіодна стрічка з прошивкою WLED та її інтеграція до розумного будинку

Виявляється, що деякі освітлювальні прилади здатні прогнати нудьгу. Якщо не вірите – читайте далі.
Отже, звичайна лампа вміє вмикатись та вимикатись, деякі «розумні» лампи вміють змінювати колірну температуру, а «найкрутіші» – і колір освітлення. Те ж саме і з світлодіодними стрічками. Зазвичай вони освітлюють певну зону лише одним кольором, хоча й мають в своєму складі десятки окремих світлодіодів, що могли би світитись кожен окремим кольором.

На Aliexpress можна придбати декілька моделей світлодіодних стрічок з адресними світлодіодами (WS2811, WS2812, WS2815, SK6812). Більшість моделей мають напругу живлення 5V, але є й такі, що живляться від 12V. Звичайно, чим довшу світлодіодну стрічку ви собі бажаєте, тим потужніший блок живлення вам потрібен. І чим нижча напруга, тим швидше вона «просяде». Іншими словами, стрічка на 5V має бути коротшою ніж на 12V, інакше «кінець» стрічки буде темним. Іноді, щоб позбутися такого недоліку, подають напругу в декількох місцях, що буде підживлювати стрічку. Забігаючи наперед, скажу, при першому налаштуванні прошивка навіть порадить потужність блоку живлення для вашої кількості світлодіодів.

Для керування стрічкою з адресними світлодіодами, необхідний спеціальний контролер. Саме він буде керувати кожним світлодіодом і задавати колір та яскравість кожному з них окремо. В ролі контролера будемо використовувати модуль з ESP-8266 NodeMCU або WeMos D1 (чи ESP-32).

Він досить бюджетний та має на борту WiFi чіп, тому легко інтегрується та керується з локальної мережі.

Прошивка контролера

Перейдіть на Github сторінку проекту WLED, в розділ релізи, посилання на нього в правому сайдбарі. Тут є список файлів для контролерів з різним об’ємом пам’яті на борту, в моєму випадку це файл що закінчується на ESP8266.bin.


Завантажте додаток Nodemcu PyFlasher. Далі, підключіть ваш модуль ESP8266 до компьютера, та запустіть Nodemcu Pyflasher. Вкажіть порт, до якого підключено модуль, оберіть прошивку, та вкажіть, що необхідно попередньо витерти всю пам’ять на платі модуля. Тепер можна тиснути «Flash NodeMCU». Після прошивки перезавантажте модуль.

Підключення світлодіодної стрічки до модуля

В залежності від напруги живлення світлодіодів та довжини стрічки схема може бути різною.
Схема підключення стрічки на 5V

Схема підключення стрічки на 12V

Що вміє Світлодіодна стрічка з прошивкою WLED

Зібраний та прошитий девайс вміє відображати будь-який колір з RGB палітри, або показувати один з світлових ефектів, їх, до речі, вже зараз біля ста. Якщо бажаєте, переглянути деякі з цих ефектів можна на Youtube каналах закордонних оглядачів. Саму стрічку можна (віртуально) розділити на сегменти різної довжини, і керувати кожним сегментом окремо. Підтримується до десяти таких сегментів.

WLED має можливість керування за допомогою MQTT брокера і після його налаштування легко інтегрується в Home Assistant за допомогою штатних засобів

Тепер ви можете створити картку з wled лампою та керувати нею як звичайною лампою, але з додатковими ефектами у випадаючому списку. В результаті WLED також залітає і в Google Assistant, але на жаль, лише як звичайна кольорова лампа. При вмиканні її з Google Home app увімкнеться останній ефект, але змінити ми його не зможемо, адже списку ефектів тут немає, можемо змінити лише загальний колір стрічки і її яскравість по всій довжині.

Звичайно є можливість використовувати WLED в сценаріях автоматизації Home Assistant. Причому, в скриптах можна вмикати лампу як звичним способом (service: light.turn_on), так і за допомогою публікації MQTT топіка (service: mqtt.publish), але в такому випадку ви маєте знати номер потрібного вам ефекта, що є не завжди зручно. всегда удобно.{:}

Налаштовуємо Google Assistant для роботи з Home Assistant

На сьогодні, Home Assistant є найкращою системою керування розумним будинком. Кількість пристроїв, що з ним працюють, зростає чи не щодня. Але з голосовими асистентами вибір не дуже. Існує інтеграція для Alexa та Google Assistant, працює вона через хмару (Home Assistant Cloud), і є платною.


Сьогодні ми розглянемо безкоштовний спосіб інтегрувати Google Assistant до Home Assistant. Спочатку про вимоги, їх лише дві:

  • Фіксована, «біла» IP адреса від провайдера
  • Налаштований SSL (про налаштування читайте в цій статті)

Налаштування Google Assistant

Переходимо в Actions Console та створюємо проект

Далі обираємо Smart Home:

Далі обираємо Name your Smart Home action:


Вигадуємо ім’я та зберігаємо його:

Повертаємось до Overview та обираємо пункт Setup account linking:

Та заповнюємо поля форми:

В поле Client ID вводимо: https://oauth-redirect.googleusercontent.com/
В поле Client secret: будь-який пароль, він потрібен лише google і не буде використовуватись Home Assistant.
В поле Authorization URL введіть: https://my.home.com/auth/authorize (https://my.home.com це адреса вашого Home Assistant з Інтернету)
Token URL: https://my.home.com/auth/token (https://my.home.com це адреса вашого Home Assistant з Інтернету)

В останньому пункті ставимо галочку Google to transmit clientID and secret via HTTP basic auth header наступним кроком зберігаємо зміни:

Далі поверніться в розділ «Overview» і натисніть «Add Action(s)»:

В поле Add fulfillment URL вводимо : https://my.home.com/api/google_assistant (https://my.home.com це адреса вашого Home Assistant з Інтернету), та зберігаємо зміни.

Далі, повертаємось до вкладки Overview і тиснемо Enter information required for listing your Action in the Actions directory:

Далі введіть будь-яку інформацію, вона ніде не використовується, лише в полі Privacy Policy введіть посилання https://www.home-assistant.io, та збережіть зміни:

Заповніть всі поля в розділі Company details :

Перейдемо до консолі Google Cloud Console та, якщо їх декілька, зверху у випадаючому списку виберемо свій проект.

Тиснемо «ENABLE APIS AND SERVICES»

Шукаємо HomeGraph API та вмикаємо

В розділі Credentials натисніть кнопку Configure consent screen

Оберіть User Type – External

Наступним кроком заповніть необхідні поля форми, але, якщо ви бажаєте додати лого до свого додатку, будьте готові до верифікації з боку google, інакше, залиште форму без app logo

Остання дія в консолі – публікація додатку:

Налаштування Google Home app

Налаштування завершено, тепер відкрийте Google Home app на своєму смартфоні, та виконайте наступні дії

Якщо ви все вірно налаштували, ви побачите свій додаток в списку

На наступному екрані введіть звичайні облікові дані Home Assistant

Після авторизації, всі пристрої «залітають» до Google Home app, тепер ви можете призначити їх до певних кімнат та керувати ними. Але, як більш точно налаштувати «видимість» пристроїв можна почитати тут https://www.home-assistant.io/integrations/google_assistant#configuration в секції configuration , це буває корисно у випадку виникнення дублікатів сенсорів при їх додаванні з інших інтеграцій.

Отримуємо SSL сертифікат для Home Assistant

Що таке SSL та https я пояснювати не буду, розкажу лише про те як налаштувати безпечний доступ до вашого Home Assistant ззовні. Тому, для початку про вимоги:

  1. Ваш Home Assistant повинен мати фіксований IP в локальній мережі
  2. На роутері, в бік Home Assistant необхідно прокинути два порти, а саме 80 та 443
  3. Мати “білу” фіксовану IP адресу від провайдера
  4. Зареєструвати у хостинг провайдера, наприклад тут, доменне ім’я, це не дорого, на момент написання статті домен в зоні .kiev.ua коштував 200грн на рік. Саме на доменне ім’я буде генеруватися SSL-сертифікат.


Тепер вам необхідно встановити два аддони, а саме «Let’s Encrypt» та «Caddy Proxy». Перший аддон офіційний, його ви знайдете в списку Add-on Store, встановіть його. А для другого потрібно додати альтернативний репозиторій https://github.com/bestlibre/hassio-addons. Для цього тиснемо три крапки і обираємо «Repositories»

У спливаючому вікні вводимо адресу репозиторію і тиснемо кнопку «додати»

Після того як з’явиться список аддонів доданого репозиторію, встановіть «Caddy Proxy»

Налаштування аддонів

Перейдіть на вкладку «Configuration» аддону «Let’s Encrypt» та введіть необхідні налаштування

email: mymail@gmail.com      #Вкажіть свій
domains:
  - mysupercoolhome.com.ua     #Вкажіть свій (зареєстрований)
certfile: fullchain.pem
keyfile: privkey.pem
challenge: http
dns: {}

Перейдіть на вкладку «Configuration» аддону «Caddy Proxy» та введіть необхідні налаштування

homeassistant: mysupercoolhome.com.ua     #Вкажіть свій (зареєстрований)
vhosts: []
raw_config: []
email: mymail@gmail.com      #Вкажіть свій

Можливості аддонів після налаштувань.

Тепер ви можете за допомогою «Let’s Encrypt» згенерувати SSL-сертифікат, це відбувається автоматично а результат ви побачите в логах. Після запуску «Caddy Proxy» ваш будинок буде доступний за адресою https://mysupercoolhome.com.ua, без ніяких портів! Вам не обов’язково знати де знаходяться сертифікати, вони будуть оновлюватись автоматично. Тепер ваш Home Assistant готовий для підключення до Google Assistant. І ще, тепер можна навіть закоментувати секцію http: в configuration.yaml (за виключенням деяких встановлених компонентів). До речі, ви все ще зможете відкривати HA в локальній мережі за адресою http://192.168.1.50:8123, порт і http тут вказувати обов’язково.

Зверніть увагу, деякі роутери не дозволять відкрити адресу https://mysupercoolhome.com.ua без додаткового налаштування Hairpin NAT, деякі пристрої налаштовують його автоматично, інші необхідно налаштувати вручну. Налаштування Hairpin NAT у кожної моделі роутера своє

Во всплывающем окне вводим адрес репозитория и жмем кнопку «добавить»

После того как появится список аддонов добавленного репозитория, установите «Caddy Proxy»

Настройка аддонов

Перейдите на вкладку «Configuration» аддона «Let’s Encrypt» и введите необходимые настройки

email: mymail@gmail.com      #укажите свой
domains:
  - mysupercoolhome.com.ua     #укажите свой (зарегистрированный)
certfile: fullchain.pem
keyfile: privkey.pem
challenge: http
dns: {}

Перейдите на вкладку «Configuration» аддона «Caddy Proxy» и введите необходимые настройки

homeassistant: mysupercoolhome.com.ua     #укажите свой (зарегистрированный)
vhosts: []
raw_config: []
email: mymail@gmail.com      #укажите свой

Возможности аддонов после настроек.

Теперь вы можете с помощью «Let’s Encrypt» сгенерировать SSL-сертификат, это происходит автоматически а результат вы увидите в логах. После запуска «Caddy Proxy» ваш дом будет доступен по адресу https://mysupercoolhome.com.ua, никакие порты в адресе теперь вводить не нужно! Вам не обязательно знать где находятся сертификаты, они будут обновляться автоматически. А еще, теперь ваш Home Assistant готов для подключения к Google Assistant. Кроме того, теперь можно даже закомментировать секцию http: в configuration.yaml (исключение – некоторые установленные компонентоы). Кстати, вы все еще сможете открывать HA в локальной сети по адресу http://192.168.1.50:8123, но, порт и http здесь указывать обязательно.

Обратите внимание, некоторые роутеры не позволят открыть адрес https://mysupercoolhome.com.ua из локальной сети без дополнительной настройки Hairpin NAT, одни устройства настраивают его автоматически, а другие необходимо настроить вручную. Настройка Hairpin NAT у каждой модели роутера своя. Более подробную информацию можно найти на сайте производителя вашего сетевого оборудования.{:}

Додаємо Gyver Lamp в Home Assistant та Google Home

Вітаю. Сьогоднішній огляд буде, скоріше, про елемент декору, аніж елемент розумного будинку. Хоча, керувати цим девайсом можна і з «хабів» розумного будинку, і навіть за допомогою розумних колонок. Керування з колонок буде трошки обмежене, але про це в тексті нижче. В статті сьогодні розглянемо DIY-проект, що має назву «Лампа Гайвера»,  або «Gyver Lamp». Думаю, робити її огляд тут немає сенсу, багато хто знає, що це за проект, а хто не знає перейдіть за посиланням для перегляду відео.

Існує декілька популярних прошивок мікроконтролера ESP8266 NodeMCU, що є мозком пристрою, але для того, щоб наша лампа мала можливість керування з “Home Assistant”, потрібна підтримка протоколу MQTT. Розглянемо дві прошивки з його підтримкою.

Прошивка від Palpalych (на основі Gunner47)

Посилання на прошивку

Для початку створимо “органи керування” лампою в Home Assistant:

Створимо віртуальний вимикач, при його спрацюванні буде виконуватись певна послідовність команд, що будуть, в тому числі, відправлятися і на лампу (ввімкнеться нічний режим ). Пізніше цей вимикач знадобиться для прокидання в Google assistant

Також створимо mqtt лампу в файлі /config/includes/light.yaml

Після перезавантаження маємо можливість створити картку:

Але, покищо органи керування ніяк не діють (окрім вмикання\вимикання), тому створимо окремий файл, що буде містити в собі правила, що стосуються управління лампою

Як видно з mqtt топіків в автоматизації, і це підтверджує документація, в цій прошивці формат повідомлення наступний:

P_ON - включить матрицу
P_OFF - выключить матрицу
EFF0 - сделать активным эффект №0 (нумерация с нуля)
BRI44 - установить яркость 44; диапазон [1..255]
SPD3 - установить скорость 3; диапазон [1..255]
SCA1 - установить масштаб 1; диапазон [1..100]
…...
"TMR 1 3 300"
TMR - идентификатор команды, TMR - таймер
1 - признак "таймер взведен"
3 - опция "выключить лампу через ...", цифра указывает на номер значения в выпадающем списке: 1 - не выключать, 2 - 1 минута... (см. в приложении)
300 - количество секунд, через которое выключится лампа (0 - не выключать)

Такий формат повідомлень дозволяє керувати кожним параметром пристрою окремо, крім того, лампа має власний таймер вимикання, який не залежить від таймерів Home Assistant.


Після перезавантаження автоматизацій ви можете керувати лампою з інтерфейсу Home Assistant. Якщо до вашого Google Home app вже додано інтеграцію Hassio (Home Assistant), після оновлення списку пристроїв у додатку (Hey google, sync my devices) у вас з’явиться два нових девайси – лампа і вимикач.

В останньому розділі статті, маєте змогу дізнатися про особливості керування ”Лампою Гайвера” за допомогою Google Home app і смарт-спікерів.

Прошивка від Whilser

Посилання на прошивку

Ця прошивка має інший формат mqtt повідомлень, і саме з цією прошивкою вам не треба “паритись” про їхній формат. Є можливість керувати пристроєм за допомогою веб-інтерфейсу, що дуже зручно, там також є змога вмикати і вимикати підтримку mqtt, та змінювати адресу mqtt брокера. Прошивка має функцію “mqtt discovery”, тобто вже після  підключення, пристрій автоматично з’явиться в системі, в списку девайсів mqtt інтеграції. Але якщо ви хочете керувати лампою Гайвера з графічного інтерфейсу Lovelace, звичайно треба створити органи керування в картці lovelace. Як створити “органи керування лампою” можна почитати на сторінці прошивки на Github, але для себе я додав ще керування яскравістю лампи і input_select для вибору режиму, хоча обидва параметри можна змінювати в спливаючому вікні лампи, але мені зручніше напряму, з lovelace картки. Отже, як і в попередній прошивці додаємо input_number:

та, в залежності від мови, input_select (нижче англійський варіант)

До вже описаних на Github автоматизацій додаємо ще дві:

Оскільки прошивка не має вбудованого таймера, додаємо свій, наприклад таймер на 1 годину. Це на той випадок, коли лампу увімкнули за допомогою раніше створеного віртуального вимикача «virt_sleepingmode» (як в першій прошивці), наприклад за допомогою смарт-спікеру.

В configuration.yaml

timer: !include includes/timer.yaml

в /config/includes/timer.yaml

gyverlamp_1h_off:
  duration: '01:00:00'

Також додаємо правило автоматизації, яке буде вимикати лампу після «закінчення» таймера

Створимо правило, яке передасть пристрою певну послідовність команд при увімкненні віртуального вимикача «virt_sleepingmode»

Звичайно, в цьому правилі ви можете обрати інший ефект, та задати йому відповідні параметри

Керування «Лампою Гайвера» за допомогою Google Home app та розумною колонкою

Позаяк прошивки на основі Gunner47 не мають «mqtt discovery», то ми вимушені створювати лампу вручну, крім того, лампу, що прийде в «Google Home app» з HA, ми можемо лише вмикати та вимикати, є можливість додати керування яскравістю за допомогою шаблонів в HA, але не більше, тобто кольором керувати ми не можемо, причина в форматі повідомлень mqtt. Прошивка від  Whilser автоматично «створює» лампу в системі, і коли вона «прилетить» до Google Home app, ми можемо керувати і яскравістю лампи, і кольором

Створений перед цим віртуальний вимикач дозволить напряму, зі спікера вмикати раніше налаштований ефект, наприклад «палаюче полум’я». Цю можливість можна використати під час, наприклад, вечірнього сну, коли ви кажете смарт-спікеру «hey, google, goodnight!». В такому разі google assistant увімкне (на одну годину) звуки палаючого каміну та «клікне» по virt_sleepingmode, який увімкне «палаюче полум’я» на Лампі Гайвера. Звичайно, до цього вам необхідно вибрати мелодію для сну, і додати необхідний вимикач в «Routines»

На жаль, перемикання ефектів та зміна їх параметрів в смарт-спікерах не передбачена, в документації до прошивки від Whilser описано про можливість додавання компонента «телевізор» в Apple Home Kit, та керування ефектами за його допомогою, але перевірити як це працює у мене можливості немає. Можливо подібний варіант існує і для «google home», проте інформації я не знайшов.

PS: Хочу зазначити, що, з невідомих мені причин, лампа з прошивкою “Whilser” іноді втрачає зв’язок з mqtt брокером, в такому випадку вона може зависнути на декілька секунд, а іноді й перезавантажується увімкнувшись білим яскравим світлом, така поведінка девайсу заважає спокійному сну. Ця проблема в парі з відсутністю власного таймера на борту схилила мій вибір на користь прошивок на основі Gunner47

Додаємо Zigbee сирену в Home Assistant

Сирена, з якою ми сьогодні працюватимемо, призначена для екосистеми Tuya Smart, додається до “рідного” хабу і працює з ним абсолютно нормально. Але сьогодні ми зробимо так, щоб вона працювала з альтернативною системою керування розумним будинком, а саме Home Assistant.

Для початку, коротко про її можливості:

Сирена може програвати 18 різних мелодій, серед них 4 поліфонічні, декілька гудків і сирен. В якості однієї з мелодій записаний “гавкіт” собак. Не жартую. Девайс має три ступені гучності. Додатково пристрій вміє вимірювати температуру і вологість повітря. Є можливість встановити дві батареї CR123A, (зверніть увагу, батареї в комплект не входять). Також є роз’єм Micro USB, який, скоріше за все, стане основним джерелом живлення, адже батареї не заряджаються, і тут зазвичай будуть використовуватись в якості аварійного джерела. Поруч з місцем для батарей є кнопка, якою при довгому натисканні сирену скидають до заводських налаштувань після чого вона перейде в режим з’єднання. Також необхідно буде час від часу робити по п’ять коротких натискань, щоб сирена передчасно не заснула під час з’єднання з хабом чи координатором. Звичайно, коли девайс вже з’явиться в списку під’єднаних пристроїв, цього робити не треба.

Підключаємо новий датчик до Home Assistant

Отже, того, щоб сирена мала змогу працювати в Home Assistant переконайтеся в тому, що у вас встановлений zigbe2mqtt не старіший версії 1.17.0, саме в ній було додано підтримку цієї моделі. Щоб ZigBee координатор почав пошук нового пристрою, перейдіть в інтерфейс плагіну zigbe2mqtt і натисніть кнопку “Permit join”.

Підключить сирену до живлення. Скиньте налаштування сирени, затиснувши кнопку що під кришкою, до гучного сигнала. Сирена перейшла в режим з’єднання. Через декілька секунд 5 разів натисніть на ту саму кнопку, цією дією ви не дасте їй заснути.

Через 5-10 секунд “розбудіть” девайс ще раз. Робіть це до тих пір, поки в інтерфейсі zigbe2mqtt не з’явиться повідомлення про те, що пристрій під’єднано. Якщо ви не плануєте зараз додавати ще один девайс, можете натиснути “Disable join” і координатор припинить пошук нових пристроїв. Отже, сирену додано, тепер можемо перейти до налаштувань з її участю. Але, щоб ми могли працювати зі зрозумілими назвами, а не набором символів, давайте перейменуємо девайс: клікніть по “незрозумілій” назві девайсу поруч з піктограмою, а на новій сторінці – по піктограмі “Rename device”.  Давайте назвемо пристрій “siren”. Нашу сирену можемо знайти в “інтеграціях” (Configuration – integration – MQTT – список девайсів – сирена), і тут же дізнатися ідентифікатор необхідного об’єкту (entity) сирени.

Налаштовуємо автоматизацію

Сирена може відтворювати звуки мелодій, сирен та дверного дзвінка. Тому, давайте налаштуємо автоматизацію, коли будинок під охороною, то під час проникнення на територію буде відтворюватися сирена (1хв, голосно), а коли будинок не під охороною, при натисканні кнопки буде відтворюватися звук дверного дзвінка (2с, з середньою гучністю).
Для початку створимо панель керування сигналізацією в configuration.yaml

alarm_control_panel: !include includes/alarm_control_panel.yaml

Робимо картку в інтерфейсі lovelace:

Покищо наша панель нічого не вміє, тому створимо для неї декілька правил автоматизації в configuration.yaml:

automation: !include_dir_merge_list automations

тепер в автоматизацію додамо ще один файл, він буде відправляти команду сирені при натисканні кнопки біля вхідних дверей, і лише тоді, коли будинок не під охороною

На сьогодні все, побачимось

Переваги та недоліки Home Assistant перед Samsung SmartThings

Вступ

Попередні огляди, так чи інакше, були пов’язані з екосистемою Samsung SmartThings. Це досить зручний вузол керування розумним будинком, але, коли з якихось причин у вас відсутній інтернет ваш розумний будинок стає, м’яко кажучи, не дуже розумним, ви не маєте можливості отримати показники з сенсорів чи навіть увімкнути лампу. 

Отже, ви не можете керувати будинком з мобільного додатку без доступу до Інтернету. Проте такі проблеми можливі навіть при гарному з’єднанні з всесвітньою мережею. Мабуть ви стикались з ситуацією, коли відкривши додаток SmartThings ви довгий час не можете керувати пристроями з телефону чи, хоча б відкрити налаштування. В чому ж причина? 

Справа в тому, що вся автоматизація в екосистемі Samsung SmartThings зав’язана на керування пристроями з хмари, іноді, або на шляху від серверу до вашого будинку, або в самому хмарному сервері стаються певні збої, чи, можливо, якісь регламентні роботи. Зазвичай це стається в дуже непідходящі моменти. 

Саме тоді у користувачів виникає питання, що з такими проблемами робити. Декілька місяців тому Samsung заявляв, що ведуться розробки програмного забезпечення для хабу з локальним керуванням пристроями розумного будинку. Але про терміни готовності інформації немає. Тому спробуємо знайти систему, яка не буде залежати від хмари, чи зовнішніх каналів передачі даних.

Існує декілька проектів, які можна налаштувати для керування розумним будинком, деякі з них з відкритим кодом, більшість можна запустити на одноплатних комп’ютерах типу Raspberry PI або на віртуальній машині. Але сьогодні я хочу вас познайомити з home assistant, адже, на мою думку, він виділяється найбільшою функціональністю. 

Операційна система Hass OS базується на Linux, проте навіть якщо ви не знайомі з такими операційними системами, вам не треба хвилюватись, адже достатньо почати інсталяцію, решту зробить сама система, і вже за 20 хвилин ви можете почати налаштування центрального вузла керування вашим будинком. Решта налаштувань буде проходити в браузері, для вашого Raspberry навіть екран не потрібен. 

При першому підключенні створіть першого користувача, він стане “власником” будинку, пізніше можна додати членів сім’ї. Вкажіть координати, та, якщо система вже знайшла деякі ваші розумні пристрої, додайте їх.

Інтерфейс home assistant

Давайте подивимось на інтерфейс. На першому екрані є можливість додавати картки пристроїв, сенсорів, запускати скрипти, можна сортувати ці картки за типами та розміщувати їх у відповідних вкладках.

Щоб подивитись можливості інтерфейсу перейдіть за посиланням https://demo.home-assistant.io

А так виглядає home assistant у мене.

Опускаючись вниз по меню, ми бачимо карту, тут можна переглянути геотрекінг користувачів, нижче – історія станів пристроїв та журнал.

Якщо встановити модуль “File editor” у вас з’явиться можливість редагувати конфігураційні файли у веб браузері, посилання на редактор може бути в сайдбарі.

До речі, є також і мобільний додаток.

Познайомимось з конфігурацією. Так виглядає основний конфігураційний файл, у ньому є посилання на розділи конфігурації різних пристроїв. Щоб краще познайомитись з налаштуваннями перегляньте відео уроки від Alex Kvazis.

Давайте подивимось на файл scripts.yaml. Як бачите, нічого мега складного в коді немає, власне сам скрипт при старті виконує певну послідовність дій, а після виконання останньої дії зупиняється. Звичайно старт певного скрипта можна за необхідності додавати на першому екрані, наприклад як кнопку. 

Натискання запустить цей скрипт.

І останнє що я хотів показати, це інтеграції різних систем з home assistant.

Тут ті, що в мене працюють зараз.

А тут ті що можна інтегрувати

Як бачите список дуже великий, він більший ніж в SmartThings і значно більший ніж в будь-якої іншої системи.

Переваги та недоліки

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

На сьогодні все, побачимось!