Навигация

    Forum

    • Зарегистрироваться
    • Войти
    • Поиск
    • Категории
    • Последние
    • Метки
    • Популярные
    • intraHouse Site
    1. Главная
    2. regabriel
    R
    • Профиль
    • Подписки
    • Подписчики
    • Темы
    • Сообщения
    • Лучшие сообщения
    • Группы

    regabriel

    @regabriel

    0
    Репутация
    28
    Сообщения
    1
    Просмотры профиля
    0
    Подписчики
    0
    Подписки
    Регистрация Последнее посещение

    regabriel Подписаться

    Лучшие сообщения regabriel

    Этот пользователь ещё ничего не написал.

    Недавние сообщения regabriel

    • RE: Плагин E-Mail

      Моя борьба с плагиным закончена)))

      Пишу для других, возможно это сократит вам время.

      1. Если ящик через который отправляется находится на mail.ru, то данный сервис заблокирует ящик. Восстанавливать его сложно, так как у меня не был привязан телефон. Письма не отправляются. Даже создание нового ящика и отправка от него ничего не дает(никакой реакции вообще нет). Такое ощущение, что сервис просто банит и всё.
      2. Gmail. Отправит несколько писем но потом при входе укажет, что
      Предотвращена попытка входа в аккаунт
      Кто-то хотел войти в Ваш аккаунт из стороннего приложения, используя Ваш пароль, но мы заблокировали эту попытку. Рекомендуем Вам проверить действия в аккаунте и убедиться, что у посторонних нет доступа к нем
      

      При этом я не нашел возможности разрешить доступ стороннему приложению, гугл безжалостен :))
      Все письма отправленные от этого ящика попадают в спам.

      3.) yandex.ru всё нормально отправляет, и письма видны.

      Вот только и текст сообщения и тема дублируются.

      this.info("email","OWNER",'Протечка, протечка  22');
      this.info("email","OWNER",'Протечка!!!', 'Протечка в комнате 5');
      

      В письме выглядят одинаково

      написал в Плагины
      R
      regabriel
    • Зависание скриптов

      Здравствуйте. Проблема с зависанием периодически выполняющегося скрипта не исчезла. Пытаюсь понять как найти причину. Прошу помощи.

      Мульти скрипт выполняется раз в минуту. При этом некоторые из них могут зависнуть, а некоторые еще не зависали никогда. Раз в день есть вероятность, что один-два скрипта зависнут.

      Как найти причину такого поведения?
      На картинке видно, что два скрипта зависло
      alt text

      Скрипт:

      /** 
      * @name Опрос и считывание показаний по CNT меги 
      * @desc  
      * @version 4 
      */
      const count_mega = Device("SensorA","Предыдущее CNT меги"); 
      const count = Device("Meter","Счетчик"); 
      
      script({
          start() {
            // Связывание устройств с плагинами
            let name_plugin ='';
            let port_plugin = '';
            let pass_plugin = 'gos';
            
            switch (count_mega.id){
              case 'number_223_cnt_mega_electro':
                name_plugin = 'megad3';
                port_plugin = '0';
                break;
              case 'number_223_cnt_mega_waterCold':
                name_plugin = 'megad4';
                port_plugin = '0';
                break;
              case 'number_223_cnt_mega_waterHot':
                name_plugin = 'megad4';
                port_plugin = '1';
                break;
              case 'number_222_cnt_mega_waterCold':
                name_plugin = 'megad4';
                port_plugin = '2';
                break;
              case 'number_222_cnt_mega_waterHot':
                name_plugin = 'megad4';
                port_plugin = '3';
                break; 
              case 'number_221_cnt_mega_waterCold':
                name_plugin = 'megad4';
                port_plugin = '4';
                break;
              case 'number_221_cnt_mega_waterHot':
                name_plugin = 'megad4';
                port_plugin = '5';
                break;
                case 'stolovaya_cnt_mega_waterCold':
                name_plugin = 'megad2';
                port_plugin = '4';
                break;
              case 'stolovya_cnt_mega_waterHot':
                name_plugin = 'megad2';
                port_plugin = '5';
                break;
              default:
                this.log('не найден счетчик по id в скрипте '+count_mega.id);
                this.exit();
                break;
            }
              //this.pluginCommand({unit:'megad3', command:'/gos/?pt=0&cmd=get'}, 'onGetResponse');
               this.pluginCommand({unit: name_plugin + '', command:{url:'/'+pass_plugin +'/?pt='+port_plugin + '&cmd=get', onResponse:'raw'}},'onGetResponse');
              
        },
      
        onGetResponse(body) {
      //дальше уже обработаем ответ
              let cnt = 0;
              let weightImpulse = 1;
              let inaccuracy = 0;
              let weitType = 'default';
              let ElectroMercuri = ['number_223_cnt_mega_electro'];
              let Water10Litr = ['number_221_cnt_mega_waterHot','number_221_cnt_mega_waterCold','number_222_cnt_mega_waterHot','number_222_cnt_mega_waterCold','number_223_cnt_mega_waterHot','number_223_cnt_mega_waterCold','stolovaya_cnt_mega_waterCold','stolovya_cnt_mega_waterHot'];
              
              if (ElectroMercuri.indexOf(count_mega.id) != -1)
              {
                weightImpulse = 0.0003125;
                inaccuracy = 100;
              }else 
                if (Water10Litr.indexOf(count_mega.id) != -1){
                weightImpulse = 0.01;
                inaccuracy = 2;
              }
              
           if (body.substr(0,2) =='OF'){
            cnt = body.substr(4);
            }else if (body.substr(0,2) =='ON'){
            cnt = body.substr(3);
          }else
          {
            this.log('Ошибка данных от контроллера');
            this.exit();
          }
          cnt = Number(cnt);
         //this.log(cnt);
          let diff = Number(cnt) - Number(count_mega.value);
            if (diff === 0)
            {
              // this.log('скрипт - ок0');
              this.exit();
            }else if (diff > 0)
            {
              this.assign(count,"aval",(diff * weightImpulse ) + Number(count.value));
              // this.log('скрипт - ок1 =' + cnt); 
            }else{
              //сброс по питанию уже был, допустимый или нет?
              if (Number(count_mega.value) > (65535 - inaccuracy))
              { 
                let diff2 = cnt + (65536 - count_mega.value);
                if (diff2 !== 0)
                {
                this.assign(count,"aval",((diff2 * weightImpulse ) + Number(count.value)));
                }
                // this.log('скрипт - ок2');
              }else{
                //был сброс по питанию!!
                this.log('Был сброс счетчиков у контроллера ' + count_mega.id);
                if(cnt !== 0)
                {
                this.assign(count,"aval",((cnt * weightImpuls) + Number(count.value))); //нельзя присвоить тоже значение счетчику, зависнет, дальше работать не будет
                }
                
                
              }
            }
              if (Number(count_mega.value) != cnt){
                this.assign(count_mega,"value",cnt);
              }
          this.exit();
        }
      });
      
      
      
      написал в Сценарии
      R
      regabriel
    • RE: Вопросы по работе системы

      @regabriel

      То что смог откопать, скорее всего из-за этого и зависло:

      const count = Device("Meter","Счетчик");
      ...
      после этого момента скрипт не выполняется:
      this.assign(count,"aval", "тоже значение что и было раньше");
      

      Где-то ошибка в коде разрабов т.к. не очень правильно, чтобы скрипт просто зависал на таком моменте.

      написал в intraHouse V4 Cherry
      R
      regabriel
    • RE: Вопросы по работе системы

      Не могу понять это ошибка системы?? Почему некоторые скрипты не запускаются по времени? Где нибудь ошибка?

      alt text

      Возможно магия стоит в "запуске/остановке/заблакировке/разблокировке" сценария
      Видимо если ты запускаешь сценарий в ручную, то последующий действия по расписанию идти не будут? Пока его не разблокируешь? Они могут самозаблокироваться(ночью я точно скрипты не трогал)?

      написал в intraHouse V4 Cherry
      R
      regabriel
    • RE: Вопросы по работе системы

      @Alex_Jet пробовал на других браузерах?
      У меня например в Firefox выгрузка проекта в файл не работает, так, что от браузера могут быть различия...

      написал в intraHouse V4 Cherry
      R
      regabriel
    • RE: Вопросы по работе системы

      Пользователь @intrapro написал в Вопросы по работе системы:

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

      Похоже в виджете мнемосхема по умолчанию она стояла, из-за этого и ошибки. Я не заметил, наверное надо было изменить состояние по умолчанию и всё.

      Но я добавил 49.json в конфигах на сервере, а также скорректировал mnemoshemes.json, тем самым вернул её. После чего уже заметил, что мнемосхема по умолчанию отображает 49ую. И исправил это.))

      Спасибо за советы. Было бы здорово если бы сообщения об ошибках были бы более информативными.

      написал в intraHouse V4 Cherry
      R
      regabriel
    • RE: Вопросы по работе системы

      Столкнулся с ошибкой в системе.
      Была у меня мнемосхема 49, так же был возможность её выбора в некоторых навигаторах мнемосхем.
      Решил её удалить. Теперь ни один навигатор не работает, требует её. Ни удаление навигаторов, ни перезагрузка системы не помогает. В списке выбора мнемосхем её нигде нет.
      alt text

      Что делать?

      написал в intraHouse V4 Cherry
      R
      regabriel
    • RE: Вопросы по работе системы

      Пользователь @intrapro написал в Вопросы по работе системы:

      this.isChanged(shutter_small)

      Хорошо, а то я уже совсем голову сломал)) Спасибо.
      Только поясните еще один момент (isChanged когда оно равно true)

      const dev = Device("window");
      ...
      start() {
        	this.addTimer("T1");   
       //в этот момент времени dev закрыто
      this.startTimer("T1", 100, "finish_active"); 
      },
      
      finish_active(){
      // если до этого момента времени входа в start() не было, и dev открыто(т.е. изменилось)
      // то 
      this.isChanged(dev) == true  или false???
      
      // А если оно несколько раз менялось и осталось к этому моменту закрытым(т.е. не изменилось
      this.isChanged(dev) == true  или false???
      }
      // Или еще если говоря по русски, то isCanged()== true если значение изменилось, или менялось?
      написал в intraHouse V4 Cherry
      R
      regabriel
    • RE: Вопросы по работе системы

      Не пойму из-за чего могут не работать некоторые скрипты пишет что isChanged не функция, хотя это мультисценарий и у других норм:

      alt text

      Другой скрипт так же выдает при принудительном запуске:
      alt text

      Скажите из-за чего такое может выдавать? (перезагрузка не помогает)

      написал в intraHouse V4 Cherry
      R
      regabriel
    • RE: Вопросы по работе системы

      Пользователь @Alex_Jet написал в Вопросы по работе системы:

      системный виджет autocomplete

      Вот я тоже не понял как его настраивать.

      navigator работает но это не выпадающий список, не так элегантно получается, да и не получается в нем сделать переходы на экраны или другие действия(например запуск сценария или т.п.)

      написал в intraHouse V4 Cherry
      R
      regabriel