Navigation

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

    NEWS

    • 15. 05. Wartungsarbeiten am ioBroker Forum

    • Monatsrückblick - April 2025

    • Minor js-controller 7.0.7 Update in latest repo

    MegaD 328

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

      На гитхабе то же 0.5.13

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

        @MSapogov:

        PPS: При записи конфига в устройство, что бы не стояло в настройках режима на любом порту как вход, после записи будет режим "при изменении". `
        Вроде как если стоит флажок misc, то когда сервер активен, то будет P&R. Ну я решил, что P&R не помешает.

        Есть сценарии, когда P&R не подходит?

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

          @vtec:

          На гитхабе то же 0.5.13 `
          Нет ещё 0.5.14. На гитхабе только изменения для 0.5.14, но версия ещё не изменена.

          > PPPS: Порт DSen Sensor 1W Mode <>… После записи в устройство Mode стало >.
          Нашёл. Спасибо.

          1 Reply Last reply Reply Quote 0
          • M
            MSapogov last edited by

            @Bluefox:

            @MSapogov:

            PPS: При записи конфига в устройство, что бы не стояло в настройках режима на любом порту как вход, после записи будет режим "при изменении". `
            Вроде как если стоит флажок misc, то когда сервер активен, то будет P&R. Ну я решил, что P&R не помешает.

            Есть сценарии, когда P&R не подходит? `
            Ну как сказать…

            Хорошо подумал и сказать-то нечего 🙂

            1 Reply Last reply Reply Quote 0
            • K
              kID last edited by

              Сижу туплю уже второй день. :?

              Как получить ID ключа в режиме порта Цифровой датчик, тип сенсора IB.

              при прикосновении в логе проскакивает

              __megad.0 2015-10-10 20:24:28 debug inMem message megad.0.* megad.0.p13_P13

              megad.0 2015-10-10 20:24:28 debug megad.0 response for 192.168.88.12[13]:

              megad.0 2015-10-10 20:24:28 debug megad.0 getPortState http://192.168.88.12/sec/?pt=13&cmd=get

              megad.0 2015-10-10 20:24:28 debug megad.0 reported new value for port 13, request actual value

              megad.0 2015-10-10 20:24:26 debug inMem message megad.0.* megad.0.p13_P13

              megad.0 2015-10-10 20:24:26 debug megad.0 response for 192.168.88.12[13]:

              megad.0 2015-10-10 20:24:26 debug megad.0 getPortState http://192.168.88.12/sec/?pt=13&cmd=get

              megad.0 2015-10-10 20:24:26 debug megad.0 reported new value for port 13, request actual value__

              А что дальше ?

              В состояниях

              megad.0.p13_P13 P13 P13 true megad.0 2015-10-10 20:36:47 2015-10-09 23:04:23

              ^^^^ колонка значений пустая

              Попытался натравить на этот порт History но там пусто.

              Пытался подписаться на изменение из скрипта

              on('megad.0.p13_P13', function (obj) 
                 {
                  log((new Date()).toString() + " " + JSON.stringify(obj.newState));
                  setState('ibutton.value', obj.newState.val);
              });
              

              Но он даже не вызывается. 😞

              Судя по логу - от меги прилетает новое значение и драйвер пытается его подтвердить, посылая http://192.168.88.12/sec/?pt=13&cmd=get

              а там уже пусто. Поэтому нет значения ни в логе ни в хистори.

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

                Можно встроить в файл main.js строка 1037:

                    adapter.log.debug('Rest request:' + url);
                
                

                Что тогда видно в логе?

                1 Reply Last reply Reply Quote 0
                • K
                  kID last edited by

                  @Bluefox:

                  Можно встроить в файл main.js строка 1037:

                      adapter.log.debug('Rest request:' + url);
                  
                  

                  Что тогда видно в логе? `
                  __megad.0 2015-10-11 08:10:44 debug inMem message megad.0.* megad.0.p13_P13

                  megad.0 2015-10-11 08:10:44 debug megad.0 response for 192.168.88.12[13]:

                  megad.0 2015-10-11 08:10:44 debug megad.0 getPortState http://192.168.88.12/sec/?pt=13&cmd=get

                  megad.0 2015-10-11 08:10:44 debug megad.0 reported new value for port 13, request actual value

                  megad.0 2015-10-11 08:10:44 debug megad.0 Rest request:/0/?pt=13&ib=4e3694010000__

                  Да ID ключа появился, теперь надо поместить его в переменную и научиться обращаться к нему из скрипта 🙂

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

                    Где можно почитать об этом режиме?

                    Можно использовать для ID прямо ту же самую переменную? Сообщения могут быть true или false? Или там приходит только ID, я заношу это в перемнную P_XX и всё?

                    1 Reply Last reply Reply Quote 0
                    • K
                      kID last edited by

                      @Bluefox:

                      Где можно почитать об этом режиме? `
                      Ну функция новая и секретная 😄

                      Упоминания о ней есть в http://www.ab-log.ru/smart-house/ethernet/megad-14-in Вот что пишет автор Andrey_B

                      Как только ключ будет в считывателе, MegaD-328 стандартным способом через HTTP сообщит серверу адрес ключа. При этом контроллер отправляет информацию на сервер только в том случае, если прошла проверка контрольной суммы (CRC8). Если адрес ключа считался неверно, MegaD-328 автоматически заново считает информацию.
                      265_megad-328-ibutton-server.gif Вот, что появилось в логах, когда я прислонил ключ к считывателю три раза. Важно, что сообщается номер порта! Это позволяет идентифицировать какой именно считыватель сработал, если их несколько. В случае с сервером пришлось бы для каждого считывателя использовать персональный адаптер DS9490R. На сервер передается адрес ключа, и вызываемому скрипту достаточно только проверить (в базе данных или прямо в коде) разрешен ли доступ этому ключу на территорию или в дом
                      @Bluefox:

                      Можно использовать для ID прямо ту же самую переменную? Сообщения могут быть true или false? Или там приходит только ID, я заношу это в перемнную P_XX и всё? `
                      Обращение к серверу происходит при считывании ключа и верификации его контрольной суммы. Формируется запрос содержащий номер порта и ID ключа. А при обращении URL/pwd/?pt=XX&cmd=get ничего уже не отдается.

                      Поэтому можно занести ID в переменную P_XX.

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

                        Сделал.

                        1 Reply Last reply Reply Quote 0
                        • K
                          kID last edited by

                          @Bluefox:

                          Сделал. `
                          Спасибо работает.

                          Начинаю осваивать программирование :lol: Ждите вопросов 😉

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

                            @kID:

                            @Bluefox:

                            Сделал. `
                            Спасибо работает.

                            Начинаю осваивать программирование :lol: Ждите вопросов 😉 `
                            А что запланировано сделать?

                            1 Reply Last reply Reply Quote 0
                            • K
                              kID last edited by

                              @Bluefox:

                              @kID:

                              @Bluefox:

                              Сделал. `
                              Спасибо работает.

                              Начинаю осваивать программирование :lol: Ждите вопросов 😉 А что запланировано сделать?
                              Всего навсего автоматизировать свое жилище :roll: (глобальный план)

                              А пока начал с замка калитки.

                              http://forum.iobroker.org/viewtopic.php?f=26&t=1549

                              Подскажите толковый и не заумный учебник по JS

                              1 Reply Last reply Reply Quote 0
                              • A
                                asid last edited by

                                Если в настройках MegaD выставить порт, который уже используется в системе (например, 8082), он ничего не скажет и работать не будет. Было бы удобнее, если бы система ругалась

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

                                  Дело в том, что принцип работы MegaD такой, что все MegaD устройства могли общатся только с портом 80 (Что является огромным недостатком, может сейчас лучше стало). И если надо подключить 2 MegaD, то порт 80 используется первым драйвером и он пересылает сообщения всем другим инстанциям драйвера. И что бы не вводить в заблуждение пользователя при старте второй инстанции ничего не говорится о том что порт занят (первой инстанцией)

                                  Наверно можно проверять, сколько инстанций и соответственно ругаться, если порт занят и только одна инстанция настроена. Надо подумать

                                  1 Reply Last reply Reply Quote 0
                                  • B
                                    Bosya last edited by

                                    Я тут на месяц выпал. На тот момент все заработала после каких-то манипуляций с перезагрузками.

                                    Сейчас новая проблема. Решил продолжить написание скриптов - смотрю версии драйверов обновились. Я обновил.

                                    Скрипты стартуют нормально. Все как живое. При нажатии кнопки:

                                    2015-11-04 00:21:20.852 - info: megad.0 sendTo "send" to system.adapter.megad.2 from system.adapter.megad.0: {"pt":2}

                                    2015-11-04 00:21:20.883 - error: message messagebox.system.adapter.megad.2 [object Object] _port is not defined

                                    2015-11-04 00:21:20.891 - error: ReferenceError: _port is not defined

                                    at processMessage (/opt/iobroker/node_modules/iobroker.megad/main.js:134:41)

                                    at Adapter.port (/opt/iobroker/node_modules/iobroker.megad/main.js:83:17)

                                    at Adapter.EventEmitter.emit (events.js:95:17)

                                    at Object.that.states.States.change (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:1847:34)

                                    at Socket.StatesInMemClient.client.on.connectionTimeout (/opt/iobroker/node_modules/iobroker.js-controller/lib/statesInMemClient.js:45:30)

                                    at Socket.Emitter.emit (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/node_modules/component-emitter/index.js:134:20)

                                    at Socket.onevent (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/lib/socket.js:254:10)

                                    at Socket.onpacket (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/lib/socket.js:212:12)

                                    at Manager. <anonymous>(/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/node_modules/component-bind/index.js:21:15)

                                    at Manager.Emitter.emit (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/node_modules/component-emitter/index.js:134:20)

                                    2015-11-04 00:21:21.007 - info: megad.0 sendTo "send" to system.adapter.megad.2 from system.adapter.megad.0: {"pt":2}

                                    2015-11-04 00:21:21.036 - error: message messagebox.system.adapter.megad.2 [object Object] _port is not defined

                                    2015-11-04 00:21:21.047 - error: ReferenceError: _port is not defined

                                    at processMessage (/opt/iobroker/node_modules/iobroker.megad/main.js:134:41)

                                    at Adapter.port (/opt/iobroker/node_modules/iobroker.megad/main.js:83:17)

                                    at Adapter.EventEmitter.emit (events.js:95:17)

                                    at Object.that.states.States.change (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:1847:34)

                                    at Socket.StatesInMemClient.client.on.connectionTimeout (/opt/iobroker/node_modules/iobroker.js-controller/lib/statesInMemClient.js:45:30)

                                    at Socket.Emitter.emit (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/node_modules/component-emitter/index.js:134:20)

                                    at Socket.onevent (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/lib/socket.js:254:10)

                                    at Socket.onpacket (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/lib/socket.js:212:12)

                                    at Manager. <anonymous>(/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/node_modules/component-bind/index.js:21:15)

                                    at Manager.Emitter.emit (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/node_modules/component-emitter/index.js:134:20)

                                    Что я пропустил? В этой теме ответ не увидел…

                                    PS. Как всегда немного порылся - для 0 меги все работает, а для остальных нет. А у меня их 5 уже....</anonymous></anonymous>

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

                                      Можешь поменять строчку 134 в /opt/iobroker/node_modules/iobroker.megad/main.js на

                                      } else if (adapter.config.ports[port].pty == 3 && adapter.config.ports[port].d == 4) {
                                      
                                      

                                      ?

                                      1 Reply Last reply Reply Quote 0
                                      • B
                                        Bosya last edited by

                                        @Bluefox:

                                        Можешь поменять строчку 134 в /opt/iobroker/node_modules/iobroker.megad/main.js на

                                        } else if (adapter.config.ports[port].pty == 3 && adapter.config.ports[port].d == 4) {
                                        
                                        

                                        ? `

                                        Этот вопрос ко мне? Вечером попробую.

                                        1 Reply Last reply Reply Quote 0
                                        • B
                                          Bosya last edited by

                                          @Bluefox:

                                          Можешь поменять строчку 134 в /opt/iobroker/node_modules/iobroker.megad/main.js на

                                          } else if (adapter.config.ports[port].pty == 3 && adapter.config.ports[port].d == 4) {
                                          
                                          

                                          ? `

                                          Работает.

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

                                            Отлично. Сделал версию.

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            1.0k
                                            Online

                                            31.6k
                                            Users

                                            79.5k
                                            Topics

                                            1.3m
                                            Posts

                                            28
                                            430
                                            115628
                                            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