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
    #8

    Проблема с брокером…Клиент mqtt.0 - подписывается на топик flat129 на брокере mqtt.1

    Судя по логу, сенсор отправляет и брокер получается корректные значения (что отражено в статистике).

    Но клиент, подключенный по сетке, клиент iobrokera mqtt.0 (внутри одного Iobrokera) - уже почему-то получают значение "undefined"....(
    532_mqtt1.jpg
    532_mqtt2.jpg
    532_mqtt3.jpg
    532_mqtt4.jpg

    1 Antwort Letzte Antwort
    0
    • L Offline
      L Offline
      Lstt
      schrieb am zuletzt editiert von
      #9

      Bluefox, посмотри, пожалуйста!

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

        Измени строчку 160 в /opt/iobroker/node/modules/iobroker.mqtt/lib/server.js c

         sendState2Client(clients[k], id, message);
        

        на

         sendState2Client(clients[k], id, {val: message});
        
        1 Antwort Letzte Antwort
        0
        • L Offline
          L Offline
          Lstt
          schrieb am zuletzt editiert von
          #11

          @Bluefox:

          Измени строчку 160 в /opt/iobroker/node/modules/iobroker.mqtt/lib/server.js c

           sendState2Client(clients[k], id, message);
          

          на

           sendState2Client(clients[k], id, {val: message});
          ```` `  
          

          Да, заработало! Измени, пожалуйста, в следующем обновлении.

          1 Antwort Letzte Antwort
          0
          • L Offline
            L Offline
            Lstt
            schrieb am zuletzt editiert von
            #12

            Новый вопрос. Какая то ошибка в логе, при подключении клиента mqtt.0 в той же ситуации, как на скринах, к серверу mqtt.1 -

            mqtt-0	2016-04-24 19:09:24	info	Connected to 129.ddns.net
            mqtt-1	2016-04-24 19:09:24	info	Client [undefined] connected
            mqtt-1	2016-04-24 19:09:24	warn	[undefined] Error: invalid protocol id
            mqtt-0	2016-04-24 19:09:24	info	Subscribe on: "pir2"
            mqtt-0	2016-04-24 19:09:24	info	Subscribe on: "pir1"
            mqtt-0	2016-04-24 19:09:24	info	Subscribe on: "129/#"
            mqtt-0	2016-04-24 19:09:24	info	Try to connect to mqtt://129.ddns.net:1883?clientId=ioBroker.mqtt.0
            mqtt-0	2016-04-24 19:09:23	info	starting. Version 1.0.0 in C:/iobroker/node_modules/iobroker.mqtt 
            
            

            Насколько это критично?

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

              @Lstt:

              Новый вопрос. Какая то ошибка в логе, при подключении клиента mqtt.0 в той же ситуации, как на скринах, к серверу mqtt.1 -

              mqtt-0	2016-04-24 19:09:24	info	Connected to 129.ddns.net
              mqtt-1	2016-04-24 19:09:24	info	Client [undefined] connected
              mqtt-1	2016-04-24 19:09:24	warn	[undefined] Error: invalid protocol id
              mqtt-0	2016-04-24 19:09:24	info	Subscribe on: "pir2"
              mqtt-0	2016-04-24 19:09:24	info	Subscribe on: "pir1"
              mqtt-0	2016-04-24 19:09:24	info	Subscribe on: "129/#"
              mqtt-0	2016-04-24 19:09:24	info	Try to connect to mqtt://129.ddns.net:1883?clientId=ioBroker.mqtt.0
              mqtt-0	2016-04-24 19:09:23	info	starting. Version 1.0.0 in C:/iobroker/node_modules/iobroker.mqtt 
              
              

              Насколько это критично? `
              protocol Id должен быть 'MQTT' или 'MQIsdp' и по идее соединения не должно быть

              1 Antwort Letzte Antwort
              0
              • L Offline
                L Offline
                Lstt
                schrieb am zuletzt editiert von
                #14

                @Bluefox:

                protocol Id должен быть 'MQTT' или 'MQIsdp' и по идее соединения не должно быть `
                Ну так ситуация, как описана выше..На одном компе mqtt.0 -клиент, mqtt.1 - сервер…это сообщение появилось после последнего обновления драйвера mqtt до версии 1.0

                Хотя клиент подключается через и-нет, сервак принимает топики, клиент mqtt.0 -подключается к серваку и видит изменения в топиках с клиента...

                1 Antwort Letzte Antwort
                0
                • L Offline
                  L Offline
                  Lstt
                  schrieb am zuletzt editiert von
                  #15

                  Сегодня обновился, такая же байда..

                  mqtt.0	2016-04-26 10:34:49	info	mqtt.0 Connected to 129.ddns.net
                  mqtt.1	2016-04-26 10:34:49	info	mqtt.1 Client [undefined] connected
                  mqtt.1	2016-04-26 10:34:49	warn	mqtt.1 [undefined] Error: invalid protocol id
                  mqtt.1	2016-04-26 10:34:49	info	mqtt.1 Client [ESP8266] subscribes on topic "smarttopic"
                  mqtt.1	2016-04-26 10:34:49	info	mqtt.1 Client [ESP8266] connected
                  mqtt.1	2016-04-26 10:34:49	info	mqtt.1 Starting MQTT-WebSocket server on port 1884
                  mqtt.1	2016-04-26 10:34:49	info	mqtt.1 Starting MQTT server on port 1883
                  mqtt-1	2016-04-26 10:34:47	info	starting. Version 1.0.1 in C:/iobroker/node_modules/iobroker.mqtt 
                  
                  1 Antwort Letzte Antwort
                  0
                  • L Offline
                    L Offline
                    Lstt
                    schrieb am zuletzt editiert von
                    #16

                    Bug report (ver.1.0.2)

                    mqtt-0	2016-04-27 09:24:48	info	Connected to 129.ddns.net
                    mqtt-1	2016-04-27 09:24:48	info	Client [ESP8266] subscribes on topic "smarttopic"
                    mqtt-1	2016-04-27 09:24:48	info	Client [undefined] connected
                    mqtt-1	2016-04-27 09:24:48	warn	[undefined] Error: invalid protocol id
                    mqtt-1	2016-04-27 09:24:47	info	Client [ESP8266] connected
                    mqtt-1	2016-04-27 09:24:47	info	Starting MQTT-WebSocket server on port 1884
                    mqtt-1	2016-04-27 09:24:47	info	Starting MQTT server on port 1883 
                    
                    
                    1 Antwort Letzte Antwort
                    0
                    • BluefoxB Offline
                      BluefoxB Offline
                      Bluefox
                      schrieb am zuletzt editiert von
                      #17

                      @Lstt:

                      Bug report (ver.1.0.2)

                      mqtt-0	2016-04-27 09:24:48	info	Connected to 129.ddns.net
                      mqtt-1	2016-04-27 09:24:48	info	Client [ESP8266] subscribes on topic "smarttopic"
                      mqtt-1	2016-04-27 09:24:48	info	Client [undefined] connected
                      mqtt-1	2016-04-27 09:24:48	warn	[undefined] Error: invalid protocol id
                      mqtt-1	2016-04-27 09:24:47	info	Client [ESP8266] connected
                      mqtt-1	2016-04-27 09:24:47	info	Starting MQTT-WebSocket server on port 1884
                      mqtt-1	2016-04-27 09:24:47	info	Starting MQTT server on port 1883 
                      
                      ```` `  
                      

                      Почему esp8266 не сообщает, что за протокол у него?

                      1 Antwort Letzte Antwort
                      0
                      • L Offline
                        L Offline
                        Lstt
                        schrieb am zuletzt editiert von
                        #18

                        Есть очередной девайс на ESP8266: вот часть кода на Arduino IDE для взаимодействия c MQTT сервером:

                        ! ````
                        void loop() {

                        ! if (WiFi.status() == WL_CONNECTED) {
                        if (!client.connected()) {
                        Serial.println("Connecting to MQTT server ...");
                        bool success;
                        if (mqttuser.length() > 0) {
                        success = client.connect( MQTT::Connect( deviceID ).set_auth(mqttuser, mqttpass) );
                        } else {
                        success = client.connect( deviceID );
                        client.publish("ControlTopic","I Work!");
                        }
                        if (success) {
                        client.set_callback(callback);
                        Serial.println("Connect to MQTT server: Success");
                        client.subscribe(prefix); // for receiving HELLO messages and handshaking
                        client.subscribe(prefix + "/" + deviceID + "/+/control"); // subscribe to all "control" messages for all widgets of this device
                        pubConfig();
                        } else {
                        Serial.println("Connect to MQTT server: FAIL");
                        ////delay(1000);
                        }
                        }
                        ! ````
                        Если подключаюсь на одном и том же компе с работающем сервером HiveMQ - девайс отлично коннектится с сервером, публикут данные и подписывается на изменения топиков..работает сутками.

                        Отключаю HiveMQ, запускаю копию драйвера MQTT в режиме сервера на том же порту (1883), тот же клиент уже нормально не работает, вот лог:

                        WiFi connected
                        IP address: 
                        192.168.0.121
                        Starting UDP
                        Local port: 2390
                        sending NTP packet...
                        packet received, length=48
                        The UTC time is 19:18:22
                        Connecting to MQTT server ...
                        Connect to MQTT server: Success
                        pm open,type:2 0
                        Publish config FAIL! ({"id":0,"page":"котёл","widget":"anydata","topic":"/IoTmanager/143162-1458400/anydata0","class1":"item no-border text-center","descr":"КОТЕЛЬНАЯ","class2":"balanced","style2":"font-size:21px;font-weight:bold;"})
                        
                        Restarting after 5 sec...
                        
                        

                        Вот лог сервака на IO Broker:

                        ! ````
                        mqtt-1 2016-04-29 19:18:20 info publishOnSubscribe send all known states
                        mqtt-1 2016-04-29 19:18:20 info Client [143162-1458400] subscribes on "IoTmanager.143162-1458400.+.control" with regex /mqtt.1.IoTmanager.143162-1458400.[^.].control/
                        mqtt-1 2016-04-29 19:18:20 info Client [143162-1458400] subscribes on "IoTmanager.143162-1458400.+.control" with regex /IoTmanager.143162-1458400.[^.]
                        .control/
                        mqtt-1 2016-04-29 19:18:20 info Client [143162-1458400] subscribes on topic "/IoTmanager"

                        То есть, подключаться у него получается, но дальше, где-то на стадии подписки на изменения, происходит затык, он видит ошибку и перезапускается, и так по кругу…На любых других серверах данный клиент работает сутками без нареканий...
                        
                        Суть скетчка для клиента описана подробна описана тут - [http://esp8266.ru/forum/threads/iot-man ... denij.651/](http://esp8266.ru/forum/threads/iot-manager-arxiv-obsuzhdenij.651/)
                        
                        Может, подскажите, где затык в клиенте или всё-таки в исходниках драйвера...Клиент работает стабильно на всех серверах и в сети и в локалке...
                        1 Antwort Letzte Antwort
                        0
                        • L Offline
                          L Offline
                          Lstt
                          schrieb am zuletzt editiert von
                          #19

                          P.S. к своему огромному сожалению, вынужден сделать вывод - драйвер mqtt в клиентской и серверной частях в текущей его версии для меня не применим; выше описывал серверную часть проблемы, сейчас даже клиента не могу подключить, например к серверу broker.mqttdashboard.com - любые клиенты (сторонние подключаются) видят при подписке на все топики 5-10 изменений в секунду - а здесь светодиод клиента горит жёлтым цветом, в логе видим````
                          mqtt-0 2016-04-29 21:26:06 info Subscribe on: "#"
                          mqtt-0 2016-04-29 21:26:06 info Try to connect to mqtt://broker.mqttdashboard.com:1883?clientId=ioBroker.mqtt.0
                          mqtt-0 2016-04-29 21:26:05 info starting. Version 1.0.2 in C:/iobroker/node_modules/iobroker.mqtt

                          
                          Проверил все брандмауэры, перебробовал разные публичные серваки, удалял и снова инсталлировал адаптер - толку 0....
                          
                          УВЫ.....
                          1 Antwort Letzte Antwort
                          0
                          • R Offline
                            R Offline
                            RDim
                            schrieb am zuletzt editiert von
                            #20

                            Странно как то это все, и вообще я ничего не понял что не так с MQTT.

                            Несколько месяцев круглосуточно работают как часы несколько ESP именно по MQTT, с прошивкой от Макса https://wifi-iot.com/, так что думаю что драйвер MQTT ioBroker не причем.

                            P.S. Lstt просьба к Вам сворачивайте простыни под спойлер, это просто уважение остальных.

                            1 Antwort Letzte Antwort
                            0
                            • L Offline
                              L Offline
                              Lstt
                              schrieb am zuletzt editiert von
                              #21

                              @RDim:

                              Странно как то это все, и вообще я ничего не понял что не так с MQTT.

                              Несколько месяцев круглосуточно работают как часы несколько ESP именно по MQTT, с прошивкой от Макса https://wifi-iot.com/, так что думаю что драйвер MQTT ioBroker не причем. `
                              Поэтому и хочу разобраться..Первая просьба ко всем - подключитесь, пожалуйста, например, к серверу broker.mqttdashboard.com - и подпишитесь на все топики. Можно потом выложить лог?

                              1 Antwort Letzte Antwort
                              0
                              • L Offline
                                L Offline
                                Lstt
                                schrieb am zuletzt editiert von
                                #22

                                P.S. - нашёл - проблема растёт от последнего обновления - https://github.com/ioBroker/ioBroker.mq … 6da0fdf4fe - за комментил строки со 102 по 108, 101 строку привёл к предыдущему состоянию````
                                client = mqtt.connect(_url);

                                По крайней мере, клиент стал подключаться… ;)
                                1 Antwort Letzte Antwort
                                0
                                • I Offline
                                  I Offline
                                  instalator
                                  schrieb am zuletzt editiert von
                                  #23

                                  @Lstt:

                                  P.S. - нашёл - проблема растёт от последнего обновления - https://github.com/ioBroker/ioBroker.mq … 6da0fdf4fe - за комментил строки со 102 по 108, 101 строку привёл к предыдущему состоянию````
                                  client = mqtt.connect(_url);

                                  По крайней мере, клиент стал подключаться… ;) `  
                                  

                                  Время коннекта, реконтекта увеличивал в настройках драйвера?

                                  Высокий уровень Децибел вреден для здоровья!

                                  http://blog.instalator.ru/

                                  1 Antwort Letzte Antwort
                                  0
                                  • L Offline
                                    L Offline
                                    Lstt
                                    schrieb am zuletzt editiert von
                                    #24

                                    @instalator:

                                    Время коннекта, реконтекта увеличивал в настройках драйвера? `
                                    Всё, что можно, перепробовал..Только исключив данные строки удалось запустить…А вот с сервером проблема, описанная выше, остаётся - клиент, на базе ESP, работающий на больших публичных сетевых серверах, при попытке подключения к брокеру на базе IOBroker - перезапускается - https://github.com/4refr0nt/iot-manager ... nydata.ino

                                    И ещё - где-то уже это читал на форуме, почему-то ТОЛЬКО при установленной галочке, как на вложении, с брокера отсылаются значения (имеется ESP8266 - которая отправляет иногда значение 1 в топик. На второго клиента, подключенному к этому же брокеру значение этого топика отсылаются ТОЛЬКО при установленной галочке - хотя это не логично..)

                                    Ещё ньюанс - отправляю в Телеграм слово, присваиваю действие этому слову "записать" через Text2command - строку в переменную..И почему-то происходит запись в неё через tText2command и тут же подтверждается эта запись драйвером mqtt.1 - в моём случае это брокер...

                                    К чему бы это??
                                    532_mqtt_broker.jpg

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

                                      @Lstt:

                                      P.S. - нашёл - проблема растёт от последнего обновления - https://github.com/ioBroker/ioBroker.mq … 6da0fdf4fe - за комментил строки со 102 по 108, 101 строку привёл к предыдущему состоянию````
                                      client = mqtt.connect(_url);

                                      По крайней мере, клиент стал подключаться… ;) `  
                                      

                                      Исправил.

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

                                        @Lstt:

                                        Есть очередной девайс на ESP8266: вот часть кода на Arduino IDE для взаимодействия c MQTT сервером:

                                        ! ````
                                        void loop() {

                                        ! if (WiFi.status() == WL_CONNECTED) {
                                        if (!client.connected()) {
                                        Serial.println("Connecting to MQTT server ...");
                                        bool success;
                                        if (mqttuser.length() > 0) {
                                        success = client.connect( MQTT::Connect( deviceID ).set_auth(mqttuser, mqttpass) );
                                        } else {
                                        success = client.connect( deviceID );
                                        client.publish("ControlTopic","I Work!");
                                        }
                                        if (success) {
                                        client.set_callback(callback);
                                        Serial.println("Connect to MQTT server: Success");
                                        client.subscribe(prefix); // for receiving HELLO messages and handshaking
                                        client.subscribe(prefix + "/" + deviceID + "/+/control"); // subscribe to all "control" messages for all widgets of this device
                                        pubConfig();
                                        } else {
                                        Serial.println("Connect to MQTT server: FAIL");
                                        ////delay(1000);
                                        }
                                        }
                                        ! ````
                                        Если подключаюсь на одном и том же компе с работающем сервером HiveMQ - девайс отлично коннектится с сервером, публикут данные и подписывается на изменения топиков..работает сутками.

                                        Отключаю HiveMQ, запускаю копию драйвера MQTT в режиме сервера на том же порту (1883), тот же клиент уже нормально не работает, вот лог:

                                        WiFi connected
                                        IP address: 
                                        192.168.0.121
                                        Starting UDP
                                        Local port: 2390
                                        sending NTP packet...
                                        packet received, length=48
                                        The UTC time is 19:18:22
                                        Connecting to MQTT server ...
                                        Connect to MQTT server: Success
                                        pm open,type:2 0
                                        Publish config FAIL! ({"id":0,"page":"котёл","widget":"anydata","topic":"/IoTmanager/143162-1458400/anydata0","class1":"item no-border text-center","descr":"КОТЕЛЬНАЯ","class2":"balanced","style2":"font-size:21px;font-weight:bold;"})
                                        
                                        Restarting after 5 sec...
                                        
                                        

                                        Вот лог сервака на IO Broker:

                                        ! ````
                                        mqtt-1 2016-04-29 19:18:20 info publishOnSubscribe send all known states
                                        mqtt-1 2016-04-29 19:18:20 info Client [143162-1458400] subscribes on "IoTmanager.143162-1458400.+.control" with regex /mqtt.1.IoTmanager.143162-1458400.[^.].control/
                                        mqtt-1 2016-04-29 19:18:20 info Client [143162-1458400] subscribes on "IoTmanager.143162-1458400.+.control" with regex /IoTmanager.143162-1458400.[^.]
                                        .control/
                                        mqtt-1 2016-04-29 19:18:20 info Client [143162-1458400] subscribes on topic "/IoTmanager"

                                        То есть, подключаться у него получается, но дальше, где-то на стадии подписки на изменения, происходит затык, он видит ошибку и перезапускается, и так по кругу…На любых других серверах данный клиент работает сутками без нареканий...
                                        
                                        Суть скетчка для клиента описана подробна описана тут - [http://esp8266.ru/forum/threads/iot-man ... denij.651/](http://esp8266.ru/forum/threads/iot-manager-arxiv-obsuzhdenij.651/)
                                        
                                        Может, подскажите, где затык в клиенте или всё-таки в исходниках драйвера...Клиент работает стабильно на всех серверах и в сети и в локалке... `  
                                        

                                        А у тебя галочка стоит, что публиковать всё при соединении?

                                        Может esp не выдерживает количество переменных?

                                        1 Antwort Letzte Antwort
                                        0
                                        • A Offline
                                          A Offline
                                          Alekseym6
                                          schrieb am zuletzt editiert von
                                          #27

                                          растет потребление RAM (уже 290). параметр Max RAM установлен в 50. клиент на arduino.

                                          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

                                          558

                                          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