Релиз IntraHouse V5
-
Пользователь @Lost написал в Релиз IntraHouse V5:
Тестовые сообщения уходят. На команду из сценария типа this.info('telegram', 'admin', 'Текст сообщения') в отладчике появляются следующие сообщения:
04.11 22:43:37.613 Send info telegram:{"txt":"Текст сообщения","dest":"admin"}
04.11 22:43:37.616 ERROR Send info! Не найдены адреса информирования для получателя admin
Я что то не так делаю или где-то косяк?Сообщение системой отправляется, если для адреса стоит галка "Отправлять сообщение". (Пользователь - Информирование)
Это позволяет использовать несколько адресов, также можно заблокировать отправку по конкретному адресу.Пользователь @Lost написал в Релиз IntraHouse V5:
Еще на команду из сценария this.pluginCommand({unit:'megad1', command:'/%pwd%/?cmd=all'});
выдает ошибку:
04.11 22:57:06.910 Blocked with run-time error: TypeError: this.pluginCommand is not a functionПока в сценариях не работают функции pluginCommand, snap, execOs
Будут добавлены в ближайших релизахПользователь @Lost написал в Релиз IntraHouse V5:
Получается в 5 версии систему команд и формат сценариев поменяли? Когда будет актуальное описание?
Некоторые отличия есть. В основном в сторону упрощения синтаксиса
Есть описание отличий синтаксиса сценариев от версии Cherry: https://docs.intrahouse.ru/ru/pg043Пользователь @Lost написал в Релиз IntraHouse V5:
Так же в расширениях плагина Megad не удается выбрать сценарий для запуска в ответ на входящее сообщение от контроллера
Это проверим.
-
@IntraVM С отправкой сообщений разобрался. Сразу не обратил внимание на то, что сообщения отправляются по ID пользователя. Создал я нового пользователя. Его ID получился u0002. А у встроенной учетной записи Admin и ID тоже admin. Поэтому и возникает вопрос можно ли как то отредактировать ID нового пользователя в удобоваримый вид?
-
Еще обратил внимание, что иногда после изменения настроек каналов в плагине Megad корректная работа устройств начинается только после перезагрузки сервера. Перезапуск самого плагина не помогает.
-
@Lost
Добрый день, спасибо за информацию, проверим
-
День добрый!
Когда ожидать полноwенную работоспособность сценариев?
-
@Lost Прошу пояснить. Сейчас работоспособность сценариев не полноценна?
-
Да. Например 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% прогресса:
Хотя по факту таких папок точно нет на этом сервере. Или я может что-то не так делаю?
-
Добрый день!
Подскажите, а как максимально безболезненно мигрировать с v4 на v5 и что точно не переедет и придется переделывать?
Инструкцию не нашел ни на форуме ни на сайте.
Заранее спасибо!
-
@homa Добрый день!
Переедут устройства.
Экраны нет, сценарии нужно будет изменить.Если нет другого компьютера, V5 можно установить на тот же компьютер, где V4. Встанет на другой порт.
-
Механизм переноса: выгрузить проект в V4 и загрузить в V5
-
Пользователь @IntraVM написал в Релиз IntraHouse V5:
Механизм переноса: выгрузить проект в V4 и загрузить в V5
Ну а как все таки загрузить проект в V5?