Skip to content
  • Home
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Русский
  3. ioBroker
  4. ioBroker драйвера
  5. Драйвер MegaD-2561

NEWS

  • Monatsrückblick Januar/Februar 2026 ist online!
    BluefoxB
    Bluefox
    17
    1
    503

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    17
    1
    5.2k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    1.4k

Драйвер MegaD-2561

Scheduled Pinned Locked Moved ioBroker драйвера
160 Posts 22 Posters 50.7k Views 6 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • V Offline
    V Offline
    Vadim
    wrote on last edited by
    #101

    MegaD на своих портах плату детектирует (I2C scan: 0x90 - ADS1115)

    Драйвер MegaDD - Обновил. IOBroker перезагружал.

    При нажатии I2C scan в драйвере ничего не происходит, плата не считывается, меню I2C scan после нажатия не активное.

    Сохранил конфигурацию в таком состоянии.

    Начал валиться драйвер.

    Логи:

    ! host.orangepiplus2e 2018-02-20 20:19:52.781 info Restart adapter system.adapter.megadd.0 because enabled
    ! host.orangepiplus2e 2018-02-20 20:19:52.780 error instance system.adapter.megadd.0 terminated with code 0 (OK)
    ! host.orangepiplus2e 2018-02-20 20:19:52.780 error Caught by controller[0]: at process._tickCallback (internal/process/next_tick.js:104:9)
    ! host.orangepiplus2e 2018-02-20 20:19:52.779 error Caught by controller[0]: at _combinedTickCallback (internal/process/next_tick.js:80:11)
    ! host.orangepiplus2e 2018-02-20 20:19:52.779 error Caught by controller[0]: at endReadableNT (_stream_readable.js:974:12)
    ! host.orangepiplus2e 2018-02-20 20:19:52.778 error Caught by controller[0]: at IncomingMessage.emit (events.js:185:7)
    ! host.orangepiplus2e 2018-02-20 20:19:52.778 error Caught by controller[0]: at emitNone (events.js:91:20)
    ! host.orangepiplus2e 2018-02-20 20:19:52.778 error Caught by controller[0]: at IncomingMessage. (/opt/iobroker/node_modules/iobroker.megadd/main.js:152:25)
    ! host.orangepiplus2e 2018-02-20 20:19:52.777 error Caught by controller[0]: at /opt/iobroker/node_modules/iobroker.megadd/main.js:1031:23
    ! host.orangepiplus2e 2018-02-20 20:19:52.777 error Caught by controller[0]: at /opt/iobroker/node_modules/iobroker.megadd/main.js:1520:25
    ! host.orangepiplus2e 2018-02-20 20:19:52.776 error Caught by controller[0]: at getPortStateI2C (/opt/iobroker/node_modules/iobroker.megadd/main.js:932:29)
    ! host.orangepiplus2e 2018-02-20 20:19:52.775 error Caught by controller[0]: TypeError: Cannot read property 'split' of undefined
    ! megadd.0 2018-02-20 20:19:52.204 error TypeError: Cannot read property 'split' of undefined at getPortStateI2C (/opt/iobroker/node_modules/iobroker.megadd/main.js:932:29) at /opt/iobroker/node_modules/iobroker.megadd/main.js:1520:2
    ! megadd.0 2018-02-20 20:19:52.204 error uncaught exception: Cannot read property 'split' of undefined
    ! megadd.0 2018-02-20 20:19:52.202 info Device "192.168.0.14" is connected

    PS.

    OrangePI+2e

    Armbian Ubuntu 16.04.3 LTS

    Nodejs v6.13.0

    Admin 3.2.0

    UPD1

    Вместо порта ANY выбрал произвольно HTU21D, сохранил конфинурацию в IOBroker, считал конфигурацию c MegaD снова.

    После этого плата стала определяться, функция I2C Scan перестала залипать.

    В Objects появились 4 порта ADS1115. Ну и драйвер перестал падать.

    До этого момента при нажатии I2C Scan в драйвере, Wireshark обращений (pt=xx&cmd=scan) к контроллеру меги не детектировал.

    Смотрю дальше.

    1 Reply Last reply
    0
    • H Offline
      H Offline
      Haus
      wrote on last edited by
      #102

      Настройки I2C порта везде ANY(Любой) если используется больше одного датчика на линии. Если один датчик то как раньше.

      После считывания или сканирования "HTU21D/PCA9685,BMP180" нужно исправить на "HTU21D,BMP180"

      js-controller: 1.5.7 / node.js: v8.15.1/ npm: 6.4.1

      admin: 3.6.0

      javascript: 4.1.10

      web: 2.4.1 vis: 1.1.10

      cloud: 2.6.2

      Server: DELL FX170 / linux: Debian 9.5 Stretch

      Adapter: MegaD-2561, Mega-ES…

      1 Reply Last reply
      0
      • V Offline
        V Offline
        Vadim
        wrote on last edited by
        #103

        В общем и целом работает.

        Спасибо.

        1. Проблем с залипанием "Scan" для ANY I2C больше не возникала, в т.ч. на других портах.

        2. Все комбинации не проверил, но для связки TSL2591,HTU21D,ADS1115 - работает.

        3. Если какой-то порт МегаД настроен, как ANY, но физически к нему ничего не подключено (или датчик умер).

        Мы считываем конфигурацию, естественно датчик не определяется, поле остается пустым. Это событие незаметно.

        Если так сохранить конфигурацию, то драйвер начинает падать.

        4. После каждого сканирования портов (Auto Detect Ports) МегаД приходится постоянно править руками поле с датчиками, если они однозначно не определяются.

        Если много таких портов с множеством датчиков на каждом, то это уже накладно.

        В т.ч. не отслеживаемо, что эти поля меняются (через год нужно переконфигурировать совершенно другой порт, если забыть про I2C Any, то можно пропустить).

        Опять же, если сохранить конфигурацию в виде "HTU21D/PCA9685", то драйвер начинает падать.

        Имхо, логично для "Auto Detect Ports" отменить автоматическое сканирование и перезапись датчиков для "I2C Any".

        Для этого можно пользоваться кнопкой "I2C Scan" для конкретного порта в нужное пользователю время.

        5. По ходу заметил, для TSL2591 (value.light) в Value отображаются градусы Цельсия.

        Вопросы:

        1. Подскажи плз, как пересчитываешь в IOBroker значения с датчиков, которые получаем с Меги (калибровка датчиков температуры, освещенности…. Приведение значений с ADS1115. Отбрасывание заведомо кривых значений, усреднение)?

        Драйвер поддерживает только корректировку значений с родных портов ADC Меги (сдвиг и множитель).

        Все остальное, приходится как есть писать в базу.

        При построении графиков (flot) корректировки тоже не нашел.

        Это только руками в Scripts реализовывать работу с БД и пересчет или я что-то упустил?

        2. Все же, для понимания, в конфигурации драйвера можно переименовывать имя портов Меги или нет?

        С обычными портами вроде работало. С портами расширителей были проблемы.

        1 Reply Last reply
        0
        • V Offline
          V Offline
          Vadim
          wrote on last edited by
          #104

          Еще легкий баг.

          Для HTU21D, если он висит на шине I2C перепутаны значения температуры и влажности.

          Если датчик висит один на порту, то отображается корректно.

          ! 4095_htu21d.jpg

          1 Reply Last reply
          0
          • H Offline
            H Offline
            Haus
            wrote on last edited by
            #105

            Попробуй с git

            Настройки I2C порта везде ANY(Любой) если используется больше одного датчика на линии. Если один датчик то как раньше.
            

            Это уже неактуально

            js-controller: 1.5.7 / node.js: v8.15.1/ npm: 6.4.1

            admin: 3.6.0

            javascript: 4.1.10

            web: 2.4.1 vis: 1.1.10

            cloud: 2.6.2

            Server: DELL FX170 / linux: Debian 9.5 Stretch

            Adapter: MegaD-2561, Mega-ES…

            1 Reply Last reply
            0
            • V Offline
              V Offline
              Vadim
              wrote on last edited by
              #106

              c git тянет старую 0.3.8

              1 Reply Last reply
              0
              • V Offline
                V Offline
                Vadim
                wrote on last edited by
                #107

                скопировал admin/index.html руками.

                • Все равно автоматом (Auto Detect ports) тянет HTU21D/PCA9685 и перезаписывает настройки, но в результате с настройкой "TSL2591,HTU21D/PCA9685,ADS1115" идентифицирует датчик (HTU21D) корректно, драйвер не падает, статусы считываются корректно.

                • Баг.

                Если для связки TSL2591,HTU21D,ADS1115 выбрять не ANY, а, например, TSL2591, то не считывается TSL2591

                ! 4095_tsl2591__any_.jpg 4095_tsl2591__tsl2591_.jpg

                2. Настройки порта ANY без датчиков - теперь драйвер не перезагружается.

                1 Reply Last reply
                0
                • H Offline
                  H Offline
                  Haus
                  wrote on last edited by
                  #108

                  Ставь полностью

                  отпишись по баг

                  делаю в слепую по скринам с ab-log, дай скрин с MegaD scan

                  js-controller: 1.5.7 / node.js: v8.15.1/ npm: 6.4.1

                  admin: 3.6.0

                  javascript: 4.1.10

                  web: 2.4.1 vis: 1.1.10

                  cloud: 2.6.2

                  Server: DELL FX170 / linux: Debian 9.5 Stretch

                  Adapter: MegaD-2561, Mega-ES…

                  1 Reply Last reply
                  0
                  • V Offline
                    V Offline
                    Vadim
                    wrote on last edited by
                    #109

                    Для связки:TSL2591,HTU21D,ADS1115

                    Результат скана MegaD:

                    0x51 - TSL2591

                    0x53

                    0x80 - HTU21D/PCA9685

                    0x90 - ADS1115

                    По багам.

                    Пока только один мелкий - см. пост выше.

                    Для MCPxxx

                    0x40 - MCP230XX

                    Для PCA9685

                    0x80 - HTU21D/PCA9685

                    1 Reply Last reply
                    0
                    • H Offline
                      H Offline
                      Haus
                      wrote on last edited by
                      #110

                      @Vadim:

                      Для связки:TSL2591,HTU21D,ADS1115

                      Результат скана MegaD:

                      0x51 - TSL2591

                      0x53

                      0x80 - HTU21D/PCA9685

                      0x90 - ADS1115

                      По багам.

                      Пока только один мелкий - см. пост выше.

                      Для MCPxxx

                      0x40 - MCP230XX

                      Для PCA9685

                      0x80 - HTU21D/PCA9685 `

                      0x53 ???

                      Если ставил полностью бага не должно быть

                      P.S. Я понял, ты в MegaD не поменял настройки.

                      Как я уже писал много раз, НАСТРОЙКИ ДОЛЖНЫ БЫТЬ ИДЕНТИЧНЫ.

                      js-controller: 1.5.7 / node.js: v8.15.1/ npm: 6.4.1

                      admin: 3.6.0

                      javascript: 4.1.10

                      web: 2.4.1 vis: 1.1.10

                      cloud: 2.6.2

                      Server: DELL FX170 / linux: Debian 9.5 Stretch

                      Adapter: MegaD-2561, Mega-ES…

                      1 Reply Last reply
                      0
                      • V Offline
                        V Offline
                        Vadim
                        wrote on last edited by
                        #111

                        1. "0x51 - TSL2591

                        0x53"

                        0x53 - идет пустой по запросу с Меги.

                        оба порта дает TSL2591.

                        2. Потом обновил через интерфейс:

                        ! 4095_gitupd.jpg
                        IOBroker рестартил.

                        баг остался (TSL2591 нормально не определяется, если в настройках установлено не ANY).

                        1 Reply Last reply
                        0
                        • H Offline
                          H Offline
                          Haus
                          wrote on last edited by
                          #112

                          @Vadim:

                          Вопросы:

                          1. Подскажи плз, как пересчитываешь в IOBroker значения с датчиков, которые получаем с Меги (калибровка датчиков температуры, освещенности…. Приведение значений с ADS1115. Отбрасывание заведомо кривых значений, усреднение)?

                          Драйвер поддерживает только корректировку значений с родных портов ADC Меги (сдвиг и множитель).

                          Все остальное, приходится как есть писать в базу.

                          При построении графиков (flot) корректировки тоже не нашел.

                          Это только руками в Scripts реализовывать работу с БД и пересчет или я что-то упустил? `
                          В настройках сохранения в базу есть всевозможные ограничения по разнице, времени….

                          Могу сделать(сдвиг и множитель), но для всех четырех каналов одна настройка, так подойдет?
                          @Vadim:

                          2. Все же, для понимания, в конфигурации драйвера можно переименовывать имя портов Меги или нет?

                          С обычными портами вроде работало. С портами расширителей были проблемы. `
                          Посмотрю дам знать

                          js-controller: 1.5.7 / node.js: v8.15.1/ npm: 6.4.1

                          admin: 3.6.0

                          javascript: 4.1.10

                          web: 2.4.1 vis: 1.1.10

                          cloud: 2.6.2

                          Server: DELL FX170 / linux: Debian 9.5 Stretch

                          Adapter: MegaD-2561, Mega-ES…

                          1 Reply Last reply
                          0
                          • H Offline
                            H Offline
                            Haus
                            wrote on last edited by
                            #113

                            @Vadim:

                            1. "0x51 - TSL2591

                            0x53"

                            0x53 - идет пустой по запросу с Меги.

                            оба порта дает TSL2591.

                            2. Потом обновил через интерфейс:

                            ! GitUpd.jpg
                            IOBroker рестартил.

                            баг остался (TSL2591 нормально не определяется, если в настройках установлено не ANY). `
                            FROM GITHUB

                            выбери megadd

                            после установки перезапусти драйвер

                            Перечитай пост http://forum.iobroker.net/viewtopic.php … 62#p128546

                            js-controller: 1.5.7 / node.js: v8.15.1/ npm: 6.4.1

                            admin: 3.6.0

                            javascript: 4.1.10

                            web: 2.4.1 vis: 1.1.10

                            cloud: 2.6.2

                            Server: DELL FX170 / linux: Debian 9.5 Stretch

                            Adapter: MegaD-2561, Mega-ES…

                            1 Reply Last reply
                            0
                            • V Offline
                              V Offline
                              Vadim
                              wrote on last edited by
                              #114

                              @Haus:

                              FROM GITHUB

                              выбери megadd

                              после установки перезапусти драйвер

                              Перечитай пост http://forum.iobroker.net/viewtopic.php … 62#p128546 `
                              Не, не помогло.

                              В общем не очень критично, если знать, что нужно ANY выставлять.

                              1 Reply Last reply
                              0
                              • V Offline
                                V Offline
                                Vadim
                                wrote on last edited by
                                #115

                                @Haus:

                                В настройках сохранения в базу есть всевозможные ограничения по разнице, времени…. `
                                Так то, для экономии места в базе и\или регулировки частоты записи параметров.

                                @Haus:

                                Могу сделать(сдвиг и множитель), но для всех четырех каналов одна настройка, так подойдет? `
                                Ты про ADS1115?

                                Думаю, сойдет. Если не вешать разные датчики. ;-)

                                Все лучше, чем ничего.

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

                                А если брать, например, темперетуру с DS18B20 и HTU21D, то легко 2-3 градуса разницы дают.

                                Иногда не принципиально, а иногда желательно вводить коэффициенты корректировки.

                                UPD.

                                Имхо, стоит эти настройки выводить отдельным окном для портов, если есть возможность.

                                Общая форма с настройками и так перегружена и с новым дизайном 3.2 на FHD экран уже не помещается в одну строчку…. :(

                                Может эти настройки вынести в интерфейс записи в БД, что будт логичным?

                                В т.ч. они будут доступны для каждого\любого порта.

                                Одно поле с произвольной формулой y = y(x).

                                Там уже, кто на что горазд в рамках дозволенного.

                                1 Reply Last reply
                                0
                                • V Offline
                                  V Offline
                                  Vadim
                                  wrote on last edited by
                                  #116

                                  @Vadim:

                                  Может эти настройки вынести в интерфейс записи в БД, что будт логичным?

                                  В т.ч. они будут доступны для каждого\любого порта.

                                  Одно поле с произвольной формулой y = y(x).

                                  Там уже, кто на что горазд в рамках дозволенного. `
                                  С этим был не прав.

                                  Забыл про скрипты.

                                  Драйвер конечно же должен в Стейты отдавать уже приведенные\скорректированные значения.

                                  1 Reply Last reply
                                  0
                                  • V Offline
                                    V Offline
                                    Vadim
                                    wrote on last edited by
                                    #117

                                    @Haus:

                                    выбери megadd

                                    после установки перезапусти драйвер

                                    Перечитай пост http://forum.iobroker.net/viewtopic.php … 62#p128546 `
                                    Точно, забыл и не увидел последнюю добавленную строчку.

                                    Все работает. Сорри.

                                    UPD

                                    Но все равно разница есть ;-)

                                    ! 4095_tsl2591_2.jpg

                                    1 Reply Last reply
                                    0
                                    • V Offline
                                      V Offline
                                      Vadim
                                      wrote on last edited by
                                      #118

                                      Haus, привет

                                      Если в конфигурации сохранить HTU21D/PCA9685, то в Objects для

                                      megadd.0.p0_P0_HTU21D/PCA9685_humidity

                                      megadd.0.p0_P0_HTU21D/PCA9685_temperature

                                      в настройках

                                      Settings for sql.0

                                      не включается (галка ставится, но функция не активируется) запись в ДБ.

                                      Если в конфигурации оставить HTU21D, то все ОК.

                                      1 Reply Last reply
                                      0
                                      • H Offline
                                        H Offline
                                        Haus
                                        wrote on last edited by
                                        #119

                                        @Vadim:

                                        Haus, привет

                                        Если в конфигурации сохранить HTU21D/PCA9685, то в Objects для

                                        megadd.0.p0_P0_HTU21D/PCA9685_humidity

                                        megadd.0.p0_P0_HTU21D/PCA9685_temperature

                                        в настройках

                                        Settings for sql.0

                                        не включается (галка ставится, но функция не активируется) запись в ДБ.

                                        Если в конфигурации оставить HTU21D, то все ОК. `
                                        Vadim, без исправлений HTU21D/PCA9685 пока не как. Тебе надо HTU21D другому PCA9685 а как отличить что там на линии.

                                        Я подумаю.

                                        js-controller: 1.5.7 / node.js: v8.15.1/ npm: 6.4.1

                                        admin: 3.6.0

                                        javascript: 4.1.10

                                        web: 2.4.1 vis: 1.1.10

                                        cloud: 2.6.2

                                        Server: DELL FX170 / linux: Debian 9.5 Stretch

                                        Adapter: MegaD-2561, Mega-ES…

                                        1 Reply Last reply
                                        0
                                        • V Offline
                                          V Offline
                                          Vadim
                                          wrote on last edited by
                                          #120

                                          @Haus:

                                          Vadim, без исправлений HTU21D/PCA9685 пока не как. Тебе надо HTU21D другому PCA9685 а как отличить что там на линии.

                                          Я подумаю. `
                                          Да это больше фидбек, для информации :-).

                                          Сам понимаешь, особо не критично.

                                          Получится пофиксить и будет желание\время - хорошо.

                                          Не получится - если знать особенность, то ничего страшного.

                                          UPD,

                                          Все IMHO.

                                          Конечно, придумывать алгоритмы идентификации датчиков можно и это удобно для пользователей, но не уверен, что всегда реализуемо.

                                          Опять же, никто не отменял штатную возможность смены адресов для I2C для некоторых датчиков.

                                          Тогда весь скан просто не будет работать. Правда и Мега уже может при этом не считывать датчики…

                                          Так что, самый надежный способ - прописывать руками

                                          В т.ч. есть нюансы, когда определенные датчики требуют первоначальной инициализации и, как следствие, не могут работать вместе.

                                          У Андрея эта информация в документации четко не прописана. Т.е. будут пользователи, которые наступят на эти грабли.

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

                                          Можно и скан оставить для удобства с дальнейшей ручной корректировкой.

                                          Но при этом, как я уже писал:

                                          "логично для "Auto Detect Ports" отменить автоматическое сканирование и перезапись датчиков для "I2C Any".

                                          Для этого можно пользоваться кнопкой "I2C Scan" для конкретного порта в нужное пользователю время.".

                                          1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          673

                                          Online

                                          32.7k

                                          Users

                                          82.5k

                                          Topics

                                          1.3m

                                          Posts
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Home
                                          • Recent
                                          • Tags
                                          • Unread 0
                                          • Categories
                                          • Unreplied
                                          • Popular
                                          • GitHub
                                          • Docu
                                          • Hilfe