Релиз IntraHouse V5



  • @intrapro Не через систему реле включается/отключается. Все нормально работает если указать названия каналов 43А и 43В. Но тогда не получится адресоваться к нескольким модулям. Вот скрин текущих настроек канала А:

    ae93cefd-b7d3-43dd-ad14-27829bc93e28-image.png



  • @Lost, в исходниках, почему-то адрес порта для таких операций ограничен < 40
    Попробуйте отредактировать код плагина
    Для этого на папке MEGAD перейдите на вкладку Редактор.
    Выберите файл lib/plugin.js
    В строке 332 начинается функция tryAB_ReleCommand

    В строке 340 замените 40 на 50: xarr[0] < 40 => xarr[0] < 50

    function tryAB_ReleCommand(id, value) {
      // 32_ffaa7892678_A - DS2413
      let xarr = id.split('_');
    
      if (
        xarr.length == 3 &&
        (xarr[2] == 'A' || xarr[2] == 'B') &&
        xarr[1].length > 10 &&
        !isNaN(xarr[0]) && xarr[0] < 50 && xarr[0] > 0
      ) {
        // 32A:1&adr=ffaa7892678
        return xarr[0] + xarr[2] + ':' + value + '&addr=' + xarr[1];
      }
    }
    

    Сохраните изменение и перезапустите плагин



  • @intrapro Да, все заработало как вы и писали. Плагин надо бы теперь обновить. А то со временем этот момент забудется. А период опроса какой лучше поставить для релейных модулей?



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

    Да, все заработало как вы и писали. Плагин надо бы теперь обновить.

    Хорошо, что заработало. Завтра выпустим обновление

    А период опроса какой лучше поставить для релейных модулей?

    Опыта работы с этими модулями у меня нет. Но чаще 30 сек 1-Wire опрашивать, думаю, не стоит.



  • @intrapro А смысл опроса релейного модуля какой? Я убрал опрос. Все работает и без него.



  • @Lost, смысл есть только в том случае, если реле может переключиться не через команду от сервера



  • @intrapro Ясно. Спасибо.



  • Каналы адресуют так - 35_9a2938000000_A
    Запрос делаем только в одном канале одной и той же 1WB - /%pwd%/?pt=35&cmd=list



  • @intrapro, если реле переключается не через команду сервера, то MegaD шлет об этом сообщение на сервер.

    Единственный момент, который я где-то уже описывал, заключается в том, что при старте плагина нужно делать принудительный опрос каналов 1WB, которые могут быть в режиме OUT -> DS2413 и DSen -> 1WB



  • @Alex_Jet Спасибо за подсказку



  • У меня почему то не получается выбрать сценарии в расширениях
    2b8e520a-91e3-48a9-be71-06d4afc30213-image.png

    Создана парочка сценариев. Один из них задействован в расширениях в IH4:
    42ec47fa-4e01-4eb6-8a1c-259ff3681505-image.png
    Чего не хватает?
    При изменении параметров в расширениях они после сохранения не применяются. Нужно перезапускать плагин MegaD. Так и должно быть?



  • c41ffb40-1440-4e11-9f97-97c2b607998b-image.png В расписании если согласно подсказке выставить секунды - то расписание перестает работать, если только часы:минуты то норм.



  • @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


Авторизуйтесь, чтобы ответить