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

Відстежуємо Сонце і Місяць у 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».
  • Дотримуйтесь інструкцій на екрані, щоб завершити налаштування.

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

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

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

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

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

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

Використання інтеграції 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, і інсталювати її найзручніше саме звідти.

custom_sun-card

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

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. Наприклад:

chips-card-weather

Щоб створити більш візуально привабливішу картку, ми використаємо 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. Це буде фон картки з фазами місяця. У мене це зображення дерева на тлі вечірнього неба, а ви можете обрати зображення на ваш смак.

sensor.moon_phase_image

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

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

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

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *