Сценарии - новая версия API
-
Человек-консерватор… почитал про новый API, мне как человеку умеющему немного кодить на C, PHP, JS старая концепция ближе. Однако - "блокли" из нее не сделаешь, а с новым API получится.
Вот код:
const motion1 = DeviceT("SMOTION1"); const motion2 = DeviceT("SMOTION2"); startOnChange([motion1,motion2]);
startOnChange - как понял это check? Раз DeviceT остались (при срабатывании устройства-триггера стартует скрипт), то зачем проверять изменения их состояния на старте? Не пойму логику. Раньше либо DeviceT, либо check использовал. Какой смысл вышеприведённой комбинации? Ещё понимаю если в startOnChange сразу проверять условие типа motion.isOn&hum.value>60&vent.isOff
-
Нашел:
Мы отказались от конструкции DeviceT для объявления того, что устройство является триггером.
Вместо этого нужно явно объявить, что сценарий запускается при изменении свойств устройства:
startOnChange(motion);
Зачем тогда в описании синтаксиса скриптов приводить примеры с DeviceT?
Ммм…сюрприз! Как Вы щедры! Для нас уже большим сюрпризом является ваша бесподобная Cherry!️ И отличная поддержка пользователей с исполнением их желаний!
-
Зачем тогда в описании синтаксиса скриптов приводить примеры с DeviceT?
Подскажите в каком месте вы нашли примеры с DeviceT ?
-
-
@intrahouse:
Подскажите в каком месте вы нашли примеры с DeviceT ?
Ссылка https://ih-systems.com/ru/about-scenes/, примеры в разделе "1. Устройства-триггеры, запускающие сценарий".
-
Немного не понятно:
this.assign(sensor, "dval",actor.value );
Присвоить значение для "value" не срабатывает. Только для "dval"! В новой версии!
-
-
Присвоить значение для "value" не срабатывает. Только для "dval"! В новой версии!
Вы правы, value должно работать. Исправим
-
Коллеги! Начиная с версии 4.4.6 работает графический редактор сценариев.
Он покрывает все возможности механизма построения сценариев в Berry. Не только покрывает, но и значительно превосходит.
Описание графического редактора опубликовано здесь https://ih-systems.com/ru/block-diagram/
Ниже постараюсь показать несколько примеров.
-
Сценарий - Протечка воды
1. Проверить блокировку датчика
2. Взвести таймер на 5 сек. (случайно задели тряпкой датчик протечки)
3. Если по истечении 5 сек. протечка продолжается, перекрыть клапан воды, записать в лог и послать сообщение.
-
Сценарий - Управление вытяжной вентиляцией по датчику влажности
От датчика влажности поступает значение и сравнивается с уставкой.
Если больше уставки и вентилятор находится в режиме "Авто" то он включается.
Если меньше уставки, вентилятор выключается
-
Сценарий - Управление светильником при открытии 2 дверей
При открытии любой из дверей включить свет.
Если обе двери закрыты, свет выключить через 60 сек.
-
Сценарий - включить свет при открытии двери с у четом датчика освещенности.
Этот сценарий аналогичен предыдущему. Но еще проверяет аналоговый датчик освещенности (SENSORA1) с учетом уставки.
-
Реализация понравилась - все современно и красочно. Для чайников, разбирающихся что такое NOT, AND и прочим - самое то. Опытные юзеру предпочтут скрипты, поскольку толковый мультисценарий, мне кажется, не сделать. Тот же пример с датчиком протечки - как сделать с помощью блокли чтобы пользователю отсылалось сообщение в Telegram с названием датчика протечки и названием клапана/насоса, которые отключены? В скрипте это сделать очень просто…
Если обычный юзер "перерастет" себя, то отредактировать скрипт, который создался на основе блок-схемы ему не получится...вижу, что всплывает сообщение - "Редактируйте блок-схему". Но как вариант - можно создать свой с нуля.
В некоторых случая почему-то не удаляются линии. Выбираешь ее, а минус не активен - выбираешь какой-нибудь элемент, а потом снова линию и тогда минус активен. Линию можно протянуть только от предыдущего элемента к следующему обратно не получается. Это с точки зрения юзабилити.
Что такое "Новый скрипт" и "Новый шаблонный скрипт" - обычный сценарий и мультисценарий? Теперь придется ломать парадигму прошлых представлений?
За иконки сценариев и мультисценариев - спасибо! их не хватало.
Еще предлагаю сделать иконки с версией скриптов.
-
Опытные юзеру предпочтут скрипты, поскольку толковый мультисценарий, мне кажется, не сделать. Тот же пример с датчиком протечки - как сделать с помощью блокли чтобы пользователю отсылалось сообщение в Telegram с названием датчика протечки и названием клапана/насоса, которые отключены? В скрипте это сделать очень просто…
Согласен. Каждому свое. Опытные будут писать скрипт. Для меня, как инженера-схемотехника, блок-схемы нагляднее. Я не программист
Чтобы отсылалось сообщение с названием устройства можно в сообщение подставлять: x.id, x.name, x.placeName, x.zoneName, x.fullName
Формат такой: Внимание! Протечка воды. ${SLEAKAGE1.zoneName}
Если обычный юзер "перерастет" себя, то отредактировать скрипт, который создался на основе блок-схемы ему не получится…вижу, что всплывает сообщение - "Редактируйте блок-схему". Но как вариант - можно создать свой с нуля.
Можно способом copy/paste. Скопировать созданный в блок-схеме скрипт и сделать из него новый сценарий.
Кроме этого чуть позже можно будет одной командой сделать из блок-схемы мультисценарий.
@intrahouse:Что такое "Новый скрипт" и "Новый шаблонный скрипт" - обычный сценарий и мультисценарий? Теперь придется ломать парадигму прошлых представлений?
Ломать не надо. Мы поправим названия. Должно быть Сценарий, Мультисценарий, Блок-схема
-
Добрый день,
@Alex_Jet:В некоторых случая почему-то не удаляются линии. Выбираешь ее, а минус не активен - выбираешь какой-нибудь элемент, а потом снова линию и тогда минус активен.
Линии удаляются только по клавише Backspace или с элементом вместе. (исправим в следующей версии)
Элементы также можно удалить по клавише Backspace или кнопки минус.
При удерживание клавиши Shift можно выделять несколько элементов или линий
При удерживание клавиши Ctrl на линиях можно ставить точки.
Линию можно протянуть только от предыдущего элемента к следующему обратно не получается. Это с точки зрения юзабилити.
Все верно, данное ограничение штатное, не является ошибкой.
-
Все вышеописанное Вами, надо в статью/вики добавить.
PS: а я радиотехник… но языки программирования очень нравятся. Хотя никак с программированием не связан - все в русле хобби.
-
Добрый день!
А как в блоксхеме при информировании (email\telegramm) сделать перенос на новую строку? Если в телеграмме еще сойдет передать все показания разными сообщениями, то несколько параметров разными письмами высылать неудобно, а в одну строку тоже не вариант.
Заранее спасибо!
ps
извините, разобрался. работает с \n
-
А как в блоксхеме при информировании (email\telegramm) сделать перенос на новую строку? Если в телеграмме еще сойдет передать все показания разными сообщениями, то несколько параметров разными письмами высылать неудобно, а в одну строку тоже не вариант.
Мы уже обратили внимание на это. В следующей версии будут многострочные сообщения
-
ps
извините, разобрался. работает с \n
Это хорошо. Но вписывать многострочное сообщение в одну строку все равно неудобно. Будет многострочное поле.