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.
  • 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
                          • BluefoxB Offline
                            BluefoxB Offline
                            Bluefox
                            schrieb am zuletzt editiert von
                            #38

                            @VictorS:

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

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

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

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

                              @Bluefox:

                              @VictorS:

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

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

                              Следовательно надо этот топик опубликовать средствами IOB. Вопрос - как? Создать в админ такой объект ручками
                              Сначала создаем в нужном устройстве lcd (у меня OLED дисплей), а потом внутри него line1, line2 и так далее…

                              ! [img 643_iobroker.admin.png ]

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

                                @MSapogov:

                                @Bluefox:

                                @VictorS:

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

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

                                Следовательно надо этот топик опубликовать средствами IOB. Вопрос - как? Создать в админ такой объект ручками
                                Сначала создаем в нужном устройстве lcd (у меня OLED дисплей), а потом внутри него line1, line2 и так далее…

                                ! [imgioBroker.admin.png] `

                                Спасибо, все получилось. Хотелось бы уточнить - надо для этой переменной ставить Role: variable, или text как у вас? У меня работает variable. Значит без разницы? Вообще на что влияет свойвство common.role? Сходу не нашел в ддокументации.

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

                                  @VictorS:

                                  @MSapogov:

                                  @Bluefox:

                                  Создать в админ такой объект ручками `
                                  Сначала создаем в нужном устройстве lcd (у меня OLED дисплей), а потом внутри него line1, line2 и так далее…

                                  ! [imgioBroker.admin.png] `

                                  Спасибо, все получилось. Хотелось бы уточнить - надо для этой переменной ставить Role: variable, или text как у вас? У меня работает variable. Значит без разницы? Вообще на что влияет свойвство common.role? Сходу не нашел в ддокументации. `
                                  Role используется для отображения. Что бы знать, как это значение показывать в vis или mobile

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

                                    @Bluefox:

                                    @VictorS:

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

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

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

                                    Возникла странная проблема. Создаю объект руками, через админку назначаю значение, все отлично, по MQTT модуль принимает данные и отображает мгновенно.

                                    А вот когда я изменяю состояние этого объекта из JavaScript, то в админке вижу что состояние меняется, но модуль по MQTT обновления не получает. Пробовал setState с ask = true, и false,

                                    без разницы. При рестарте модуля ESP он читает данные из топика, но при обновлении из скрипта - нет.

                                    Куда копать, где грабли ? :)

                                    1 Antwort Letzte Antwort
                                    0
                                    • aurodionovA Offline
                                      aurodionovA Offline
                                      aurodionov
                                      schrieb am zuletzt editiert von
                                      #43

                                      @VictorS:

                                      @Bluefox:

                                      @VictorS:

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

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

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

                                      Возникла странная проблема. Создаю объект руками, через админку назначаю значение, все отлично, по MQTT модуль принимает данные и отображает мгновенно.

                                      А вот когда я изменяю состояние этого объекта из JavaScript, то в админке вижу что состояние меняется, но модуль по MQTT обновления не получает. Пробовал setState с ask = true, и false,

                                      без разницы. При рестарте модуля ESP он читает данные из топика, но при обновлении из скрипта - нет.

                                      Куда копать, где грабли ? :) `
                                      Попробуй слать и отслеживать с помощью mqtt-spy. Мне часто помогает помогает понять ,что происходит с mqtt

                                      Пишу с пульта….

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

                                        @aurodionov:

                                        @VictorS:

                                        @Bluefox:

                                        Создать в админ такой объект ручками `

                                        Возникла странная проблема. Создаю объект руками, через админку назначаю значение, все отлично, по MQTT модуль принимает данные и отображает мгновенно.

                                        А вот когда я изменяю состояние этого объекта из JavaScript, то в админке вижу что состояние меняется, но модуль по MQTT обновления не получает. Пробовал setState с ask = true, и false,

                                        без разницы. При рестарте модуля ESP он читает данные из топика, но при обновлении из скрипта - нет.

                                        Куда копать, где грабли ? :) Попробуй слать и отслеживать с помощью mqtt-spy. Мне часто помогает помогает понять ,что происходит с mqtt

                                        Поставил mqtt-spy и вижу что MQTT драйвер не шлет ничего, когда топик обновляется из javascript. Мистика.

                                        Куда копать дальше?

                                        1 Antwort Letzte Antwort
                                        0
                                        • I Offline
                                          I Offline
                                          instalator
                                          schrieb am zuletzt editiert von
                                          #45

                                          @VictorS:

                                          @aurodionov:

                                          @VictorS:

                                          Возникла странная проблема. Создаю объект руками, через админку назначаю значение, все отлично, по MQTT модуль принимает данные и отображает мгновенно.

                                          А вот когда я изменяю состояние этого объекта из JavaScript, то в админке вижу что состояние меняется, но модуль по MQTT обновления не получает. Пробовал setState с ask = true, и false,

                                          без разницы. При рестарте модуля ESP он читает данные из топика, но при обновлении из скрипта - нет.

                                          Куда копать, где грабли ? :) Попробуй слать и отслеживать с помощью mqtt-spy. Мне часто помогает помогает понять ,что происходит с mqtt

                                          Поставил mqtt-spy и вижу что MQTT драйвер не шлет ничего, когда топик обновляется из javascript. Мистика.

                                          Куда копать дальше? ` клиент подписан? Js скрипт запущен?

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

                                          http://blog.instalator.ru/

                                          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

                                          566

                                          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