Плагин MegaD



  • @intrapro:

    Пример c megaPort из предыдущего сообщения полностью рабочий

    Немного прокомментирую для остальных, поскольку сразу не все понял. Если в разделе "Расширения" плагина MegaD в поле "Параметр сценария" вписать, например, значение 7, то скрипт вида

    start(megaPort) {
        if(megaPort == 7) {
          this.log("Сработал порт - " +megaPort);
        }
      }
    
    

    сработает и в пользовательский журнал будет внесена запись "Сработал порт - 7".

    @intrapro:

    Если оставить параметр пустым, в качестве параметра будет передан JSON с содержимым полученного запроса.

    В моем случае скрипт для двух случаев нажатия кнопок выключателей будет выглядеть так:

    script({
      start(param) {
        const obj = JSON.parse(param);
    
        if(obj.pt == 0 && obj.click == 2) {
          this.pluginCommand({ unit:"megad4", command:{url:"/sec/?cmd=15:2", onResponse:[{id:"15",value:"TOGGLE"}]} });
          this.log("Переключен свет в котельной");
        }
    
        if(obj.pt == 3 && obj.click == 2) {
          this.pluginCommand({ unit:"megad5", command:{url:"/sec/?cmd=8:2", onResponse:[{id:"8",value:"TOGGLE"}]} });
          this.log("Переключен свет в кладовке");
        }
      }
    
    

    Однако если скрипт использовать со всеми MegaD, то придется в строку "Параметр сценария" вводить как минимум IP-адрес, номер порта и параметр его сработки для того, чтобы идентифицировать порт какого MegaD сработал. Поэтому мое пожелание разработчикам - по умолчанию в качестве параметра передавать JSON, в котором будет содержаться IP-адрес MegaD, то есть: {"ip":"192.168.0.14", "pt":1, "m":2} для /megad?pt=1&m=2 с IP-адресом 192.168.0.14

    @intrapro:

    Также объект можно ввести вручную в строку "Параметр сценария", если есть такая необходимость

    Этот вариант я использовал чтобы отобразить какой именно контроллер перезагрузился. То есть в строку "Параметр сценария" ввел описание контроллера (то что у меня есть в комментарии) - {"dev":"MegaD-2561-21 (Освещение #1)"}. Соответственно скрипт для записи в журнал и оповещения через telegram получился такой:

    /** 
    * @name Запись перезагрузки MegaD в журнал 
    * @desc При возникновении события st=1 от MegaD оно записывается в журнал 
    * @version 4 
    */
    
    script({
      start(param) {
        const obj = JSON.parse(param);
        this.log(obj.dev + " перезагружен!");
        this.info("telegram", "OWNER", obj.dev + " перезагружен!");
      }
    });
    
    


  • Коллеги, нужен совет.

    Мы приобрели MegaD-2561. А про модули ввода/вывода не подумали.

    В первую очередь нужны диммер и RGB. Может еще что-то.

    Что посоветуете взять?

    Нам это оборудование нужно для тестирования плагина MegaD



  • @intrahouse:

    Коллеги, нужен совет.

    Мы приобрели MegaD-2561. А про модули ввода/вывода не подумали.

    В первую очередь нужны диммер и RGB. Может еще что-то.

    Что посоветуете взять?

    Нам это оборудование нужно для тестирования плагина MegaD

    MegaD-14-IOR, подключается все.



  • @sergeyygr:

    @intrahouse:

    Коллеги, нужен совет.

    Мы приобрели MegaD-2561. А про модули ввода/вывода не подумали.

    В первую очередь нужны диммер и RGB. Может еще что-то.

    Что посоветуете взять?

    Нам это оборудование нужно для тестирования плагина MegaD

    MegaD-14-IOR, подключается все.

    Можно ещё это

    https://www.ab-log.ru/smart-house/ethernet/megad-led-rgb



  • @intrahouse:

    Коллеги, нужен совет.

    Мы приобрели MegaD-2561. А про модули ввода/вывода не подумали.

    Согласен с предыдущим оратором. В 14IOR есть одно штатное реле (P14/P29) и 14 очень гибко настраиваемых входов. Например их можно сделать выходами…к которым можно подключить обычные платы реле с Али. Подтяжку у входов можно либо совсем отключить и использовать P0-P5 как АЦП, либо увеличить ток подтяжки для работы с длинными шинами 1WB/I2C. Конечно же к этим входам можно подключить RGB ленты на базе WS281x или часть из них (P10-P13/P25,P27-P28) сделать выходами для подключения ШИМ драйверов типа L298N.

    Кроме этого, на борту этого модуля есть шина с +5В и +3.3В. То есть без проблем можно подключить любой датчик.



  • Коллеги, спасибо.



  • Может чего не так делаю, но не работает на megad диммер. Значения не меняются.

    01.02 18:34:40.958 megad1: 
    01.02 18:34:40.959 megad1: localhost => 192.168.0.16 HTTP GET /sec/?cmd=all
    01.02 18:34:40.983 megad1: localhost <= 192.168.0.16  response: statusCode=200 contentType = text/html
    01.02 18:34:40.985 megad1:  body: ON/1;OFF;ON/1;ON;ON;183;ON;ON;ON;ON;255;OFF;ON;ON;ON;ON;OFF;ON;ON;ON;ON;ON;ON;ON;ON;ON;ON;ON;ON;ON;14.40;OFF;ON;ON;ON;ON;ON;ON
    01.02 18:34:40.988 IH: get [{"id":"1","value":"0"},{"id":"10","value":100},{"id":"30","value":"14.4"}]
    01.02 18:34:40.988 IH: set {"VENT1":{"dval":"0","err":0},"DIMM2":{"aval":100,"err":0},"SENSORA1":{"aval":"14.4","err":0}}
    01.02 18:34:41.363 megad1: 
    01.02 18:34:41.366 megad1: localhost => 192.168.0.16 HTTP GET /sec/?pt=30&cmd=get
    01.02 18:34:41.391 megad1: localhost <= 192.168.0.16  response: statusCode=200 contentType = text/html
    01.02 18:34:41.391 megad1:  body: 14.40
    01.02 18:34:41.392 IH: get [{"id":"30","value":"14.4"}]
    01.02 18:34:41.393 IH: set {"SENSORA1":{"aval":"14.4","err":0}}
    01.02 18:34:41.568 megad1: 
    01.02 18:34:41.568 megad1: localhost => 192.168.0.16 HTTP GET /sec/?pt=10&cmd=get
    01.02 18:34:41.584 megad1: localhost <= 192.168.0.16  response: statusCode=200 contentType = text/html
    01.02 18:34:41.585 megad1:  body: 255
    01.02 18:34:41.589 IH: get [{"id":"10","value":100}]
    01.02 18:34:41.590 IH: set {"DIMM2":{"aval":100,"err":0}}
    01.02 18:34:42.169 megad1: 
    01.02 18:34:42.170 megad1: localhost => 192.168.0.16 HTTP GET /sec/?cmd=all
    01.02 18:34:42.190 megad1: localhost <= 192.168.0.16  response: statusCode=200 contentType = text/html
    01.02 18:34:42.191 megad1:  body: ON/1;OFF;ON/1;ON;ON;192;ON;ON;ON;ON;254;OFF;ON;ON;ON;ON;OFF;ON;ON;ON;ON;ON;ON;ON;ON;ON;ON;ON;ON;ON;14.40;OFF;ON;ON;ON;ON;ON;ON
    01.02 18:34:42.191 IH: get [{"id":"1","value":"0"},{"id":"10","value":100},{"id":"30","value":"14.4"}]
    01.02 18:34:42.192 IH: set {"VENT1":{"dval":"0","err":0},"DIMM2":{"aval":100,"err":0},"SENSORA1":{"aval":"14.4","err":0}}
    01.02 18:34:42.571 megad1: 
    01.02 18:34:42.572 megad1: localhost => 192.168.0.16 HTTP GET /sec/?pt=30&cmd=get
    01.02 18:34:42.593 megad1: localhost <= 192.168.0.16  response: statusCode=200 contentType = text/html
    01.02 18:34:42.594 megad1:  body: 14.40
    01.02 18:34:42.595 IH: get [{"id":"30","value":"14.4"}]
    01.02 18:34:42.595 IH: set {"SENSORA1":{"aval":"14.4","err":0}}
    01.02 18:34:42.772 megad1: 
    01.02 18:34:42.773 megad1: localhost => 192.168.0.16 HTTP GET /sec/?pt=10&cmd=get
    01.02 18:34:42.788 megad1: localhost <= 192.168.0.16  response: statusCode=200 contentType = text/html
    01.02 18:34:42.789 megad1:  body: 254
    01.02 18:34:42.790 IH: get [{"id":"10","value":100}]
    01.02 18:34:42.791 IH: set {"DIMM2":{"aval":100,"err":0}}
    01.02 18:34:43.374 megad1: 
    01.02 18:34:43.375 megad1: localhost => 192.168.0.16 HTTP GET /sec/?cmd=all
    01.02 18:34:43.406 megad1: localhost <= 192.168.0.16  response: statusCode=200 contentType = text/html
    01.02 18:34:43.407 megad1:  body: ON/1;OFF;ON/1;ON;ON;193;ON;ON;ON;ON;255;OFF;ON;ON;ON;ON;OFF;ON;ON;ON;ON;ON;ON;ON;ON;ON;ON;ON;ON;ON;14.31;OFF;ON;ON;ON;ON;ON;ON
    01.02 18:34:43.407 IH: get [{"id":"1","value":"0"},{"id":"10","value":100},{"id":"30","value":"14.31"}]
    01.02 18:34:43.408 IH: set {"VENT1":{"dval":"0","err":0},"DIMM2":{"aval":100,"err":0},"SENSORA1":{"aval":"14.31","err":0}}
    01.02 18:34:43.776 megad1: 
    01.02 18:34:43.777 megad1: localhost => 192.168.0.16 HTTP GET /sec/?pt=30&cmd=get
    01.02 18:34:43.798 megad1: localhost <= 192.168.0.16  response: statusCode=200 contentType = text/html
    01.02 18:34:43.799 megad1:  body: 14.31
    01.02 18:34:43.799 IH: get [{"id":"30","value":"14.31"}]
    01.02 18:34:43.800 IH: set {"SENSORA1":{"aval":"14.31","err":0}}
    01.02 18:34:43.978 megad1: 
    01.02 18:34:43.979 megad1: localhost => 192.168.0.16 HTTP GET /sec/?pt=10&cmd=get
    01.02 18:34:43.993 megad1: localhost <= 192.168.0.16  response: statusCode=200 contentType = text/html
    01.02 18:34:43.994 megad1:  body: 254
    01.02 18:34:43.994 IH: get [{"id":"10","value":100}]
    01.02 18:34:43.995 IH: set {"DIMM2":{"aval":100,"err":0}}
    01.02 18:34:44.581 megad1: 
    01.02 18:34:44.581 megad1: localhost => 192.168.0.16 HTTP GET /sec/?cmd=all
    01.02 18:34:44.596 megad1: localhost <= 192.168.0.16  response: statusCode=200 contentType = text/html
    01.02 18:34:44.598 megad1:  body: ON/1;OFF;ON/1;ON;ON;192;ON;ON;ON;ON;255;OFF;ON;ON;ON;ON;OFF;ON;ON;ON;ON;ON;ON;ON;ON;ON;ON;ON;ON;ON;14.31;OFF;ON;ON;ON;ON;ON;ON
    01.02 18:34:44.599 IH: get [{"id":"1","value":"0"},{"id":"10","value":100},{"id":"30","value":"14.31"}]
    01.02 18:34:44.599 IH: set {"VENT1":{"dval":"0","err":0},"DIMM2":{"aval":100,"err":0},"SENSORA1":{"aval":"14.31","err":0}}
    01.02 18:34:44.981 megad1: 
    01.02 18:34:44.982 megad1: localhost => 192.168.0.16 HTTP GET /sec/?pt=30&cmd=get
    01.02 18:34:45.003 megad1: localhost <= 192.168.0.16  response: statusCode=200 contentType = text/html
    01.02 18:34:45.004 megad1:  body: 14.31
    01.02 18:34:45.005 IH: get [{"id":"30","value":"14.31"}]
    01.02 18:34:45.006 IH: set {"SENSORA1":{"aval":"14.31","err":0}}
    01.02 18:34:45.183 megad1: 
    01.02 18:34:45.184 megad1: localhost => 192.168.0.16 HTTP GET /sec/?pt=10&cmd=get
    01.02 18:34:45.200 megad1: localhost <= 192.168.0.16  response: statusCode=200 contentType = text/html
    01.02 18:34:45.201 megad1:  body: 254
    01.02 18:34:45.202 IH: get [{"id":"10","value":100}]
    
    


  • @artem521:

    Может чего не так делаю, но не работает на megad диммер. Значения не меняются.

    Команды управления в логе не вижу. А чтобы увидеть изменение значения с 255 на 254 надо сделать на устройстве-диммере логический интервал не 0-100, а 0-255. Иначе, 255 и 254 - это все равно 100



  • @intrapro:

    @artem521:

    Может чего не так делаю, но не работает на megad диммер. Значения не меняются.

    Команды управления в логе не вижу

    Я сделал все как обычно: настроил мегу, создал устройство, настроил канал в плагине, добавил мнемосхему. Но не чего не происходит(
    13.png



  • @intrapro:

    @artem521:

    Может чего не так делаю, но не работает на megad диммер. Значения не меняются.

    Команды управления в логе не вижу. А чтобы увидеть изменение значения с 255 на 254 надо сделать на устройстве-диммере логический интервал не 0-100, а 0-255. Иначе, 255 и 254 - это все равно 100

    Я так делал изначально. Не меняются значения. Даже если с веба меги задаю любое значение, на IH не меняется.



  • @artem521:

    @intrapro:

    @artem521:

    Может чего не так делаю, но не работает на megad диммер. Значения не меняются.

    Команды управления в логе не вижу. А чтобы увидеть изменение значения с 255 на 254 надо сделать на устройстве-диммере логический интервал не 0-100, а 0-255. Иначе, 255 и 254 - это все равно 100

    Я так делал изначально. Не меняются значения. Даже если с веба меги задаю любое значение, на IH не меняется.

    У вас в логе канал 10 связался с устройством DIM2, но читается оттуда только 255 и 254.

    Когда изменяете на меге, посмотрите в отладчике - на 10 канале должно значение измениться. Пока оно только 255 и 254

    ON/1;OFF;ON/1;ON;ON;192;ON;ON;ON;ON;254;OFF;ON;ON;ON;ON;OFF;ON;ON;ON;ON;ON;ON;ON;ON;ON;ON;ON;ON;ON;14.40;OFF;ON;ON;ON;ON;ON;ON



  • artem521, а с какой целью опрашиваешь все каналы контроллера так часто? Ведь особенность MegaD в том что она сама по событию на порте (замыкание/размыкание) присылает сообщение на сервер. И опрашивать нужно только каналы, на которых висят датчики (DS18B20, DHT и датчики на шине I2C).



  • @Alex_Jet:

    artem521, а с какой целью опрашиваешь все каналы контроллера так часто? Ведь особенность MegaD в том что она сама по событию на порте (замыкание/размыкание) присылает сообщение на сервер. И опрашивать нужно только каналы, на которых висят датчики (DS18B20, DHT и датчики на шине I2C).

    Я пробую все варианты по проблеме с диммером, чего-то не понимаю в чем дело



  • @intrapro:

    @artem521:

    @intrapro:

    Команды управления в логе не вижу. А чтобы увидеть изменение значения с 255 на 254 надо сделать на устройстве-диммере логический интервал не 0-100, а 0-255. Иначе, 255 и 254 - это все равно 100

    Я так делал изначально. Не меняются значения. Даже если с веба меги задаю любое значение, на IH не меняется.

    У вас в логе канал 10 связался с устройством DIM2, но читается оттуда только 255 и 254.

    Когда изменяете на меге, посмотрите в отладчике - на 10 канале должно значение измениться. Пока оно только 255 и 254

    ON/1;OFF;ON/1;ON;ON;192;ON;ON;ON;ON;254;OFF;ON;ON;ON;ON;OFF;ON;ON;ON;ON;ON;ON;ON;ON;ON;ON;ON;ON;ON;14.40;OFF;ON;ON;ON;ON;ON;ON

    Введенные значения с меги в отладчике меняются, но на самом актуаторе меняется с "0" на "1"

    01.02 20:39:39.069 megad1: 
    01.02 20:39:39.072 megad1: localhost => 192.168.0.16 HTTP GET /sec/?cmd=all
    01.02 20:39:39.082 megad1: localhost <= 192.168.0.16  response: statusCode=200 contentType = text/html
    01.02 20:39:39.085 megad1:  body: OFF/2;OFF;OFF/1;OFF;OFF;1019;OFF;ON;ON;ON;130;OFF;ON;ON;OFF;ON;OFF;ON;OFF;OFF;ON;ON;ON;ON;ON;ON;ON;ON;ON;ON;27.36;OFF;ON;ON;ON;ON;ON;ON
    01.02 20:39:39.088 IH: get [{"id":"1","value":"0"},{"id":"10","value":1},{"id":"30","value":"27.36"}]
    01.02 20:39:39.089 IH: set {"VENT1":{"dval":"0","err":0},"DIMM2":{"aval":1,"err":0},"SENSORA1":{"aval":"27.36","err":0}}
    01.02 20:39:39.273 megad1: 
    01.02 20:39:39.274 megad1: localhost => 192.168.0.16 HTTP GET /sec/?pt=30&cmd=get
    01.02 20:39:39.284 megad1: localhost <= 192.168.0.16  response: statusCode=200 contentType = text/html
    01.02 20:39:39.285 megad1:  body: 27.36
    01.02 20:39:39.286 IH: get [{"id":"30","value":"27.36"}]
    01.02 20:39:39.287 IH: set {"SENSORA1":{"aval":"27.36","err":0}}
    01.02 20:39:40.276 megad1: 
    01.02 20:39:40.277 megad1: localhost => 192.168.0.16 HTTP GET /sec/?cmd=all
    01.02 20:39:40.290 megad1: localhost <= 192.168.0.16  response: statusCode=200 contentType = text/html
    01.02 20:39:40.291 megad1:  body: OFF/2;OFF;OFF/1;OFF;OFF;1019;OFF;ON;ON;ON;130;OFF;ON;ON;OFF;ON;OFF;ON;OFF;OFF;ON;ON;ON;ON;ON;ON;ON;ON;ON;ON;27.36;OFF;ON;ON;ON;ON;ON;ON
    01.02 20:39:40.294 IH: get [{"id":"1","value":"0"},{"id":"10","value":1},{"id":"30","value":"27.36"}]
    01.02 20:39:40.295 IH: set {"VENT1":{"dval":"0","err":0},"DIMM2":{"aval":1,"err":0},"SENSORA1":{"aval":"27.36","err":0}}
    01.02 20:39:40.477 megad1: 
    01.02 20:39:40.479 megad1: localhost => 192.168.0.16 HTTP GET /sec/?pt=30&cmd=get
    01.02 20:39:40.487 megad1: localhost <= 192.168.0.16  response: statusCode=200 contentType = text/html
    01.02 20:39:40.488 megad1:  body: 27.36
    01.02 20:39:40.489 IH: get [{"id":"30","value":"27.36"}]
    01.02 20:39:40.489 IH: set {"SENSORA1":{"aval":"27.36","err":0}}
    01.02 20:39:41.480 megad1: 
    01.02 20:39:41.482 megad1: localhost => 192.168.0.16 HTTP GET /sec/?cmd=all
    01.02 20:39:41.493 megad1: localhost <= 192.168.0.16  response: statusCode=200 contentType = text/html
    01.02 20:39:41.494 megad1:  body: OFF/2;OFF;OFF/1;OFF;OFF;1023;OFF;ON;ON;ON;140;OFF;ON;ON;OFF;ON;OFF;ON;OFF;OFF;ON;ON;ON;ON;ON;ON;ON;ON;ON;ON;27.36;OFF;ON;ON;ON;ON;ON;ON
    01.02 20:39:41.495 IH: get [{"id":"1","value":"0"},{"id":"10","value":1},{"id":"30","value":"27.36"}]
    01.02 20:39:41.496 IH: set {"VENT1":{"dval":"0","err":0},"DIMM2":{"aval":1,"err":0},"SENSORA1":{"aval":"27.36","err":0}}
    01.02 20:39:41.682 megad1: 
    01.02 20:39:41.684 megad1: localhost => 192.168.0.16 HTTP GET /sec/?pt=30&cmd=get
    01.02 20:39:41.692 megad1: localhost <= 192.168.0.16  response: statusCode=200 contentType = text/html
    01.02 20:39:41.693 megad1:  body: 27.36
    01.02 20:39:41.694 IH: get [{"id":"30","value":"27.36"}]
    01.02 20:39:41.694 IH: set {"SENSORA1":{"aval":"27.36","err":0}}
    01.02 20:39:42.685 megad1: 
    01.02 20:39:42.687 megad1: localhost => 192.168.0.16 HTTP GET /sec/?cmd=all
    01.02 20:39:42.698 megad1: localhost <= 192.168.0.16  response: statusCode=200 contentType = text/html
    01.02 20:39:42.699 megad1:  body: OFF/2;OFF;OFF/1;OFF;OFF;1020;OFF;ON;ON;ON;140;OFF;ON;ON;OFF;ON;OFF;ON;OFF;OFF;ON;ON;ON;ON;ON;ON;ON;ON;ON;ON;27.18;OFF;ON;ON;ON;ON;ON;ON
    01.02 20:39:42.700 IH: get [{"id":"1","value":"0"},{"id":"10","value":1},{"id":"30","value":"27.18"}]
    01.02 20:39:42.701 IH: set {"VENT1":{"dval":"0","err":0},"DIMM2":{"aval":1,"err":0},"SENSORA1":{"aval":"27.18","err":0}}
    01.02 20:39:42.887 megad1: 
    01.02 20:39:42.888 megad1: localhost => 192.168.0.16 HTTP GET /sec/?pt=30&cmd=get
    01.02 20:39:42.897 megad1: localhost <= 192.168.0.16  response: statusCode=200 contentType = text/html
    01.02 20:39:42.898 megad1:  body: 27.18
    01.02 20:39:42.898 IH: get [{"id":"30","value":"27.18"}]
    01.02 20:39:42.899 IH: set {"SENSORA1":{"aval":"27.18","err":0}}
    
    

    Походу чего-то не так делаю
    1d.png
    2d.png
    3d.png



  • Хотя вот что заметил- ползунком если управлять с IH, значение на веб меги меняется, а на самом актуаторе нет.
    33d.png



  • @artem521:

    Введенные значения с меги в отладчике меняются, но на самом актуаторе меняется с "0" на "1"

    Походу чего-то не так делаю

    В канале:

    Значение логического уровня 0-:

    У вас стоит 0, надо 255 (или 100, если стандартно, это яркость)



  • @intrapro:

    @artem521:

    Введенные значения с меги в отладчике меняются, но на самом актуаторе меняется с "0" на "1"

    Походу чего-то не так делаю

    В канале:

    Значение логического уровня 0-:

    У вас стоит 0, надо 255 (или 100, если стандартно, это яркость)

    Спасибо, все теперь заработало. Информации побольше б по настройкам.



  • Добрый день, начел осваивать мегад, возниули вопросы, помогите хто может!!!!!

    1. в устройстве нет выбора http:<ссылка удалена>, хотя в устройствах создал http:<ссылка удалена>

    2. в екранах не подгружается фото http:<ссылка удалена> хотя в уровнях добавил фото http:<ссылка удалена>



  • @amgstone:

    Добрый день, начел осваивать мегад, возниули вопросы, помогите хто может!!!!!

    1. в устройстве нет выбора , хотя в устройствах создал

    2. в екранах не подгружается фото

    Предупреждение! Ссылки на нетематические сайты рекламного характера на этом форуме недопустимы.

    Форум позволяет прикладывать скриншоты. Прошу продублировать свой пост в соответствии с правилами форума.



  • Добрый день, начел осваивать мегад, возниули вопросы, помогите хто может!!!!!

    1. в устройстве нет выбора , хотя в устройствах создал

    2. в екранах не подгружается фото хотя в уровнях добавил фото


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