diff --git a/docs/hass/automation/trigger/time.md b/docs/hass/automation/trigger/time.md new file mode 100755 index 0000000..c8040ca --- /dev/null +++ b/docs/hass/automation/trigger/time.md @@ -0,0 +1,133 @@ +# Time trigger + +`time` — это один из триггеров которые можно использовать в автоматизациях Home Assistant. + +С помощью этого триггера можно запустить автоматизацию в определенное время. Есть несколько вариантов как можно использовать триггер: + +- указать точное время +- использовать `input_datetime` +- использоваь сенсор в котором хранится время +- указать несколько разных объектов + +!!! note + + Важный момент — чтобы этот триггер правильно работал нужно чтобы в Home Assistant был указан правильный часовой пояс. + +Кроме триггера `time` еще есть триггер `time_pattern` с помощью которого можно настраивать регулярный запуск автоматизаций. + +## `time` - точное время + +!!! example + + ```yaml + automation: + - trigger: + platform: time + at: "07:00:00" + action: + service: system_log.write + data: + message: "время 07:00:00" + ``` + Эта автоматизация будет запускаться каждый день в 7 утра. Если сервер в момент запуска будет выключен, то запуска автоматизации не будет + +Значение `at` записывается в формате `ЧЧ:ММ:СС` (`ЧЧ` - час, `ММ` - минуты, `СС` - секунды, `:` - разделитель). + +Секунды или минуты, равные 00 можно не указывать. Запись `at: "01:58"` означает то же самое что и `at: "01:58:00"`. + +В поле `at` можно указать только время, там нельзя указать дату и время. Если написать `at: "2023-10-20 01:58:00"`, то проверка конфигурации Home Assistant пройдет успешно, но в логе будет ошибка + +Указание точного времени в автоматизации используется редко. Это не особо удобно. Чтобы поменять время запуска автоматизации нужно менять код и нажимать кнопку чтобы Home Assistant узнал про изменение. Более гибкие способы указания времени — это использование `input_datetime` или использование сенсора. + +## `input_datatime` + +!!! example "Пример автоматизации" + + ```yaml + automation: + - trigger: + platform: time + at: input_datetime.sample + action: + service: system_log.write + data: + message: time + + ``` + +Это автоматизация выполнится в момент времени который указан в `input_datetime.sample`. + +`input_datetime` может быть определен тремя разными способами: + +- только время +- только дата +- есть время и дата + +Вот пример описания `input_datetime` в котором есть время и дата: + +```yaml +input_datetime: + sample: + name: Sample + has_time: true + has_date: true +``` + +- в `input_datetime` есть только время - автоматизация будет запускаться каждый день в это время +- в `input_datetime` есть только дата - автоматизация запустися в `00:00:00` в эту дату +- в `input_datetime` есть время и дата - автоматизация запустится в указанную дату в указанное время + +## Сенсор + +В качестве значения `at` можно указать сенсор у которого `device_class timestamp`: + +```yaml +automation: + - trigger: + platform: time + at: sensor.phone_next_alarm + action: + service: system_log.write + data: + message: alarm +``` + +## Комбинирование разных объектов + +В значении `at` триггера `time` можно указать несколько разных объектов: + +```yaml +automation: + - trigger: + platform: time + at: + - "09:38:00" + - input_datetime.sample + - sensor.phone_next_alarm + action: + service: system_log.write + data: + message: time + +``` + +## Запуск раз в месяц + +Иногда надо запускать что-то раз в месяц в какое-то число. Это можно сделать с помощью триггера `time` и доп. условия `condition`: + +```yaml +automation: + - trigger: + platform: time + at: 21:40:00" + condition: + condition: template + value_template: > + {{ now().day == 20 }} + action: + service: system_log.write + data: + message: "Today is 20" +``` + +Запуск произойдет 20 числа в 21:40, при условии, что сервер работает в указанное время \ No newline at end of file diff --git a/docs/hass/package/budilnik.md b/docs/hass/package/budilnik.md index 0da2d73..315c6f9 100755 --- a/docs/hass/package/budilnik.md +++ b/docs/hass/package/budilnik.md @@ -9,8 +9,8 @@ ## Карточка -![](../../../images/software/hass/card-budilnik-1.png) -![](../../../images/software/hass/card-budilnik-2.png) +![](../../images/hass/card-budilnik-1.png) +![](../../images/hass/card-budilnik-2.png) ??? example "Код карточки" diff --git a/docs/hass/zigbee2mqtt.md b/docs/hass/zigbee2mqtt.md index add3cff..fbdd5e5 100755 --- a/docs/hass/zigbee2mqtt.md +++ b/docs/hass/zigbee2mqtt.md @@ -2,7 +2,7 @@ Чтоб установить актуальную версию, нам нужно зайти в магазин дополнений и добавить туда новую ссылку: `https://github.com/zigbee2mqtt/hassio-zigbee2mqtt` -![](../../images/software/hass/zigbee2mqtt-1.png) +![](../images/hass/card-budilnik-1.png) После добавления этой ссылки в репозитории, необходимо перезапустить Home Assistant. @@ -35,7 +35,7 @@ USB Stick Sonoff ZB Dongle-E – это новый координатор Zigbee 6. Выбираем **Все оборудование**. 7. Находим через поиск наш стик - можно ввести в поиск sonoff, покажется адрес -![](../../images/software/hass/zigbee2mqtt-2.png) +![](../images/hass/zigbee2mqtt-2.png) Копируем строчу начиная от **DEVLINKS:**. Строчка должна выглядеть примерно так: diff --git a/docs/images/software/hass/card-budilnik-1.png b/docs/images/hass/card-budilnik-1.png similarity index 100% rename from docs/images/software/hass/card-budilnik-1.png rename to docs/images/hass/card-budilnik-1.png diff --git a/docs/images/software/hass/card-budilnik-2.png b/docs/images/hass/card-budilnik-2.png similarity index 100% rename from docs/images/software/hass/card-budilnik-2.png rename to docs/images/hass/card-budilnik-2.png diff --git a/docs/images/software/hass/zigbee2mqtt-1.png b/docs/images/hass/zigbee2mqtt-1.png similarity index 100% rename from docs/images/software/hass/zigbee2mqtt-1.png rename to docs/images/hass/zigbee2mqtt-1.png diff --git a/docs/images/software/hass/zigbee2mqtt-2.png b/docs/images/hass/zigbee2mqtt-2.png similarity index 100% rename from docs/images/software/hass/zigbee2mqtt-2.png rename to docs/images/hass/zigbee2mqtt-2.png