Weiter zum Inhalt
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Hell
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dunkel
  • 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

  • Neuer ioBroker-Blog online: Monatsrückblick März/April 2026
    BluefoxB
    Bluefox
    8
    1
    768

  • Verwendung von KI bitte immer deutlich kennzeichnen
    HomoranH
    Homoran
    10
    1
    577

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

Драйвер MQTT

Geplant Angeheftet Gesperrt Verschoben ioBroker драйвера
162 Beiträge 31 Kommentatoren 52.1k Aufrufe 1 Beobachtet
  • Ä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.
  • L Offline
    L Offline
    Lstt
    schrieb am zuletzt editiert von
    #65

    В общем, резюмирую. На текущий момент, драйвер в роли брокера работает, НА МОЙ ВЗГЛЯД, ТОЛЬКО для библиотек типа https://github.com/knolleary/pubsubclient (на с++ arduino, esp8266 и т.д). Если же мы говорим о поддержке клиентов типа PAHO и т.д. (Android клиенты и другие) - то здесь сервер абсолютно НЕРАБОТОСПОСОБЕН, IMHO. В данной ситуации можете использовать либо Erlang MQTT Broker либо MQTT broker MOSQUITTO …

    ПО крайней мере, за последние 5-7 месяцев, брокер менялся в лучшую сторону, благодаря только Bluefox, но для клиентов на базе Paho (возможно других) - он НОРМАЛЬНО НЕ РАБОТАЕТ.

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

      Взял MQTT Dash… Работает.

      Как конкретно мне воспроизвести ошибку?

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

        Добрый день!

        Начал осваивать потихоньку ioBroker и столкнулся с полезными мне (и надеюсь другим) хотелками в части MQTT Adapter:

        1. Ввести поле имени клиента - иначе два одинаковых клиента с одним брокером работать не хотят. Лечится добавлением к адресу в поле ?clientId=…... . Но отдельное поле - нагляднее.

        2. Опцию клиента "Использовать разные имена для чтения и записи:" хорошо бы снабдить возможностью пользовательской настройки для топика записи, а не использовать по умолчанию /set. Мне, к примеру понадобилось использовать /on для работы с контроллером Wiren Board (такие его особенности). Замена в файле client.js /set на /on приводит к ошибкам обмена. Видимо надо где-то еще вносить изменения.

        Спасибо!

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

          @Adav:

          Добрый день!

          Начал осваивать потихоньку ioBroker и столкнулся с полезными мне (и надеюсь другим) хотелками в части MQTT Adapter:

          1. Ввести поле имени клиента - иначе два одинаковых клиента с одним брокером работать не хотят. Лечится добавлением к адресу в поле ?clientId=…... . Но отдельное поле - нагляднее.

          2. Опцию клиента "Использовать разные имена для чтения и записи:" хорошо бы снабдить возможностью пользовательской настройки для топика записи, а не использовать по умолчанию /set. Мне, к примеру понадобилось использовать /on для работы с контроллером Wiren Board (такие его особенности). Замена в файле client.js /set на /on приводит к ошибкам обмена. Видимо надо где-то еще вносить изменения.

          Спасибо! `
          А можно в jira внести? Я потеряю это здесь и не найду. :)

          http://iobroker.net:8000

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

            @Bluefox:

            А можно в jira внести? Я потеряю это здесь и не найду. :)

            http://iobroker.net:8000 `

            Внес. Надеюсь на положительный результат. Спасибо!

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

              @Adav:

              Добрый день!

              Начал осваивать потихоньку ioBroker и столкнулся с полезными мне (и надеюсь другим) хотелками в части MQTT Adapter:

              1. Ввести поле имени клиента - иначе два одинаковых клиента с одним брокером работать не хотят. Лечится добавлением к адресу в поле ?clientId=…... . Но отдельное поле - нагляднее.

              2. Опцию клиента "Использовать разные имена для чтения и записи:" хорошо бы снабдить возможностью пользовательской настройки для топика записи, а не использовать по умолчанию /set. Мне, к примеру понадобилось использовать /on для работы с контроллером Wiren Board (такие его особенности). Замена в файле client.js /set на /on приводит к ошибкам обмена. Видимо надо где-то еще вносить изменения.

              Спасибо! `
              Первый пункт я сделал. Нужно бы его проверить (c гит)

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

                @Bluefox:

                Первый пункт я сделал. Нужно бы его проверить (c гит) `

                А как правильнее всего обновить оттуда? Я заменил измененные файлы и перезапустил. Драйвер MQTT Adapter стал версией 1.3.0, но больше никаких изменений не увидел, в настройках драйвера не появилось поля Client ID, хотя я его поле вижу в новом файле index.html. Я что-то не так сделал или Вы что-то упустили?

                Касаемо второго пункта… я пока вышел из положения путем использования в VIS прозрачных кнопок с управлением поверх кнопок с индикацией состояния. Появилась у меня такая мысль... Вот есть сейчас возможность включать/отключать возможность чтения/записи в разные топики с разницей в /set. Добавим возможность использовать не только /set, но и то, что захочет пользователь. В моем случае - /on. Но такой подход все равно остается слишком грубым. Предположим, что ioBroker подключается к разным типам контроллеров, у которых в этом смысле у каждого свои заморочки... а возможности гибко подойти в настройке mqtt нет... Может имеет смысл вообще выбросить эту настройку из MQTT? И в VIS сделать возможность привязывать к объектам 2 топика mqtt на чтение и запись?

                upd:

                Разобрался с первым пунктом. Оказалось, что все проще - в админе есть пункт "установить из собственного источника" с выбором git. Обновил, запустил двух клиентов - поле появилось, два клиента с разными ID нормально работают. Каких-либо проблем не заметил. Спасибо!

                1 Antwort Letzte Antwort
                0
                • 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
                                          Developer
                                          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

                                          Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.

                                          Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.

                                          Mit deinem Input könnte dieser Beitrag noch besser werden 💗

                                          Registrieren Anmelden
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          355

                                          Online

                                          32.8k

                                          Benutzer

                                          82.9k

                                          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