Релиз IntraHouse V5
-
У меня почему то не получается выбрать сценарии в расширениях
Создана парочка сценариев. Один из них задействован в расширениях в IH4:
Чего не хватает?
При изменении параметров в расширениях они после сохранения не применяются. Нужно перезапускать плагин MegaD. Так и должно быть?
-
В расписании если согласно подсказке выставить секунды - то расписание перестает работать, если только часы:минуты то норм.
-
@garryk Спасибо. Проверим
-
Господа разработчики, как все таки выбрать сценарий для запуска в расширениях плагина MegaD?
-
@Lost, Вы правы, не работает эта функция. Выпустим на неделе обновление системы и плагина MegaD.
-
@intrapro Ок. Ждем
-
@intrapro А то, что при изменении параметров в расширениях плагина MegaD они после сохранения не применяются поправите? Сейчас нужно перезапускать плагин MegaD.
-
Пользователь @Lost написал в Релиз IntraHouse V5:
Господа разработчики, как все таки выбрать сценарий для запуска в расширениях плагина MegaD?
Выпущена версия плагина megad v5.0.10, список сценариев берется (мультисценарии не включаются).
Для сработки сценария нужно также обновить систему. Сейчас доступна v5.8.11-beta, стабильный релиз выпустим на следующей неделе.
В beta версию в тестовом режиме включен новый метод сценария showDialog для вызова диалога на экран конкретного пользователя (группы):Диалоговое окно будет выведено на все терминалы, на которых в данный момент запущен пользовательский интерфейс с логином 'admin'. Первый аргумент 'di0012' - ID диалога:
this.showDialog('di0012','admin');
Если диалог создан для использования с "Любым устройством", нужно передать в качестве контекста внутренний идентификатор устройства:
this.showDialog('di0013','admin', {contextId: 'd0095'});
А то, что при изменении параметров в расширениях плагина MegaD они после сохранения не применяются поправите? Сейчас нужно перезапускать плагин MegaD.
Это пока к сожалению не сделано. Плагин MegaD был выпущен одним из первых и не использует новое API плагинов. Планируется разработать новый плагин MegaD с механизмом сканирования и всеми возможностями нового API. По срокам сказать не могу.
-
@intrapro Спасибо! Заработало. А вот функция boot() в настоящее время не работает?
-
Обнаружил еще косяк, связанный с работой модуля MegaD-2RW. Если релюхи этого модуля переключить минуя сервер, то при выполнении опроса модуля командой /%pwd%/?pt=%adr%&cmd=get изменение состояния в системе не происходит. Для примера, релюхи были изначально выключены. Потом я их напрямую включил. После опроса состояние устройств, привязанных к этим каналам, в системе не изменилось. В плагине значение в канале отображается как отключено. По факту реле включено.
06.02 17:17:50.484 megad2:
06.02 17:17:50.484 megad2: localhost => 192.168.1.15 HTTP GET /sec/?pt=43&cmd=get
06.02 17:17:50.529 megad2: localhost <= 192.168.1.15 response: statusCode=200 contentType = text/html
06.02 17:17:50.531 megad2: body: 225758000000:ON/ON
06.02 17:18:10.717 megad2:
06.02 17:18:10.718 megad2: localhost => 192.168.1.15 HTTP GET /sec/?pt=43&cmd=get
06.02 17:18:10.763 megad2: localhost <= 192.168.1.15 response: statusCode=200 contentType = text/html
06.02 17:18:10.765 megad2: body: 225758000000:ON/ON
06.02 17:18:30.946 megad2:
06.02 17:18:30.947 megad2: localhost => 192.168.1.15 HTTP GET /sec/?pt=43&cmd=get
06.02 17:18:30.991 megad2: localhost <= 192.168.1.15 response: statusCode=200 contentType = text/html
06.02 17:18:30.993 megad2: body: 225758000000:ON/ON
-
@Lost, попробуйте использовать cmd=list
/%pwd%/?pt=43&cmd=list
-
@intrapro Заработало. Спасибо за подсказку!
-
Пользователь @intrapro написал в Релиз IntraHouse V5:
@Lost, да, Вы правы. Такой вариант запуска startTimer (второй аргумент не интервал, а временная точка) пока не работает. Добавим в ближайшем релизе.
Всем удачи и больше светлых полос в Новом тигровом году!Хотел бы узнать, этот момент в настоящее время поправлен?
-
@Lost, да. должно работать
-
Похоже не работает. Ваш пример сценария виртуального датчика темноты после запуска на вкладке "Описание" имеет состояние "Активен", а в окне на вкладке "Редактор" состояние Not active. Если же в таймерах этого сценария вместо временных точек указать интервал то сценарий нормально отрабатывает. На вкладке "Редактор" отображаются сообщения, например Active timer "sunrise" on 10.02 07:47:14 Active timer "sunset" on 10.02 17:20:43
-
Пользователь @Lost написал в Релиз IntraHouse V5:
Похоже не работает. Ваш пример сценария виртуального датчика темноты после запуска на вкладке "Описание" имеет состояние "Активен", а в окне на вкладке "Редактор" состояние Not active. Если же в таймерах этого сценария вместо временных точек указать интервал то сценарий нормально отрабатывает. На вкладке "Редактор" отображаются сообщения, например Active timer "sunrise" on 10.02 07:47:14 Active timer "sunset" on 10.02 17:20:43
Проверили, такая конструкция отрабатывает штатно:
this.startTimer('sunrise', this.getSysTime('sunrise','tomorrow'), 'onSunrise');
Результат в отладчике:
10.02 10:38:20.544 ---Started 10.02 10:38:20.555 getSysTime sunrise tomorrow = 11.02 07:27:55.983 (1644553675983) 10.02 10:38:20.555 Start timer sunrise on time 11.02 07:27:55 (1644553675983)
Какой код вы используете, из V4?
-
@intrapro У меня сообщения такие же. Но как я уже писал, после перехода на вкладку "Описание" и обратно в "редактор" внизу в окне пишет, что сценарий не активен. На вкладке описание он активен. И по факту отработок утром и вечером нет
-
Вечером смогу прислать скрин и сообщения отладчика.
-
Код брал из v4
-
Вот первый вариант сценария:
/**
- @desc 0 - светло, 1 - темно
- Запускается на старте сервера
- @version 5
*/
const darkness = Device("DDark_001");
const script = {
time:0,
// 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; darkness.assign('state', 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() {
ну и дальше код.После запуска сценария в отладчике видим:
10.02 19:47:28.925 ---Started
10.02 19:47:28.926 getSysTime sunrise today = 10.02 07:47:14.968 (1644468434968)
10.02 19:47:28.926 getSysTime sunset today = 10.02 17:20:43.979 (1644502843979)
10.02 19:47:28.926 DDark_001 device common function: assign
10.02 19:47:28.927 assign[ 'state', 1, 'scen003' ]
10.02 19:47:28.927 getSysTime sunrise tomorrow = 11.02 07:45:21.239 (1644554721239)
10.02 19:47:28.927 Start timer sunrise on time 11.02 07:45:21 (1644554721239)
10.02 19:47:28.927 getSysTime sunset tomorrow = 11.02 17:22:40.361 (1644589360361)
10.02 19:47:28.927 Start timer sunset on time 11.02 17:22:40 (1644589360361)Переходим на вкладку "Описание"
Сценарий активен. Переходим на вкладку "Редактор".
Видим, что сценарий не работает. И по факту утром и вечером состояние датчика не меняется.
А вот тут показано, что вроде как ошибка есть, но нет времени останова сценария