{ "about": { "authorName": "Ilya Belyakov", "authorContact": "https://t.me/Biveraxe", "authorGit": "https://github.com/biveraxe", "specialThanks": "", "moduleName": "Scenario", "moduleVersion": "1.0", "title": "Сценарии", "moduleDesc": "Сценарии позволяют реализовать индивидуальный алгоритм работы контроллера с учетом происходящих событий. Они представляют из себя описательный язык того, что нужно сделать при наступлении того или иного события, учитывая конкретные условия. \nВ базе языка - выражение вида: “Если условие истина, то выполнить одно действие, а если нет, то иное”. При этом проверка такого выражения будет осуществляться только при наступлении события связанного с элементом конфигурации, который упоминается в этом выражении. \nУсловием или действием может быть любое разрешенное выражение. Они все при выполнении возвращают значение. Выражение может состоять из: идентификаторов элементов конфигурации, чисел (целые, дробные и отрицательные), строк в кавычках, операций сравнения < > <= >= == !=, операций присваивания значений =, математических операций +-*/, логических операций &|, комментариев после символа #, функций (в параметрах которых так же могут быть любые разрешенные выражения), конструкции ветвления IfThenElse, группирующие блоки выражений {}", "funcInfo": [ { "name": "getIntFromNet", "descr": "Получаем количество секунд доверия к значениям элемента. При -2 доверие полное, при -1 время доверия истекло. При >0 время обратного отсчета. Используется только совместно с ИД элемента: ID.getIntFromNet()", "params": [] }, { "name": "exit", "descr": "Прерываем работу сценария и выводим в консоль причину. Причина не обязательна.", "params": ["Причина"] }, { "name": "reboot", "descr": "Перезагружаем ESP", "params": [] }, { "name": "digitalRead", "descr": "Читаем состояние пина, результат возвращается", "params": ["НомерПина"] }, { "name": "analogRead", "descr": "Читаем состояние аналогового пина, результат возвращается", "params": ["НомерПина"] }, { "name": "digitalWrite", "descr": "Устанавливаем статус пина", "params": ["НомерПина", "Значение"] }, { "name": "digitalInvert", "descr": "Инвертируем значение пина", "params": ["НомерПина"] }, { "name": "deepSleep", "descr": "Погрузить ESP в глубокий сон. Вывод из сна с перезагрузкой. Для ESP8266 необходимо соединить gpio 16 и RST", "params": ["ЧислоСекунд"] }, { "name": "getRSSI", "descr": "Получить величину уровня принимаемого сигнала WI-FI.", "params": [] }, { "name": "getIP", "descr": "Получить строку IP ESP", "params": [] }, { "name": "getUptime", "descr": "Получить строку со временем работы устройства hh:mm:ss", "params": [] }, { "name": "mqttPub", "descr": "Отправить значение в топик MQTT", "params": ["Топик", "Значение"] }, { "name": "mqttIsConnect", "descr": "Получить состояние подключения к MQTT", "params": [] }, { "name": "getHours", "descr": "Получить текущее число часов. Если время не получено из сети Интернет или внешнего RTC, то условие пропускается", "params": [] }, { "name": "getMinutes", "descr": "Получить текущее число минут. Если время не получено из сети Интернет или внешнего RTC, то условие пропускается", "params": [] }, { "name": "getSeconds", "descr": "Получить текущее число секунд. Если время не получено из сети Интернет или внешнего RTC, то условие пропускается", "params": [] }, { "name": "getMonth", "descr": "Получить номер текущего месяца. Если время не получено из сети Интернет или внешнего RTC, то условие пропускается", "params": [] }, { "name": "getDay", "descr": "Получить номер текущего дня месяца. Если время не получено из сети Интернет или внешнего RTC, то условие пропускается", "params": [] }, { "name": "gethhmm", "descr": "Получить строку вида hh:mm. Если время не получено из сети Интернет или внешнего RTC, то условие пропускается", "params": [] }, { "name": "gethhmmss", "descr": "Получить строку вида hh:mm:ss. Если время не получено из сети Интернет или внешнего RTC, то условие пропускается", "params": [] }, { "name": "getTime", "descr": "Получить строку вида dd.mm.yy hh:mm:ss. Если время не получено из сети Интернет или внешнего RTC, то условие пропускается", "params": [] } ] } }