Home Assistant: различия между версиями

Материал из noname.com.ua
Перейти к навигацииПерейти к поиску
Строка 30: Строка 30:
   
 
=Термины и понятия=
 
=Термины и понятия=
  +
  +
==automation==
  +
Automation — правило “если-то”:
  +
<PRE>
  +
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: "Дверь открыта"}
  +
</PRE>
  +
==script==
  +
  +
Script — именованная последовательность action (шагов).
  +
Не имеет триггера, запускается вручную (кнопкой/сервисы) или из automation.
  +
<PRE>
  +
script:
  +
send_door_alert:
  +
alias: Send door alert
  +
sequence:
  +
- service: notify.chat
  +
data: {message: "Дверь открыта"}
  +
</PRE>
  +
  +
Вызов из automation:
  +
  +
action:
  +
- service: script.send_door_alert
  +
  +
Что такое trigger
  +
  +
Trigger — часть automation. Это событие, которое запускает automation: смена состояния, время, MQTT-сообщение, вебхук, нажатие кнопки и т.д. Сам по себе trigger вне automation не существует.
  +
  +
Примеры триггеров:
  +
  +
state (изменение состояния сущности)
  +
  +
time / time_pattern
  +
  +
event / webhook
  +
  +
mqtt
  +
  +
device (из интеграций)
  +
  +
numeric_state (порог)
  +
  +
Когда что использовать
  +
  +
Хочешь, чтобы сработало само по условию → automation (с trigger).
  +
  +
Хочешь переиспользуемую процедуру/кнопку → script.
  +
  +
Внутри automation много шагов? Вынеси их в script, а automation оставь минимальной: trigger/conditions → script.*.
  +
  +
Итого:
  +
  +
automation = логика запуска + условия + действия;
  +
  +
script = только действия;
  +
  +
trigger = причина старта automation.
  +
  +
Extended thinking
  +
ChatGPT can make mistakes. OpenAI doesn't use Mirantis Inc workspace data to train its models.
  +
 
==Триггер==
 
==Триггер==
 
Триггер — это событие, которое запускает автоматизацию само по себе: изменение состояния, время, нажатие кнопки input_button, приход webhook и т.д.
 
Триггер — это событие, которое запускает автоматизацию само по себе: изменение состояния, время, нажатие кнопки input_button, приход webhook и т.д.

Версия 09:38, 26 сентября 2025

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 (порог)

Когда что использовать

Хочешь, чтобы сработало само по условию → automation (с trigger).

Хочешь переиспользуемую процедуру/кнопку → script.

Внутри automation много шагов? Вынеси их в script, а automation оставь минимальной: trigger/conditions → script.*.

Итого:

automation = логика запуска + условия + действия;

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

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

Extended thinking ChatGPT can make mistakes. OpenAI doesn't use Mirantis Inc workspace data to train its models.

Триггер

Триггер — это событие, которое запускает автоматизацию само по себе: изменение состояния, время, нажатие кнопки 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