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

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

  • 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

Geplant Angeheftet Gesperrt Verschoben ioBroker драйвера
162 Beiträge 31 Kommentatoren 51.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
    #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
                                        • BluefoxB Offline
                                          BluefoxB Offline
                                          Bluefox
                                          schrieb am zuletzt editiert von
                                          #28

                                          @Alekseym6:

                                          растет потребление RAM (уже 290). параметр Max RAM установлен в 50. клиент на arduino. `
                                          MaxRam работает только для 0.х.х.

                                          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

                                          522

                                          Online

                                          32.7k

                                          Benutzer

                                          82.6k

                                          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