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
    #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
                        • A Offline
                          A Offline
                          Alekseym6
                          schrieb am zuletzt editiert von
                          #29

                          mqtt 1.0.4 когда выставляю значение Max RAM - показатель RAM сначала устанавливается ниже а потом растет.

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

                            @Alekseym6:

                            mqtt 1.0.4 когда выставляю значение Max RAM - показатель RAM сначала устанавливается ниже а потом растет. `
                            MaxRam работает только для версий node.js ниже 1.0.0

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

                              del

                              1 Antwort Letzte Antwort
                              0
                              • M Offline
                                M Offline
                                MSapogov
                                schrieb am zuletzt editiert von
                                #32

                                После обновления до 1.1.1 перестали устройства по логину паролю подключаться к брокеру. Пишет неверный логин пароль.

                                Откатился на 1.0.4 - сразу все заработало.

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

                                  Поправил в 1.1.2

                                  1 Antwort Letzte Antwort
                                  0
                                  • M Offline
                                    M Offline
                                    MSapogov
                                    schrieb am zuletzt editiert von
                                    #34

                                    @Bluefox:

                                    Поправил в 1.1.2 `
                                    Заработало!

                                    Но в логе стало сыпаться:

                                    javascript.0	2016-09-14 09:08:32.080	warn	javascript.0 Wrong type of mqtt.0.beeiot.Bee-RGB.lcd.line1: "string". Please fix, while deprecated and will not work in next versions.
                                    javascript.0	2016-09-14 09:08:32.080	warn	javascript.0 Wrong type of mqtt.0.beeiot.Bee-RGB.lcd.line0: "string". Please fix, while deprecated and will not work in next versions.
                                    javascript-0	2016-09-14 09:08:30.081	warn	Wrong type of mqtt.0.beeiot.Bee-RGB.lcd.line1: "string". Please fix, while deprecated and will not work in next versions.
                                    javascript-0	2016-09-14 09:08:30.081	warn	Wrong type of mqtt.0.beeiot.Bee-RGB.lcd.line0: "string". Please fix, while deprecated and will not work in next versions.
                                    

                                    Скрипт такой:````
                                    on({id: 'squeezebox.0.Children.elapsedTimeText', change: 'any'}, function (obj) {
                                    setState("mqtt.0.beeiot.Bee-RGB.lcd.line0", "Прошло " + getState("squeezebox.0.Children.elapsedTimeText").val);
                                    setState("mqtt.0.beeiot.Bee-RGB.lcd.line1", getState("squeezebox.0.Children.currentArtist").val);
                                    setState("mqtt.0.beeiot.Bee-RGB.lcd.line2", "Громкость " + getState("squeezebox.0.Children.volume").val + " %");
                                    });

                                    Понял что ему значение string не нравится а как его изменить или задать - не пойму.
                                    
                                    PS: Проблему исправил. В редактировании объекта mqtt.0.beeiot.Bee-RGB.lcd.lineХ - выбрал тип данных "Строка"
                                    1 Antwort Letzte Antwort
                                    0
                                    • A Offline
                                      A Offline
                                      Alekseym6
                                      schrieb am zuletzt editiert von
                                      #35

                                      каким параметром посмотреть активность клиента(подключен/отключен)?

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

                                        mqtt.0.info.connection содержит список через запятую всех подключенных клиентов. Имена клиентов а не ip адреса.

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

                                          Добрый день всем,

                                          строку для отображения. Но проблема в том, что ESP не публикует этот топик (но подписан на все топики /nodename/* по willcard, следовательно получит информауию и обработает).

                                          Следовательно надо этот топик опубликовать средствами IOB. Вопрос - как?

                                          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

                                          568

                                          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