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
    674

  • 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
    #3

    @Bluefox:

    Я Websocket ни разу не пробовал. Надо попробовать :) `
    Если не трудно, посмотри, пожалуйста..Никакие настройки не помогают, изменение портов и т.д. Обычный порт отлично, Websocket (который обычный+1) - не работает..Тут удобные утилитки - https://github.com/kamilfb/mqtt-spy/wiki/Downloads

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

      @Lstt:

      @Bluefox:

      Я Websocket ни разу не пробовал. Надо попробовать :) Если не трудно, посмотри, пожалуйста..Никакие настройки не помогают, изменение портов и т.д. Обычный порт отлично, Websocket (который обычный+1) - не работает..Тут удобные утилитки - [https://github.com/kamilfb/mqtt-spy/wiki/Downloads](https://github.com/kamilfb/mqtt-spy/wiki/Downloads)
      Заработало? У меня да.

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

        @Bluefox:

        @Lstt:

        @Bluefox:

        Я Websocket ни разу не пробовал. Надо попробовать :) Если не трудно, посмотри, пожалуйста..Никакие настройки не помогают, изменение портов и т.д. Обычный порт отлично, Websocket (который обычный+1) - не работает..Тут удобные утилитки - [https://github.com/kamilfb/mqtt-spy/wiki/Downloads](https://github.com/kamilfb/mqtt-spy/wiki/Downloads)
        Заработало? У меня да. `
        SSL не пробовал, но WebSocket работает, спасибо огромное!

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

          Кстати, драйвер в режиме клиента работает, у меня, например, стабильно, неделями только при следующих изменениях файла client.js:

          defaultConnectOptions = {

          keepalive: 1000,

          protocolId: 'MQTT',

          protocolVersion: 4,

          reconnectPeriod: 10,

          connectTimeout: 30 * 1000,

          clean: false

          };

          Проверено уже на протяжении месяцев 6-8 точно, иначе постоянное отсоединение от брокера.

          Вот сегодня обновил драйвер, опять пришлось вручную изменять..

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

            @Lstt:

            Кстати, драйвер в режиме клиента работает, у меня, например, стабильно, неделями только при следующих изменениях файла client.js:

            defaultConnectOptions = {

            keepalive: 1000,

            protocolId: 'MQTT',

            protocolVersion: 4,

            reconnectPeriod: 10,

            connectTimeout: 30 * 1000,

            clean: false

            };

            Проверено уже на протяжении месяцев 6-8 точно, иначе постоянное отсоединение от брокера.

            Вот сегодня обновил драйвер, опять пришлось вручную изменять.. `
            Я не понимаю твои настройки:

            keepalive - 1000 секунд (раз в 15 минут будет проверка, жив ли клиент)

            reconnectPeriod - 10 миллисекунд (зачем так быстро?)

            clean - вроде нигде не используется

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

                                          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

                                          569

                                          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