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

Материал из HOMEd Wiki
мНет описания правки
 
(не показано 7 промежуточных версий этого же участника)
Строка 3: Строка 3:


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


Показания датчика температуры:
Показания датчика температуры:
Строка 11: Строка 11:
{{#tag:pre|<nowiki>{{ mqtt | test/topic }}</nowiki>}}
{{#tag:pre|<nowiki>{{ mqtt | test/topic }}</nowiki>}}


Поле <code>fieldName</code> из MQTT-сообщения, содержащего  JSON:
Поле <code>fieldName</code> из JSON-объекта в MQTT-сообщении:
{{#tag:pre|<nowiki>{{ mqtt | test/json/topic | fieldName }}</nowiki>}}
{{#tag:pre|<nowiki>{{ mqtt | test/json/topic | fieldName }}</nowiki>}}
Даннные из сложного JSON-объекта в MQTT-сообщении:
{{#tag:pre|<nowiki>{{ mqtt | other/json | device.exposes[1].name }}</nowiki>}}


Содержимое файла <code>/home/user/file</code>:
Содержимое файла <code>/home/user/file</code>:
Строка 28: Строка 31:
Имя триггера, вызвавшего срабатывание автоматизации:
Имя триггера, вызвавшего срабатывание автоматизации:
{{#tag:pre|<nowiki>{{ triggerName }}</nowiki>}}
{{#tag:pre|<nowiki>{{ triggerName }}</nowiki>}}
== Адаптивное освещение ==
Адаптивное освещение это функция, позволяющая автоматически подстраивать цветовую температуру источников света в зависимости от времени суток. Для этого можно использовать шаблон <code class="value">colorTemperature</code> в связке с [[Automation/Database/Triggers|триггером]] <code class="value">interval</code>. Шаблон будет возвращать значение цветовой температуры из заданного диапазона. В случае, если диапазон не указан, будут использованы значения по умолчанию, от 153 до 500 майредов.
Пример использования шаблона:
{{#tag:pre|<nowiki>{{ colorTemperature | 250 | 480 }}</nowiki>}}
{{Warning|Для корректной работы функции необходимо, чтобы в [[Automation/Configuration|конфигурации]] были указаны координаты местоположения, по ним вычисляется актуальное положение солнца для конкретной местности.}}


== Математические выражения ==
== Математические выражения ==
Строка 39: Строка 50:
</nowiki>}}
</nowiki>}}


В одном действии может быть использовано любое количество шаблонов и математических операций.  
== Вложенные шаблоны ==
В каждом условии или действии может быть использовано любое количество шаблонов и математических операций. Кроме того, шаблоны могут быть вложены друг в друга, например:
{{#tag:pre|<nowiki>{{ property | zigbee/myFavoriteSensor | {{ triggerName }} }}</nowiki>}}
 
Единственным исключением для вложенных шаблонов является значение топика для шаблона <code class="value>mqtt</code>, топик ''должен'' быть константой, иначе сервис не сможет на него подписаться.


[[Category:Automation]]
[[Category:Automation]]

Текущая версия от 12:03, 8 ноября 2024

HOMEd > Automation > Шаблоны

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

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

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

{{ property | zigbee/kitchenThermometer | temperature }}

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

{{ mqtt | test/topic }}

Поле fieldName из JSON-объекта в MQTT-сообщении:

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

Даннные из сложного JSON-объекта в MQTT-сообщении:

{{ mqtt | other/json | device.exposes[1].name }}

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

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

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

{{ state | myState }}

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

{{ timestamp }}

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

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

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

{{ triggerName }}

Адаптивное освещение

Адаптивное освещение это функция, позволяющая автоматически подстраивать цветовую температуру источников света в зависимости от времени суток. Для этого можно использовать шаблон colorTemperature в связке с триггером interval. Шаблон будет возвращать значение цветовой температуры из заданного диапазона. В случае, если диапазон не указан, будут использованы значения по умолчанию, от 153 до 500 майредов.

Пример использования шаблона:

{{ colorTemperature | 250 | 480 }}

Для корректной работы функции необходимо, чтобы в конфигурации были указаны координаты местоположения, по ним вычисляется актуальное положение солнца для конкретной местности.

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

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

Примеры:

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

Вложенные шаблоны

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

{{ property | zigbee/myFavoriteSensor | {{ triggerName }} }}

Единственным исключением для вложенных шаблонов является значение топика для шаблона mqtt, топик должен быть константой, иначе сервис не сможет на него подписаться.