Сценарии - новая версия API



  • @int144, все верно, start работает синхронно, он просто запускает запрос в this.send_http и идет дальше. Не ждет, когда придет ответ на запрос.

    03.01 13:15:08.994 Stopped - здесь start уже работу свою закончил

    Можно взвести таймер (на 1 сек или меньше, 0.1 даже достаточно). И в этой функции значения уже должны быть



  • @intrapro, а таймер взводить в start?



  • @int144, да



  • @intrapro, спасибо, буду пробовать



  • Добрый день!
    Не работает команда операционной системы
    Вот сценарий

    const mon = Device("POWER_MIRROR");
    
    // Запускаем сценарий при изменении состояния выключателя зеркала
    startOnChange(mon);
    
    script({
        start() {
          if (mon.isOff()) // Если он выключен
            this.execOS(`/home/pi/mirror_off.sh`); // Даем команду на выключение монитора
          else
            this.execOS(`/home/pi/mirror_on.sh`); // Иначе - на включение
        }
    });
    

    В отладчике пишет

    04.01 15:56:49.463 Trigger POWER_MIRROR
    04.01 15:56:49.464 Started
    04.01 15:56:49.465 execOS: /home/pi/mirror_off.sh
    04.01 15:56:49.492 Stopped
    04.01 15:56:49.522 execOS error: Error: Command failed: /home/pi/mirror_off.sh
    No protocol specified
    xset: unable to open display ":0.0"

    04.01 15:56:49.523 stdout:
    04.01 15:56:49.524 stderr: No protocol specified
    xset: unable to open display ":0.0"

    Хотя из терминала все прекрасно срабатывает. Может кто-то подсказать куда копать?



  • Подскажите как можно вывести среднюю температуру с 3 датчиков температури в сценарии? Хочу чтобы рекуператор менял уставку в зависимости от температуры в помещении.



  • @amgstone, ну а в чем проблема? Подтягиваете в сценарий своих 3 датчика температуры, в переменную заносите среднюю температуру от них и присваиваете 4-му датчику усредненное значение, по которому будет работать рекуператор.



  • @Alex_Jet от непонимаю как ето сделать в ih.



  • @amgstone,

    let avr = (t1.value + t2.value + t3.value)/3; //Закон усреднения показаний от трех датчиков
    this.assign(t_avr, "value", avr); //Присвоение аналоговому датчику значения
    


  • @Alex_Jet спасибо, все получилось))))



  • Может хто показать сценарий для счетчика многотарифного, чтобы визуализировал расход електроенергии по тарифам. Прошивка tasmota, wemos, pzem-004, mqtt.


Log in to reply