Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • 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

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

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

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.5k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    2.0k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    16
    1
    2.7k

Драйвер MQTT

Geplant Angeheftet Gesperrt Verschoben ioBroker драйвера
162 Beiträge 31 Kommentatoren 48.0k Aufrufe 1 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • BluefoxB Offline
    BluefoxB Offline
    Bluefox
    schrieb am zuletzt editiert von
    #72

    @Adav:

    @Bluefox:

    Может имеет смысл вообще выбросить эту настройку из MQTT? И в VIS сделать возможность привязывать к объектам 2 топика mqtt на чтение и запись?
    Некоторые виджеты так и работают (hqWidgets/button).

    А если завтра придёт OPC с ещё другой идеологией управления? Надо добить mqtt, что бы подходил под идеологию ioBrokera. :)

    1 Antwort Letzte Antwort
    0
    • A Offline
      A Offline
      Adav
      schrieb am zuletzt editiert von
      #73

      @Bluefox:

      @Adav:

      А если завтра придёт OPC с ещё другой идеологией управления? Надо добить mqtt, что бы подходил под идеологию ioBrokera. :)

      Согласен. Не сообразил, что для другого контроллера с mqtt и другой идеологией все равно надо будет ставить еще один драйвер MQTT Adapter в ioBroker со своим IP в настройках. В нем и устанавливать эту идеологию. Так что первоначальная мысль была правильная. :)

      1 Antwort Letzte Antwort
      0
      • A Offline
        A Offline
        Adav
        schrieb am zuletzt editiert von
        #74

        Вечер добрый! Обнаружил неприятную ошибку в работе MQTT драйвера. После перезагрузки контроллера, с которого драйвер забирает данные, данные перестают поступать. Лечится перезагрузкой драйвера. То есть такое впечатление, что после потери связи он впадает в спячку и сам не способен восстановить связь. Проверял несколько раз и на разных машинах - повторяемость 100%.

        PS Что там с новой версией и опцией клиента "Использовать разные имена для чтения и записи:"?

        1 Antwort Letzte Antwort
        0
        • BluefoxB Offline
          BluefoxB Offline
          Bluefox
          schrieb am zuletzt editiert von
          #75

          @Adav:

          Вечер добрый! Обнаружил неприятную ошибку в работе MQTT драйвера. После перезагрузки контроллера, с которого драйвер забирает данные, данные перестают поступать. Лечится перезагрузкой драйвера. То есть такое впечатление, что после потери связи он впадает в спячку и сам не способен восстановить связь. Проверял несколько раз и на разных машинах - повторяемость 100%. `
          Было бы очень полезно, если бы ты смог помочь и посмотреть в чём проблема. У меня ошибка не воспроизводится и вероятность её исправления стремится таким образом к нулю. Ты же не показал ни каких логов и никаких wireshark записей.
          @Adav:

          PS Что там с новой версией и опцией клиента "Использовать разные имена для чтения и записи:"? `
          Давай догадаюсь. Я встрою в настройки, что можно настроить "set" и поменять на "on". Ты попросишь, что бы можно было на каждую переменную настраивать. Верно? :lol:

          1 Antwort Letzte Antwort
          0
          • A Offline
            A Offline
            Adav
            schrieb am zuletzt editiert von
            #76

            @Bluefox:

            Было бы очень полезно, если бы ты смог помочь и посмотреть в чём проблема. У меня ошибка не воспроизводится и вероятность её исправления стремится таким образом к нулю. Ты же не показал ни каких логов и никаких wireshark записей. `

            mqtt.0 2017-01-20 22:44:54.502 info Connected to 192.168.118.123

            mqtt.0 2017-01-20 22:43:22.483 info Disconnected from 192.168.118.123

            mqtt.0 2017-01-20 22:41:23.425 info Connected to 192.168.118.123

            При этом в событиях данных mqtt нет пока не сделаешь рестарт драйвера. Можно как-то повысить уровень логирования и видеть побольше?

            @Bluefox:

            Давай догадаюсь. Я встрою в настройки, что можно настроить "set" и поменять на "on". Ты попросишь, что бы можно было на каждую переменную настраивать. Верно? :lol: `

            Ага :)

            1 Antwort Letzte Antwort
            0
            • BluefoxB Offline
              BluefoxB Offline
              Bluefox
              schrieb am zuletzt editiert von
              #77

              @Adav:

              @Bluefox:

              Было бы очень полезно, если бы ты смог помочь и посмотреть в чём проблема. У меня ошибка не воспроизводится и вероятность её исправления стремится таким образом к нулю. Ты же не показал ни каких логов и никаких wireshark записей. `

              mqtt.0 2017-01-20 22:44:54.502 info Connected to 192.168.118.123

              mqtt.0 2017-01-20 22:43:22.483 info Disconnected from 192.168.118.123

              mqtt.0 2017-01-20 22:41:23.425 info Connected to 192.168.118.123

              При этом в событиях данных mqtt нет пока не сделаешь рестарт драйвера. Можно как-то повысить уровень логирования и видеть побольше?

              @Bluefox:

              Давай догадаюсь. Я встрою в настройки, что можно настроить "set" и поменять на "on". Ты попросишь, что бы можно было на каждую переменную настраивать. Верно? :lol: `

              Ага :) `
              48_2017-01-20_20_53_48-iobroker.admin.png

              1 Antwort Letzte Antwort
              0
              • A Offline
                A Offline
                Adav
                schrieb am zuletzt editiert von
                #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 Antwort Letzte Antwort
                0
                • BluefoxB Offline
                  BluefoxB Offline
                  Bluefox
                  schrieb am zuletzt editiert von
                  #79

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

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

                  1 Antwort Letzte Antwort
                  0
                  • A Offline
                    A Offline
                    Adav
                    schrieb am zuletzt editiert von
                    #80

                    @Bluefox:

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

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

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

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

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

                    1 Antwort Letzte Antwort
                    0
                    • B Offline
                      B Offline
                      bondrogeen
                      schrieb am zuletzt editiert von
                      #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 Antwort Letzte Antwort
                      0
                      • A Offline
                        A Offline
                        Adav
                        schrieb am zuletzt editiert von
                        #82

                        @bondrogeen:

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

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

                        1 Antwort Letzte Antwort
                        0
                        • B Offline
                          B Offline
                          bondrogeen
                          schrieb am zuletzt editiert von
                          #83

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

                          1 Antwort Letzte Antwort
                          0
                          • Alex1808A Offline
                            Alex1808A Offline
                            Alex1808
                            schrieb am zuletzt editiert von
                            #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 Antwort Letzte Antwort
                            0
                            • B Offline
                              B Offline
                              bondrogeen
                              schrieb am zuletzt editiert von
                              #85

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

                              1 Antwort Letzte Antwort
                              0
                              • V Offline
                                V Offline
                                VictorS
                                schrieb am zuletzt editiert von
                                #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 Antwort Letzte Antwort
                                0
                                • Y Offline
                                  Y Offline
                                  yopopol
                                  schrieb am zuletzt editiert von
                                  #87

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

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

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

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

                                  1 Antwort Letzte Antwort
                                  0
                                  • V Offline
                                    V Offline
                                    VictorS
                                    schrieb am zuletzt editiert von
                                    #88

                                    @yopopol:

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

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

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

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

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

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

                                    1 Antwort Letzte Antwort
                                    0
                                    • Y Offline
                                      Y Offline
                                      yopopol
                                      schrieb am zuletzt editiert von
                                      #89

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

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

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

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

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

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

                                      1 Antwort Letzte Antwort
                                      0
                                      • Y Offline
                                        Y Offline
                                        yopopol
                                        schrieb am zuletzt editiert von
                                        #90

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

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

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

                                        1 Antwort Letzte Antwort
                                        0
                                        • D Offline
                                          D Offline
                                          dmitrii240582
                                          schrieb am zuletzt editiert von
                                          #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 Antwort Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          551

                                          Online

                                          32.4k

                                          Benutzer

                                          81.5k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Anmelden

                                          • Du hast noch kein Konto? Registrieren

                                          • Anmelden oder registrieren, um zu suchen
                                          • Erster Beitrag
                                            Letzter Beitrag
                                          0
                                          • Home
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe