Navigation

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

    NEWS

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Драйвер MQTT

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

      @Bluefox:

      Ну уже не плохо 😉
      @Adav:

      перегрузил его, стало нормально, но логи потерял. Логи потерять нельзя. Поройся в ****/opt/iobroker/log/2017_…log****

      Потерял. Когда админ заглючил, я начал стирать и стер. Ну раз такое дело - перегрузил контроллер еще раз. В этот раз логи я просто взял по ссылке, не пытаясь с ними что-то делать в интерфейсе. Итог:

      https://cloud.mail.ru/public/9rBC/mM5aYm4k6

      Запустил дебаг, отправил контроллер в перезагрузку. Убедился, что контроллер перегрузился и что данные не приходят. Остановил дебаг, скопировал лог, перегрузил драйвер. Данные пошли. Или надо видеть логи и при рестарте драйвера?

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

        После обновления 1.3.0 драйвер в циклическом ребуте.

        ! debian 2017-02-04 18:51:50.653 info host.debian Restart adapter system.adapter.mqtt.0 because enabled
        ! debian 2017-02-04 18:51:50.652 error host.debian instance system.adapter.mqtt.0 terminated with code 0 (OK)
        ! mqtt.0 2017-02-04 18:51:50.137 error mqtt.0 TypeError: Object 111,102,102,108,105,110,101 has no method 'trim' at receivedTopic (/opt/iobroker/node_modules/iobroker.mqtt/lib/server.js:301:59) at Connection. (/opt/iobro
        ! mqtt.0 2017-02-04 18:51:50.137 error mqtt.0 uncaught exception: Object 111,102,102,108,105,110,101 has no method 'trim'
        ! mqtt.0 2017-02-04 18:51:50.136 info mqtt.0 Client [ESP826600f3f637] closed
        ! mqtt.0 2017-02-04 18:51:50.136 error mqtt.0 TypeError: Object 111,102,102,108,105,110,101 has no method 'trim' at receivedTopic (/opt/iobroker/node_modules/iobroker.mqtt/lib/server.js:301:59) at Connection. (/opt/iobro
        ! mqtt.0 2017-02-04 18:51:50.136 error mqtt.0 uncaught exception: Object 111,102,102,108,105,110,101 has no method 'trim'
        ! mqtt.0 2017-02-04 18:51:50.136 warn mqtt.0 Client error [ESP826600f3f637]: Error: not implemented
        ! mqtt.0 2017-02-04 18:51:50.135 info mqtt.0 Client [ESP826600f3f637] connected
        ! mqtt.0 2017-02-04 18:51:46.293 info mqtt.0 Starting MQTT authenticated server on port 1883
        ! mqtt.0 2017-02-04 18:51:45.711 info mqtt.0 starting. Version 1.3.0 in /opt/iobroker/node_modules/iobroker.mqtt, node: v0.10.46
        ! debian 2017-02-04 18:51:44.686 info host.debian instance system.adapter.mqtt.0 started with pid 2392
        ! host.debian 2017-02-04 18:51:14.676 info Restart adapter system.adapter.mqtt.0 because enabled

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

          @bondrogeen:

          После обновления 1.3.0 драйвер в циклическом ребуте. `

          Установил сразу после появления версии 1.3.0 на github - таких проблем не наблюдаю. Установлено было на 3 разных серверах, работающих с одним контроллером (WB). На третьем (тестовом) недавно обновил до 1.3.1 - тоже пока нормально. Может у Вас проблема с источником данных mqtt?

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

            До обновление все работало нормально, скопилось много обновлений сегодня решил все обновить.

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

              Обнаружилась ошибка в коде MQTT клиента.

              http://forum.iobroker.net/viewtopic.php?f=22&t=5095

              Надо заменить (смотря что у вас за система или версия npm)

              этот файл /opt/iobroker/node_modules/mqtt-packet/writeToStream.js

              или этот /opt/iobroker/node_modules/iobroker.mqtt/node_modules/mqtt-packet/writeToStream.js

              или как было в моём случаи этот файл /opt/iobroker/node_modules/iobroker.mqtt/node_modules/mqtt-connection/node_modules/mqtt-packet/writeToStream.js

              на этот

              https://github.com/GermanBluefox/mqtt-p … oStream.js

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

                Обновил node до 4 версии все заработало.

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

                  @bondrogeen:

                  Обновил node до 4 версии все заработало. `

                  обновился до 1.3.0, затем до 1.3.1 0 глюк с циклической перезагрузкой.

                  у меня nodejs 6.6.0 - ты говоришь что обновил до 4 версии. немного не понял какая же у тебя версия?

                  update: или ты имеешь ввижу ветку 4.x.x LTS (v4.7.3 (Latest LTS: Argon))? Так это же наооборот downgrade, а не обновление…

                  народ, а вообще какая сейчас версия Node актуальна по феншую для IOB? вчера обновил до v6.9.5 - вроде памяти стало меньше потреблять..

                  1 Reply Last reply Reply Quote 0
                  • Y
                    yopopol last edited by

                    Здравствуйте.

                    Прошу помощи с MQTT драйвером.

                    IOBroker установлен на RPi3, При перезагрузке сервера,он отсылает на ардуино(стоит клиент) инверсные значения.

                    прикрутить это на управление светом,стало проблематично ((

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

                      @yopopol:

                      Здравствуйте.

                      Прошу помощи с MQTT драйвером.

                      IOBroker установлен на RPi3, При перезагрузке сервера,он отсылает на ардуино(стоит клиент) инверсные значения.

                      прикрутить это на управление светом,стало проблематично (( `

                      поясни что такое "инверные значения"? можно с картинками.

                      были проблемы что mqtt версии до 1.2.5 посылал неверно отформатированные сообщения подписчикам. а у тебя какая версия?

                      1 Reply Last reply Reply Quote 0
                      • Y
                        yopopol last edited by

                        Здравствуйте еще раз.

                        Версия MQTT драйвера - 1.3.2.

                        Инверсное- например на данный момент на ардуино сейчас имеются 16 выходов (каждый выход-свой топик). При старте ардуины на первых двух лог "1", на остальных лог. "0". При старте,ребуте железки RPi или при ручном рестарте самого драйвера , на ардуинке выходы меняют своё значение. т.е. "1" становятся нулями

                        и наоборот,нули - еденицами. Т.к. пока подключены только светодиоды,заметно что это происходит сразу одновременно по всем выходам.

                        С настройками драйвера игрался,на данный момент убрал все галки- результат тот же (((

                        з.ы. до этого IOBroker стоял на винде (версию драйвера не помню) но такого "изменения выходов" не было.

                        1 Reply Last reply Reply Quote 0
                        • Y
                          yopopol last edited by

                          на всякий случай выкладываю скетч,может подскажите что не так?

                          есть подозрениие,что именно он косячит.

                          Cам слабо понимаю. скетч создавал в Flprog.
                          1648_pr4.7z

                          1 Reply Last reply Reply Quote 0
                          • D
                            dmitrii240582 last edited by

                            Собрал монитор энергии на pzem-004t и esp (прошивка Wifi-iot). Драйвер MQTT настроен как сервер. Вначале все работало, потом началась какая-то ерунда - часть объектов отображается некорректно, в т.ч. и на веб-интерфейсе esp(при этом он ещё заметно подвисает). В логе ошибки:

                            ! mqtt.0 2017-02-19 20:03:55.369 error mqtt.0 Closed because of error
                            ! mqtt.0 2017-02-19 20:03:55.368 warn mqtt.0 Client error [ESP82660006940a]: Error: read ECONNRESET
                            ! mqtt.0 2017-02-19 20:03:54.377 info mqtt.0 publishOnSubscribe send all known states
                            ! mqtt.0 2017-02-19 20:03:54.377 info mqtt.0 Client [ESP82660006940a] subscribes on "ESP0006940A.#" with regex /^mqtt.0.ESP0006940A../
                            ! mqtt.0 2017-02-19 20:03:54.376 info mqtt.0 Client [ESP82660006940a] subscribes on "ESP0006940A.#" with regex /^ESP0006940A..
                            /
                            ! mqtt.0 2017-02-19 20:03:54.376 info mqtt.0 publishOnSubscribe
                            ! mqtt.0 2017-02-19 20:03:54.376 info mqtt.0 Client [ESP82660006940a] subscribes on "mqtt.0.timestamp"
                            ! mqtt.0 2017-02-19 20:03:54.375 info mqtt.0 publishOnSubscribe send all known states
                            ! mqtt.0 2017-02-19 20:03:54.370 info mqtt.0 Client [ESP82660006940a] subscribes on "testtopic.#" with regex /^mqtt.0.testtopic../
                            ! mqtt.0 2017-02-19 20:03:54.369 info mqtt.0 Client [ESP82660006940a] subscribes on "testtopic.#" with regex /^testtopic..
                            /
                            ! mqtt.0 2017-02-19 20:03:54.369 info mqtt.0 publishOnSubscribe send all known states
                            ! mqtt.0 2017-02-19 20:03:54.369 info mqtt.0 Client [ESP82660006940a] subscribes on "ESP0006940A.#" with regex /^mqtt.0.ESP0006940A../
                            ! mqtt.0 2017-02-19 20:03:54.368 info mqtt.0 Client [ESP82660006940a] subscribes on "ESP0006940A.#" with regex /^ESP0006940A..
                            /
                            ! mqtt.0 2017-02-19 20:03:54.205 info mqtt.0 Client [ESP82660006940a] connected
                            ! mqtt.0 2017-02-19 20:03:49.765 info mqtt.0 publishOnSubscribe send all known states
                            ! mqtt.0 2017-02-19 20:03:49.765 info mqtt.0 Client [ESP82660006940a] subscribes on "ESP0006940A.#" with regex /^mqtt.0.ESP0006940A../
                            ! mqtt.0 2017-02-19 20:03:49.764 info mqtt.0 Client [ESP82660006940a] subscribes on "ESP0006940A.#" with regex /^ESP0006940A..
                            /
                            ! mqtt.0 2017-02-19 20:03:47.397 info mqtt.0 Client [ESP82660006940a] closed
                            ! mqtt.0 2017-02-19 20:03:47.396 error mqtt.0 Closed because of error
                            ! mqtt.0 2017-02-19 20:03:47.396 warn mqtt.0 Client error [ESP82660006940a]: Error: read ECONNRESET

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

                              @dmitrii240582:

                              Собрал монитор энергии на pzem-004t и esp (прошивка Wifi-iot). Драйвер MQTT настроен как сервер. Вначале все работало, потом началась какая-то ерунда - часть объектов отображается некорректно, в т.ч. и на веб-интерфейсе esp(при этом он ещё заметно подвисает). `

                              Если и в интерфейсе ESP проблемы - то тут MQTT совсем не при чем. Думаю, Вы это понимаете сами. Зря Вы эту поделку (pzem) купили… Я сначала тоже на нее поглядывал, все прикидывал как подключать, куда и как прикручивать. В итоге просто взял маленький (1DIN) счетчик за 20$ (SDM120). Как индикатор - не очень из-за размеров, зато места не занимает много в щитке и проблем с подключением (modbus) никаких. Да и разных параметров отдает побольше (реактивная составляющая и частота). Была бы возможность подключиться к счетчику мосэнерго - сделал бы так, но увы, не дают, поэтому такой вот мониторинг через второй счетчик...

                              1 Reply Last reply Reply Quote 0
                              • D
                                dmitrii240582 last edited by

                                Проблема исчезает при отключении драйвера, так что железяка скорей всего исправно работает. Через облако все работало очень долго и без сбоев. Кстати через несколько часов проблема пропала сама собой :shock: .

                                1 Reply Last reply Reply Quote 0
                                • D
                                  dmitrii240582 last edited by

                                  @dmitrii240582:

                                  Проблема исчезает при отключении драйвера, так что железяка скорей всего исправно работает. Через облако все работало очень долго и без сбоев. Кстати через несколько часов проблема пропала сама собой :shock: . `
                                  Опять сбой. В логе ошибок нет.

                                  1 Reply Last reply Reply Quote 0
                                  • Y
                                    yopopol last edited by

                                    Извините за панику,за сомнения.Методом исключения ,вывел что ошибка закралась в скетче ардуины.

                                    Забросил MQTT, першел на Modbus TCP. Пока всё норм.

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

                                      @Adav:

                                      @dmitrii240582:

                                      Собрал монитор энергии на pzem-004t и esp (прошивка Wifi-iot). Драйвер MQTT настроен как сервер. Вначале все работало, потом началась какая-то ерунда - часть объектов отображается некорректно, в т.ч. и на веб-интерфейсе esp(при этом он ещё заметно подвисает). `

                                      Если и в интерфейсе ESP проблемы - то тут MQTT совсем не при чем. Думаю, Вы это понимаете сами. Зря Вы эту поделку (pzem) купили… Я сначала тоже на нее поглядывал, все прикидывал как подключать, куда и как прикручивать. В итоге просто взял маленький (1DIN) счетчик за 20$ (SDM120). Как индикатор - не очень из-за размеров, зато места не занимает много в щитке и проблем с подключением (modbus) никаких. Да и разных параметров отдает побольше (реактивная составляющая и частота). Была бы возможность подключиться к счетчику мосэнерго - сделал бы так, но увы, не дают, поэтому такой вот мониторинг через второй счетчик... `

                                      sdm120 - это хорошо. но все не совсем тривиально при передаче rs485 на сервер. конечно если есть медный кабель прямиком в сервер - не проблема. Но если нет - то пляски с бубном.

                                      У меня HLK-RM04 прокидывает serial через TCP , потом эмулятор tty под linux (socat), потом mdbusd (Mudbus RTU -> Modbus TCP).

                                      с учетом стоимости HLK-RM04 и sdm120 - выходит под $50 уже.

                                      а что касаемо героя pzem-004t и esp - тут надо смотреть на коммуникации esp и pzem-004t. если на esp плате есть чип usb-uart , его надо отключить. об этом кстати вот https://wifi-iot.com/p/wiki/15/ сказано. он может серьезно мешать.

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

                                        @VictorS:

                                        sdm120 - это хорошо. но все не совсем тривиально при передаче rs485 на сервер. конечно если есть медный кабель прямиком в сервер - не проблема. Но если нет - то пляски с бубном.

                                        У меня HLK-RM04 прокидывает serial через TCP , потом эмулятор tty под linux (socat), потом mdbusd (Mudbus RTU -> Modbus TCP).

                                        с учетом стоимости HLK-RM04 и sdm120 - выходит под $50 уже.

                                        а что касаемо героя pzem-004t и esp - тут надо смотреть на коммуникации esp и pzem-004t. если на esp плате есть чип usb-uart , его надо отключить. об этом кстати вот https://wifi-iot.com/p/wiki/15/ сказано. он может серьезно мешать. `

                                        Как у Вас все заморочено… Не, у меня проще, в качестве сервера WB контроллер (который фактически является ядром) c RS-485, а уж с него MQTT на ioBroker. Может когда-нибудь прикручу к Orange Pi, где также стоит ioBroker, RS-485 - UART и отправлю прямо туда modbus RTU. Но пока нужды нет.

                                        1 Reply Last reply Reply Quote 0
                                        • D
                                          dmitrii240582 last edited by

                                          @VictorS:

                                          а что касаемо героя pzem-004t и esp - тут надо смотреть на коммуникации esp и pzem-004t. если на esp плате есть чип usb-uart , его надо отключить. об этом кстати вот https://wifi-iot.com/p/wiki/15/ сказано. он может серьезно мешать. `
                                          Я читал это предупреждение, и собирал из того, что было под рукой (кстати, именно NodeMCU). <u>НО!!!</u> Физическое отключение pzem-004t (совсем-совсем) не улучшило ситуацию! Оказалось, что ESP8266, при подключении к драйверу MQTT (в режиме Сервер/брокер), начинает циклически перезагружаться! Отсюда и странные тормоза интерфейса - устройство просто недоступно N секунд. Причина перезагрузки непонятна…

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

                                            @dmitrii240582:

                                            Собрал монитор энергии на pzem-004t и esp (прошивка Wifi-iot). Драйвер MQTT настроен как сервер. Вначале все работало, потом началась какая-то ерунда - часть объектов отображается некорректно, в т.ч. и на веб-интерфейсе esp(при этом он ещё заметно подвисает). В логе ошибки:

                                            ! mqtt.0 2017-02-19 20:03:55.369 error mqtt.0 Closed because of error
                                            ! mqtt.0 2017-02-19 20:03:55.368 warn mqtt.0 Client error [ESP82660006940a]: Error: read ECONNRESET
                                            ! mqtt.0 2017-02-19 20:03:54.377 info mqtt.0 publishOnSubscribe send all known states
                                            ! mqtt.0 2017-02-19 20:03:54.377 info mqtt.0 Client [ESP82660006940a] subscribes on "ESP0006940A.#" with regex /^mqtt.0.ESP0006940A../
                                            ! mqtt.0 2017-02-19 20:03:54.376 info mqtt.0 Client [ESP82660006940a] subscribes on "ESP0006940A.#" with regex /^ESP0006940A..
                                            /
                                            ! mqtt.0 2017-02-19 20:03:54.376 info mqtt.0 publishOnSubscribe
                                            ! mqtt.0 2017-02-19 20:03:54.376 info mqtt.0 Client [ESP82660006940a] subscribes on "mqtt.0.timestamp"
                                            ! mqtt.0 2017-02-19 20:03:54.375 info mqtt.0 publishOnSubscribe send all known states
                                            ! mqtt.0 2017-02-19 20:03:54.370 info mqtt.0 Client [ESP82660006940a] subscribes on "testtopic.#" with regex /^mqtt.0.testtopic../
                                            ! mqtt.0 2017-02-19 20:03:54.369 info mqtt.0 Client [ESP82660006940a] subscribes on "testtopic.#" with regex /^testtopic..
                                            /
                                            ! mqtt.0 2017-02-19 20:03:54.369 info mqtt.0 publishOnSubscribe send all known states
                                            ! mqtt.0 2017-02-19 20:03:54.369 info mqtt.0 Client [ESP82660006940a] subscribes on "ESP0006940A.#" with regex /^mqtt.0.ESP0006940A../
                                            ! mqtt.0 2017-02-19 20:03:54.368 info mqtt.0 Client [ESP82660006940a] subscribes on "ESP0006940A.#" with regex /^ESP0006940A..
                                            /
                                            ! mqtt.0 2017-02-19 20:03:54.205 info mqtt.0 Client [ESP82660006940a] connected
                                            ! mqtt.0 2017-02-19 20:03:49.765 info mqtt.0 publishOnSubscribe send all known states
                                            ! mqtt.0 2017-02-19 20:03:49.765 info mqtt.0 Client [ESP82660006940a] subscribes on "ESP0006940A.#" with regex /^mqtt.0.ESP0006940A../
                                            ! mqtt.0 2017-02-19 20:03:49.764 info mqtt.0 Client [ESP82660006940a] subscribes on "ESP0006940A.#" with regex /^ESP0006940A..
                                            /
                                            ! mqtt.0 2017-02-19 20:03:47.397 info mqtt.0 Client [ESP82660006940a] closed
                                            ! mqtt.0 2017-02-19 20:03:47.396 error mqtt.0 Closed because of error
                                            ! mqtt.0 2017-02-19 20:03:47.396 warn mqtt.0 Client error [ESP82660006940a]: Error: read ECONNRESET `
                                            Боролся с такими же симптомами, постоянно обрывы и запись в логи.

                                            На более низкой версии драйвера ошибок гараздо меньше но они есть.

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

                                            Пробуйте сменить у себя. (в ESP время опроса датчиков pzem-004t 5-6 сек, отправка mqtt 5сек.)

                                            Ну а настройка драйвера ниже в скринах.

                                            PS никаких usb-uart на плате нет!
                                            1795_1.jpg
                                            1795_2.jpg

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            861
                                            Online

                                            31.7k
                                            Users

                                            79.7k
                                            Topics

                                            1.3m
                                            Posts

                                            31
                                            162
                                            41873
                                            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