Home Assistant: различия между версиями
Sirmax (обсуждение | вклад) |
Sirmax (обсуждение | вклад) |
||
| Строка 48: | Строка 48: | ||
==script== |
==script== |
||
| − | Script — именованная последовательность action (шагов). |
+ | Script — именованная последовательность action (шагов). <BR> |
| − | Не имеет триггера, запускается вручную (кнопкой/сервисы) или из automation. |
+ | Не имеет триггера, запускается вручную (кнопкой/сервисы) или из automation. <BR> |
| + | Скрипт можно так же рассматривть как процедуру (для группировки и переиспользования кода) |
||
<PRE> |
<PRE> |
||
script: |
script: |
||
| Строка 60: | Строка 61: | ||
Вызов из automation: |
Вызов из automation: |
||
| + | <PRE> |
||
| − | |||
action: |
action: |
||
- service: script.send_door_alert |
- service: script.send_door_alert |
||
| + | </PRE> |
||
| + | ==trigger== |
||
| ⚫ | |||
| − | Что такое trigger |
||
| + | Сам по себе trigger вне automation не существует. |
||
| − | |||
| ⚫ | |||
Примеры триггеров: |
Примеры триггеров: |
||
state (изменение состояния сущности) |
state (изменение состояния сущности) |
||
| − | |||
time / time_pattern |
time / time_pattern |
||
| − | |||
event / webhook |
event / webhook |
||
| − | |||
mqtt |
mqtt |
||
| − | |||
device (из интеграций) |
device (из интеграций) |
||
| − | |||
numeric_state (порог) |
numeric_state (порог) |
||
| Строка 86: | Строка 83: | ||
Хочешь, чтобы сработало само по условию → automation (с trigger). |
Хочешь, чтобы сработало само по условию → automation (с trigger). |
||
| + | |||
| − | Хочешь переиспользуемую процедуру/кнопку → script. |
||
Внутри automation много шагов? Вынеси их в script, а automation оставь минимальной: trigger/conditions → script.*. |
Внутри automation много шагов? Вынеси их в script, а automation оставь минимальной: trigger/conditions → script.*. |
||
Версия 09:40, 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).
Внутри 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