Category Archives: Налаштування

Керуємо Home Assistant за допомогою голосу. Частина 2

Сьогодні продовжимо налаштовувати керування голосом в Home Assistant. Але вже цього разу нам знадобиться маленький і, в той же час, недорогий девайс з мікрофоном та динаміком «на борту». Будемо вважати, що всі попередні налаштування, про які я вже писав тут, вже зроблені.

Налаштовуємо і прошиваємо ATOM Echo

Отже, нам знадобиться пристрій, який можна придбати тут або тут, його вартість всього лише приблизно 13$.

Перейдіть за ось цим посиланням, на цій сторінці ви побачите кнопку «CONNECT».

Підключіть ATOM Echo до комп’ютера за допомогою USB-кабелю та натисніть кнопку «CONNECT».

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

Натисніть «Скасувати», у відповідь з’явиться діалогове вікно, де вам запропонують завантажити і встановити відповідний драйвер.

Необхідно встановити драйвер для пристроїв CH342. Лише після цього з’явиться потрібний нам порт. Оберіть його та натисніть “Під’єднатися

Оберіть пункт «Install voice assistant»

Почнеться процес завантаження прошивки на девайс. Не закривайте вкладку браузера поки триває процес.

Після закінчення завантаження прошивки натисніть «Next»

На наступному кроці вам запропонують ввести пароль до вашої мережі Wi-Fi.

Натисніть на «Add to home assistant», щоб додати девайс в систему. На цьому кроці має з’явитися нове вікно, де вам запропонують додати інтеграцію ESPhome, якщо її ще немає.

Пристрій додано в інтеграції, можна обрати кімнату чи зону, за якою його буде закріплено.

Нижче, на зображенні можна побачити ATOM Echo серед інших пристроїв ESPhome.

В панелі ESPhome необхідно буде додати («ADOPT») ATOM Echo, після чого оновіть його прошивку до актуальної версії.

Тепер в інтеграцію додалися всі органи керування та сенсори. З випадаючого списку оберіть раніше створену мовну модель, натискайте на кнопку і дайте команду для Home Assistant. Тепер все має працювати.

Налаштовуємо слово-пробудження (wake word)

З останнім оновленням Home Assistant з’явилась можливість активувати наш «розумний спікер» взагалі без натискання руками. Насправді зробити це дуже легко, Відкрийте ваш add-on store (або натисніть кнопку нижче),

Встановіть аддон openWakeWord, а після цього натисніть «старт». Аддон не потребує налаштувань.

Після завантаження аддону відкрийте налаштування інтеграцій

Перейдіть до вибору голосових асистентів та клікніть по тому, який хочете редагувати

У спливаючому вікні оберіть Wake word engine і слово-пробудження зі списку праворуч. Натисніть «Update»

І останнє, що вам потрібно зробити, це перевірити чи було ввімкнено використання слова пробудження для вашого ATOM Echo. Після того, як увімкнете «Use wake word» ваш спікер засвітиться бузковим кольором, це значить, що він очікує вашої голосової команди. Нижче, в випадаючому списку можна обрати голосового асистента, з яким буде працювати саме цей девайс

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

Налаштовуємо керування Home Assistant за допомогою голосу

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

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

Початкові налаштування

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

Скоріше за все, ви будете очікувати голосову відповідь в якості реакції на вашу команду. Процес озвучування «відповіді» девайса називають TTS, або text to speech.

В Home Assistant за STT і TTS відповідають два окремі аддони, а саме «Piper» і «Whisper». Перейдіть до Add-on Store, та встановіть обидва аддони.

Після інсталяції кнопку «старт» поки не натискайте, нам необхідно ще дещо трохи налаштувати. Для цього перейдіть до вкладки налаштувань «Whisper». Тут оберіть мову, якою плануєте давати команди вашому Home Assistant.

В налаштуваннях «Piper» оберіть мову та голос, який потім буде вам відповідати.

Якщо в якості контролера розумним будинком ви використовуєте одноплатний ПК типу Raspberry Pi, рекомендується обрати «екстра-легкий» варіант голосу, в кінці тексту з назвою ви зустрінете літери “x_low”, це і є «екстра-легкий» варіант. Тут, і далі в статті, як рідну мову я налаштовую українську. Звичайно ж ви можете обрати будь-яку зі списку. Список мов, що підтримуються, як і список голосів регулярно доповнюються.

Тепер можна натискати «старт» для обох аддонів. Через деякий час вони завантажаться, ви можете в цьому переконатися відкривши останню вкладку з журналом подій. Також варто відмітити галочки «Watchdog» та «Start on boot» на першій вкладці аддонів. Це дозволить автоматично завантажувати аддон зі стартом системи та після його аварійної зупинки.
Перейдіть до списку інтеграцій в налаштуваннях (або натисніть кнопку MY нижче)

Тут для кожної інтеграції достатньо буде натиснути кнопки «Configure», з’явиться інтеграція «Wyoming Protocol» яка об’єднає в собі «Piper» і «Whisper».

Налаштовуємо взаємодію за допомогою голосу

Перейдіть в «Налаштування» – «Голосові асистенти», (або натисніть кнопку MY нижче)

Мабуть ви помітили, в списку вже є один голосовий помічник, який вміє спілкуватися англійською. Але нам необхідно додати власного, який буде розуміти українську і розмовляти нею. Тому сміливо тисніть кнопку “Add Assistant”.

З’явиться спливаюче вікно, де нам пропонують обрати мову і в STT і в TTS, в самому низу оберіть голос озвучування.

Скоріше за все, для більшості користувачів, таких налаштувань буде достатньо. Перезавантажте ваш екземпляр Home Assistant. Після завантаження, в правому верхньому куті панелі «Lovelace» має з’явитися піктограма хмаринки як на зображенні знизу.

Натисніть на піктограму, має з’явитися спливаюче діалогове вікно, де ви вже можете давати команди.

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

У випадку, якщо у вас виникли проблеми при «спілкуванні» з асистентом, спробуйте додати до вашого файлу configuration.yaml наступний рядок

conversation:

після цього не забудьте перезавантажити home assistant

Можливі проблеми та деякі рекомендації

Щойно ми налаштували голосового асистента, який має працювати без будь-яких запитів до мережі Інтернет. Перевага – це те, що він буде працювати локально, в будь який момент незалежно від стану мережі. Але все ж таки, на мою думку, у нього є досить суттєві недоліки. Розпізнавання мови є не завжди точним. Від чого залежить якість розпізнавання я не знаю, можу лише припустити, що від відсотка завантаження процесора. Нижче на зображенні можете бачити результат такого неякісного розпізнавання.

Другий недолік стосується лише голосу озвучування. На момент написання статті існувала лише одна голосова модель для української мови, (lada x-low), і вона настільки жахлива, що навіть немає бажання її вмикати.

Насправді є рішення, яке допоможе прибрати ці два недоліки. Рішення має назву «Home Assistant Cloud». Зрозуміло що ні про які локальні голосові асистенти мова тут вже не йде. Home Assistant Cloud – це сервіс зі щомісячною підпискою, і на мою думку дуже зручний, адже він включає в себе не лише голосових асистентів. Крім того, Nabu Casa, з моменту повномасштабного вторгнення, дала можливість українцям користуватися сервісом безкоштовно.

Після того, як підключите «хмару», при налаштуванні голосового асистента просто оберіть Home Assistant Cloud, якість розпізнавання голосу і «озвучка» вас приємно здивує

Якщо ви використовуєте декілька мов одночасно, рекомендую створити декілька аліасів для кімнат і пристроїв, це можуть бути назви на різних мовах чи в різних відмінках. Один з таких прикладів ви можете побачити на зображенні знизу

Нижче, на зображенні результат взаємодії з такими аліасами

Налаштування виклику голосового асистента Home Assistant на телефоні Android

Можливо ви вже викликали Google Assistant за допомогою довгого натискання клавіші «Home» на смартфоні. Тепер з’явилась можливість замінити асистента за замовчуванням. Звичайно ж, в першу чергу встановіть останню версію додатку Home Assistant.

На вашому Android смартфоні перейдіть в налаштування і оберіть пункт «програми»

Виберіть пункт «Вибір програм за замовчуванням»

Оберіть пункт «Цифровий помічник»

Оберіть верхній пункт

З переліку програм оберіть Home Assistant, потім підтвердьте вибір

Закрийте налаштування. Тепер ваш голосовий асистент за замовчуванням це Home Assistant.

Отже, тепер ви можете керувати вашими розумними гаджетами за допомогою голосу (або тексту) або зі смартфону, або з комп’ютера.

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

В одному з наступних оглядів я покажу як створити недорогий варіант «розумного динаміка» з голосовим асистентом від Home Assistant. Стаття буде логічним продовженням сьогоднішнього огляду.

Робимо теплу підлогу розумною та додаємо її в Home Assistant

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

Сьогодні ми розглянемо спосіб підключення нагрівального мату не до звичного нам терморегулятора, а до розумного реле Shelly. Це дозволить додати наше реле до розумного будинку з можливістю керування з Home Assistant.

Вибір обладнання для керування теплою підлогою

Мій вибір – це модель Shelly Plus 1. Перевагою цього девайсу є досить потужне реле з “сухими” контактами, яке має можливість комутувати струми до 16 А. Звичайно 16 А це максимально можливий струм, і не варто підключати нагрівальний мат занадто великою площею. Щоб розрахувати площу теплої підлоги необхідно знати потужність одного квадратного метру нагрівального мату. Більшість матів мають потужність 150 Вт/м2, але, в будь-якому разі, перед замовленням дізнайтеся про електричні характеристики обраної вами підлоги.

Припустимо, площа вашої кімнати, яку необхідно обігріти, 12м2, тоді потужність нагрівального мату буде 1800 Вт (150 Вт/м2 х 12.м2). Розділимо це значення на величину напруги в мережі (220V) і дізнаємось значення струму, який проходить по дротам нагрівального мату теплої підлоги.

1800 / 220 =~ 8.2 A

Маємо значення, яке трохи менше за 8,2 Ампери. Така цифра без проблем дозволить підключити реле на 16 Ампер. Якщо ви маєте кімнату значно більшої площі, коли струм в дротах нагрівального мату буде більше ніж 10 Ампер, я рекомендую розбивати кімнату на зони. Тоді кожне окреме реле буде вмикати свою власну нагрівальну зону, а ви не ризикуватимете перевантажити контакти реле.

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

Схема підключення реле буде така:

Підключаємо датчик температури

Нещодавно компанія Shelly представила додатковий модуль для усіх моделей реле Plus. Цей модуль має назву Shelly Plus Add-On і дозволяє під’єднувати різноманітні цифрові та аналогові датчики. Одним з таких датчиків є цифровий температурный сенсор DS18B20. Саме цей сенсор дуже часто використовують для зняття температурних показників всередині теплих підлог.

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

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

Після таких “фізичних вправ” ще раз перевірте чи правильно ви підʼєднали всі дроти. Тепер можна переходити в мобільний додаток Shelly.

Додаємо реле і додатковий модуль в додаток

Як додати та налаштувати реле Shelly 1 я вже писав в статті “Знайомство з потужним одноканальним Wi-Fi реле Shelly 1”, процедура нічим не відрізняється. Додайте девайс до необхідної кімнати і виберіть для нього відповідну піктограму для зручності.

Перейдіть до розділу Addon sensors і перевірте, чи є можливість приєднати сенсори до реле. Якщо ви бачите напис типу “Unsupported addon … ” сміливо оновлюйте прошивку реле. Для цього перейдіть в пункт Settings – Firmware version і натисніть відповідну кнопку. В процесі оновлення прошивки реле перезавантажиться.

Після перезавантаження девайсу, знову перейдіть до розділу Addon sensors. Тепер ви маєте бачити кнопку Enable addon. Після її натискання реле знову перезавантажиться. Тепер ви маєте змогу додавати сенсори. Після натискання кнопки Add peripheral зʼявиться спливаюче вікно де необхідно обрати тип сенсора. В нашому випадку це температурний датчик DS18B20, нижче має зʼявитися його унікальний номер. Коли до аддону підʼєднано декілька таких сенсорів, вам доведеться додавати кожен окремо, для зручності ви можете потім задати для них зрозумілі назви. Збережіть налаштування девайсу з вже доданим сенсором.

Насправді, такий сценарій дій був би ідеальним, але, на жаль на деяких ранніх версіях прошивки реле ви можете зіштовхнутись з проблемами. Ще на етапі додавання реле може “не бачити” сенсор, і навіть перезавантаження або натискання кнопки Rescan не вирішить цю проблему. З мобільного додатку реле вперто “не хоче бачити сенсор”. Що ми можемо зробити, аби додати наш сенсор до реле? Поки існує лише одне рішення – веб інтерфейс! Перейдіть за IP адресою пристрою в вашому браузері, відкрийте пункт меню, що відповідає за аддон (додатковий модуль), і натисніть вже знайому нам кнопку Add peripheral. Як і в мобільному додатку, у веб версії зʼявиться спливаюче вікно з вибором типу сенсору, оберіть DS18B20 і сам сенсор. Збережіть налаштування і перезавантажте реле.

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

До речі, в налаштуваннях аддону ви можете встановити значення поправки температури або “поріг”. Значення останнього пункту буде використовуватися при спрацюванні локальних скриптів автоматизації.

Налаштування автоматизації

Нещодавно у користувачів девайсів Shelly зʼявилась можливість створювати скрипти, які будуть виконувати певні дії при настанні певних умов. Перевагою таких скриптів є те, що вони є локальними, тобто виконуються саме на пристрої, який ми плануємо задіяти в автоматизації. Локальні скрипти не будуть залежати ні від хмари, ні, навіть, від наявності звʼязку з певним хабом. Такі скрипти, або, назву їх правилами автоматизації, просто виконуються за певних умов.

Щоб було зрозуміліше, давайте створимо декілька таких правил на нашому реле. Хочу зауважити, при написанні статті в мобільному додатку створення скриптів ще не було доступне, а ось в веб-інтерфесі їх створювати вже можна. Отже, перейдіть за IP адресою вашого реле, і відкрийте розділ аддону з термодатчиком. Відкрийте останню вкладку з піктограмою, що схожа на трикутник. Вона має назву Actions, і саме тут будуть знаходитись створені нами правила автоматизацій. Зараз тут порожньо, нас зустрічає лише кнопка “New action

Ми створимо два правила. Перше буде замикати реле Shelly Plus в той момент, коли температура на датчику впаде нижче 20 градусів. При налаштуванні не забудьте врахувати значення Threshold або “Поріг” яке було нами вже вказано раніше. Друге правило буде розмикати реле при досягненні температури 25 градусів.

Мабуть ви вже зрозуміли, мати теплої підлоги будуть нагріватися лише в діапазоні від 20 до 25 градусів. Звичайно користувач має змогу встановити власні температурні показники, які можуть залежати і від власних температурних уподобань, і від глибини монтажу теплої підлоги.

Перейдемо до створення першого правила. Натисніть кнопку New action Зʼявиться спливаюче вікно, де ми маємо вказати дії, які виконає реле при досягненні температури більше ніж 25 градусів. Клікніть по зображенню, щоб побачити налаштування правил, що ми створюємо. Як бачите, тут є чотири пункти, які зрозумілі навіть візуально.

На скріншоті залишається неналаштованим лише останній, четвертий пункт. В додатку клікніть по “Add local action”. Тут ми кажемо девайсу, що треба зробити, коли температура досягла певного рівня. Ми маємо вимкнути теплу підлогу, коли температура піднялася, отже обираємо Control Output та тиснемо Off.

Після цього збережіть правило, натиснувши Save Action. На скріншоті нижче ви бачите створене правило.

Тепер нам необхідно створити правило, яке вмикатиме теплу підлогу, коли температура опуститься нижче 20 градусів. Алгоритм дій буде схожий, нам лише треба не переплутати більше-менше та вказати правильну дію девайсу, тобто розімкнути реле.

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

Таких дій буде достатньо, щоб наша тепла підлога працювала, тобто вмикалась і підтримувала необхідний діапазон температур. При цьому в мобільному додатку Shelly ви можете контролювати нагрівання кімнати, у тому числі і за розкладом. Також ви можете переглядати історію і робити температурний моніторинг. Ці дії можливі з будь-якої точки світу, де буде доступ до Інтернет.

Комусь цього буде достатньо, а хтось хоче керувати усім розумним будинком з одного додатку. І наш вибір – це завжди Home Assistant.

Додаємо девайси Shelly в HA і налаштовуємо автоматизацію

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

Тепер ви можете налаштовувати відповідні правила автоматизацій вже в інтерфейсі Home Assistant. Але зручніше буде створити віртуальний термостат і керувати температурою підлоги вже з нього. Попередньо не забудьте вимкнути локальні скрипти на реле, адже тепер вони не лише не потрібні, а й заважатимуть правильній роботі термостата.

Спочатку додаємо посилання на зовнішній файл в /config/configuration.yaml Таким чином ми створимо нову сутність climate, що стане нашим термостатом.

У файлі /config/includes/climate/climate.yaml створимо наш термостат.

- platform: generic_thermostat
  name: Study
  heater: switch.shellyplus1_0cdc7ef56b40_switch_0
  target_sensor: sensor.shellyplus1_0cdc7ef56b40_temperature
  unique_id: uht_Kitchen
  target_temp_step: 1.0
  min_temp: 16
  max_temp: 28
  away_temp: 16

Тут sensor.shellyplus1_0cdc7ef56b40_temperature – це термодатчик, що був під’єднаний до Shelly, а switch.shellyplus1_0cdc7ef56b40_switch_0 – це відповідний вимикач реле Shelly.

Згідно документації ми можемо задавати діапазон температури, у нас вказано від 16 до 28 градусів.

Налаштовуємо Nginx Proxy Manager в Home Assistant

Цю статтю я вирішив написати після виходу оновлення Home Assistant 2022.12.4. Насправді, з виходом версії з номером 2022.12.5, проблему не було вирішено. А моя проблема полягала в тому, що я не зміг отримати доступ до свого серверу з мережі Інтернет за його доменною адресою. При цьому, всередині домашньої локальної мережі HA працював абсолютно без проблем, при цьому навіть мав змогу отримати доступ “на зовні” і оновитися.

В чому ж була причина такої поведінки мережі. Зазвичай, після оновлення, Home Assistant отримує багатший функціонал, починає працювати з пристроями багатьох вендорів, виправляються деякі помилки в роботі. Але іноді буває, під час роботи над помилками можна наробити нових ;), і щось перестане працювати. Так сталося і в моєму випадку з аддоном “Caddy Proxy” – він почав працювати неправильно. Частково в цьому є і моя провина – аддон не є офіційним і вже досить тривалий час не оновлювався до актуальної версії. До речі, про нього я писав в ось цій статті – Отримуємо SSL сертифікат для Home Assistant. Отже, настав час видалити Caddy, а замість нього встановити і налаштувати Nginx Proxy Manager!

Нагадаю: і Caddy, і Nginx Proxy Manager – це, так звані, зворотні проксі-сервери. У випадку з Home Assistant, він дозволить вам не турбуватись про безпечне з’єднання, адже NPM буде тримати сертифікати Let’s Encrypt в актуальному стані, і, за необхідності, самостійно їх оновлювати.

Інсталяція MariaDB

Для своєї роботи Nginx Proxy Manager потребує наявності бази даних, саме тому необхідно встановити аддон MariaDB.

Перейдіть на сторінку “Settings > Add-ons”

Натисніть на кнопку Add-on Store” в правому нижньому куті сторінки.

 

  В розділі “Official add-ons” натисніть на “MariaDB”. Потім натисніть “Install”

Дозвольте запуск аддона при завантаженні системи “Start on boot” та увімкніть “Watchdog”. Потім, не натискаючи “Start”, перейдіть до вкладки “Configuration”.

Встановіть пароль для бази даних. За замовчуванням там буде встановлено значення «null» і при запуску аддона він буде скаржиться, що ви не встановили пароль перед її запуском. Налаштуйте username і password, а потім натисніть “Save”.


Тепер ви можете повернутися до вкладки «Info» та натиснути «Start». Ви повинні побачити, що аддон працює, як показано на скріншоті.

Встановлюємо Nginx Proxy Manager

Щоб інсталювати Nginx Proxy Manager, потрібно перейти на сторінку «Settings> Add-ons».

Натисніть на кнопку “Add-on Store” в правому нижньому куті сторінки.

 

У розділі «Home Assistant Community Add-ons» натисніть «Nginx Proxy Manager». Далі натисніть “Install”, щоб встановити Nginx Proxy Manager.

Увімкніть параметри «Start on boot» та «Watchdog» і натисніть «Start». Ви повинні побачити, що аддон працює, як показано на скріншоті.

Налаштування вашого екземпляра Nginx Proxy Manager

Перейдіть на сторінку Nginx Proxy Manager. Це буде IP вашого Home Assistant на порту 81. Наприклад: http://192.168.10.245:81. Ви повинні побачити сторінку входу. Введіть облікові дані за умовчанням це адреси електронної пошти admin@example.com і пароль changeme.

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

Натисніть розділ «Hosts», щоб додати ваш власний проксі-хост.

Введіть своє повне доменне ім’я Home Assistant. У моєму прикладі, я використовую hassio.myhome.com. Це доменне ім’я має бути справжнім доменним іменем, яке ви використовуватимете для доступу до Home Assistant. Це має бути справжнє доменне ім’я, оскільки для нього ви створюватимете сертифікат “Let’s Encrypt”. Також вкажіть IP або ім’я сервера в локальній мережі.

Тепер перейдіть на вкладку «SSL», щоб створити новий сертифікат. Виберіть опцію «Request a new SSL Certificate». Якщо ви ввімкнете опцію «Примусово SSL», порт 80 (HTTP) буде перенаправлено на 433 (HTTPS). Опція «HTTP/2» увімкне функції HTTP для підвищення продуктивності. Якщо вам потрібна додаткова безпека, ви можете ввімкнути «HSTS», але будьте обережні з цим параметром, якщо у вас є інші веб служби. Вам потрібно буде вказати справжній обліковий запис електронної пошти та натиснути кнопку «Я згоден» перед збереженням.

Система має бути підключена до Інтернету, щоб згенерувати стандартний сертифікат через HTTP.

Відредагуйте Configuration.yaml.

Навіть якщо зворотний проксі налаштовано належним чином, підключення до HTTPS не вдасться, доки configuration.yaml файл не буде налаштовано, щоб дозволити зворотний проксі. Оскільки Home Assistant і всі його доповнення працюють у Docker, контейнери використовуватимуть IP-адреси в діапазоні 172.16.0.0/12. Ви можете побачити поточну IP-адресу, яку використовує Nginx Proxy Manager, у системних журналах. Ви зіткнетеся з помилкою веб-браузера «Неправильний запит» із кодом статусу 400 .

Позаяк IP-адреси контейнерів Docker можуть змінюватися під час перезапуску контейнера або перезавантаження Home Assistant, ви можете просто вказати діапазон IP-адрес, який використовує Docker.

Виберіть файл configuration.yaml, щоб відредагувати його. Додайте таку конфігурацію в файлі, як показано на знімку екрана.

Збережіть налаштування і перезавантажте Home Assistant.

Безпечне з’єднання з Home Assistant

Якщо все було вірно налаштовано, єдине, що залишиться зробити – це набрати доменне ім’я в браузері, яке ви налаштували. Наприклад, https://hassio.myhome.com. Щоб отримати доступ до Home Assistant вам доведеться залогінитись знову, навіть якщо ви входили через незахищене HTTP зʼєднання.

Відстежуємо Сонце і Місяць у Home Assistant

Сонце можна відстежується в стандартній інтеграції Home Assistant. Інтеграція створює об’єкт із двома можливими станами: above_horizon і bellow_horizon і ще декількома атрибутів, такими як elevation, azimuth, next_dawn, next_dusk. Ці стани можна використовувати як базовий тригер або умову для автоматизацій у вашому розумному домі. Приклад ідеї для автоматизації «увімкнути світло біля вхідних дверей через 30 хвилин після заходу сонця».

Місяць також можна відстежувати в Home Assistant. Ця інтеграція створює сутність, яка надає вам інформацію про поточну фазу місяця, наприклад: new_moon, full_moon, waxing_crescent, waning_crescent тощо. Але, чи є ця інформація насправді корисною для пересічного користувача – гарне питання. Можливо, й ні, але є люди, яким вона може бути корисною. Той, хто займається домашньою автоматизацією, найкраще, що може зробити, це створити красиву інформаційну панель і, можливо, налаштувати кілька автоматизацій.

Налаштування інтеграції Sun

  • Перейдіть до Home Assistant.
  • На бічній панелі натисніть Settings.
  • У меню конфігурації виберіть Devices & Services.
  • У нижньому правому куті натисніть кнопку «Add Integration».
  • У списку знайдіть і виберіть «Sun».
  • Дотримуйтесь інструкцій на екрані, щоб завершити налаштування.

Або, щоб завершити налаштування, натисніть кнопку нижче.

Налаштування інтеграції Moon

  • Перейдіть до Home Assistant.
  • На бічній панелі натисніть Settings.
  • У меню конфігурації виберіть Devices & Services.
  • У нижньому правому куті натисніть кнопку «Add Integration».
  • У списку знайдіть і виберіть «Moon».
  • Дотримуйтесь інструкцій на екрані, щоб завершити налаштування.

Або, щоб завершити налаштування, натисніть кнопку нижче.

Використання інтеграції Sun

Інтеграція Sun насправді може бути дуже корисною і може використовуватися в багатьох автоматизаціях як тригер. Наприклад, ми можемо використовувати її як умову для включення світла на терасі, але лише після заходу сонця. Ми не хотіли б, щоб світло вмикалося, коли ми виходимо на вулицю вдень. Тригером може бути сигнал датчика руху.

alias: Terrace Lights ON
description: 'Turn ON Terrace Lights After Sunset'
trigger:
  - platform: state
    entity_id: binary_sensor.terrace
    from: 'off'
    to: 'on'
condition:
  - condition: sun
    after: sunset
    after_offset: '20'
action:
  - service: light.turn_on
    target:
      entity_id: light.terrace_lights

Також можемо використовувати її безпосередньо як тригер, щоб увімкнути ліхтарі підсвідки та вимкнути їх зі сходом сонця:

alias: Walkway Lights
description: 'Turn on Porch Lights After Sunset'
trigger:
  - platform: sun
    event: sunset
action:
  - service: light.turn_on
    target:
      entity_id: light.porch_lights
alias: Walkway Lights
description: 'Turn Off Porch Lights At Sunrise'
trigger:
  - platform: sun
    event: sunrise
action:
  - service: light.turn_off
    target:
      entity_id: light.porch_lights

Відображення Сонця на інформаційній панелі

Існує чудова картка Sun Card. Ми можемо використовувати її для відображення положення Сонця на небі. Картка також може показувати деяку додаткову інформацію. Цю картку можна знайти в HACS, і інсталювати її найзручніше саме звідти.

Код картки може виглядати так:

type: custom:sun-card
darkMode: true
showAzimuth: true
showElevation: true

Використання інтеграції Moon

Подібним чином фази місяця також можна теж використовувати для запуску автоматизацій. Незважаючи на те, що пересічний користувач може не вважати інтеграцію корисною, є люди, які придумають для неї гарний варіант використання. Як приклад, ми створимо автоматику, яка сповіщатиме астрономів, коли буде повний місяць, щоб могли вийти на вулицю та насолодитися цим видовищем:

alias: Full Moon
description: 'Notify Me When It`s a Full Moon'
trigger:
  - platform: state
    entity_id:
      - sensor.moon
    to: full_moon
action:
  - service: notify.mobile_app
    data:
      title: Full Moon!
      message: It's a Full Moon Outside!

Ця автоматизація сповіщатиме вас повідомленням на мобільному телефоні

Відображення Місяця на інформаційній панелі

Якщо ви використовуєте картки Mushroom Cards, інформація про Сонце та Місяць може мати добрий вигляд на власній картці Mushrooms – Chips Card. Наприклад:

Щоб створити більш візуально привабливішу картку, ми використаємо custom:stack-in-card. Ми також завантажимо .png зображень, які надав спільноті HA користувач bthoven у цій темі.

Спочатку тут завантажте .png зображення і завантажте їх на свій сервер Home Assistant. Я розмістив їх у папці www/images/MoonPhases, що відповідає адресі /local/images/MoonPhases у браузері. Ви можете використовувати Samba Share, Studio Code Server, щоб завантажити їх у папку. Потім ми створюємо спеціальну картку із зображенням сутності, яка показуватиме відповідне зображення місяця під час кожної фази.

Але спочатку створимо сенсор, який, в якості параметра, буде передавати зображення фази місяця в залежності від стану основного сенсору (sensor.moon_phase).

- platform: template
  sensors:
    moon_phase_image:
      #entity_id: sensor.moon
      friendly_name: "Moon Phase image"
      value_template: "{{ states.sensor.moon_phase.state }}"
      icon_template: >
        moon:{{ states.sensor.moon.state }}
      entity_picture_template: >-
        {% if is_state('sensor.moon_phase', 'new_moon') -%}
        /local/images/MoonPhases/new_moon.png
        {% elif is_state('sensor.moon_phase', 'waxing_crescent') -%}
        /local/images/MoonPhases/waxing_crescent.png
        {% elif is_state('sensor.moon_phase', 'first_quarter') -%}
        /local/images/MoonPhases/first_quarter.png
        {% elif is_state('sensor.moon_phase', 'waxing_gibbous') -%}
        /local/images/MoonPhases/waxing_gibbous.png
        {% elif is_state('sensor.moon_phase', 'full_moon') -%}
        /local/images/MoonPhases/full_moon.png
        {% elif is_state('sensor.moon_phase', 'waning_gibbous') -%}
        /local/images/MoonPhases/waning_gibbous.png
        {% elif is_state('sensor.moon_phase', 'last_quarter') -%}
        /local/images/MoonPhases/last_quarter.png
        {% elif is_state('sensor.moon_phase', 'waning_crescent') -%}
        /local/images/MoonPhases/waning_crescent.png
        {%- endif %}

Для кращої привабливості в ту саму папку завантажте зображення moon_bg.jpg. Це буде фон картки з фазами місяця. У мене це зображення дерева на тлі вечірнього неба, а ви можете обрати зображення на ваш смак.

Тепер створіть картку на інформаційній панелі. Зразок коду можна подивитись в моєму github тут.

Як бачите, картка показує параметр {{ state_attr(entity, ‘entity_picture’) }}, що передає сенсор в якості адреси зображення. Трохи нижче, на картці є два елемента Mushrooms – Chips Card – це час до найближчого сходу та заходу місяця. Ці параметри я беру з інтеграції AstroWeather, яку також можна знайти в HACS

Панель Home Assistant на Sonoff NSPanel Pro

Ця стаття – переклад та адаптація розповіді ентузіаста розумного будинку, який називає себе blakadder. Нижче описано його досвід, а в статті використано його матеріали. Посилання на оригінал статті blakadder

Попередження: я використовував девайс з передсерійної партії, який був безкоштовно наданий мені компанією Sonoff. Можливо, деякі його елементи бути змінені з офіційним випуском.

Поки що ви можете придбати NSPanel Pro зі знижкою перед відкриттям продажів у магазині Itead.

Після шоку та розчарування випуском прошивки та вересневого оновлення я вирішив піти далі. Найпростіший спосіб зробити це за допомогою Android Debug Bridge.

Розбирання

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

Тепер відкрутіть маленькі гвинти, ті, що обведені червоним. Зніміть шлейф з роз’єму сенсорної панелі та від’єднайте роз’єм, щоб підняти друковану плату.

Підключіть USB-кабель до USB порту комп’ютера.

Встановіть ADB і драйвери

Завантажте драйвери ADB і встановіть їх.
Коли NSPanel Pro буде підключено до комп’ютера через USB, у диспетчері пристроїв має з’явитись новий пристрій.

Завантажте Android platform-tools і розпакуйте вміст у папку. Відкрийте командний рядок і перейдіть до цієї папки. У моєму випадку він був розташований за адресою D:\adb

Надання доступ до ADB

Виконати команду adb devices -l . У ньому буде перелічено всі підключені пристрої з додатковою інформацією.

D:\adb>adb devices -l
List of devices attached
F061512302021100016 device product:px30_evb model:px30_evb device:px30_evb transport_id:3

Виконайте команду adb tcpip 5555, щоб налаштувати NSPanel Pro на прослуховування з’єднання TCP/IP на порту 5555

D:\adb>adb tcpip 5555
restarting in TCP mode port: 5555

Тепер ви можете підключитися до NSPanel Pro бездротовим способом. Якщо ви не знаєте IP-адресу, введіть adb shell ip -o a , щоб дізнатися її.

Спробуйте це, поки ви ще підключені за допомогою USB, щоб переконатися, що все працює.

D:\adb>
adb connect 10.1.1.144
connected to 10.1.1.144:5555

Знову зберіть панель і підключіть її до силового блоку. Після завантаження запустіть adb connect [ip_address].

Використання ADB

З доступом до ADB у вашому розпорядженні є потужний інструмент для контролю NSPanel Pro. Ви можете використовувати його для встановлення та видалення додатків, отримання списку запущених процесів, звільнення пам’яті та навіть отримання root доступу.
Ось список команд ADB, які можна використовувати на NSPanel Pro.

Корисним є імітація натискання кнопки «Додому» за допомогою adb shell input keyevent 3.

Ви також можете легко отримати root-доступ за допомогою adb root.

Надішліть файл до NSPanel Pro, наприклад, нові шпалери:

D:\adb>adb push wallpaper.jpg /sdcard/Download/wallpaper.jpg
wallpaper.jpg: 1 file pushed, 0 skipped. 18.5 MB/s (52101 bytes in 0.003s)

Встановлення програми запуску (launcher)

Щоб полегшити роботу з NSPanel, вам потрібно змінити додаток запуску за замовчуванням. Тобто панель керування eWeLink, на більш звичну. Я вибрав Lawnchchair, так як він має малий розмір. Завантажте APK у папку adb і встановіть його на NSPanel Pro за допомогою ADB.

D:\adb>adb install ch.deletescape.lawnchair.plah_2001.apk
Performing Streamed Install
Success

D:\adb>adb shell monkey -p ch.deletescape.lawnchair.plah 1
bash arg: -p
bash arg: ch.deletescape.lawnchair.plah
bash arg: 1
args: [-p, ch.deletescape.lawnchair.plah, 1]
arg: “-p”
arg: “ch.deletescape.lawnchair.plah”
arg: “1”
data=”ch.deletescape.lawnchair.plah”
Events injected: 1
## Network stats: elapsed time=32ms (0ms mobile, 0ms wifi, 32ms not connected)

Встановіть за замовчуванням програму запуску у меню Settings – Apps & notifications – Advanced – Default apps і встановіть Lawnchair як «Домашня програма».

Щоб увімкнути панель навігації, перейдіть до Налаштування – Дисплей і ввімкніть «show status bar»!

Тепер ви можете вільно орієнтуватися в інтерфейсі користувача.

Home Assistant

Ви можете встановити програму Home Assistant Companion, але у мене виникли проблеми з підключенням, ймовірно, через дуже старий компонент WebView, який використовується в системі. Те ж саме стосується веб-переглядача Fully Kiosk, який скаржиться, що компонент занадто старий.

Але ви все ще можете отримати доступ до інформаційної панелі Home Assistant через браузер. Завантажте Chromium для Android і встановіть його за допомогою команди ADB adb install chromium-106.0.5228.0.apk (номер версії може бути іншим).

D:\adb>adb install chromium-106.0.5228.0.apk
Performing Streamed Install
Success

Це займе деякий час, адже apk файл великий! Ви можете запустити його за допомогою панелі запуску або за допомогою команди adb shell monkey – p org.chromium.chrome 1

Він буде скаржитися на відсутність служб Google Play, просто проігноруйте це повідомлення. Введіть URL-адресу Home Assistant і відкрийте її.

Після переходу на інформаційну панель Home Assistant торкніться трьох крапок і додайте сторінку на головний екран.

Натискання піктограми відкриває повноекранний режим інформаційної панелі Home Assistant.

Можливості

Це рішення не є ідеальним, але це те, що наразі мені вдалося. Найкращим варіантом було б масово звернутися до Itead і вимагати підтримки програми HA Companion або Fully Kiosk Browser із коробки. Вони отримають більше продажів, ми отримуємо більше можливостей, це взаємовигідний сценарій, і тепер ми знаємо, що це можливо. Принаймні вимагайте оновлення WebView до сумісної версії. Твітніть їх на https://twitter.com/ITeadstudio, пишіть їм на support@itead.cc або за допомогою контактної форми!

Колупання в adb-середовищі виявило деякі цікаві речі, такі як mosquitto, сценарії bash для взаємодії з модулем Zigbee, сліди RS485, реле 1 і реле 2 і, можливо, багато іншого. Я сподіваюся, що більше розробників, які розуміються на Android дійсно повністю розблокують цей пристрій.

To enable the navigation bar, go to Settings – Display and turn on “show status bar.”

Now you can freely navigate the user interface.

Home Assistant

You can install the Home Assistant Companion app, but I have connection problems, probably because of the old WebView component used in the system. The same goes for the Fully Kiosk browser, which complains that WebView is too old.

But you can still access the Home Assistant dashboard through the browser. Download Chromium for Android and install it using the ADB command adb install chromium-106.0.5228.0.apk (version number may be different).

D:\adb>adb install chromium-106.0.5228.0.apk
Performing Streamed Install
Success

It will take some time because the apk file is big! You can run it using the launcher or using adb shell monkey – p org.chromium.chrome 1

It will complain about the lack of Google Play services. Ignore the message. Enter the Home Assistant URL and open it.

After going to the Home Assistant dashboard, tap the three dots and add the page to the home screen.

Pressing the icon opens the full-screen mode of the Home Assistant dashboard.

Capabilities

This solution is not perfect, but it’s what I’ve managed so far. The best option would be to reach out to Itead en masse and demand HA Companion or Fully Kiosk Browser support out-of-the-box. They get more sales, we get more features, it’s a win-win scenario, and now we know it’s possible. At the very least, demand that they update WebView to a compatible version. Tweet them at https://twitter.com/ITeadstudio, email them at support@itead.cc, or use the contact form!

Poking around in the adb environment revealed things like mosquitto, bash scripts to interact with the Zigbee module, RS485 traces, relay 1, relay 2, and possibly more. I hope that more developers who understand Android will fully unlock this device.{:}

Налаштовуємо інтерфейс Lovelace UI на NSPanel

В одній з моїх минулих статей я познайомив вас зі способом прошивки NSPanel для більшої сумісності з Home Assistant. Тоді за основу ми брали ESPhome, яка керувала контролером ESP32. Але мікропрограму екрану девайсу ми лишили без змін, це дало змогу не міняти зовнішній вигляд інтерфейсу. В свою чергу екран з мікроконтролером «спілкувалися» між собою за допомогою NSPanel Protocol.

Припускаю, що комусь може не подобатися стандартний інтерфейс NSPanel. Можливо, вас навіть не влаштує обмеження в кількості екранів. Нагадаю, ви можете перемикати екрани інтерфейсу за допомогою свайпів, і цих екранів лише три.

Саме тому сьогодні я вам пропоную спосіб змінити інтерфейс NSPanel на альтернативний, який має назву NSPanel Lovelace UI.

Підготовка та прошивка NSPanel

За основну прошивку в NSPanel Lovelace UI вибрано Tasmota. Хоча існує можливість також додати спеціальний ESPHome component, з ESPHome у мене нічого не вийшло, і я вирішив налаштовувати Tasmota. Саме тому я розкажу вам саме про цю мікропрограму.

Отже, почнемо з прошивки Tasmota на контролер ESP32 в NSPanel. Якщо у вас, як і у мене, вже була раніше встановлена ESPHome на цьому девайсі, простіше всього буде «оновитися» по повітрю (OTA). Зайдіть в веб інтерфейс NSPanel, в нижній частині сторінки оберіть раніше завантажений файл прошивки з вашого комп’ютера і натисніть «Update». Приблизно через хвилину девайс перезавантажиться з вже новою прошивкою Tasmota

upload firmware Esphome

Якщо ж у вас ще оригінальна прошивка «з заводу», прийдеться розібрати NSPanel, і завантажити мікропрограму Tasmota за допомогою USB девайсу, що іноді називають TTL-converter. Як це зробити я вже розказував в цій статті

Після прошивки та перезавантаження девайсу мікроконтролер не під’єднається до вашої Wi-Fi мережі, адже він про неї ще нічого не знає. Він створить свою відкриту Wi-Fi точку доступу зі словом Tasmota в назві. Під’єднайтеся до нової мережі за допомогою, наприклад, смартфону, та введіть в браузері адресу 192.168.4.1, це тимчасова адреса нашої NSPanel. Тут ви можете обрати вашу основну Wi-Fi мережу і зберегти пароль. Збережіть налаштування, а вже після перезавантаження NSPanel під‘єднається до вашої Wi-Fi. Дуже рекомендую в налаштуваннях роутера вказати статичну адресу для нашого девайса.

Налаштування NSPanel з прошивкою Tasmota

Перше, що потрібно зробити, це вказати шаблон пристрою для Tasmota. Для цього перейдіть в браузері за IP адресою девайсу. В Configuration натисніть Configure Other і вставте наступний код шаблона:

{"NAME":"NSPanel","GPIO":[0,0,0,0,3872,0,0,0,0,0,32,0,0,0,0,225,0,480,224,1,0,0,0,33,0,0,0,0,0,0,0,0,0,0,4736,0],"FLAG":0,"BASE":1,"CMND":"ADCParam 2,11200,10000,3950 | Sleep 0 | BuzzerPWM 1"}

Не забудьте залишити чекбокс «Activate»

Завантажте Berry Driver в Tasmota

  1. Завантажте файл autoexec.be з репозиторію Berry Driver
  2. В Tasmota перейдіть в Consoles > Manage File System і завантажте раніше вказаний файл.
  3. Перезавантажте свою NSPanel.

Оновлюємо мікропрограму екрану Nextion на NSPanel

Тепер оновимо прошивку екрана. Для цього в Tasmota перейдіть в Consoles > Console і в залежності від версії використайте одну з наступних команд:

EU Version: FlashNextion http://nspanel.pky.eu/lui-release.tft
US Version Portrait: FlashNextion http://nspanel.pky.eu/lui-us-p-release.tft
US Version Landscape: FlashNextion http://nspanel.pky.eu/lui-us-l-release.tft

Натисніть «Enter» після чого розпочнеться завантаження мікропрограми та прошивка екрану. В залежності від швидкості доступу до мережі, процес може тривати трохи більше п’яти хвилин. Дочекайтеся закінчення завантаження і перезавантажте пристрій.

Налаштовуємо Home Assistant

Встановлюємо плагін AppDaemon

Найпростіший спосіб інсталювати AppDaemon через Home Assistant Supervisor Add-on Store, тоді його буде автоматично підключено до вашого екземпляра Home Assistant.

Додаємо пакет babel до AppDaemon (необов’язково)

Для локалізації інтерфейсу (дата вашою мовою) вам потрібно додати пакет babel до вашого AppDaemon. У вкладці налаштувань AppDaemon в полі python packages введіть текст «babel» та збережіть налаштування.

Інсталюємо Studio Code Server та HomeAssistant Community Store

Для налаштування інтерфейсу NSPanel Lovelace UI необхідно буде редагувати файл apps.yaml. Редагування yaml файлів буде більш зручніше саме в інтерфейсі Studio Code Server.

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

Встановлюємо Lovelace AppDaemon Backend Application

  1. Натисніть у веб-інтерфейсі Home Assistant на панелі меню ліворуч на HACS
  2. Натисніть «Automations» на правій панелі
  3. У нижньому правому куті натисніть “Explore & download repositories”
  4. Введіть NSPanel і натисніть NSPanel Lovelace UI Backend у списку, що з’явиться
  5. У нижньому правому куті панелі, натисніть «Download this repository with HACS».
  6. Тепер з’явиться панель підтвердження, натисніть «Download» та зачекайте завантаження.
  7. Backend Application тепер установлено, і HACS буде повідомляти вас, коли будуть доступні оновлення.

Налаштуйте MQTT на Tasmota і в конфігурації AppDaemon

Спочатку налаштовуємо з’єднання з вашим MQTT сервером у Tasmota.

Будь ласка, заповніть поле «Topic» таким, як він буде в конфігурації. Змініть «Topic» на щось унікальне саме для вашого девайсу, він знадобиться вам пізніше в налаштуваннях appdaemon/apps.yaml

Тепер налаштуйте з’єднання з MQTT в файлі конфігурації AppDaemon. Будь ласка, додайте конфігурацію вашого сервера mqtt, користувача та пароль до appdaemon.yaml. Потім перезавантажте контейнер AppDaemon після додавання конфігурації MQTT. Ви знайдете цей файл тут: config/appdaemon/appdeamon.yaml
secrets: /config/secrets.yaml

appdaemon:
  latitude: 52.0
  longitude: 4.0
  elevation: 2
  time_zone: Europe/Berlin
  plugins:
    HASS:
      type: hass
    MQTT:
      type: mqtt
      namespace: mqtt
      client_id: "appdaemon"
      client_host: 192.168.75.30
      client_port: 1883
      client_user: "mqttuser"
      client_password: "mqttpassword"
      client_topics: NONE
http:
  url: http://127.0.0.1:5050
admin:
api:
hadashboard:

Налаштування NsPanel в AppDaemon

Додайте наступну мінімальну конфігурацію до файлу apps.yaml, який знаходиться в config/appdaemon/apps/apps.yaml

nspanel-1:
  module: nspanel-lovelace-ui
  class: NsPanelLovelaceUIManager
  config:
    panelRecvTopic: "tele/tasmota_your_mqtt_topic/RESULT"
    panelSendTopic: "cmnd/tasmota_your_mqtt_topic/CustomSend"

Вкажіть tasmota_your_mqtt_topic відповідно до топіка, що використовується в конфігурації Tasmota MQTT.

Якщо ваші налаштування і конфігурація правильні, ви повинні побачити такі екрани на NsPanel:

Знайомство з прикладом повної конфігурації NSPanel Lovelace UI

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


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

PS

На мою думку, після натискання кнопки-вимикача час відгуку реле девайса з прошивкою Tasmota став трошки більшим, ніж був з ESPhome. Можливо причина в тому, що NSPanel чекає команду на вмикання реле від Home Assistant. В той же час, в ESPhome вся “магія” відбуваеться лише в девайсі, тобто без очікування відповіді від Home Assistant.

Я вирішив відмовитися від Tasmota на борту NSPanel і, в решті решт, встановив ESPhome з компонентом Lovelace UI. Знайти файл конфігурації ESPhome ви можете в моєму Github репозиторії за ось цим посиланням. Тепер вимикачі працюють досить жваво, і, чесно-кажучи, налаштовувати ESPhome  мені більш звичніше.

Налаштовуємо Z-Wave у Home Assistant

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

Home Assistant використовує вже третю версію аддону Z-Wave, тож є надія, що Z-Wave підтримуватиметься й надалі.

Придбайте USB пристрій Z-Wave

Перш ніж починати налаштування, вам потрібно буде придбати USB-пристрій Z-Wave, який працюватиме як концентратор для вашої Z-Wave мережі.
Я Пропоную обрати між двома девайсами, які зараз досить доступні. Перший пристрій – це Aeotec Gen5+, другий більш доступніший Zooz 700 Series USB. За відгуками користувачів, Zooz має кращий радіус дії та менше енергоспоживання. Користувачі Raspberry Pi інколи можуть знайти в закордонних магазинах шілд Z-Wave, а не USB-стік.

Використання шілду може бути зручнішим в тандемі з деякими моделями корпусу для Raspberry Pi.

Підключіть USB-девайс і визначте його ID

Зрозуміло, що USB-стік потрібно під’єднати до вашого Raspberry Pi, який ви використовуєте як контролер розумного дому. Після підключення вам потрібно буде визначити ідентифікатор для USB пристрою. Цю інформацію необхідно буде ввести в налаштування аддону Z-Wave.

Натисніть меню «Configuration», а потім «Add-ons, Backups & Supervisor».

Вам потрібно буде натиснути вкладку «System» у верхній частині сторінки, щоб відобразити всю інформацію про систему. У розділі «Host» клацніть піктограму з трьома крапками, щоб вибрати пункт меню «Hardware».

Має бути відразу зрозуміло, який пристрій є контролером USB Z-Wave. Zooz відображається як USB-пристрій із дуже довгим ідентифікатором. Для аддона Z-Wave JS вам не потрібно ані вводити ідентифікатор, ані копіювати його. Однак, для “Z-Wave JS to MQTT” вам потрібно буде скопіювати ідентифікатор цього Z-Wave контролера.

Оберіть Z-Wave аддон для інсталяції

Існує два Z-Wave аддони для Home Assistant, а саме «Z-Wave JS» і «Z-Wave JS to MQTT». «Z-Wave JS» це офіційний аддони з технічною підтримкою, тоді як «Z-Wave JS to MQTT» це аддон, що створений спільною. “Z-Wave JS” надає стандартні функції, тоді як “Z-Wave JS to MQTT” надає більше опцій і містить багатофункціональну панель керування. Більш досвідчені користувачі можуть віддати перевагу Z-Wave JS замість MQTT.

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

Supervised версія Home Assistant має вбудоване сховище доповнень, що робить встановлення аддонів дуже простим. Якщо ви використовуєте не Supervised версію, вам доведеться налаштувати контейнери Docker вручну.

Доповнення №1: аддон Z-Wave JS

Щоб встановити аддон Z-Wave JS, перейдіть на сторінку «Configuration > Add-ons, Backups & Supervisor».

Натисніть кнопку «Add-on Store» внизу.

Знайдіть аддон Z-Wave JS і натисніть на неї.

Натисніть кнопку «Install».

Після встановлення аддону перейдіть на вкладку «Configuration», яка відображатиметься над сторінкою аддону Z-Wave JS. Вам потрібно буде вибрати пристрій USB для контролера Z-Wave. Вам не потрібно вводити чи копіювати ID, оскільки він відобразиться автоматично. Залиште всі ключі автентифікації порожніми, оскільки вони будуть згенеровані автоматично під час запуску. Натисніть кнопку «Save».

Поверніться на вкладку «Info». Переконайтеся, що аддон запуститься під час завантаження, також увімкніть watchdog, щоб аддон міг автоматично перезапуститися у разі збою. Тепер натисніть кнопку «Start», щоб завантажити аддон.

Щоб переконатися, що ключі безпеки генеруються автоматично, перейдіть на вкладку «Конфігурація». Ви повинні побачити згенеровані ключі. Якщо бажаєте, ви можете додати свої ключі безпеки замість згенерованих, але ви повинні переконатися, що вони будуть в належному форматі.

Налаштування інтеграції Z-Wave JS

Тепер, коли ви встановили та налаштували аддон, вам ще потрібно буде налаштувати інтеграцію Z-Wave. Цей крок може бути не відразу інтуїтивно зрозумілий. Іноді користувачі припускають, що встановлення аддону буде достатньо. Налаштування інтеграції необхідно, щоб ви могли додавати та видаляти пристрої з мережі Z-Wave.

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

Перейдіть на вкладку «Integrations» на сторінці «Configuration > Devices & Services», щоб налаштувати інтеграцію Z-Wave.

Там буде кнопка «Configure», яку потрібно буде натиснути, щоб розпочати налаштування.

Важливо: перш ніж ви зможете налаштувати інтеграцію Z-Wave, вам може знадобитися перезавантажити Home Assistant після завершення налаштування надбудови Z-Wave JS. Або замість перезавантаження Home Assistant, коли Z-Wave JS не виявлено відразу, ви можете натиснути кнопку «Додати інтеграцію» в нижньому кутку та знайти «Z-Wave JS», щоб встановити цю інтеграцію вручну.

Натисніть «Submit», щоб розпочати налаштування.

Єдине, що вам потрібно налаштувати, це «кімната», де буде розташований ваш Z-Wave USB пристрій. Це допомагає групувати ваші пристрої на інформаційній панелі «Overview». Натисніть «Finish», щоб завершити налаштування.

Тепер ви бачите, що ця інтеграція більше не відображається як «Discovered».

Додаємо новий пристрій у свою Z-Wave мережу

Зі встановленим аддоном Z-Wave JS і налаштованою Z-Wave інтеграцією ви можете додати пристрій Z-Wave на свій вибір! Для прикладу давайте додамо дріт-вимикач Zooz ZEN15.

На вкладці «Integrations» на сторінці «Configuration > Devices & Services» натисніть кнопку «Configure» для інтеграції Z-Wave JS.

Потім натисніть «Add Device», щоб розпочати процес додавання нового пристрою Z-Wave до вашої мережі.

У «режимі додавання» вам потрібно натиснути кнопку або послідовність кнопок, щоб додати пристрій до вашої мережі. Процедура може відрізнятися для різних Z-Wave пристроїв, тому вам слід ознайомитися з посібником. Адже деякі пристрої мають різні методи додавання в Z-Wave мережу.

Що стосується Zooz ZEN15, потрібно натиснути й утримувати кнопку на шнурі живлення протягом 3 секунд, щоб додати його до мережі.

Також є можливість сканувати QR-код, якщо ви використовуєте пристрій, який це може. Щоб Home Assistant використовував QR-коди, потрібно налаштувати SSL.

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

Доповнення №2: аддон Z-Wave JS to MQTT

Якщо ви вирішили встановити аддон Z-Wave JS to MQTT замість Z-Wave JS, перейдіть на сторінку «Configuration > Add-ons, Backups & Supervisor». Натисніть кнопку «Add-on Store». Знайдіть надбудову Z-Wave JS to MQTT у розділі «Community Add-ons» та натисніть на неї.

Щоб розпочати встановлення натисніть «Install».

Бажано ввімкнути всі налаштування: start on boot, watchdog та show in sidebar. Таким чином Z-Wave JS to MQTT запускається автоматично під час перезавантаження, перезапускається під час збою та відобразить в боковому меню посилання на панель керування. Тепер натисніть кнопку «Start», щоб запустити аддон Z-Wave JS to MQTT.

Наступний крок дуже важливий. Вам потрібно перейти на вкладку «Configuration» аддону та ввести у полі «Host» номер порту 3000, як показано на знімку екрана. Ви можете вказати й інший номер порту, але, оскільки, він буде використовуватися локально, і лише для одного екземпляра Z-Wave, то можна використовувати значення за замовчуванням.

Якщо ви запустили аддон до цього кроку, як я рекомендував, вам буде запропоновано перезапустити аддон.

Тепер вам потрібно перейти на сторінку «Z-Wave JS», натиснувши меню в бічній панелі. Ви можете вибрати, чи бажаєте ви надіслати статистику, щоб допомогти проєкту.

Ви перейшли на сторінку за замовчуванням панелі керування Z-Wave JS to MQTT. Оскільки, ви не завершили налаштування, на даний момент у списку немає пристроїв. Натисніть на значок меню в «Control Panel».

Випаде меню, в якому буде відображено певні пункти. Натисніть на пункт меню «Settings».

Пам’ятаєте крок перевірки ID обладнання? Вам потрібно буде скопіювати та вставити ID в поле «Serial Port». Якщо ви скористаєтеся випадаючим меню, ви, ймовірно, побачите опцію /dev/ttyUSB0. Це може бути вашим USB Z-Wave-пристроєм, але іноді рекомендують використовувати повний ідентифікатор, оскільки загальний ID /dev/ttyUSB0 теоретично може змінитися.

Налаштування інтеграції Z-Wave JS (з другим аддоном)

Так само, як і з аддоном Z-Wave JS, вам потрібно буде встановити інтеграцію Z-Wave JS. Цього разу різниця полягає в тому, що серверну частину Z-Wave можна налаштовувати за допомогою багатофункціональної панелі керування Z-Wave JS to MQTT. Для цього кроку важливо натиснути кнопку «Add Integration», а не використовувати «Discovered» інтеграції, щоб забезпечити належне налаштування.

Під час встановлення інтеграції Z-Wave JS to Z-Wave JS до MQTT я помітив, що на сторінці «Integrations» відображаються «Z-Wave JS» і «CP2102N USB to UART Bridge» (ви можете не бачити їх обидві, якщо не перезавантажите Home Assistant).

Натисніть кнопку «Add Integration» на вкладці «Integrations» на сторінці «Configuration > Devices & Services», щоб налаштувати інтеграцію Z-Wave для підключення до аддону Z-Wave JS to MQTT.

Введіть в поле пошуку «Z-Wave JS», щоб швидше знайти інтеграцію Z-Wave JS.

Якщо побачите одну чи дві інші інтеграції Z-Wave, натисніть «No, set up another instance of Z-Wave JS». Це потрібно зробити, щоб ви могли підключитися до серверної частини Z-Wave JS to MQTT. Не хвилюйтеся, коли інтеграцію буде встановлено, інші екземпляри інтеграції Z-Wave будуть автоматично видалені, оскільки у вас буде вже повністю налаштована інтеграція Z-Wave JS.

Ви повинні зняти чекбокс із запитом «Use the Z-Wave JS Supervisor add-on», оскільки інсталяція буде намагатися встановити аддон Z-Wave JS, що дуже небажано. Натисніть «Submit», щоб продовжити.

Під час встановлення інтеграції Z-Wave для аддону Z-Wave JS to MQTT вам буде запропоновано ввести адресу веб-сокета служби Z-Wave JS to MQTT. Ми пам’ятаємо, що номер порту за замовчуванням є 3000, тому, якщо ви використовуєте номер порту за замовчуванням, ви зможете натиснути «Submit», не змінюючи жодних значень в полі.

Важливо, щоб ви ввімкнули порт websocket в панелі керування Z-Wave JS to MQTT перед налаштуванням цієї інтеграції.

Якщо все пройде добре, вам буде показано список знайдених пристроїв. Наразі в ньому має бути лише ваш USB пристрій. Оберіть кімнату для Z-Wave контролера. Натисніть «Finish», щоб завершити налаштування інтеграції Z-Wave JS.

Перейдіть до меню «Z-Wave JS» на лівій бічній панелі, щоб відкрити Панель керування. Ви повинні побачити свій Z-Wave контролер у списку. Тепер ви можете додавати пристрої до своєї Z-Wave мережі.

Додаємо нові пристрої у свою Z-Wave мережу

Додавання пристроїв у вашу мережу Z-Wave трохи відрізняється від процесу в аддоні Z-Wave JS. Вам потрібно перейти на сторінку «Z-Wave JS» і натиснути на пункт меню «Actions».

Ви побачите кнопки «Manage Nodes» та «Advanced». Натисніть «Manage Nodes».

Щоб додати пристрій, потрібно запустити процес «Inclusion». Натисніть «Next».

Z-Wave JS to MQTT надає вам більше можливостей під час «inclusion» процесу. Якщо ви користуєтеся настільним ПК, використання QR-коду може бути непростим, якщо у вас, немає веб-камери. Крім того, вам потрібно буде налаштувати SSL, щоб Home Assistant використовував QR-коди. Використання опції За замовчуванням у більшості випадків може підійти для ваших потреб, якщо у вас немає причин використовувати інші.

Натисніть «Next», щоб почати процес додавання.

Буде запущено 30-секундний таймер. Вам потрібно буде натиснути відповідну послідовність кнопок на вашому пристрої, щоб додати його в Z-Wave мережу.

Коли пристрій буде додано, ви побачите повідомлення про успішне додавання девайсу. З якихось причин вимикач живлення Zooz не використовував захист S2, тому за замовчуванням було встановлено значення «None».

Тепер ви повинні побачити новий пристрій у списку Z-Wave пристроїв

Отже, аддон Z-Wave JS to MQTT та його налаштування може бути для вас дещо складнішими, але ви отримуєте набагато більше функцій, які можуть бути цінними.

Перегляд пристроїв на інформаційній панелі

Встановивши вибраний аддон Z-Wave, налаштувавши інтеграцію Z-Wave і додавши свій перший пристрій, ви зможете побачити сутності, створені пристроєм, коли перейдете на сторінку інформаційної панелі «Overview». Там ви можете вмикати чи вимикати пристрій, переглядати значення датчиків залежно від можливостей вашого пристрою. Для вимикача Zooz є можливість увімкнути або вимкнути його, і переглянути споживання електроенергії.

Помітно, що вимикач і датчики згруповано в дві окремі секції на основі типів об’єктів (перемикачі, датчики тощо).

Щоб перевірити, чи ваш додаток/інтеграція Z-Wave працює належним чином із вашим Z-Wave пристроєм, ви можете натиснути кнопку перемикання для увімкнення/вимкнення пристрою.

Статтю перекладено та адаптовано. Джерело

Стрімимо з камер Nest на телевізор за допомогою Chromecast

Тепер ви зможете дивитися, хто зараз біля ваших вхідних дверей хоч по телевізору.

Уявіть, ви зручно влаштувались на дивані і дивитеся свіжий епізод улюбленого серіалу на Netflix разом з дітьми, але в двері хтось дзвонить або ви чуєте шум із дитячої кімнати. Якщо у вас вдома є Google Chromecast, який підключений до телевізора, вам не потрібно діставати телефон або витягувати шию, щоб подивитись на дисплей Nest Hub— ви можете просто попросити Google показати вам трансляцію з вашого дверного дзвінка або камери безпеки прямо на цьому телевізорі.

З будь-якої сумісної камери безпеки Nest, Arlo, Wyze, Eufy, Netatmo, TP-Link Kasa та інших можна транслювати в прямому ефірі на великому екрані за допомогою Chromecast. А починаючи з минулого місяця, ви також можете транслювати відео і з нових камер Nest, якщо у вас є Chromecast із Google TV.

Нижче список нових камер Nest з яких тепер можна транслювати відео.

  • Nest Doorbell battery *
  • Nest Cam (indoor, wired) *
  • Nest Cam (outdoor or indoor, battery) *
  • Nest Cam with floodlights *
  • Nest Cam IQ (indoor and outdoor — now discontinued)
  • Nest Doorbell wired (formerly the Nest Hello)
  • Nest Cam (indoor, first-gen)

(*Працюють лише з Chromecast з Google TV)

Коли ваші камери та Chromecast увімкнені, ви легко зможете налаштувати стрімінг на телевізор. В першу чергу переконайтеся, що ваша камера та Chromecast підключені до однієї мережі Wi-Fi. Потім виконайте наступні дії.

Додайте свій телевізор з Chromecast до програми Google Home

По-перше, вам потрібно переконатися, що ваш Chromecast підключено до того самого облікового запису, що й ваш смартфон або планшет.

  • Відкрийте програму Google Home на своєму смартфоні.
  • Знайдіть іконку свого Chromecast — вона буде під кімнатою, у якій ви розмістили її під час налаштування.
  • Натисніть і утримуйте цю іконку.
  • Тисніть значок налаштувань у верхньому правому куті.
  • Торкніться «Recognition & Sharing» (Запис та обмін).
  • Якщо ваш пристрій не під’єднано, у верхній частині екрану ви побачите банер із написом «Enable voice control and more» (Увімкнути голосове керування та інше).
  • Торкніться його та виконайте вказівки, щоб зв’язати Chromecast із Google Home.

Але, якщо ваш пристрій уже під’єднано, тоді банера там не буде, а ваша адреса електронної пошти має відображатися в розділі «Linked account(s) (Пов’язані облікові записи)», це вказує на те, що ваш телевізор уже під’єднано.

Переглядайте відео з вашого відеодзвінка чи камери безпеки на телевізорі

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

  • Скажіть своїй розумній колонці або Google Assistant на смартфоні «ОК, Google» або «hey, Google», а потім «followed by [назва камери] on [назва телевізора або пристрою Chromecast]».
  • На Chromecast із Google TV, утримуйте кнопку Асистента на пульті дистанційного керування та скажіть фразу пробудження «OK, Google» або «hey, Google», а потім «show [назва камери]».
  • Щоб зупинити трансляцію, скажіть «stop [назва пристрою TV або Chromecast]» або натисніть кнопку «Додому» на Chromecast на пульті Google TV.

Встановлюємо «Ukraine Alarm» в Home Assistant, та налаштовуємо сповіщення

В оновленні 2022.5.3 до Home Assistant з’явилась нова інтеграція, що має назву «Ukraine Alarm». З її допомогою можна отримувати інформацію про повітряні тривоги або інші типи тривог на території України в режимі реального часу.

«Ukraine Alarm» створює чотири бінарні сенсори, кожен з яких відповідає за певний тип тривоги. Коли сенсор в стані «on» – оголошено відповідну тривогу.

В версії 2022.5.4 HA оновилась і вище згадана інтеграція. Тепер не потрібно чекати ключ API від розробників (який можуть і не надати), достатньо налаштувати «Ukraine Alarm» вказавши територію, яку плануєте моніторити.

Додавання інтеграції «Ukraine Alarm» в Home Assistant.

Натисніть кнопку My або додайте «Ukraine Alarm» вручну натиснувши кнопку « + Add Integration» і почніть вводити назву. Далі клікніть по назві нашої інтеграції.

Далі необхідно вибрати територію, де ви плануєте відслідковувати стан тривог. Це може бути область, район або територіальна громада чи місто.

На останньому кроці можна призначити кімнату (зону) до якої будуть додані нові сенсори з інтеграції.

Після натискання на кнопку «Finish» інтеграцію «Ukraine Alarm» буде додано.

Як видно на зображенні, кожен екземпляр такої інтеграції створює по чотири сутності binary_sensor, що відповідають за наявність певного типу тривоги. Це тривоги Air, Artillery, Urban Fights, та Unknown. Існує ліміт на кількість територій, щоб не перевищити кількість API запитів з одного IP. Ви можете моніторити не більше 5ти.

Додайте сенсори на головний екран в Dashboard

Якщо ви не бажаєте отримувати сповіщення, а лише хочете мати наочну інформацію про тривоги в певному регіоні – додайте сенсори в картку lovelace. Звичайно, ви можете оформити зовнішній вигляд за власним смаком.

На першому зображенні картка з чотирма сенсорами тривог в той момент, коли тривог немає. На другому зображенні стан сенсорів, коли оголошено повітряну тривогу.

Додаємо сповіщення в мобільний додаток Home Assistant та Telegram

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

Також буде додано код, який дозволить керувати сповіщеннями в вашому мобільному додатку Home Assistant. В цьому прикладі буде використано голосове сповіщення, причому ви його почуєте навіть тоді, коли ваш телефон буде у беззвучному режимі. Що ж, познайомимось з кодом…

В коді вище я лишив коментарі до відповідних його частин.

На сьогодні все. А вам мирного неба, і ніяких тривог!