Automation/Templates: различия между версиями

Материал из HOMEd Wiki
(Новая страница: «{{DISPLAYTITLE:Automation: Шаблоны}} {{Breadcrumbs|Automation > Шаблоны}} == Шаблоны == Шаблоны позволяют использовать свойства устройств, данные из MQTT-топиков, состояния, метки времени и имена другие данные в некоторых условиях и действиях...»)
 
мНет описания правки
Строка 2: Строка 2:
{{Breadcrumbs|[[Automation]] > Шаблоны}}
{{Breadcrumbs|[[Automation]] > Шаблоны}}


== Шаблоны ==
== Общие сведения ==
Шаблоны позволяют использовать свойства устройств, данные из MQTT-топиков, состояния, метки времени и имена другие данные в некоторых [[Automation/Database/Conditions|условиях]] и [[Automation/Database/Actions|действиях]] автоматизаций. Примеры шаблонов приведены ниже.
Шаблоны позволяют использовать свойства устройств, данные из MQTT-топиков, состояния, метки времени и имена другие данные в некоторых [[Automation/Database/Conditions|условиях]] и [[Automation/Database/Actions|действиях]] автоматизаций. Примеры шаблонов приведены ниже.


Строка 29: Строка 29:
{{#tag:pre|<nowiki>{{ triggerName }}</nowiki>}}
{{#tag:pre|<nowiki>{{ triggerName }}</nowiki>}}


Кроме того, шаблоны могут содержать математические выражения. Каждое выражение может содержать любые математические операции (сложение, вычитание, умножение, деление, возведение в степень), включая операции в скобках, некоторые функции, а так же любые другие шаблоны. Если выражение некорретно, результатом вычислений будет <code class="value">nan</code>. Список досутпных функций можно посмотреть [https://github.com/u236/homed-service-automation/blob/570f97ad640606624f24eff20606cf71ca2324ad/expression.cpp#L86-L107 здесь].
== Математические выражения ==
Помимо прочего, шаблоны могут содержать математические выражения. Каждое выражение может содержать любые математические операции (сложение, вычитание, умножение, деление, возведение в степень), включая операции в скобках, некоторые функции, а так же любые другие шаблоны. Если выражение некорретно, результатом вычислений будет <code class="value">nan</code>. Список досутпных функций можно посмотреть [https://github.com/u236/homed-service-automation/blob/570f97ad640606624f24eff20606cf71ca2324ad/expression.cpp#L86-L107 здесь].


Примеры:
Примеры:

Версия от 11:25, 15 октября 2024

HOMEd > Automation > Шаблоны

Общие сведения

Шаблоны позволяют использовать свойства устройств, данные из MQTT-топиков, состояния, метки времени и имена другие данные в некоторых условиях и действиях автоматизаций. Примеры шаблонов приведены ниже.

Показания датчика температуры:

{{ property | zigbee/kitchenThermometer | temperature }}

MQTT-сообщение целиком:

{{ mqtt | test/topic }}

Поле fieldName из MQTT-сообщения, содержащего JSON:

{{ mqtt | test/json/topic | fieldName }}

Содержимое файла /home/user/file:

{{ file | /home/user/file }}

Значение состояния myState:

{{ state | myState }}

Текущеая метка времени (unix time):

{{ timestamp }}

Текущее время и дата в заданном формате:

{{ timestamp | dd.MM.yy hh:mm }}

Имя триггера, вызвавшего срабатывание автоматизации:

{{ triggerName }}

Математические выражения

Помимо прочего, шаблоны могут содержать математические выражения. Каждое выражение может содержать любые математические операции (сложение, вычитание, умножение, деление, возведение в степень), включая операции в скобках, некоторые функции, а так же любые другие шаблоны. Если выражение некорретно, результатом вычислений будет nan. Список досутпных функций можно посмотреть здесь.

Примеры:

[[ sqrt(2 ^ 2) ]]
[[ {{ state | counter }} + 1 ]]
[[ {{ property | zigbee/sensor | temperature }} * 0.99 ]]

В одном действии может быть использовано любое количество шаблонов и математических операций.