м (→command) |
м (→command) |
||
Строка 153: | Строка 153: | ||
=== <code>command</code> === | === <code>command</code> === | ||
Shell-команда, которая будет запущена (может содержать [[Automation/Templates|шаблоны]]). Команда | Shell-команда, которая будет запущена (может содержать [[Automation/Templates|шаблоны]]). Команда может быть полноценным shell-скриптом, начинающийся с заголовка <code class "value">"#!"</code>, для скриптов так же допустимо использование шаблонов. | ||
== Действие "condition" == | == Действие "condition" == |
Версия от 12:35, 8 ноября 2024
Действие "property"
Это действие управляет выбранным свойством, то есть отправляет команду устройству. Примеры описания действия:
...
"actions":
[
{
"type": "property",
"endpoint": "zigbee/kitchenLight",
"property": "level",
"increase": 10
},
{
"type": "property",
"endpoint": "zigbee/roomCurtain",
"property": "position",
"decrease": 25
},
{
"type": "property",
"endpoint": "zigbee/hallLight",
"property": "status",
"value": "off"
}
]
...
Поля "increase"
, "decrease"
, "value"
не могут использоваться в одном действии одновременно.
endpoint
Конечная точка, которой управляет действие. Описывается в формате "сервис/устройство"
или "сервис/устройство/N"
, где N
это номер конечной точки для многоканальных устройств.
По сути, значение этого поля идентично части MQTT-топика для отправки команд устройству после homed/td/
.
property
Свойство конечной точки, которым управляет действие. Другими словами - название поля в сообщении с командой.
increase
В команде будет передано числовое значение свойства, увеличенное на значение этого поля.
decrease
В команде будет передано числовое значение свойства, уменьшенное на значение этого поля.
value
Конкретное значение свойства, передаваемое в команде (может содержать шаблоны).
Действие "mqtt"
Это действие отправляет сообщение в заданный MQTT-топик. Примеры описания действия:
...
"actions":
[
{
"type": "mqtt",
"topic": "my/action/topic",
"message": "hello world"
},
{
"type": "mqtt",
"topic": "other/topic",
"message": "retained message",
"retain": true
}
]
...
topic
MQTT-топик.
message
Текст отправляемого сообщения (может содержать шаблоны).
retain
Отправка сообщения с флагом retain.
Действие "state"
Это действие позволяет устанавливать или удалять состояния. Примеры описания действий:
...
"actions":
[
{
"type": "state",
"name": "myFavoriteState",
"value": true
},
{
"type": "state",
"name": "otherState",
"value": "hello there"
},
{
"type": "state",
"name": "uselessState"
}
]
...
name
Название состояния.
value
Значение состояния, устанавливаемое действием (может содержать шаблоны). Если это поле остутствует или равно null
, состояние будет удалено.
Действие "telegram"
Это действие отправляет текстовое сообщение с помощью Telegram-бота. Пример описания действия:
...
"actions":
[
{
"type": "telegram",
"message": "свет в гараже выключен",
"silent": true
},
{
"type": "telegram",
"message": "входная дверь открыта!",
"chats": [123456789, 4815162342]
}
]
...
message
Текст отправляемого сообщения (может содержать шаблоны).
silent
Отправка сообщения с уведомлением без звука.
chats
Массив идентификаторов чатов, в которые будет отправлено сообщение. В случае отсутствия этого поля сообщение будет отправлено в чат, идентификатор которого указан в конфигурации.
Действие "shell"
Это действие запускает заданную shell-команду. Пример описания действия:
...
"actions":
[
{
"type": "shell",
"command": "sh /home/user/script.sh"
}
]
...
command
Shell-команда, которая будет запущена (может содержать шаблоны). Команда может быть полноценным shell-скриптом, начинающийся с заголовка "#!"
, для скриптов так же допустимо использование шаблонов.
Действие "condition"
Это действие является контейнером для других действий, которые будут выполнены при соблюдении или несоблюдении заданных условий. Пример описания действия:
...
"actions":
[
{
"type": "condition",
"conditions":
[
{
"type": "date",
...
},
{
"type": "time",
...
}
],
"then":
[
{
"type": "property",
...
}
],
"else":
[
{
"type": "telegram",
...
}
]
}
]
...
conditions
Массив условий.
then
Массив действий, которые будут выполнены, если условия соблюдены.
else
Массив действий, которые будут выполнены, если условия не соблюдены.
Действие "delay"
Это действие добавляет задержку перед выполнением следующего по списку действия. Пример описания действия:
...
"actions":
[
{
"type": "delay",
"delay": 10
}
]
...
delay
Время задержки в секундах.
Дополнительные условия
Условия для выполнения действий могут определяться не тольлько действием "condition", но и тем, какой именно триггер вызвал срабатывание автоматизации, если для триггеров заданы имена. В этом случае нужные действия будут выполнены только при срабатывании соответсвующего им триггера, например:
...
"actions":
[
{
"type": "property",
"triggerName": "a",
...
},
{
"type": "telegram",
"triggerName": "b",
...
}
]
...