Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Русский
    3. ioBroker
    4. ioBroker драйвера
    5. Драйвер MegaD-2561

    NEWS

    • Monatsrückblick - April 2025

    • Minor js-controller 7.0.7 Update in latest repo

    • Save The Date: ioBroker@Smart Living Forum Solingen, 14.06.

    Драйвер MegaD-2561

    This topic has been deleted. Only users with topic management privileges can see it.
    • Bluefox
      Bluefox last edited by

      @Haus:

      Bluefox , три порта настроены 1WBUS

      Делаю запрос

      ......
      } else if (settings.d == 5) {
          var port = p;
          var parts = adapter.config.ip.split(':');
      
          var options = {
              host: parts[0],
              port: parts[1] || 80,
              path: '/' + adapter.config.password + '/?pt=' + port + '&cmd=list'
          };
          adapter.log.debug('1WBUS LIST http://' + options.host + options.path);
      
          adapter.log.debug('PORT: ' + port);
                          
          http.get(options, function (res) {
              var data = '';
              res.on('data', function (chunk) {
                  data += chunk;
              });
              res.on('end', function () {
                  adapter.log.debug('PORT: ' + port + ' ' + 'DATA: ' + data);
              });
          });
      } else if (settings.d == 6) {
      .....
      
      

      получаю ответ

      megadd.0	2017-03-11 00:19:11.358	debug	PORT: 33 DATA: 30c5b8000000:31.81;32c5b8000000:27.00;31c5b8000000:-15.81
      megadd.0	2017-03-11 00:19:11.061	debug	PORT: 33 DATA: 30c6b8000000:28.31;32c6b8000000:17.12;31c6b8000000:-15.18
      megadd.0	2017-03-11 00:19:10.764	debug	PORT: 33 DATA: 30c9b8000000:-10.56
      
      megadd.0	2017-03-11 00:19:10.525	debug	PORT: 33
      megadd.0	2017-03-11 00:19:10.525	debug	1WBUS LIST http://192.168.1.14/sec/?pt=33&cmd=list
      megadd.0	2017-03-11 00:19:10.525	debug	PORT: 15
      megadd.0	2017-03-11 00:19:10.525	debug	1WBUS LIST http://192.168.1.14/sec/?pt=15&cmd=list
      megadd.0	2017-03-11 00:19:10.525	debug	PORT: 5
      megadd.0	2017-03-11 00:19:10.524	debug	1WBUS LIST http://192.168.1.14/sec/?pt=5&cmd=list
      
      

      почему в ответе PORT всегда последний(33) из запроса, как сделать? `
      Как сделать, что бы по порядку?

      1 Reply Last reply Reply Quote 0
      • Bluefox
        Bluefox last edited by

        Где можно посмотреть весь код?

        1 Reply Last reply Reply Quote 0
        • H
          Haus last edited by

          @Bluefox:

          Где можно посмотреть весь код? `
          С коментом 1Wire

          https://github.com/ausHaus/ioBroker.megadd

          03.05 я тебе в личные писал, там есть пояснение.

          1 Reply Last reply Reply Quote 0
          • Bluefox
            Bluefox last edited by

            @Haus:

            @Bluefox:

            Где можно посмотреть весь код? `
            С коментом 1Wire

            https://github.com/ausHaus/ioBroker.megadd

            03.05 я тебе в личные писал, там есть пояснение. `
            48_main.js

            1 Reply Last reply Reply Quote 0
            • Bluefox
              Bluefox last edited by

              Работает?

              1 Reply Last reply Reply Quote 0
              • H
                Haus last edited by

                @Bluefox:

                Работает? `

                megadd.0	2017-03-13 18:49:57.227	error	at process._tickCallback (node.js:425:17)
                megadd.0	2017-03-13 18:49:57.227	error	at nextTickCallbackWith2Args (node.js:511:9)
                megadd.0	2017-03-13 18:49:57.227	error	at endReadableNT (_stream_readable.js:923:12)
                megadd.0	2017-03-13 18:49:57.227	error	at IncomingMessage.emit (events.js:166:7)
                megadd.0	2017-03-13 18:49:57.227	error	at emitNone (events.js:72:20)
                megadd.0	2017-03-13 18:49:57.227	error	at IncomingMessage. (/opt/iobroker/node_modules/iobroker.megadd/main.js:130:25)
                megadd.0	2017-03-13 18:49:57.227	error	at /opt/iobroker/node_modules/iobroker.megadd/main.js:816:23
                megadd.0	2017-03-13 18:49:57.227	error	at /opt/iobroker/node_modules/iobroker.megadd/main.js:1151:25
                megadd.0	2017-03-13 18:49:57.227	error	at getPortStateW (/opt/iobroker/node_modules/iobroker.megadd/main.js:777:20)
                megadd.0	2017-03-13 18:49:57.227	error	TypeError: ip.split is not a function
                megadd.0	2017-03-13 18:49:57.217	error	uncaught exception: ip.split is not a function
                
                1 Reply Last reply Reply Quote 0
                • Bluefox
                  Bluefox last edited by

                  Я тебе pull request прислал

                  1 Reply Last reply Reply Quote 0
                  • H
                    Haus last edited by

                    @Bluefox:

                    Я тебе pull request прислал `
                    Дублирует запрос, соответственно и ответ. РЕШЕНО!!!

                    ! megadd.0 2017-03-14 06:41:43.232 debug inMem message megadd.0.* megadd.0.p33_P33_31c5b8000000
                    ! megadd.0 2017-03-14 06:41:43.232 debug inMem message megadd.0.* megadd.0.p33_P33_32c5b8000000
                    ! megadd.0 2017-03-14 06:41:43.218 debug inMem message megadd.0.* megadd.0.p33_P33_30c5b8000000
                    ! megadd.0 2017-03-14 06:41:43.202 debug detected new value on port [33_31c5b8000000]: -15.81
                    ! megadd.0 2017-03-14 06:41:43.201 debug detected new value on port [33_32c5b8000000]: 27
                    ! megadd.0 2017-03-14 06:41:43.201 debug detected new value on port [33_30c5b8000000]: 31.81
                    ! megadd.0 2017-03-14 06:41:43.201 debug Response: 30c5b8000000:31.81;32c5b8000000:27.00;31c5b8000000:-15.81
                    ! megadd.0 2017-03-14 06:41:42.982 debug inMem message megadd.0.* megadd.0.p15_P15_31c6b8000000
                    ! megadd.0 2017-03-14 06:41:42.982 debug inMem message megadd.0.* megadd.0.p15_P15_32c6b8000000
                    ! megadd.0 2017-03-14 06:41:42.982 debug inMem message megadd.0.* megadd.0.p15_P15_30c6b8000000
                    ! megadd.0 2017-03-14 06:41:42.982 debug detected new value on port [15_31c6b8000000]: -15.18
                    ! megadd.0 2017-03-14 06:41:42.981 debug detected new value on port [15_32c6b8000000]: 17.12
                    ! megadd.0 2017-03-14 06:41:42.981 debug detected new value on port [15_30c6b8000000]: 28.31
                    ! megadd.0 2017-03-14 06:41:42.980 debug Response: 30c6b8000000:28.31;32c6b8000000:17.12;31c6b8000000:-15.18
                    ! megadd.0 2017-03-14 06:41:42.671 debug Response: 30c9b8000000:-10.56
                    ! megadd.0 2017-03-14 06:41:42.576 debug inMem message megadd.0.* megadd.0.p33_P33_31c5b8000000
                    ! megadd.0 2017-03-14 06:41:42.575 debug inMem message megadd.0.* megadd.0.p33_P33_32c5b8000000
                    ! megadd.0 2017-03-14 06:41:42.556 debug inMem message megadd.0.* megadd.0.p33_P33_30c5b8000000
                    ! megadd.0 2017-03-14 06:41:42.555 debug detected new value on port [33_31c5b8000000]: -15.81
                    ! megadd.0 2017-03-14 06:41:42.555 debug detected new value on port [33_32c5b8000000]: 27
                    ! megadd.0 2017-03-14 06:41:42.555 debug detected new value on port [33_30c5b8000000]: 31.81
                    ! megadd.0 2017-03-14 06:41:42.554 debug Response: 30c5b8000000:31.81;32c5b8000000:27.00;31c5b8000000:-15.81
                    ! megadd.0 2017-03-14 06:41:42.344 debug inMem message megadd.0.* megadd.0.p15_P15_31c6b8000000
                    ! megadd.0 2017-03-14 06:41:42.343 debug inMem message megadd.0.* megadd.0.p15_P15_32c6b8000000
                    ! megadd.0 2017-03-14 06:41:42.342 debug inMem message megadd.0.* megadd.0.p15_P15_30c6b8000000
                    ! megadd.0 2017-03-14 06:41:42.342 debug detected new value on port [15_31c6b8000000]: -15.18
                    ! megadd.0 2017-03-14 06:41:42.342 debug detected new value on port [15_32c6b8000000]: 17.12
                    ! megadd.0 2017-03-14 06:41:42.341 debug detected new value on port [15_30c6b8000000]: 28.31
                    ! megadd.0 2017-03-14 06:41:42.340 debug Response: 30c6b8000000:28.31;32c6b8000000:17.12;31c6b8000000:-15.18
                    ! megadd.0 2017-03-14 06:41:42.118 debug Response: 30c9b8000000:-10.56
                    ! megadd.0 2017-03-14 06:41:41.890 debug getPortStateW http://192.168.1.14/sec/?pt=33&cmd=list
                    ! megadd.0 2017-03-14 06:41:41.890 debug getPortStateW http://192.168.1.14/sec/?pt=15&cmd=list
                    ! megadd.0 2017-03-14 06:41:41.890 debug getPortStateW http://192.168.1.14/sec/?pt=5&cmd=list
                    ! megadd.0 2017-03-14 06:41:41.889 debug Response: temp:24.00;OFF/0;OFF/0;;OFF;;temp:0.00/hum:0.00;OFF/OFF;NA/NA;OFF;0;0;0;255;ON;;OFF;temp:0.04/press:1.76;OFF/0;OFF/0;temp:6.00/hum:76.00;temp:0.00/hum:0.00;OFF;;OFF;;;OFF;OFF;ON;;OFF;temp:-2
                    ! megadd.0 2017-03-14 06:41:39.658 debug getPortStateW http://192.168.1.14/sec/?pt=33&cmd=list
                    ! megadd.0 2017-03-14 06:41:39.658 debug getPortStateW http://192.168.1.14/sec/?pt=15&cmd=list
                    ! megadd.0 2017-03-14 06:41:39.658 debug getPortStateW http://192.168.1.14/sec/?pt=5&cmd=list
                    ! megadd.0 2017-03-14 06:41:39.657 debug Response: temp:24.00;OFF/0;OFF/0;;OFF;;temp:0.00/hum:0.00;OFF/OFF;NA/NA;OFF;0;0;0;255;ON;;OFF;temp:0.04/press:1.76;OFF/0;OFF/0;temp:6.00/hum:76.00;temp:0.00/hum:0.00;OFF;;OFF;;;OFF;OFF;ON;;OFF;temp:-2
                    ! megadd.0 2017-03-14 06:41:37.758 debug getPortState http://192.168.1.14/sec/?cmd=all
                    P.S. Лишние строки затесались 🙂

                    Ну и самое главное в чем был вопрос, как создать эти порты. p5_P5_30c9b8000000, p15_P15_30c6b8000000, p15_P15_31c6b8000000, ….p33P33_..

                    ! if (settings.pty == 3) {
                    ! obj.common.write = false;
                    ! obj.common.read = true;
                    ! obj.common.def = 0;
                    ! obj.common.type = 'number';
                    ! if (settings.d == 1 || settings.d == 2 || settings.d == 3) {
                    ! …..
                    ! } else if (settings.d == 5) { // 1Wire
                    ! obj.common.min = -30;
                    ! obj.common.max = 30;
                    ! obj.common.unit = '°C';
                    ! obj.common.desc = 'P' + p + ' - temperature';
                    ! obj.common.type = 'number';
                    ! if (!obj.common.role) obj.common.role = 'value.temperature';
                    ! .....
                    Кое что подправил

                    ! if (val !== _ports[_port].value || _ports[_port].q !== q) {
                    ! adapter.log.debug('VAL :' + val + ' ' + 'PORT VAL :' + _ports[_port].value);
                    ! _ports[_port].oldValue = _ports[_port].value;
                    ! if (_ports[_port].pty == 3 && _ports[_port].d == 5) {
                    ! adapter.log.debug('detected new value on port [' + port + '' + id[0] + ']: ' + val);
                    ! ///adapter.setState(_ports[port].id + '' + id[0], {val: value, ack: true, q: q});
                    ! adapter.setState(_ports[port].id + '' + id[0], {val: val, ack: true, q: q}); //haus
                    ! }
                    ! _ports[_port].value = val;
                    ! _ports[_port].q = q;
                    ! }
                    Вбил руками порты megadd.0.p33_P33_32c5b8000000, …... Неправильно определяет if (val !== _ports[_port].value || _ports[_port].q !== q) { если больше одного датчика

                    ! megadd.0 2017-03-14 17:21:29.678 debug inMem message megadd.0.* megadd.0.p33_P33_31c5b8000000
                    ! megadd.0 2017-03-14 17:21:29.677 debug inMem message megadd.0.* megadd.0.p33_P33_32c5b8000000
                    ! megadd.0 2017-03-14 17:21:29.665 debug inMem message megadd.0.* megadd.0.p33_P33_30c5b8000000
                    ! megadd.0 2017-03-14 17:21:29.664 debug detected new value on port [33_31c5b8000000]: -17.37
                    ! megadd.0 2017-03-14 17:21:29.663 debug VAL :-17.37 PORT VAL :27
                    ! megadd.0 2017-03-14 17:21:29.663 debug detected new value on port [33_32c5b8000000]: 27
                    ! megadd.0 2017-03-14 17:21:29.663 debug VAL :27 PORT VAL :31.81
                    ! megadd.0 2017-03-14 17:21:29.662 debug detected new value on port [33_30c5b8000000]: 31.81
                    ! megadd.0 2017-03-14 17:21:29.662 debug VAL :31.81 PORT VAL :-17.37
                    ! megadd.0 2017-03-14 17:21:29.661 debug Response: 30c5b8000000:31.81;32c5b8000000:27.00;31c5b8000000:-17.37
                    Иногда MegaD на запрос http://192.168.1.14/sec/?pt=33&cmd=list может вернуть "busy" если шина занята конвертацией, здесь главное чтобы драйвер не парсил этот ответ или как вариант повторил запрос скажем через 5-10 секунд.

                    ! megadd.0 2017-03-14 09:45:38.692 debug Response: busy
                    ! megadd.0 2017-03-14 09:45:38.611 debug Response: busy
                    ! megadd.0 2017-03-14 09:45:38.600 debug Response: busy
                    ! megadd.0 2017-03-14 09:45:32.537 debug getPortStateW http://192.168.1.14/sec/?pt=33&cmd=list
                    ! megadd.0 2017-03-14 09:45:32.536 debug getPortStateW http://192.168.1.14/sec/?pt=15&cmd=list
                    ! megadd.0 2017-03-14 09:45:32.534 debug getPortStateW http://192.168.1.14/sec/?pt=5&cmd=list

                    1 Reply Last reply Reply Quote 0
                    • P
                      Pooh last edited by

                      Помогите, плз, пошагово настроить мегу2561 и драйвер, делал по аналогии с драйвером мега328 (который работает отлично), не получилось - состояние портов меняется раз в 30 сек, а не по факту нажатия кнопки

                      кнопка на порту 18, реле на порту 25. с каждым нажатием кнопки меняем состояние реле

                      1 Reply Last reply Reply Quote 0
                      • H
                        Haus last edited by

                        @Pooh:

                        Помогите, плз, пошагово настроить мегу2561 и драйвер, делал по аналогии с драйвером мега328 (который работает отлично), не получилось - состояние портов меняется раз в 30 сек, а не по факту нажатия кнопки

                        кнопка на порту 18, реле на порту 25. с каждым нажатием кнопки меняем состояние реле `
                        Настройки отличаются от Megad-328. В принципе достаточно считать настройки с Megad-2561(если настроен) и после этого записать настройки в Megad-2561 (что бы прописался сервер и инстанция(скрипт)).

                        Пример если кнопка
                        443_megad_config.png
                        443_megadd_port.png
                        443_megadd_admin.png
                        script

                        on({id: 'megadd.0.p1_P1', change: 'any'}, function (obj) {    
                            if (obj.newState.val === true && getState('megadd.0.p24_P24').val === false) {
                                setState('megadd.0.p24_P24', true);
                            } else if (obj.newState.val === true && getState('megadd.0.p24_P24').val === true) {
                                setState('megadd.0.p24_P24', false);
                            }
                        });
                        
                        1 Reply Last reply Reply Quote 0
                        • P
                          Pooh last edited by

                          @Haus:

                          ..В принципе достаточно считать настройки с Megad-2561(если настроен) и после этого записать настройки в Megad-2561 (что бы прописался сервер и инстанция(скрипт)).. `
                          НИФИГА

                          Два вечера бился практически методом тыка

                          настроил mega2561: каждый вход "mod P с галочкой". при этом без сервера выполняется автономная команда

                          прочитал драйвером настройки.

                          изменил в драйвере режим входов на "при изменении" (после считывания было "при замыкании")

                          сохранил (без сохранения в сам мегад3561!)

                          скрипт типа:

                          on('megadd.0.p2_P2', function (obj) {
                              if (obj.newState.val === true && getState('megadd.0.p9_P9').val === false) {
                                  setState ('megadd.0.p9_P9', true);
                              }else if(obj.newState.val === true && getState('megadd.0.p9_P9').val === true){
                                  setState ('megadd.0.p9_P9', false);
                              }
                          });
                          
                          

                          ВУАЛЯ

                          1 Reply Last reply Reply Quote 0
                          • H
                            Haus last edited by

                            @Pooh:

                            @Haus:

                            ..В принципе достаточно считать настройки с Megad-2561(если настроен) и после этого записать настройки в Megad-2561 (что бы прописался сервер и инстанция(скрипт)).. НИФИГА
                            ????? что не так?
                            @Pooh:

                            Два вечера бился практически методом тыка

                            настроил mega2561: каждый вход "mod P с галочкой". при этом без сервера выполняется автономная команда

                            прочитал драйвером настройки. `
                            Считал драйвер настройки правильно?
                            @Pooh:

                            изменил в драйвере режим входов на "при изменении" (после считывания было "при замыкании")

                            сохранил (без сохранения в сам мегад3561!) `
                            Драйвер MegaD-2561, как я писал выше отличается от MegaD-328. При считывание конфига в настройках драйвера менять ничего не надо, а если поменял то надо записать изменения в MegaD-2561. ТО ЕСТЬ ИЗ ДРАЙВЕРА МОЖНО ПОМЕНЯТЬ ВСЕ НАСТРОЙКИ MegaD-2561, НЕ ИСПОЛЬЗУЯ WEB MegaD-2561.

                            1 Reply Last reply Reply Quote 0
                            • P
                              Pooh last edited by

                              у меня в драйвере нет "текущая версия прошивки… доступная версия прошивки..."

                              v0.2.0

                              1 Reply Last reply Reply Quote 0
                              • P
                                Pooh last edited by

                                @Haus:

                                ..????? что не так?.. `
                                думаю драйвером не учитывается, что "Флажок (чекбокс) справа от поля Mode указывает, что при наличии сервера, устройство отправляет на сервер сообщения всегда в режиме P&R, а при его отсутствии Action выполняется только в том режиме, который установлен в Mode." (http://ab-log.ru/smart-house/ethernet/megad-2561)

                                т.е. если установить в модуле режим P&R и считать драйвером, то все хорошо, пока сервер работает. если установить в модуле режим P с галочкой и считать драйвером, то все хорошо, пока сервер (драйвер) не работает.

                                Счастье наступает, когда в модуле режим входов установлен в P с галочкой, конфиг считан драйвером и режим (в драйвере) изменен на "при изменении"

                                запись параметров в модуль из драйвера результатов не дает, ибо драйвер четко записывает режим P&R, при котором не работает автономный режим…

                                и да, считывается/записывается один-в-один

                                1 Reply Last reply Reply Quote 0
                                • H
                                  Haus last edited by

                                  @Pooh:

                                  @Haus:

                                  ..????? что не так?.. Счастье наступает, когда в модуле режим входов установлен в P с галочкой, конфиг считан драйвером и режим (в драйвере) изменен на "при изменении"
                                  А зачем ты меняешь после считывания?

                                  1 Reply Last reply Reply Quote 0
                                  • P
                                    Pooh last edited by

                                    я ж говорил, если просто считать с меги и сохранить в драйвере, то состояние портов меняется раз в 30 сек, по факту опроса драйвером, а не по факту нажатия кнопки

                                    какая сейчас версия драйвера актуальная? у меня 0.2.0..

                                    1 Reply Last reply Reply Quote 0
                                    • H
                                      Haus last edited by

                                      @Pooh:

                                      я ж говорил, если просто считать с меги и сохранить в драйвере, то состояние портов меняется раз в 30 сек, по факту опроса драйвером, а не по факту нажатия кнопки

                                      какая сейчас версия драйвера актуальная? у меня 0.2.0.. `
                                      Попробуй с git.

                                      cd /opt/iobroker
                                      iobroker stop megadd
                                      npm install https://github.com/ausHaus/ioBroker.megadd/tarball/master/
                                      iobroker upload megadd
                                      iobroker restart megadd
                                      
                                      1 Reply Last reply Reply Quote 0
                                      • P
                                        Pooh last edited by

                                        Обновил до 0.2.2

                                        Совсем другой коленкор! Теперь все работает как надо! Спасибо!

                                        Только теперь в админе вкладка "драйвера" почему-то зеленая, хотя обновлять нечего…

                                        1 Reply Last reply Reply Quote 0
                                        • P
                                          Pooh last edited by

                                          Наверное вопрос надо было в тему скрипты…. тем не менее:

                                          Подключаю счетчик воды (геркон, 10л/импульс). становится ясно, что:

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

                                          • при сбросе мегад показания собъются (так же как и при перезапуске айоброкера)

                                          Внимание, вопрос: как синхронизировать показания счетчиков и учесть при этом размерность встроенного в мегу (65тыс вроде как)

                                          1 Reply Last reply Reply Quote 0
                                          • I
                                            instalator last edited by

                                            @Pooh:

                                            Наверное вопрос надо было в тему скрипты…. тем не менее:

                                            Подключаю счетчик воды (геркон, 10л/импульс). становится ясно, что:

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

                                            • при сбросе мегад показания собъются (так же как и при перезапуске айоброкера)

                                            Внимание, вопрос: как синхронизировать показания счетчиков и учесть при этом размерность встроенного в мегу (65тыс вроде как) `
                                            Я вот так сделал http://blog.instalator.ru/archives/711

                                            1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            973
                                            Online

                                            31.6k
                                            Users

                                            79.4k
                                            Topics

                                            1.3m
                                            Posts

                                            20
                                            155
                                            36841
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo