Сценарии - новая версия API
-
Коллеги! Сегодня перенастроил задачи по расписанию - с закат+х и рассвет-х поставил статическое время. Уже сутки все сценарии выполняются по два раза подряд! Систему перезагружал вчера при обновлении.
-
Коллеги! Сегодня перенастроил задачи по расписанию - с закат+х и рассвет-х поставил статическое время. Уже сутки все сценарии выполняются по два раза подряд! Систему перезагружал вчера при обновлении.
Добрый день.
То есть это происходит после изменения пунктов расписания? Пока у себя не смогли воспроизвести. Но будем искать
Попробуйте сервер перезагрузить.
-
Коллеги! Сегодня перенастроил задачи по расписанию - с закат+х и рассвет-х поставил статическое время. Уже сутки все сценарии выполняются по два раза подряд! Систему перезагружал вчера при обновлении.
Добрый день.
То есть это происходит после изменения пунктов расписания? Пока у себя не смогли воспроизвести. Но будем искать
Попробуйте сервер перезагрузить.
Как будто - да! Сегодня обновил систему с перезагрузкой. Понаблюдаю. Двое суток утром и вечером сценарии запускались по два раза подряд.
Update: понаблюдал - в общем после перезагрузки iH задачи по расписанию, которые ранее изменялись, отрабатывают нормально!!!
-
Как будто - да! Сегодня обновил систему с перезагрузкой. Понаблюдаю. Двое суток утром и вечером сценарии запускались по два раза подряд.
Update: понаблюдал - в общем после перезагрузки iH задачи по расписанию, которые ранее изменялись, отрабатывают нормально!!!
Спасибо, теперь знаем где рыть
-
Добрый день. Сейчас в графическом редакторе сценариев не наблюдаю выбор режима "mode" (trigger или state) для датчиков и актуаторов. По умолчанию все триггерами назначаются. Как режим сейчас задать?
-
Добрый день. Сейчас в графическом редакторе сценариев не наблюдаю выбор режима "mode" (trigger или state) для датчиков и актуаторов. По умолчанию все триггерами назначаются. Как режим сейчас задать?
Добрый день!
Да, действительно, сейчас для этого используется блок DP "Свойство устройства" на вкладке "Операции".
Нужно задать устройство и свойство из выпадающего списка. Таким образом есть возможность выбора любых свойств,в том числе дополнительных.
В результате появляется желтый блок со свойством. Например, на этой блок-схеме Датчик температуры не является триггером:
-
Подскажите, у меня в старой версии сценария рассчитывались уставки и проверялось условие перехода в start() таким образом:
ust_min: 0, ust_max: 0, text: "", check() { //Определение уставок this.ust_min = dt.defval - heater.hist; this.ust_max = dt.defval + heater.hist/2; //Проверка основных условий return heater.auto && ( !heater.dval&&(dt.aval <= this.ust_min)&&(dt_ext.aval < dt_ext.defval) || heater.dval&&(dt.aval >= this.ust_max) ); },
Хочу переписать под новую версию сценариев и есть два вопроса:
1. Как рассчитывать уставки и определять их, используя StartOnChange?
2. Хочу добавить проверку работоспособности основного датчика и если по нему фиксируется авария, то переключаться на другой. Сейчас в одном из сценариев у меня сделано так:
let sensor_ext = ''; //Проверка работоспособности датчика уличной температуры //При его неисправности - работаем по резервному датчику if(!dt_ext.isError()) { sensor_ext = dt_ext; } else { sensor_ext = dt_ext_rez; this.log("Датчик '" +dt_ext.name+ "' неисправен!"); }
По идее sensor_ext должен участвовать в StartOnChange вместо dt_ext (см.код выше). Как это все вместе записать, опять же используя StartOnChange? Ну или ваш вариант.
-
Добрый день. Сейчас в графическом редакторе сценариев не наблюдаю выбор режима "mode" (trigger или state) для датчиков и актуаторов. По умолчанию все триггерами назначаются. Как режим сейчас задать?
Добрый день!
Да, действительно, сейчас для этого используется блок DP "Свойство устройства" на вкладке "Операции".
intraHouse_PM_ihscada.png
Нужно задать устройство и свойство из выпадающего списка. Таким образом есть возможность выбора любых свойств,в том числе дополнительных.
В результате появляется желтый блок со свойством. Например, на этой блок-схеме Датчик температуры не является триггером:
scene_ex2.png
Спасибо!
-
Подскажите пожалуйста как в редакторе сценариев вывести функцию управления актуатором по счетчику? Необходимо написать сценарий, в котором после включения клапана воды начинается отсчет слива заданного количества воды (100 литров по счетчику воды) и по достижению установленного значения клапан должен выключиться.
-
Добрый день. Сейчас в графическом редакторе сценариев не наблюдаю выбор режима "mode" (trigger или state) для датчиков и актуаторов. По умолчанию все триггерами назначаются. Как режим сейчас задать?
Добрый день!
Да, действительно, сейчас для этого используется блок DP "Свойство устройства" на вкладке "Операции".
intraHouse_PM_ihscada.png
Нужно задать устройство и свойство из выпадающего списка. Таким образом есть возможность выбора любых свойств,в том числе дополнительных.
В результате появляется желтый блок со свойством. Например, на этой блок-схеме Датчик температуры не является триггером:
scene_ex2.png
В свойствах property есть значение, состояние, ошибка. Уставка (как в примере) не отображается.
-
В свойствах property есть значение, состояние, ошибка. Уставка (как в примере) не отображается.
А какое у Вас устройство?
Уставка есть только у аналоговых устройств, причем в настройке устройства должна стоять галочка "Есть уставка (дефолтное значение)"
-
В свойствах property есть значение, состояние, ошибка. Уставка (как в примере) не отображается.
А какое у Вас устройство?
Уставка есть только у аналоговых устройств, причем в настройке устройства должна стоять галочка "Есть уставка (дефолтное значение)"
devSetpoint.png
Понятно теперь. У меня счетчик, хочу написать сценарий отключения клапана воды по достижению на счетчике установленного значения, потом у счетчика должны обнулиться показания и так каждый цикл работы сценария. Лучше конечно, что бы был обратный отсчет 100,99,98…0 литров. Может подскажете как реализовать?
-
Понятно теперь. У меня счетчик, хочу написать сценарий отключения клапана воды по достижению на счетчике установленного значения, потом у счетчика должны обнулиться показания и так каждый цикл работы сценария. Лучше конечно, что бы был обратный отсчет 100,99,98…0 литров. Может подскажете как реализовать?
Порог можно добавить сценарием как дополнительное свойство, оно в списке появится. А насчет обратного отсчета - не совсем понятно
-
Понятно теперь. У меня счетчик, хочу написать сценарий отключения клапана воды по достижению на счетчике установленного значения, потом у счетчика должны обнулиться показания и так каждый цикл работы сценария. Лучше конечно, что бы был обратный отсчет 100,99,98…0 литров. Может подскажете как реализовать?
Порог можно добавить сценарием как дополнительное свойство, оно в списке появится. А насчет обратного отсчета - не совсем понятно
По поводу обратного отсчета. Допустим задан порог 100 литров. В иконке 100 литров, когда началось потребление значение пошло на уменьшение, дошло до 0, клапан закрылся. Но это наверное лишнее
-
Понятно теперь. У меня счетчик, хочу написать сценарий отключения клапана воды по достижению на счетчике установленного значения, потом у счетчика должны обнулиться показания и так каждый цикл работы сценария. Лучше конечно, что бы был обратный отсчет 100,99,98…0 литров. Может подскажете как реализовать?
Порог можно добавить сценарием как дополнительное свойство, оно в списке появится. А насчет обратного отсчета - не совсем понятно
По поводу обратного отсчета. Допустим задан порог 100 литров. В иконке 100 литров, когда началось потребление значение пошло на уменьшение, дошло до 0, клапан закрылся. Но это наверное лишнее
То есть счетчик считает в обе стороны ? Или их два?
-
Порог можно добавить сценарием как дополнительное свойство, оно в списке появится. А насчет обратного отсчета - не совсем понятно
По поводу обратного отсчета. Допустим задан порог 100 литров. В иконке 100 литров, когда началось потребление значение пошло на уменьшение, дошло до 0, клапан закрылся. Но это наверное лишнее
То есть счетчик считает в обе стороны ? Или их два?
Счётчик один, режим реверсивного отсчёта.
-
По поводу обратного отсчета. Допустим задан порог 100 литров. В иконке 100 литров, когда началось потребление значение пошло на уменьшение, дошло до 0, клапан закрылся. Но это наверное лишнее
То есть счетчик считает в обе стороны ? Или их два?
Счётчик один, режим реверсивного отсчёта.
Создайте второй виртуальный счетчик, и сценарий meter2=100-meter1 когда достигает нуля, обнуляем первый и присваиваем 100 второму
-
То есть счетчик считает в обе стороны ? Или их два?
Счётчик один, режим реверсивного отсчёта.
Создайте второй виртуальный счетчик, и сценарий meter2=100-meter1 когда достигает нуля, обнуляем первый и присваиваем 100 второму
Спасибо, попробую.
-
Коллеги! Всех с праздником Великой победы!
Intrapro, intrahouse, помогите разобраться как правильно использовать startOnChange в качестве функции с расчетом уставок и проверкой разных значений. Мой предыдущий пост тут - https://frm.intrahouse.ru/viewtopic.php?f=18&t=5446&start=270#p10166
-
Коллеги! Всех с праздником Великой победы!
Intrapro, intrahouse, помогите разобраться как правильно использовать startOnChange в качестве функции с расчетом уставок и проверкой разных значений. Мой предыдущий пост тут - https://frm.intrahouse.ru/viewtopic.php?f=18&t=5446&start=270#p10166
Добрый день, попробуйте использовать блочные сценарии там все просто и понятно
startOnChange([], условное выражение)
Первый параметр — устройство или массив устройств из тех, что были объявлены как Device
Второй параметр — опциональное условное выражение, которое проверяется до того как сценарий запустится
Если триггеры не объявлены (startOnChange отсутствует) — сценарий по событиям запускаться не будет.
script ({ sensor_ext: "", start() { if(!dt_ext.isError()) { this.sensor_ext = dt_ext; } else { this.sensor_ext = dt_ext_rez; this.log("Датчик '" +dt_ext.name+ "' неисправен!"); } }, )