Сценарии пользователей
-
Пользователь @homa написал в Сценарии пользователей:
И вот это неудобно каждый раз добавлять одинаковое устройство в "Запускать для устройств". Было бы удобно прописать в коде устройство напрямую, но это не поддерживается в мультисценариях
Зачем добавлять "каждый раз"? Один раз за всю историю вашего УД добавьте, и пусть домашние всю жизнь потом пользуются.
Ну, не хочется добавлять, попробуйте через глобальную переменную.
ее не нужно "каждый раз добавлять".
Интересно, можно глобальную переменную использовать как триггер запуска?
-
проблемка, в сценарии отключается свет даже если есть движение, что делаю не так?
-
@amgstone Добрый день. Так как вы хотите сделать не получится реализовать на данный момент с помощью блок схем. Вам необходимо написать сценарий на js или воспользоваться готовыми https://ih-systems.com/ru/scenes-examples/
-
На форуме Ab-log родился интересный сценарий управления трехходовым клапаном.
В этой теме.
Этот сценарий.Но там он на python.
Переделайте его в API v 4, в качестве примера мультисценария пожалуйста.
-
@Erik Добрый день.
Сам по себе скрипт не сложный, но так понимаю, идея в том, что для регулирования используются не текущие значения температуры, а линейные интерполяции, причем за разные промежутки времени:
Текущее значение (curr) считается линейной интерполяцией значений на часовом интервале, прогноз выполняется линейной экстраполяцией часового временного ряда на полтора часа, температура контура и коллектора на подаче (contour & collector) считается так же линейной интерполяцией но на 5 минутах,
Сама интерполяция выполняется не скриптом, а, вероятно, хранимыми процедурами БД (или еще как-то?)
То есть нужно постоянно подсчитывать средние с заданной частотой на заданном интервале.
В IH сейчас можно рассчитывать это сценарием, но кода получится весьма много.В версии V5 планируется создавать вычисляемые поля, тогда интерполяцию можно будет выполнять прямо на уровне устройства. И к новому отопительному сезону, надеюсь, такой скрипт можно будет сделать достаточно просто.
-
Не получается в графическом редакторе сделать управление одной кнопкой toggle по IR каналу.
Первичное нажатие включает LAMP_1_3, повторное нажатие должно отключать, но отключает
только после нажатия на любую другую кнопку + повторное нажатие начальной.... т.е предварительный сброс компаратора в 0. (т.е любой другой код) . Как сделать чтобы после выполнения сценария компаратор сбрасывался, и повторная передача кода 2962 приводила к toggle Lamp_1_3. Наилучшими.
-
@ra2fgomm после блока ACTION добавьте блок изменения значения устройства SENSORA_IR
У вас не происходит изменения, поэтому скрипт не отрабатывает второй раз
-
Огромное спасибо за подсказку !!!! Работает !!!
-
Добрый день
Помогите сделать сценарий
Я вообще не представляю как это сделать
Есть датчик который присылает на сервер расстояние в см
Мне нужно сантиметры перевести в проценты, от 0 до 100% и вывести их на экран
105 см = 0%
20 см = 100%
Это примерно точные сантиметры
-
Пользователь @dre12007 написал в Сценарии пользователей:
Добрый день
Помогите сделать сценарий
Я вообще не представляю как это сделать
Есть датчик который присылает на сервер расстояние в см
Мне нужно сантиметры перевести в проценты, от 0 до 100% и вывести их на экран
105 см = 0%
20 см = 100%
Это примерно точные сантиметры= 100 - (value - 20)*100/85
-
если не сложно можно подробнее?
-
- Узнаем сколько % составляет значение уменьшенное на 20 от верхней границы - 105 минус 20.
- "переворачиваем" проценты. Вам нужно минимальное значение - 100%, максимальное - 0. Поэтому от 100 отнимаем полученное в п.1
Стесняюсь спросить, вы в школе зачем учились то?
-
Причем тут школа, я понял что вы высчитали
Где это прописать в ih, как это сделать в самой программе?
Такого в школе не преподают
-
@amgstone Вот я сделал. У меня вроде работает.
-
Вот ещё один рабочий. При входе срабатывает геркон, если нет движения выключается свет.
-
@dre12007
Если ваше устройство sensor1, а % присваиваете actor1let newvalue = 100-(sensor1.value-20)*100/85;
actor1.setValue(newvalue);
-
Пользователь @Sergeus написал в Сценарии пользователей:
@amgstone Вот я сделал. У меня вроде работает.
Не, всё таки не работает. Где косяк, хз.
-
@Sergeus
Элемент AND в данном случае лишний. Он необходим при сравнении как минимум двух свойств.
Зачем элемент сравнения A>B, не понятно. Этот элемент имеет смысл когда сравниваете аналоговые величины. Например температура1 больше температуры2.Если цель выключить светильник (H20) через 600 сек. после прекращения движения (триггер smotion2), то логичней такой сценарий:
Хотя смысла у такого сценария нет. Можно было просто выключать светильник без проверки его состояния. Я просто показал применение блока AND
-
@intrahouse Понятно. А как его привязать к сценарию с герконом, чтоб был как один или нет в этом разницы?
-
const roulette = Device( "Roulette"); const actor = Device( "Аctor"); startOnChange ([roulette]); script({ start() { let newvalue = 100-(roulette.value-20)*100/85; actor.setValue(newvalue); } });
Что то не так я делаю