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

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

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

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

Ukraine Alarm api key

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

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

Open your Home Assistant instance and start setting up a new integration.

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

Ukraine Alarm step 1

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

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

Ukraine Alarm step 2.4

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

Ukraine Alarm step 3

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

Ukraine Alarm entities

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

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

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

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

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

telegram notification

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

файл /config/automations/notify_telegram_ukraine_alarm.yaml:

- id: notify-air-alarm
  alias: Air alarm
  initial_state: on
  trigger:
    - platform: state
      entity_id: binary_sensor.teritorialna_gromada_air #стан сенсора як тригер
      to: "on"
  action:
    - service: notify.telegram #сповіщення в telegram 
      data:
        title: '{{"\U0001F525"}}{{"\U0001F525"}}{{"\U0001F525"}} *Повітряна тривога* {{"\U0001F525"}}{{"\U0001F525"}}{{"\U0001F525"}}'
        message: "О {{ states('sensor.time_date') }} оголошено повітряну тривогу"
        data:
          inline_keyboard:
            - '{{ "\u21a9\ufe0f" }} Панель керування:/to_cp'
    - service: notify.mobile_app_note20 #сповіщення в додаток голослм
      data:
        title: "Air alert! Go to the shelter immediately!" #текст, який ви почуєте
        message: TTS # вмикає режим text to speech
        data:
          channel: alarm_stream # гучність, (alarm_stream_max - максимальна) 
    - service: notify.mobile_app_note20 # сповіщення в додаток (шторка)
      data:
        title: Повітряна тривога!  #заголовок в шторці
        message: Негайно прямуйте в укриття # текст сповіщення в шторці
        data:
          ttl: 0
          color: red # колір сповіщення
          priority: high # пріоритет

- id: notify-air-alarm-cancel
  alias: Air alarm cancel
  initial_state: on
  trigger:
    - platform: state
      entity_id: binary_sensor.teritorialna_gromada_air
      to: "off"
  action:
    - service: notify.telegram
      data:
        title: "*Відбій тривоги*"
        message: "О {{ states('sensor.time_date') }} оголошено відбій тривоги"
        data:
          inline_keyboard:
            - '{{ "\u21a9\ufe0f" }} Панель керування:/to_cp'
    - service: notify.mobile_app_note20
      data:
        title: "Air alert canceled! Get back to your business!"
        message: TTS
        data:
          channel: alarm_stream
    - service: notify.mobile_app_note20
      data:
        title: Відбій тривоги!
        message: Повертайтесь до своїх справ
        data:
          ttl: 0
          color: green
          priority: high


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

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

Залишити відповідь