Home Assistant: различия между версиями
Sirmax (обсуждение | вклад) |
Sirmax (обсуждение | вклад) |
||
| Строка 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
Пока это заготовка статьи про домашнюю автоматизацию и реализацию некоторых фич
Пока что тут в основном ссылки
- WebOS : https://www.home-assistant.io/integrations/webostv/
- ModKam Реле https://www.youtube.com/watch?v=u3zDXNGVbgo
- (рус) Базовая установка в контейнерах https://habr.com/ru/articles/731110/
- (рус) Тут кой-какие примеры ручного добавления в конфиги - https://sprut.ai/article/home-assistant-statya-3-dobavlyaem-ustroystva (но качество статьи спорное)
- Прошивки
Zigbee2Tasmota
- Тут вроде бы должно быть описание как интегрироваться с ХА ноя ничего не понял https://thehelpfulidiot.com/how-to-use-zigbee2tasmota-with-home-assistant
Прошивки
- Tasmota https://zigbee.blakadder.com/Sonoff_ZBBridge-P.html
- Еще одна инструкция по прошивке бриджа https://dialedin.com.au/blog/sonoff-zbbridge-p-setup
- Ещ инструкция (по-моему самая полная и правильная) https://notenoughtech.com/home-automation/tasmota-on-sonoff-zb-bridge-pro/#flash
Термины и понятия
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"
Что бы запустить скрипт можно добавить кнопку
Настройки панели --> добавить карточку (справа внизу) --> Объект (что бы вписать вкод вручную)
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