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. Драйвер MQTT

NEWS

  • Monatsrückblick Januar/Februar 2026 ist online!
    BluefoxB
    Bluefox
    18
    1
    662

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

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

Драйвер MQTT

Scheduled Pinned Locked Moved ioBroker драйвера
162 Posts 31 Posters 51.1k Views 1 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.
  • A Offline
    A Offline
    Adav
    wrote on last edited by
    #78

    Спасибо! Значит так… попробовал эмулировать перезагрузку контроллера просто программно отключая на несколько минут на коммутаторе порт, где висит контроллер. В этом случае все нормально, поток данных MQTT восстанавливается. Хотя в логе при этом Disconnected вообще не появляется. В отличие от случая если перегружать контроллер.

    Включил дебаг, перегрузил контроллер (вообще говоря проблематично его часто дергать на рабочей системе - при старте начинаются разные переходные процессы в самом контроллере, шлются смс-ки и тп) - все повторилось, поток данных не восстановился, глазами в логах ничего не попалось интересного, записей в логе ну очень много... пробовал это скопировать для детального изучения - в итоге заглючил админ в части логов (то ли от числа записей, то ли что-то не то сделал), перегрузил его, стало нормально, но логи потерял. Поскольку у меня подключено 2 сервера с MQTT драйвером к контроллеру, глянул на второй - там висит Disconnected в логах (без дебага). Ну и ни на первом ни на втором данные не идут. Подождал несколько минут - перезапустил MQTT на первом сервере - данные пошли на этот сервер. На втором - нет. Подождал еще несколько минут - перезапустил драйвер MQTT на втором сервере. Пошли данные на втором.

    Уж не знаю что за стечение обстоятельств, может особенности контроллера... но решил больше пока не экспериментировать с этим. Контроллер очень редко перегружается, только при большой нужде или обновлениях, потеря связи не приводит к тому же явлению (что радует), поэтому пусть будет как есть. Если что-то еще всплывет - я сообщу.

    Из моего ограниченного познания работы MQTT есть ощущение, что при перезагрузке контроллер сообщает, что он больше слать MQTT данные не будет, а драйвер, получив это - больше и не принимает (уйдя в disconnect), пока его не рестартануть. Иначе потеря связи при отключении порта приводила бы к похожему результату. Лог без дебага:

    ` > mqtt.0 2017-01-21 00:12:54.445 info Connected to 192.168.118.123

    mqtt.0 2017-01-21 00:12:54.374 info Subscribe on: "/devices/#"

    mqtt.0 2017-01-21 00:12:54.299 info Try to connect to mqtt://192.168.118.123:1883?clientId=Zero

    mqtt.0 2017-01-21 00:12:52.459 info starting. Version 1.3.0 in /opt/iobroker/node_modules/iobroker.mqtt, node: v4.7.2

    host.orangepizero 2017-01-21 00:12:49.145 info instance system.adapter.mqtt.0 started with pid 2984

    host.orangepizero 2017-01-21 00:12:49.071 info object change system.adapter.mqtt.0

    host.orangepizero 2017-01-21 00:12:47.199 info instance system.adapter.mqtt.0 terminated with code 0 (OK)

    mqtt.0 2017-01-21 00:12:47.086 info terminating

    host.orangepizero 2017-01-21 00:12:46.543 info stopInstance system.adapter.mqtt.0 killing pid 1501

    host.orangepizero 2017-01-21 00:12:46.541 info stopInstance system.adapter.mqtt.0

    host.orangepizero 2017-01-21 00:12:46.514 info object change system.adapter.mqtt.0

    mqtt.0 2017-01-21 00:12:46.563 info Disconnected from 192.168.118.123 `

    1 Reply Last reply
    0
    • BluefoxB Offline
      BluefoxB Offline
      Bluefox
      wrote on last edited by
      #79

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

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

      1 Reply Last reply
      0
      • A Offline
        A Offline
        Adav
        wrote on last edited by
        #80

        @Bluefox:

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

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

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

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

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

        1 Reply Last reply
        0
        • B Offline
          B Offline
          bondrogeen
          wrote on last edited by
          #81

          После обновления 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
          0
          • A Offline
            A Offline
            Adav
            wrote on last edited by
            #82

            @bondrogeen:

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

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

            1 Reply Last reply
            0
            • B Offline
              B Offline
              bondrogeen
              wrote on last edited by
              #83

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

              1 Reply Last reply
              0
              • Alex1808A Offline
                Alex1808A Offline
                Alex1808
                Developer
                wrote on last edited by
                #84

                Обнаружилась ошибка в коде 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
                0
                • B Offline
                  B Offline
                  bondrogeen
                  wrote on last edited by
                  #85

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

                  1 Reply Last reply
                  0
                  • V Offline
                    V Offline
                    VictorS
                    wrote on last edited by
                    #86

                    @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
                    0
                    • Y Offline
                      Y Offline
                      yopopol
                      wrote on last edited by
                      #87

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

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

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

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

                      1 Reply Last reply
                      0
                      • V Offline
                        V Offline
                        VictorS
                        wrote on last edited by
                        #88

                        @yopopol:

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

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

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

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

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

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

                        1 Reply Last reply
                        0
                        • Y Offline
                          Y Offline
                          yopopol
                          wrote on last edited by
                          #89

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

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

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

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

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

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

                          1 Reply Last reply
                          0
                          • Y Offline
                            Y Offline
                            yopopol
                            wrote on last edited by
                            #90

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

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

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

                            1 Reply Last reply
                            0
                            • D Offline
                              D Offline
                              dmitrii240582
                              wrote on last edited by
                              #91

                              Собрал монитор энергии на 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
                              0
                              • A Offline
                                A Offline
                                Adav
                                wrote on last edited by
                                #92

                                @dmitrii240582:

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

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

                                1 Reply Last reply
                                0
                                • D Offline
                                  D Offline
                                  dmitrii240582
                                  wrote on last edited by
                                  #93

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

                                  1 Reply Last reply
                                  0
                                  • D Offline
                                    D Offline
                                    dmitrii240582
                                    wrote on last edited by
                                    #94

                                    @dmitrii240582:

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

                                    1 Reply Last reply
                                    0
                                    • Y Offline
                                      Y Offline
                                      yopopol
                                      wrote on last edited by
                                      #95

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

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

                                      1 Reply Last reply
                                      0
                                      • V Offline
                                        V Offline
                                        VictorS
                                        wrote on last edited by
                                        #96

                                        @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
                                        0
                                        • A Offline
                                          A Offline
                                          Adav
                                          wrote on last edited by
                                          #97

                                          @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
                                          0

                                          Hello! It looks like you're interested in this conversation, but you don't have an account yet.

                                          Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

                                          With your input, this post could be even better 💗

                                          Register Login
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          305

                                          Online

                                          32.7k

                                          Users

                                          82.6k

                                          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