Home Assistant

Материал из noname.com.ua
Перейти к навигацииПерейти к поиску

Home Assistant

Пока это заготовка статьи про домашнюю автоматизацию и реализацию некоторых фич
Пока что тут в основном ссылки


  • Прошивки

Zigbee2Tasmota

Прошивки

Термины и понятия

automation

Automation — правило “если-то”:

automation:
  - alias: Door opened → notify
    trigger:
      - platform: state
        entity_id: binary_sensor.external_door
        from: 'off'
        to: 'on'
    condition: []
    action:
      - service: notify.chat
        data: {message: "Дверь открыта"}

script

Script — именованная последовательность action (шагов).
Не имеет триггера, запускается вручную (кнопкой/сервисы) или из automation.
Скрипт можно так же рассматривть как процедуру (для группировки и переиспользования кода)

script:
  send_door_alert:
    alias: Send door alert
    sequence:
      - service: notify.chat
        data: {message: "Дверь открыта"}

Вызов из automation:

action:
  - service: script.send_door_alert

trigger

Trigger — часть automation. Это событие, которое запускает automation: смена состояния, время, MQTT-сообщение, вебхук, нажатие кнопки и т.д. Сам по себе trigger вне automation не существует.

Примеры триггеров:

state (изменение состояния сущности) time / time_pattern event / webhook mqtt device (из интеграций) numeric_state (порог)


script = только действия;

trigger = причина старта automation.

Триггер

Триггер — это событие, которое запускает автоматизацию само по себе: изменение состояния, время, нажатие кнопки input_button, приход webhook и т.д.

Скрипт

Сценарий (script) триггера не имеет — он запускается вручную (кнопкой в UI, из другой автоматизации, по голосу и т.п.).

Пример скрипта

Помещать в файл scripts.yaml или любой другой определенный в script: !include scripts.yaml

tv_living_room_wol:
  alias: "TV Living Room: Power On (WOL)"
  sequence:
    - service: wake_on_lan.send_magic_packet
      data:
        mac: "38:8c:50:00:a3:14"

Что бы запустить скрипт можно добавить кнопку

Настройки панели --> добавить карточку (справа внизу) --> Объект (что бы вписать вкод вручную)

HA-add-button-250923154324.png

HA-add-button- 250923154402.png

HA-button-250923154153.png

type: button
name: Включить ТВ
icon: mdi:television
tap_action:
  action: call-service
  service: script.turn_on
  target:
    entity_id: script.tv_living_room_wol
hold_action:
  action: none
double_tap_action:
  action: none
show_state: false