Сценарии пользователей



  • @homa придется из сценария разово записать 0 или другое кол-во секунд в пределах суток.



  • @intrapro да, получилось. спасибо! И сразу другой вопрос: нельзя запускать мультисценарий из расписания? там можно выбрать только экземпляр с конкретным устройством...



  • Пользователь @homa написал в Сценарии пользователей:

    И сразу другой вопрос: нельзя запускать мультисценарий из расписания? там можно выбрать только экземпляр с конкретным устройством...

    Запустить можно конкретный сценарий. Мультисценарий - это как бы шаблон. Имеется в виду запустить все экземпляры мультисценария сразу? Нет, пока только по одному 😞



  • @intrapro

    Можно. Опять таки через доп актуатор.
    В мультисценарий внести еще один элемент - актуатор.
    И сделать его триггером. Чтобы сценарий запускался, когда этот актуатор, например, включается.

    Во все наборы устройств мультисценария этот актуатор сделать одним и тем же.
    А его можно включать/выключать другим скриптом. Который запускать по расписанию.



  • @Erik Да, верно. Нормальный вариант



  • @Erik я добавил бинарный датчик и через плагин сенсорэмулятор задал период изменения. Суть таже - триггер) неудобно одинаковое устройство писать всем экземплярам мультисценария. Нужно групповое добавление устройств в мультисценарий)



  • Пользователь @homa написал в Сценарии пользователей:

    неудобно одинаковое устройство писать всем экземплярам мультисценария.

    Почему?

    У системы есть состояния.
    Это режим охраны, режим работы отопления, присутствие, и все что угодно еще.
    И если в разных состояниях должны быть разные сценарии, нужно создавать устройства - признаки этих состояний, и проверять их значения в скриптах.
    Или запускать скрипты при изменении их состояний.
    И это как раз удобно. Можно не только состояниями оперировать, но и сочетаниями состояний. Например "экономичный режим отопления в отсутствии хозяев при включенной охране".
    Полностью развязывает руки. И вы можете менять состояния вручную, скриптом, по расписанию, по событию, и менять поведение системы.
    А добавить эти устройства в мультисценарии нужно 1 (один) раз. Зачем вам другой механизм?



  • @Erik Вы меня не поняли) чтобы выполнять мультисценарий циклически делаем виртуальное устройство, которое меняет состояние каждые 50сек:
    efdb998f-42e4-4dff-a706-2c5ce928f982-image.png
    Запускаем мультисценарий по изменению этого датчика:
    e0f5a39e-76dd-4635-9cef-e0ce1ce3f0c1-image.png
    чтобы все экземпляры сценария срабатывали каждые 50сек нужно добавить этот бинарный датчик ко всем экземплярам:
    62a6317a-01a2-4258-9359-4a3443640228-image.png
    И вот это неудобно каждый раз добавлять одинаковое устройство в "Запускать для устройств". Было бы удобно прописать в коде устройство напрямую, но это не поддерживается в мультисценариях



  • Пользователь @homa написал в Сценарии пользователей:

    И вот это неудобно каждый раз добавлять одинаковое устройство в "Запускать для устройств". Было бы удобно прописать в коде устройство напрямую, но это не поддерживается в мультисценариях

    Зачем добавлять "каждый раз"? Один раз за всю историю вашего УД добавьте, и пусть домашние всю жизнь потом пользуются.

    Ну, не хочется добавлять, попробуйте через глобальную переменную.
    ее не нужно "каждый раз добавлять".
    Интересно, можно глобальную переменную использовать как триггер запуска?



  • проблемка, в сценарии отключается свет даже если есть движение, что делаю не так? alt text



  • @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. (т.е любой другой код) . Как сделать чтобы после выполнения сценария 1.jpg компаратор сбрасывался, и повторная передача кода 2962 приводила к toggle Lamp_1_3. Наилучшими.



  • @ra2fgomm после блока ACTION добавьте блок изменения значения устройства SENSORA_IR
    8a9ba311-cd0b-4d52-ad51-ebf6093de3a0-image.png
    У вас не происходит изменения, поэтому скрипт не отрабатывает второй раз



  • Огромное спасибо за подсказку !!!! Работает !!!



  • Добрый день
    Помогите сделать сценарий
    Я вообще не представляю как это сделать
    Есть датчик который присылает на сервер расстояние в см
    Мне нужно сантиметры перевести в проценты, от 0 до 100% и вывести их на экран
    105 см = 0%
    20 см = 100%
    Это примерно точные сантиметры



  • Пользователь @dre12007 написал в Сценарии пользователей:

    Добрый день
    Помогите сделать сценарий
    Я вообще не представляю как это сделать
    Есть датчик который присылает на сервер расстояние в см
    Мне нужно сантиметры перевести в проценты, от 0 до 100% и вывести их на экран
    105 см = 0%
    20 см = 100%
    Это примерно точные сантиметры

    = 100 - (value - 20)*100/85



  • если не сложно можно подробнее?



  • @dre12007

    1. Узнаем сколько % составляет значение уменьшенное на 20 от верхней границы - 105 минус 20.
    2. "переворачиваем" проценты. Вам нужно минимальное значение - 100%, максимальное - 0. Поэтому от 100 отнимаем полученное в п.1

    Стесняюсь спросить, вы в школе зачем учились то? 🙂


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