Сценарии по событиям устройств



  • Какой принцип работы таких сценариев.

    1. Точнее в какой момент он срабатывает? В момент обновления данных от датчиков?

    2. Вкладка "При условии" работает по логическому "И". Логическое "Или" сделать нельзя?



  • 3. Десятичные показания на вкладке "При условии" - через точку или запятую?



  • @Alex_Jet:

    1. Точнее в какой момент он срабатывает? В момент обновления данных от датчиков?

    Да.
    @Alex_Jet:

    2. Вкладка "При условии" работает по логическому "И". Логическое "Или" сделать нельзя?

    "Или" в этой версии не работает.
    @Alex_Jet:

    3. Десятичные показания на вкладке "При условии" - через точку или запятую?

    Точка



  • @intrahouse:

    @Alex_Jet:

    3. Десятичные показания на вкладке "При условии" - через точку или запятую?

    Точка

    В Cherry сделайте проверку RegExp чтобы нельзя было запятую поставить. Я так понимаю у меня из-за этого сценарии неадекватно работали.



  • Не могу сделать простейший сценарий. Допустим с веба я включил устройство (насос воздухонагревателя) чтобы его выключить делаю сценарий по событиям устройств (датчик температуры в гостевой):

    1. Таймер на входе учитывает вкладку "При условии"

    2. Если устройство включено и температура в гостевой >14.0,

    то выключаем насос.

    Однако сценарий не работает! Я ожидаю, что когда закончится очередной опрос (раз в 5 минут) датчиков температуры, то сработает данный сценарий. Что не так делаю?
    IH_Сценарий_не_отключает_Устройство.png



  • Сценарии по событиям срабатывают при изменении состояния устройства. В данном случае при изменении температуры.

    Если изменения температуры нет, сценарий не запускается.



  • @intrahouse:

    Сценарии по событиям срабатывают при изменении состояния устройства. В данном случае при изменении температуры.

    Если изменения температуры нет, сценарий не запускается.

    Как-то не логично! Я же проверяю условия: Ключ = On & T>14.0. Если условия true, то все должно сработать. Какая разница - изменилась температура или нет? Или это зачем-то специально было заложено в код обработчика?



  • Сценарии так и называются - "по событиям". Для запуска сценария должно произойти событие.

    Условия на вкладке "при условии" проверяются при возникновении события основного устройства.



  • ОК, событие, так событие. Например, если температура в помещении в течении дня (07:00 - 23:59) снизилась до 15,9 градусов то такой сценарий сработает?
    IH_Сценарий_Включения_Воздухонагревателя.png
    PS: Как считаете, насколько целесообразно проверять текущее состояние ключа (последнее условие в сценарии)? По идее в технологической сети не будет лишнего трафика, других плюсов как и минусов не вижу.



  • Да, запустится при изменении температуры в дневное время.

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

    По поводу последнего условия.

    Это условие можно оставить. Тогда сценарий запускаться не будет совсем, если насос включен. Если условие убрать - будет попытка запуска сценария при каждом изменении температуры. Если насос уже включен, на MegaD сервер команду не передаст, но попытка выполнить сценарий будет.

    Если добавить в сценарий запись в журнал, можно увидеть разницу - в вашем варианте записи будут намного реже.



  • @intrahouse:

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

    То есть если градиент падения температуры низкий и, например, в 6:30 температура была 15 градусов, наступит 07:00 и пока температура не изменится хотя бы на одну десятую (14,9) то сценарий не сработает?



  • @Alex_Jet:

    Какой принцип работы таких сценариев.

    1. Точнее в какой момент он срабатывает? В момент обновления данных от датчиков?

    2. Вкладка "При условии" работает по логическому "И". Логическое "Или" сделать нельзя?

    Прошу прощение за сообщение не потеме, Вы не сталкивались с сценарной панелью?



  • @artem521:

    Прошу прощение за сообщение не потеме, Вы не сталкивались с сценарной панелью?

    Артем, я же Вам на ab-log давал ссылку, где разбирались со сценарной панелью. Если это не то что надо, то яснее объясните что вы хотите. Желательно со скриншотами.



  • @Alex_Jet:

    То есть если градиент падения температуры низкий и, например, в 6:30 температура была 15 градусов, наступит 07:00 и пока температура не изменится хотя бы на одну десятую (14,9) то сценарий не сработает?

    Да. Именно так.



  • @Alex_Jet:

    @artem521:

    Прошу прощение за сообщение не потеме, Вы не сталкивались с сценарной панелью?

    Артем, я же Вам на ab-log давал ссылку, где разбирались со сценарной панелью. Если это не то что надо, то яснее объясните что вы хотите. Желательно со скриншотами.

    Было не ясно что есть сценарная панель и с чем ее едят. Разработчик дал ответ на мой вопрос. ( По поводу сценарной панели. Мы это делали на контроллерах Beckhoff и Wago. Но это дорого и можно сделать так:

    Сценарную панель системы intraHouse вообще не использовать. Сделать из вашей 4 кнопочной панели как бы 4 датчика. И соответственно на каждый датчик сделать событийный сценарий. )



  • Хочу сделать сценарий по потери доступности контроллера MegaD. В выпадающем списке "События" есть:

    1. При сбросе датчика

    2. При сработке датчика

    3. undefined

    Когда контроллер не отвечает (так понимаю либо нет HTTP статуса 200, либо ответ отличен от этого статуса) - это сброс или сработка датчика? Может быть здесь стоило поменять значения на более понятные? Что такое undefined и в каких случаях его использовать?



  • @intrahouse:
    Прокомментируйте мой предыдущий пост в этой ветке.

    PS: заметил что Вы отвечаете только на цитируемые ответы, которые Вам в уведомления попадают…



  • @Alex_Jet:

    Хочу сделать сценарий по потери доступности контроллера MegaD. В выпадающем списке "События" есть:

    1. При сбросе датчика

    2. При сработке датчика

    3. undefined

    Когда контроллер не отвечает (так понимаю либо нет HTTP статуса 200, либо ответ отличен от этого статуса) - это сброс или сработка датчика? Может быть здесь стоило поменять значения на более понятные? Что такое undefined и в каких случаях его использовать?

    Для каждого плагина (подключенного контроллера) создается виртуальный датчик состояния (0 - отключен/cброшен, 1 - включен/работает). Т е в данном контексте сработка датчика - это запуск плагина, сброс - останов. Событие undefined использовать не стоит, планируем его убрать.

    Сам плагин работает так: он периодически связывается с контроллером. Если произошла сетевая ошибка (хост не отвечает, недоступен, статус не тот ), то если в течение определенного времени не удается установить соединение, плагин завершается с ошибкой и датчик плагина будет сброшен в 0. Сервер постоянно пытается запустить плагин. Плагин будет считаться запущенным, если с контроллера удалось получить данные устройств.

    Кроме этого можно анализировать флаг ошибки. Обратите внимание, что при отключении контроллера в основном интерфейсе появляется алерт "<название плагина> Ошибка! " Это делает системный сценарий, но в принципе это обычный шаблонный сценарий, просто привязывается автоматически.

    Находится он в файле scenpat/fm_error.pat - сценарий unitError Он анализирует флаг ошибки err и через 10 сек после возникновения выдает алерт. Можно туда добавить например отсылку SMS.


Авторизуйтесь, чтобы ответить