В связи с выходом крупного обновления 5.9.х, приглашаем вас принять участие в вебинаре 09.06.2022 в 15:00. Участвовать

Сценарии в intraHouse Cherry



  • @intrapro:

    @sergeyygr:

    Такой вариант сценария пробовал, не помогло(((

    А в отладчике что? В рабочих сценариях конкретно по этому сценарию?

    Еще можно временно добавить логирование :

    > start() {
    >   if (bat.dval == 0) {
    >      this.log('Температура '+dt.aval+'  уставка '+dt.defval+'  Батарея '+bat.dval+' -> ВКЛЮЧАЕМ');
    >      this.do(bat, "aon");
    >   } else {
    >     this.log('Температура '+dt.aval+'  уставка '+dt.defval+'  Батарея '+bat.dval+' -> ВЫКЛЮЧАЕМ');
    >    this.do(bat, "aoff");
    >  }
    > }
    > 
    

    При температуре в помещении 10 градусов все нормально, режим авто работает, уставку датчика делаешь больше 10 ти - нормально, актуатор включается. Сейчас температура в помещении упала ниже 9,28 - началась "чихарда" с актуатором.

    лог сценария высылаю
    лог сценария.zip



  • @sergeyygr:

    При температуре в помещении 10 градусов все нормально, режим авто работает, уставку датчика делаешь больше 10 ти - нормально, актуатор включается. Сейчас температура в помещении упала ниже 9,28 - началась "чихарда" с актуатором.

    лог сценария высылаю

    Чудеса 🙂 А так?

    start() {
      this.log('Температура '+dt.aval+' уставка '+dt.defval+'  Батарея '+bat.dval);
    
      if (bat.dval == 0 && (Number(dt.aval) < Number(dt.defval))) {
         this.log(dt.aval+' < '+dt.defval+ ' -> ВКЛЮЧАЕМ');
         this.do(bat, "aon");
      } 
    
      if (bat.dval == 1 && (Number(dt.aval) > Number(dt.defval))) {
         this.log(dt.aval+' > '+dt.defval+ ' -> ВЫКЛЮЧАЕМ');
       this.do(bat, "aoff");
     }
    }
    
    


  • @intrapro:

    @sergeyygr:

    При температуре в помещении 10 градусов все нормально, режим авто работает, уставку датчика делаешь больше 10 ти - нормально, актуатор включается. Сейчас температура в помещении упала ниже 9,28 - началась "чихарда" с актуатором.

    лог сценария высылаю

    Чудеса 🙂 А так?

    > start() {
    >   this.log('Температура '+dt.aval+' уставка '+dt.defval+'  Батарея '+bat.dval);
    >   
    >   if (bat.dval == 0 && (Number(dt.aval) < Number(dt.defval))) {
    >      this.log(dt.aval+' < '+dt.defval+ ' -> ВКЛЮЧАЕМ');
    >      this.do(bat, "aon");
    >   } 
    >   
    >   if (bat.dval == 1 && (Number(dt.aval) > Number(dt.defval))) {
    >      this.log(dt.aval+' > '+dt.defval+ ' -> ВЫКЛЮЧАЕМ');
    >    this.do(bat, "aoff");
    >  }
    > }
    > 
    

    Работает!!!



  • @sergeyygr:

    @intrapro:

    @sergeyygr:

    При температуре в помещении 10 градусов все нормально, режим авто работает, уставку датчика делаешь больше 10 ти - нормально, актуатор включается. Сейчас температура в помещении упала ниже 9,28 - началась "чихарда" с актуатором.

    лог сценария высылаю

    Чудеса 🙂 А так?

    > > start() {
    > >   this.log('Температура '+dt.aval+' уставка '+dt.defval+'  Батарея '+bat.dval);
    > >   
    > >   if (bat.dval == 0 && (Number(dt.aval) < Number(dt.defval))) {
    > >      this.log(dt.aval+' < '+dt.defval+ ' -> ВКЛЮЧАЕМ');
    > >      this.do(bat, "aon");
    > >   } 
    > >   
    > >   if (bat.dval == 1 && (Number(dt.aval) > Number(dt.defval))) {
    > >      this.log(dt.aval+' > '+dt.defval+ ' -> ВЫКЛЮЧАЕМ');
    > >    this.do(bat, "aoff");
    > >  }
    > > }
    > > 
    

    Работает!!!

    И так тоже работает

    const script = {

    check() {

    return bat.auto && ((!bat.dval)&&(Number(dt.aval) <= Number(dt.defval)-0.5) || (bat.dval)&&(Number(dt.aval) >= Number(dt.defval)));

    },

    start() {

    this.log('Температура '+dt.aval+' уставка '+dt.defval+' Батарея '+bat.dval);

    if (!bat.dval && (Number(dt.aval) < Number(dt.defval))) {

    this.log(dt.aval+' < '+dt.defval+ ' -> ВКЛЮЧАЕМ');

    this.do(bat, "aon");

    }

    if (bat.dval && (Number(dt.aval) > Number(dt.defval))) {

    this.log(dt.aval+' > '+dt.defval+ ' -> ВЫКЛЮЧАЕМ');

    this.do(bat, "aoff");

    }

    }

    };



  • @sergeyygr:

    Работает!!!

    Постараемся исправить. Спасибо вам за тестирование 🙂



  • Добрый день!

    После сохранения отредактированного сценария теперь не могу зайти в список сценариев. Восстановление проекта из резервной копии не помогло. Список рабочих сценариев открывается. Как это лечится???
    Снимок.GIF



  • Попробуйте сделать так. Найти папку /var/lib/intrahouse-c/projects/<имя проекта>/scenes/script/

    В этой папке хранятся файлы сценариев с расширением js

    Удалите последний редактированный сценарий. Или перенесите его себе, чтобы сохранить.

    После удаления, сервер надо перезагрузить.



  • @sergeyygr:

    Добрый день!

    После сохранения отредактированного сценария теперь не могу зайти в список сценариев. Восстановление проекта из резервной копии не помогло. Список рабочих сценариев открывается. Как это лечится???

    Помогло! Спасибо!



  • @intrahouse:

    Попробуйте сделать так. Найти папку /var/lib/intrahouse-c/projects/<имя проекта>/scenes/script/

    В этой папке хранятся файлы сценариев с расширением js

    Удалите последний редактированный сценарий. Или перенесите его себе, чтобы сохранить.

    После удаления, сервер надо перезагрузить.

    Помогло! Спасибо!!!



  • Тема закрыта в связи с выходом новой версии API сценариев.


Log in to reply