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.
    • V
      Vadim last edited by

      предлагаю добавить в описание на гитхаб немного покороче: 😉

      "На стороне контроллера Меги:

      • в настройках портов IN, необходимо обязательно устанавливать чекбокс для поля Mode для корректной обработки драйвером событий!

      • допускаются настройки Mode: P или R или P\R.

      Click mode реализован на уровне драйвера Megadd. "

      Я думаю, многие вопросы в дальнейшем снимет.

      1 Reply Last reply Reply Quote 0
      • V
        Vadim last edited by

        Haus, привет.

        Запилишь ADS1115?

        Сильно критично, что Андрей не сделал для этого датчика отдельную строку в списке (он идет ,как I2C - ANY)?

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

          @Vadim:

          Haus, привет.

          Запилишь ADS1115?

          Сильно критично, что Андрей не сделал для этого датчика отдельную строку в списке (он идет ,как I2C - ANY)? `
          Попробуй с git v.0.3.8

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

            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 Reply Quote 0
            • H
              Haus last edited by

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

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

              1 Reply Last reply Reply Quote 0
              • V
                Vadim last edited by

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

                Спасибо.

                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 Reply Quote 0
                • V
                  Vadim last edited by

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

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

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

                  ! 4095_htu21d.jpg

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

                    Попробуй с git

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

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

                    1 Reply Last reply Reply Quote 0
                    • V
                      Vadim last edited by

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

                      1 Reply Last reply Reply Quote 0
                      • V
                        Vadim last edited by

                        скопировал 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 Reply Quote 0
                        • H
                          Haus last edited by

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

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

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

                          1 Reply Last reply Reply Quote 0
                          • V
                            Vadim last edited by

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

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

                            0x51 - TSL2591

                            0x53

                            0x80 - HTU21D/PCA9685

                            0x90 - ADS1115

                            По багам.

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

                            Для MCPxxx

                            0x40 - MCP230XX

                            Для PCA9685

                            0x80 - HTU21D/PCA9685

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

                              @Vadim:

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

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

                              0x51 - TSL2591

                              0x53

                              0x80 - HTU21D/PCA9685

                              0x90 - ADS1115

                              По багам.

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

                              Для MCPxxx

                              0x40 - MCP230XX

                              Для PCA9685

                              0x80 - HTU21D/PCA9685 `

                              0x53 ???

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

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

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

                              1 Reply Last reply Reply Quote 0
                              • V
                                Vadim last edited by

                                1. "0x51 - TSL2591

                                0x53"

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

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

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

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

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

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

                                  @Vadim:

                                  Вопросы:

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

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

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

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

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

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

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

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

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

                                    @Vadim:

                                    1. "0x51 - TSL2591

                                    0x53"

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

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

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

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

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

                                    выбери megadd

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

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

                                    1 Reply Last reply Reply Quote 0
                                    • V
                                      Vadim last edited by

                                      @Haus:

                                      FROM GITHUB

                                      выбери megadd

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

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

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

                                      1 Reply Last reply Reply Quote 0
                                      • V
                                        Vadim last edited by

                                        @Haus:

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

                                        @Haus:

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

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

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

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

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

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

                                        UPD.

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

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

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

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

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

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

                                        1 Reply Last reply Reply Quote 0
                                        • V
                                          Vadim last edited by

                                          @Vadim:

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

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

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

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

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

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

                                          1 Reply Last reply Reply Quote 0
                                          • V
                                            Vadim last edited by

                                            @Haus:

                                            выбери megadd

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

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

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

                                            UPD

                                            Но все равно разница есть 😉

                                            ! 4095_tsl2591_2.jpg

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            917
                                            Online

                                            31.6k
                                            Users

                                            79.4k
                                            Topics

                                            1.3m
                                            Posts

                                            20
                                            155
                                            36872
                                            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