Релиз IntraHouse V5



  • Да. Например 10.12 20:11:33.239 scen002 Blocked TypeError: this.pluginCommand is not a function

    Или 10.12 20:12:26.203 scen003 Blocked TypeError: this.agent.getSysTime is not a function. Это из вашего сценария датчика темноты. Дальше пока не проверял.



  • Покажите код сценария и где вы его взяли. Без кода невозможно понять, в чем проблема,



  • /**

    • @desc 0 - светло, 1 - темно
    • Запускается на старте сервера
    • @version 5
      */
      const darkness = Device("DI_009");

    const script = {
    // boot() {
    // return true;
    // },
    start() {
    let now = Date.now();
    let sunrise = this.getSysTime('sunrise','today');
    let sunset = this.getSysTime('sunset','today');

      let val = (now < sunrise || now > sunset) ? 1 : 0;
      this.assign(darkness, 'dval', val);
      
      let nextrise = (now < sunrise) ? sunrise : this.getSysTime('sunrise','tomorrow');
      this.startTimer('sunrise', nextrise, 'onSunrise');
      
      let nextset = (now < sunset) ? sunset : this.getSysTime('sunset','tomorrow');
      this.startTimer('sunset', nextset, 'onSunset');  
    },
    

    //Восход
    onSunrise() {
    this.assign(darkness, 'dval', 0);
    this.startTimer('sunrise', this.getSysTime('sunrise','tomorrow'), 'onSunrise');
    },
    //Закат
    onSunset() {
    this.assign(darkness, 'dval', 1);
    this.startTimer('sunset', this.getSysTime('sunset','tomorrow'), 'onSunset');
    }
    };



  • /**

    • @desc Обработка события перезагрузки MegaD
    • @version 5
      */

    const script = {
    comm:'/%pwd%/?cmd=all', //Команда для опроса всех каналов
    param: 'megad1',
    //Param - имя MegaD. Передается из плагина как параметр сценария
    start() {
    this.pluginCommand({unit:this.param, command:this.comm});
    // this.info('telegram', 'u0002', 'Рестарт контроллера ' + this.param);

        this.info('pushnotification', 'u0002', 'Рестарт контроллера ' + this.param);
    } 
    

    };



  • В четвертой версии все работает. Тут нет.



  • Если закоментарить строку this.pluginCommand({unit:this.param, command:this.comm});
    то сценарий отрабатывает.



  • Это все и отсутствие нормального описания системы команд пока сдерживает полноценный переход на V5



  • Всех с новым годом!
    Хотел прояснить один момент. В 4 версии вот такая строка

    this.startTimer('sunrise', this.getSysTime('sunrise','tomorrow'), 'onSunrise');

    приводила к срабатыванию функции onSunrise() на рассвете завтрашнего дня. Эта же строка в 5 версии приводит к следующему результату:

    02.01 08:31:56.330 getSysTime sunrise tomorrow = 03.01 08:31:43.156 (1641187903156)
    02.01 08:31:56.330 Start timer sunrise for 1641187903156 sec

    Получается сработка произойдет примерно через 52000 лет? Почему так получается? Косяк?



  • @Lost, да, Вы правы. Такой вариант запуска startTimer (второй аргумент не интервал, а временная точка) пока не работает. Добавим в ближайшем релизе.
    Всем удачи и больше светлых полос в Новом тигровом году!



  • Добрый вечер!
    А каким образом можно восстановить проект из сохраненной копии (например project15.ihpack)? Через импорт не получается. Появляется ошибка после достижения 99% прогресса:
    036df732-db2b-4aeb-b54e-6b83a47ccff2-image.png

    Хотя по факту таких папок точно нет на этом сервере. Или я может что-то не так делаю?



  • Добрый день!
    Подскажите, а как максимально безболезненно мигрировать с v4 на v5 и что точно не переедет и придется переделывать?
    Инструкцию не нашел ни на форуме ни на сайте.
    Заранее спасибо!



  • @homa Добрый день!
    Переедут устройства.
    Экраны нет, сценарии нужно будет изменить.

    Если нет другого компьютера, V5 можно установить на тот же компьютер, где V4. Встанет на другой порт.



  • Механизм переноса: выгрузить проект в V4 и загрузить в V5



  • Пользователь @IntraVM написал в Релиз IntraHouse V5:

    Механизм переноса: выгрузить проект в V4 и загрузить в V5

    Ну а как все таки загрузить проект в V5?



  • @Lost Через импорт



  • @IntraVM а мнемосхемы?
    Сценарии, конечно, проблема, без них ничего работать не будет, а их достаточно много. Большое количество работы по переносу в ограниченное время выходит.
    Устройства с привязкой к плагинам и портам переедут? Нужно сначала установить все используемые плагины, а потом делать импорт?



  • Пользователь @IntraVM написал в Релиз IntraHouse V5:

    @Lost Через импорт

    Я уже выше писал, что импорт сохранённых из V5 проектов обратно в V5 (на другой машине)
    не работает! Возникает ошибка "папка существует" хотя по факту её нет.



  • @homa я пробовал переносить. Получилось месиво. Лучше с нуля создать. Так как функционал значительно расширился при создании заодно изучите возможности.



  • @Lost У меня очень большой проект с очень высокой степенью автоматизации, пересоздать вручную это неделю больше ничем не заниматься, при этом ещё и работать ничего не будет) в идеале переехать хоть как-нибудь, а потом переделывать отдельные куски



  • @IntraVM да, ещё вопрос по устройствам, сниппеты переедут?


Log in to reply