Skip to content
  • Home
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Русский
  3. аппаратные средства
  4. Железо
  5. ESP8266 протокол MQTT или как я сделал проверку что ESP в сети.

NEWS

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

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    18
    1
    5.8k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    1.5k

ESP8266 протокол MQTT или как я сделал проверку что ESP в сети.

Scheduled Pinned Locked Moved Железо
15 Posts 8 Posters 10.1k Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • V Offline
    V Offline
    v965
    wrote on last edited by
    #6

    @aurodionov:

    Ок, тогда по порядку.

    В админке iobroker переходите в сетевые, там есть драйвер ping ,нажимаете плюсик справа ,начнётся установка драйвера.

    Когда драйвер поставится переходите на вкладку "настройка драйверов" ,ищете только-что установленный драйвер.

    Делаете настройки по аналогии с моими, соответственно подставляя свои значения .

    Скриншот - Январь 5, 2017 2.39 PM.png

    После того как заполните перечень интересующих ip адресов нажимаете сохранить и выйти.

    Теперь запускаете драйвер кнопкой плей. Запустились и драйвер должен начать пинговать адреса.

    Переходим на вкладку состояния. В поле id вписываем ping.0.

    Видим похожую картину

    Скриншот - Январь 5, 2017 2.46 PM.png

    Находим интересующий нас объект

    Скриншот - Январь 5, 2017 2.47 PM.png

    И уже его используем в скриптах.

    Например так

    Скриншот - Январь 5, 2017 2.50 PM.png

    Всё ,теперь при пропадании интернета будет красить в красный цвет. `
    Ух тыж, спасибо! Теперь понятнее намного.

    1 Reply Last reply
    0
    • V Offline
      V Offline
      v965
      wrote on last edited by
      #7

      1000000500 Извинений!

      Простите, я не правильно понял куда и что прописывать :shock:

      Посидев пару дней я таки допёр )))

      Я пытался прописывать скрипты в baсkground, а надо было просто скопировать в скрипты, изменить в строке имя (id) на нужные мне и в baсkground прописать ({javascript.0.system.ping.color}) :roll:

      Ну всё получилось и работает, спасибо за помощь!
      1795_______.jpg
      1795_2.jpg

      1 Reply Last reply
      0
      • aurodionovA Offline
        aurodionovA Offline
        aurodionov
        wrote on last edited by
        #8

        Рад ,что у Вас получилось

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

        1 Reply Last reply
        0
        • N Offline
          N Offline
          nop0
          wrote on last edited by
          #9

          Променлива mqtt.0.info.connection указывает всех подключены MQTT клиенты. С помощи toString().split(",") получаем array с имен и потом делаем с них что угодно (считать, оповещать на телефоне кто пропал и т.д.).

          <u>There is no problem so bad that you can’t make it worse! - retired astronaut Chris Hadfield</u>

          <u>Spontanität muss sorgfältig geplant werden!</u>

          <u>Nothing is foolproof to a sufficie…</u>

          1 Reply Last reply
          0
          • P Offline
            P Offline
            Palko
            wrote on last edited by
            #10

            У меня реализовано немного по другому.

            На сервере, в кроне, каждые 30 секунд генерится "0" в MQTT топик "status" для списка беспроводных девайсов. (по очереди, с небольшой задержкой друг относительно друга)

            Все MQTT девайсы, получая "status" не зависимо от его содержания, отправляют свой status "1" на сервер.

            Сервер все запоминает, и так по кругу).

            но предидущая версия с парсингом может быть проще… если разбирать список не лень :)

            iobroker+Beckhoff_BC9000+…

            1 Reply Last reply
            0
            • M Offline
              M Offline
              mrmomba
              wrote on last edited by
              #11

              Я не говорю по-русски. Надеюсь, это понятно, что я пишу.

              У меня время в Интернете гораздо проще просматривать. И я передаю от ESP термин с.

              Для этого я использую следующий исходный код ESP:

              [color]static unsigned long[/color] TMP_long_var_LaufzeitInSekunden = millis()/1000
              client.publish(Value5.c_str(),String(TMP_long_var_LaufzeitInSekunden).c_str()); [color] // D04_Uptime[/color]
              
              

              Таким образом, я вижу во время выполнения в секундах - и если это не изменится, я знаю, что случилось.

              Вы можете поймать это через javascript.

              Проверяйте каждые 15 минут

              Время выполнения == Время выполнения

              ОШИБКА

              –------------------------------------------

              Original / оригинал

              Ich kann kein russisch. Ich hoffe es ist verständlich was ich schreibe.

              Die Onlinezeit lasse ich mir viel einfacher anzeigen. Und zwar übermittel ich vom ESP die Laufzeit mit.

              Dazu verwende ich folgenden Quelltext auf dem ESP:

              [color]static unsigned long[/color] TMP_long_var_LaufzeitInSekunden = millis()/1000
              client.publish("/mqtt/sensor1/uptime/",String(TMP_long_var_LaufzeitInSekunden).c_str()); [color] // D04_Uptime[/color]
              
              

              Damit sehe ich in Laufzeit in Sekunden - und wenn sich das nicht ändert weiß ich das was falsch ist.

              Das könnte man über ein Javascript abfangen.

              Prüfe alle 15 Minuten

              Laufzeit == Laufzeit

              FEHLER

              1 Reply Last reply
              0
              • BluefoxB Offline
                BluefoxB Offline
                Bluefox
                wrote on last edited by
                #12

                На самом деле это недочёты иоб.

                Должно работать так: как только связь теряется, то quality состояния должно меняться на отличное от 0. И виджеты должны поддерживать отображение quality.

                В системе уже штатно поддерживаются quality. Вот только их ещё mqtt не обрабатывает, а в виз по моему можно привязать иконку на qualitg

                1 Reply Last reply
                0
                • A Offline
                  A Offline
                  algar
                  wrote on last edited by
                  #13

                  У себя проверку статусов железок которые используют MQTT для обмена с брокером организовал следующим образом.

                  Для каждого девайса создаю логическую переменную alive и в настройках mqtt клиента для этой переменной в подписке включаю галочку "как объект", т.е. mqtt-client будет ожидать в топике от устройства JSON объект.

                  В каждом девайсе ESP32 или ESP8266 настраиваю отправку каждые 60 секунд в топик alive следующей строки (объекта) - "{"val":true, "expire":70}".

                  Свойство expire это внутреннее свойство брокера, которое указывает на период жизни значения переменной. В моем случае 70 сек.

                  Работает это так. Если в течении 60 секунд ESP не обновило свой статус, то на 70й секунде брокер сам сбросит значение alive в пустышку.

                  Все что далее необходимо, это проверять наличие знаения true в переменной alive. Если истина, то устройство живое, если пусто, то что-то отвалилось.

                  1 Reply Last reply
                  0
                  • P Offline
                    P Offline
                    Pooh
                    wrote on last edited by
                    #14

                    @algar:

                    ..и в настройках mqtt клиента для этой переменной в подписке включаю галочку "как объект", т.е. mqtt-client будет ожидать в топике от устройства JSON объект. `
                    тема актуальная, но не понял…

                    т.е. надо кроме MQTT брокера еще и экземпляр MQTT клиента создать?

                    можно со скриншотами разжевать?

                    https://play.google.com/store/apps/details?id=com.roy.royclub - код: UMI201155
                    https://play.google.com/store/apps/details?id=com.blockchainvault - код приглашения: Freepooh
                    https://play.google.com/store/apps/details?id=games.bee.app - код приглашения: freepooh
                    https://www.timestope.com/freepooh - witness code: freepooh

                    1 Reply Last reply
                    0
                    • A Offline
                      A Offline
                      algar
                      wrote on last edited by
                      #15

                      @Pooh:

                      тема актуальная, но не понял…

                      т.е. надо кроме MQTT брокера еще и экземпляр MQTT клиента создать?

                      можно со скриншотами разжевать? `

                      Ну у меня москито брокер стоит отдельно и в iobroker у меня есть только драйвер mqtt_client.

                      В картинках это выглядит так:

                      1. У объекта создаем свойство alive:
                      7907_obj.jpg

                      2. в настройках свойства включаем опцию mqtt клиента:
                      7907_obj_prop.jpg

                      3. в коде ESP32 шлем раз в минуту сигнал пульса вот так:
                      7907_mqtt_code.jpg

                      1 Reply Last reply
                      0

                      Hello! It looks like you're interested in this conversation, but you don't have an account yet.

                      Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

                      With your input, this post could be even better 💗

                      Register Login
                      Reply
                      • Reply as topic
                      Log in to reply
                      • Oldest to Newest
                      • Newest to Oldest
                      • Most Votes


                      Support us

                      ioBroker
                      Community Adapters
                      Donate

                      622

                      Online

                      32.7k

                      Users

                      82.6k

                      Topics

                      1.3m

                      Posts
                      Community
                      Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                      ioBroker Community 2014-2025
                      logo
                      • Login

                      • Don't have an account? Register

                      • Login or register to search.
                      • First post
                        Last post
                      0
                      • Home
                      • Recent
                      • Tags
                      • Unread 0
                      • Categories
                      • Unreplied
                      • Popular
                      • GitHub
                      • Docu
                      • Hilfe