Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Русский
    3. ioBroker
    4. ioBroker драйвера
    5. Драйвер MQTT

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    Драйвер MQTT

    This topic has been deleted. Only users with topic management privileges can see it.
    • V
      VictorS last edited by

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

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

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

      1 Reply Last reply Reply Quote 0
      • Bluefox
        Bluefox last edited by

        @VictorS:

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

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

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

        1 Reply Last reply Reply Quote 0
        • M
          MSapogov last edited by

          @Bluefox:

          @VictorS:

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

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

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

          ! [img 643_iobroker.admin.png ]

          1 Reply Last reply Reply Quote 0
          • V
            VictorS last edited by

            @MSapogov:

            @Bluefox:

            @VictorS:

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

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

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

            ! [imgioBroker.admin.png] `

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

            1 Reply Last reply Reply Quote 0
            • Bluefox
              Bluefox last edited by

              @VictorS:

              @MSapogov:

              @Bluefox:

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

              ! [imgioBroker.admin.png] `

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

              1 Reply Last reply Reply Quote 0
              • V
                VictorS last edited by

                @Bluefox:

                @VictorS:

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

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

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

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

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

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

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

                1 Reply Last reply Reply Quote 0
                • aurodionov
                  aurodionov last edited by

                  @VictorS:

                  @Bluefox:

                  @VictorS:

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

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

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

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

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

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

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

                  1 Reply Last reply Reply Quote 0
                  • V
                    VictorS last edited by

                    @aurodionov:

                    @VictorS:

                    @Bluefox:

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

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

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

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

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

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

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

                    1 Reply Last reply Reply Quote 0
                    • I
                      instalator last edited by

                      @VictorS:

                      @aurodionov:

                      @VictorS:

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

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

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

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

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

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

                      1 Reply Last reply Reply Quote 0
                      • V
                        VictorS last edited by

                        @instalator:

                        @VictorS:

                        @aurodionov:

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

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

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

                        Да, конечно.

                        1. Клиент (ESP) подписан, и обрабатывает изменение топика как нужно. Тут нет проблем. Ставим ручками в админке значение mqtt объекта, оно передается подписчикам (mqtt-spy подтверждает), ESP тоже получает и отрабатывает.

                        2. Js скрипт запущен. Он производит установку значения объекта через setState. В админке я вижу что изменение состояние объекта есть (from: javascript.0). НО: mqtt-spy подписанный на этот топик не видит изменений. ESP соответственно тоже.

                        Отсюда вывод: MQTT - брокер на IOB не рассылает изменения подписчикам. Топик (объект) MQTT создан ручками в админке. Может в этом дело? Не могу понять.

                        1 Reply Last reply Reply Quote 0
                        • I
                          instalator last edited by

                          @VictorS:

                          @instalator:

                          @VictorS:

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

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

                          Да, конечно.

                          1. Клиент (ESP) подписан, и обрабатывает изменение топика как нужно. Тут нет проблем. Ставим ручками в админке значение mqtt объекта, оно передается подписчикам (mqtt-spy подтверждает), ESP тоже получает и отрабатывает.

                          2. Js скрипт запущен. Он производит установку значения объекта через setState. В админке я вижу что изменение состояние объекта есть (from: javascript.0). НО: mqtt-spy подписанный на этот топик не видит изменений. ESP соответственно тоже.

                          Отсюда вывод: MQTT - брокер на IOB не рассылает изменения подписчикам. Топик (объект) MQTT создан ручками в админке. Может в этом дело? Не могу понять. ` а в какой ветке создан? Подписывается на отдельный топик или на всю ветку?

                          1 Reply Last reply Reply Quote 0
                          • V
                            VictorS last edited by

                            @instalator:

                            @VictorS:

                            @instalator:

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

                            Да, конечно.

                            1. Клиент (ESP) подписан, и обрабатывает изменение топика как нужно. Тут нет проблем. Ставим ручками в админке значение mqtt объекта, оно передается подписчикам (mqtt-spy подтверждает), ESP тоже получает и отрабатывает.

                            2. Js скрипт запущен. Он производит установку значения объекта через setState. В админке я вижу что изменение состояние объекта есть (from: javascript.0). НО: mqtt-spy подписанный на этот топик не видит изменений. ESP соответственно тоже.

                            Отсюда вывод: MQTT - брокер на IOB не рассылает изменения подписчикам. Топик (объект) MQTT создан ручками в админке. Может в этом дело? Не могу понять. а в какой ветке создан? Подписывается на отдельный топик или на всю ветку?

                            Вот видно на скрине (выделен красным) топик который я создал.

                            ! 1605_mqtt_topic.jpg

                            Клиент ESP подписывается регэкспом на всю свою ветку:

                            mqtt-0 2016-11-21 12:01:32.004 info Client [ESP8266001a53d2] subscribes on "sh-esp-klad.#" with regex /^mqtt.0.sh-esp-klad..*/

                            mqtt-0 2016-11-21 12:01:32.003 info Client [ESP8266001a53d2] subscribes on "sh-esp-klad.#" with regex /^sh-esp-klad..*/

                            1 Reply Last reply Reply Quote 0
                            • I
                              instalator last edited by

                              @VictorS:

                              @instalator:

                              @VictorS:

                              Да, конечно.

                              1. Клиент (ESP) подписан, и обрабатывает изменение топика как нужно. Тут нет проблем. Ставим ручками в админке значение mqtt объекта, оно передается подписчикам (mqtt-spy подтверждает), ESP тоже получает и отрабатывает.

                              2. Js скрипт запущен. Он производит установку значения объекта через setState. В админке я вижу что изменение состояние объекта есть (from: javascript.0). НО: mqtt-spy подписанный на этот топик не видит изменений. ESP соответственно тоже.

                              Отсюда вывод: MQTT - брокер на IOB не рассылает изменения подписчикам. Топик (объект) MQTT создан ручками в админке. Может в этом дело? Не могу понять. а в какой ветке создан? Подписывается на отдельный топик или на всю ветку?

                              Вот видно на скрине (выделен красным) топик который я создал.

                              ! mqtt_topic.jpg

                              Клиент ESP подписывается регэкспом на всю свою ветку:

                              mqtt-0 2016-11-21 12:01:32.004 info Client [ESP8266001a53d2] subscribes on "sh-esp-klad.#" with regex /^mqtt.0.sh-esp-klad..*/

                              mqtt-0 2016-11-21 12:01:32.003 info Client [ESP8266001a53d2] subscribes on "sh-esp-klad.#" with regex /^sh-esp-klad..*/ ` очень странно, последние версии драйверов? В настройках драйвера все ок? Дебаг Включи еще

                              1 Reply Last reply Reply Quote 0
                              • M
                                MSapogov last edited by

                                Вот у меня MQTT в прошивке от MaksMS, стабильно работает только с авторизацией…

                                Но драйвер MQTT уже много с того времени потерпел изменений.

                                1 Reply Last reply Reply Quote 0
                                • V
                                  VictorS last edited by

                                  @instalator:

                                  @VictorS:

                                  @instalator:

                                  а в какой ветке создан? Подписывается на отдельный топик или на всю ветку? `

                                  Вот видно на скрине (выделен красным) топик который я создал.

                                  ! mqtt_topic.jpg

                                  Клиент ESP подписывается регэкспом на всю свою ветку:

                                  mqtt-0 2016-11-21 12:01:32.004 info Client [ESP8266001a53d2] subscribes on "sh-esp-klad.#" with regex /^mqtt.0.sh-esp-klad..*/

                                  mqtt-0 2016-11-21 12:01:32.003 info Client [ESP8266001a53d2] subscribes on "sh-esp-klad.#" with regex /^sh-esp-klad..*/ очень странно, последние версии драйверов? В настройках драйвера все ок? Дебаг Включи еще

                                  Странно. Включил Trace output for every message: в настройках драйвера (версия 1.2.4, я так понимаю последняя). Но никаких дополнительных сообщений в логе с уровнем debug не увидел. Или я включил отладку не в том месте?

                                  1 Reply Last reply Reply Quote 0
                                  • V
                                    VictorS last edited by

                                    @MSapogov:

                                    Вот у меня MQTT в прошивке от MaksMS, стабильно работает только с авторизацией…

                                    Но драйвер MQTT уже много с того времени потерпел изменений. `

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

                                    1 Reply Last reply Reply Quote 0
                                    • H
                                      Haus last edited by

                                      @VictorS:

                                      @instalator:

                                      @VictorS:

                                      Вот видно на скрине (выделен красным) топик который я создал.

                                      ! mqtt_topic.jpg

                                      Клиент ESP подписывается регэкспом на всю свою ветку:

                                      mqtt-0 2016-11-21 12:01:32.004 info Client [ESP8266001a53d2] subscribes on "sh-esp-klad.#" with regex /^mqtt.0.sh-esp-klad..*/

                                      mqtt-0 2016-11-21 12:01:32.003 info Client [ESP8266001a53d2] subscribes on "sh-esp-klad.#" with regex /^sh-esp-klad..*/ очень странно, последние версии драйверов? В настройках драйвера все ок? Дебаг Включи еще

                                      Странно. Включил Trace output for every message: в настройках драйвера (версия 1.2.4, я так понимаю последняя). Но никаких дополнительных сообщений в логе с уровнем debug не увидел. Или я включил отладку не в том месте? `
                                      http://forum.iobroker.net/download/file … &mode=view

                                      1 Reply Last reply Reply Quote 0
                                      • V
                                        VictorS last edited by

                                        @Haus:

                                        @VictorS:

                                        @instalator:

                                        очень странно, последние версии драйверов? В настройках драйвера все ок? Дебаг Включи еще `

                                        Странно. Включил Trace output for every message: в настройках драйвера (версия 1.2.4, я так понимаю последняя). Но никаких дополнительных сообщений в логе с уровнем debug не увидел. Или я включил отладку не в том месте? [http://forum.iobroker.net/download/file … &mode=view](http://forum.iobroker.net/download/file.php?id=6886&mode=view)

                                        Спасибо, было перед глазами но не заметил 🙂

                                        Впрочем проблема решилась следующим образом - я при помощи mqtt-spy запостил данные в созданный ручками объект топика MQTT. После этого видимо что-то внутри драйвера пришло в состояние шеншуя, и после этого апдейт топика из JS работает нормально, и сообщения уходят подписчикам.

                                        По мере изучения IOB я все больше прихожу к пониманию необходимости приобретения шаманского бубна. Самый полезный инструмент, после синей изоленты, конечно 🙂

                                        1 Reply Last reply Reply Quote 0
                                        • V
                                          VictorS last edited by

                                          Новая проблема с брокером MQTT.

                                          Начал разбиратся почему при рестарте брокера иногда самопроизвольно включаются устройства, управляемые по MQTT, и вот что при включении логирования выяснил:

                                          1. запуск mqtt брокера и подписка интересующего нас клиента

                                          2016-11-23 10:58:23.135 - ^[[32minfo^[[39m: mqtt.0 Starting MQTT server on port 1883

                                          2016-11-23 10:58:25.091 - ^[[32minfo^[[39m: mqtt.0 Client [color=#ff0000][ESP826600d3304e] connected

                                          2016-11-23 10:58:25.104 - ^[[32minfo^[[39m: mqtt.0 Client [ESP826600d3304e] subscribes on "sh-esp-ver2.#" with regex /^sh-esp-ver2..*/

                                          2016-11-23 10:58:25.105 - ^[[32minfo^[[39m: mqtt.0 Client [ESP826600d3304e] subscribes on "sh-esp-ver2.#" with regex /^mqtt.0.sh-esp-ver2..*/

                                          2. Клиент получает от брокера сохраненное значение интересующего нас GPIO, посколько при создании топика установлен флаг retain : (пока все нормально, выход выключен)

                                          2016-11-23 10:58:25.133 - ^[[34mdebug^[[39m: mqtt.0 Send to client [ESP826600d3304e//~~[color=#ff0000]~~sh-esp-ver2/output15] "/sh-esp-ver2/output15": 0

                                          3. ESP отдает брокеру тоже самое:

                                          2016-11-23 10:58:25.195 - ^[[34mdebug^[[39m: mqtt.0 Server received "[color=#ff0000]/sh-esp-ver2/output15" (number): 0

                                          4. Брокер запоминает это:

                                          2016-11-23 10:58:25.206 - ^[[34mdebug^[[39m: mqtt.0 stateChange mqtt.0.~~[color=#ff0000]~~sh-esp-ver2.output15: {"val":0,"ack":true,"ts":1479887905196,"q":0,"from":"system.adapter.mqtt.0","lc":1479887085735}

                                          5. И шлет клиенту ESP нечто в своем внутреннем представлении. <u>Упс:</u>

                                          2016-11-23 10:58:27.848 - ^[[34mdebug^[[39m: mqtt.0 Send to client [ESP826600d3304e//sh-esp-ver2/output15] "/sh-esp-ver2/output15": {"val":0}

                                          6. Бедная ESP отпарсив очевидно это {"val":0} решает что надо включить GPIO что и делает, и бодро репортует брокеру:

                                          2016-11-23 10:59:49.070 - ^[[34mdebug^[[39m: mqtt.0 Server received [color=#ff0000]"/sh-esp-ver2/output15" (number): 1

                                          Вопрос по пункту 5: а зачем брокер шлет это подписчикам. И можно ли это отключить?

                                          Может быть Bluefox может подключится и прокоментировать?

                                          1 Reply Last reply Reply Quote 0
                                          • I
                                            instalator last edited by

                                            @VictorS:

                                            Новая проблема с брокером MQTT.

                                            Начал разбиратся почему при рестарте брокера иногда самопроизвольно включаются устройства, управляемые по MQTT, и вот что при включении логирования выяснил:

                                            1. запуск mqtt брокера и подписка интересующего нас клиента

                                            2016-11-23 10:58:23.135 - ^[[32minfo^[[39m: mqtt.0 Starting MQTT server on port 1883

                                            2016-11-23 10:58:25.091 - ^[[32minfo^[[39m: mqtt.0 Client [color=#ff0000][ESP826600d3304e] connected

                                            2016-11-23 10:58:25.104 - ^[[32minfo^[[39m: mqtt.0 Client [ESP826600d3304e] subscribes on "sh-esp-ver2.#" with regex /^sh-esp-ver2..*/

                                            2016-11-23 10:58:25.105 - ^[[32minfo^[[39m: mqtt.0 Client [ESP826600d3304e] subscribes on "sh-esp-ver2.#" with regex /^mqtt.0.sh-esp-ver2..*/

                                            2. Клиент получает от брокера сохраненное значение интересующего нас GPIO, посколько при создании топика установлен флаг retain : (пока все нормально, выход выключен)

                                            2016-11-23 10:58:25.133 - ^[[34mdebug^[[39m: mqtt.0 Send to client [ESP826600d3304e//~~[color=#ff0000]~~sh-esp-ver2/output15] "/sh-esp-ver2/output15": 0

                                            3. ESP отдает брокеру тоже самое:

                                            2016-11-23 10:58:25.195 - ^[[34mdebug^[[39m: mqtt.0 Server received "[color=#ff0000]/sh-esp-ver2/output15" (number): 0

                                            4. Брокер запоминает это:

                                            2016-11-23 10:58:25.206 - ^[[34mdebug^[[39m: mqtt.0 stateChange mqtt.0.~~[color=#ff0000]~~sh-esp-ver2.output15: {"val":0,"ack":true,"ts":1479887905196,"q":0,"from":"system.adapter.mqtt.0","lc":1479887085735}

                                            5. И шлет клиенту ESP нечто в своем внутреннем представлении. <u>Упс:</u>

                                            2016-11-23 10:58:27.848 - ^[[34mdebug^[[39m: mqtt.0 Send to client [ESP826600d3304e//sh-esp-ver2/output15] "/sh-esp-ver2/output15": {"val":0}

                                            6. Бедная ESP отпарсив очевидно это {"val":0} решает что надо включить GPIO что и делает, и бодро репортует брокеру:

                                            2016-11-23 10:59:49.070 - ^[[34mdebug^[[39m: mqtt.0 Server received [color=#ff0000]"/sh-esp-ver2/output15" (number): 1

                                            Вопрос по пункту 5: а зачем брокер шлет это подписчикам. И можно ли это отключить?

                                            Может быть Bluefox может подключится и прокоментировать? ` 4 ым пунктом просто говорит что объект изменился, 5ым пунктом шлет изменение клиенту. Что не так? Код Меги давай и настройкиmqtt

                                            1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            748
                                            Online

                                            31.9k
                                            Users

                                            80.1k
                                            Topics

                                            1.3m
                                            Posts

                                            31
                                            162
                                            42798
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo