Плагин MegaD
-
@aleks-zonov, при сработке датчика движения MegaD отправляет на сервер http-сообщения. Именно их нужно ловить на сервере. Для этого в плагине нужно прописать "Расширения" (в выпадающем списке перейдите на "Расширения" и добавьте 2 штуки для замыкания и размыкания датчика движения). Примеры для кнопок в режиме click посмотрите - тут
-
Пользователь @intrapro написал в Плагин MegaD:
@sergeyygr а останова нет? То есть сценарий уже работает в цикле. Можно раскомментировать эту строку и смотреть в журнале
this.log('getResponse body= '+body+' step='+this.step);
Можно еще в getTx добавить логирование
this.log('getTx step='+this.step);
! После редактирования сценарий остановится и сам не запустится, его надо запустить
Интересно, остальные рабочие сценарии отладчик тоже не видит(. Глюк системы?
-
@sergeyygr, появились сообщения в журнале?
Интересно, остальные рабочие сценарии отладчик тоже не видит(. Глюк системы?
Да, бывает, что отладчик в Рабочих сценариях не ловит сообщения.
Отладчик лучше использовать в основном разделе Сценарии, а в Рабочих смотреть статистику в таблице - запуск/останов/ошибка
-
Пользователь @intrapro написал в Плагин MegaD:
@sergeyygr, появились сообщения в журнале?
Интересно, остальные рабочие сценарии отладчик тоже не видит(. Глюк системы?
Да, бывает, что отладчик в Рабочих сценариях не ловит сообщения.
Отладчик лучше использовать в основном разделе Сценарии, а в Рабочих смотреть статистику в таблице - запуск/останов/ошибкаОтладчик не работает нигде, с запуском по триггеру тоже. В рабочих везде Now is NOT active.
-
Пользователь @intrapro написал в Плагин MegaD:
@sergeyygr, появились сообщения в журнале?
Журнал по датчикам пустой.
-
Now is NOT active - означает, что в данный момент сценарий в спячке, т е ожидает сработки триггера.
По обсуждаемому сценарию - вот что выдает отладчик у меня.
Нет плагина megad, поэтому он сразу выходит.20.08 19:12:29.028 Started 20.08 19:12:29.029 plugincCommand { unit: 'megad1', command: { url: '/sec/?uart_tx=010400000001&mode=rs485' } } 20.08 19:12:29.030 Error: { message: 'Plugin megad1 is not running!' } 20.08 19:12:29.030 start timer T1 for 0.1 sek 20.08 19:12:29.031 start timer T2 for 2 sek 20.08 19:12:29.176 Done timer T1 20.08 19:12:29.176 exec function getRx 20.08 19:12:29.177 plugincCommand { unit: 'megad1', command: { url: '/sec/uart_rx=1&mode=rs485', onResponse: 'raw' } } 20.08 19:12:29.178 Error: { message: 'Plugin megad1 is not running!' } 20.08 19:12:29.178 exec function getResponse 20.08 19:12:29.179 Stopped
-
Пользователь @intrapro написал в Плагин MegaD:
Now is NOT active - означает, что в данный момент сценарий в спячке, т е ожидает сработки триггера.
По обсуждаемому сценарию - вот что выдает отладчик у меня.
Нет плагина megad, поэтому он сразу выходит.20.08 19:12:29.028 Started 20.08 19:12:29.029 plugincCommand { unit: 'megad1', command: { url: '/sec/?uart_tx=010400000001&mode=rs485' } } 20.08 19:12:29.030 Error: { message: 'Plugin megad1 is not running!' } 20.08 19:12:29.030 start timer T1 for 0.1 sek 20.08 19:12:29.031 start timer T2 for 2 sek 20.08 19:12:29.176 Done timer T1 20.08 19:12:29.176 exec function getRx 20.08 19:12:29.177 plugincCommand { unit: 'megad1', command: { url: '/sec/uart_rx=1&mode=rs485', onResponse: 'raw' } } 20.08 19:12:29.178 Error: { message: 'Plugin megad1 is not running!' } 20.08 19:12:29.178 exec function getResponse 20.08 19:12:29.179 Stopped
Может удаленно на мой комп зайдёте?
-
@sergeyygr сегодня не получится
Попробуйте удалить этот сценарий полностью и перезагрузить сервер. Отладчик для других сценариев должен работать
-
Пользователь @intrapro написал в Плагин MegaD:
@sergeyygr сегодня не получится
Попробуйте удалить этот сценарий полностью и перезагрузить сервер. Отладчик для других сценариев должен работатьДа, действительно, отладчик стал работать, но не так как Вы писали: "Запустить отладчик для сценария. Окно пока будет пустое
Далее нужно открыть вторую вкладку с разделом Рабочие сценарии и запустить этот сценарий (кнопка для вызова - полосатый квадратик. Кстати, здесь же есть пункт Остановить сценарий)
Теперь в отладчике (в первой вкладке) будет трассировка прохождения сценария (либо в таблице в столбце Ошибка будет сообщение об ошибке, если сценарий не смог запуститься)".
Запускаю отладчик, перехожу на вкладку Рабочие сценарии, запускаю сценарий, возвращаюсь, а там отладчик остановлен.
-
Пользователь @sergeyygr написал в Плагин MegaD:
Запускаю отладчик, перехожу на вкладку Рабочие сценарии, запускаю сценарий, возвращаюсь, а там отладчик остановлен.
Нужно открыть две разные вкладки браузера
-
@sergeyygr Добрый день.
Сегодня сделали эмуляцию ответов от megad на запросы
'/sec/?uart_tx=010400000001&mode=rs485' (так как у нас такого железа нет)Скопировали Ваш сценарий, вот что видим в отладчике:
21.08 11:29:14.662 exec function nextParam 21.08 11:29:14.663 plugincCommand { unit: 'megad1', command: { url: '/sec/?uart_tx=010400000001&mode=rs485' } } 21.08 11:29:14.663 start timer T1 for 0.1 sek 21.08 11:29:14.664 start timer T2 for 1 sek 21.08 11:29:14.764 Done timer T1 21.08 11:29:14.765 exec function getRx 21.08 11:29:14.766 plugincCommand { unit: 'megad1', command: { url: '/sec/uart_rx=1&mode=rs485', onResponse: 'raw' } } 21.08 11:29:15.139 exec function getResponse 21.08 11:29:15.139 assign PZEM_Volt.value=223.5 21.08 11:29:15.672 Done timer T2 21.08 11:29:15.673 exec function nextParam 21.08 11:29:15.673 plugincCommand { unit: 'megad1', command: { url: '/sec/?uart_tx=010400030002&mode=rs485' } } 21.08 11:29:15.674 start timer T1 for 0.1 sek 21.08 11:29:15.674 start timer T2 for 1 sek 21.08 11:29:15.774 Done timer T1 21.08 11:29:15.775 exec function getRx 21.08 11:29:15.776 plugincCommand { unit: 'megad1', command: { url: '/sec/uart_rx=1&mode=rs485', onResponse: 'raw' } } 21.08 11:29:15.943 exec function getResponse 21.08 11:29:15.943 assign PZEM_Watt.value=2.237
То есть сценарий работает постоянно и циклически опрашивает.
Возможно, проблема в том, что для устройств остались активны сниппеты, и значение сбрасывается? Также устройства не должны быть привязаны к каналу.Если останется необходимость, можно подключиться удаленно.
-
Пользователь @intrapro написал в Плагин MegaD:
@sergeyygr Добрый день.
Сегодня сделали эмуляцию ответов от megad на запросыВозможно, проблема в том, что для устройств остались активны сниппеты, и значение сбрасывается? Также устройства не должны быть привязаны к каналу.
Если останется необходимость, можно подключиться удаленно.
Сниппеты удалил. Кстати, они работали даже если режим «При получении значений использовать сниппет» небыл активирован. Привязка к конкретному каналу MegaD нет. Присутствует лишь стандартная строка запроса, но период опроса стоит «0». В устройствах «Метод получения значения» стоит «Вычисляется сценарием». Может строку запроса удалить и оставить поле пустым?
-
Пользователь @sergeyygr написал в Плагин MegaD:
Привязка к конкретному каналу MegaD нет. Присутствует лишь стандартная строка запроса, но период опроса стоит «0». Может строку запроса удалить и оставить поле пустым?
Имеется в виду для плагина в целом? Опрос состояния всех устройств? Нет, это не должно никак влиять. У Вас другие входы-выходы работают с этим контроллером? Можно посмотреть отладчик плагина - там должны быть запросы от сценария.
Возможно, для тестирования время нужно увеличить - вместо 1 сек 5 секВ устройствах «Метод получения значения» стоит «Вычисляется сценарием».
Это не важно, можно оставить Стандарт
-
Пользователь @intrapro написал в Плагин MegaD:
Пользователь @sergeyygr написал в Плагин MegaD:
У Вас другие входы-выходы работают с этим контроллером? Можно посмотреть отладчик плагина - там должны быть запросы от сценария.
Да, работают, вот пример:
-
Пользователь @intrapro написал в Плагин MegaD:
Now is NOT active - означает, что в данный момент сценарий в спячке, т е ожидает сработки триггера.
По обсуждаемому сценарию - вот что выдает отладчик у меня.
Нет плагина megad, поэтому он сразу выходит.20.08 19:12:29.028 Started 20.08 19:12:29.029 plugincCommand { unit: 'megad1', command: { url: '/sec/?uart_tx=010400000001&mode=rs485' } } 20.08 19:12:29.030 Error: { message: 'Plugin megad1 is not running!' } 20.08 19:12:29.030 start timer T1 for 0.1 sek 20.08 19:12:29.031 start timer T2 for 2 sek 20.08 19:12:29.176 Done timer T1 20.08 19:12:29.176 exec function getRx 20.08 19:12:29.177 plugincCommand { unit: 'megad1', command: { url: '/sec/uart_rx=1&mode=rs485', onResponse: 'raw' } } 20.08 19:12:29.178 Error: { message: 'Plugin megad1 is not running!' } 20.08 19:12:29.178 exec function getResponse 20.08 19:12:29.179 Stopped
Все заработало. Проверил синтаксис, не правильно формировался запрос.
// Передать запрос на megad1, ответ придет в сценарий (onResponse:'raw')
this.pluginCommand({unit:'megad1', command:{url:'/sec/uart_rx=1&mode=rs485', onResponse:'raw'}}, 'getResponse');
},
Надо - // Передать запрос на megad1, ответ придет в сценарий (onResponse:'raw')
this.pluginCommand({unit:'megad1', command:{url:'/sec/?uart_rx=1&mode=rs485', onResponse:'raw'}}, 'getResponse');
},
-
@sergeyygr, знака вопроса не хватало! Бывает, глаз замылился. А наш эмулятор проглотил
Здорово, что получилось!
В сценарии есть еще глючок - нужно считать только до 6nextParam() { this.step = this.step < 6 ? this.step+1 : 1; // было this.step < 7 this.getTx(); }
А интервал 1 сек нормально отрабатывает?
-
Пользователь @intrapro написал в Плагин MegaD:
@sergeyygr, знака вопроса не хватало! Бывает, глаз замылился. А наш эмулятор проглотил
Здорово, что получилось!
А интервал 1 сек нормально отрабатывает?
Да, все хорошо.
-
Пользователь @sergeyygr написал в Плагин MegaD:
Пользователь @intrapro написал в Плагин MegaD:
@sergeyygr, знака вопроса не хватало! Бывает, глаз замылился. А наш эмулятор проглотил
Здорово, что получилось!
А интервал 1 сек нормально отрабатывает?
Да, все хорошо.
Спасибо большое!
-
Пользователь @sergeyygr написал в Плагин MegaD:
Пользователь @sergeyygr написал в Плагин MegaD:
Пользователь @intrapro написал в Плагин MegaD:
@sergeyygr, знака вопроса не хватало! Бывает, глаз замылился. А наш эмулятор проглотил
Здорово, что получилось!
А интервал 1 сек нормально отрабатывает?
Да, все хорошо.
Спасибо большое!
А можно в моем случае как-то корректировать значение кВт/час?
-
Пользователь @sergeyygr написал в Плагин MegaD:
Спасибо большое!
Да не за что. Извините за опечатку
А можно в моем случае как-то корректировать значение кВт/час?
Что имеете в виду?