Материал из Module developer
Перейти к: навигация, поиск

//Получение события l_oSubDevice.GetEvent(l_nEventID); </syntaxhighlight> |attentions= }}

SubDevice.AddCondition (работающий через функцию)

{{API Function/ru |description=Добавить условие. Условие является необязательной частью правила, но может использоваться когда требуется выполнить больше сравнений чего-либо перед наступлением действия. Данное условие работает через функцию |constructor= SubDevice.AddCondition(Name, Token, ScriptCall, Method, Space, [Default], [AdvancedField]) |input=

Name "Temperature is below..." type: String
Имя условия
Path "Drivers.Nest.CurrentTemperature" type: String
Полный путь к каналу, каналу обратной связи драйвера, либо токену. Производится подписка на отслеживание изменений
ScriptCall true type: Boolean
Признак работы через функцию. В данной реализации необходимо устанавливать true
Method function(in_data){...} type: Function
Выполняемая функция. Приходящим параметром в функцию может быть:
  • Если используется [Default], то приходящим параметром будет значение Default в формате String, которое задал разработчик модуля
  • Если используется [AdvancedField], то приходящим параметром будет значение типа Object или String взависимости от формата [AdvancedField]

Функция должна возвращать булевое значение (true, false), сигнализирующее о выполнении условия (true - условие выполнилось)

Space this type: Object
Указатель на объект, который обслуживает функцию. Если не требуется использовать указатель, то можно поставить пустой объект, либо undefined
Default "23" type: String
Значение по умолчанию

{{JStable|AdvancedField||Object, Array|Используется для работы со сложными условиями. При использовании AdvancedField необходимо в параметр Default устанавливать null. В AdvancedField можно передать один объект или массив объектов с данными.