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. Deutsch
  3. ioBroker Allgemein
  4. Fehlerhafte Objektnamen im mqtt [gelöst]

NEWS

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

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.4k

Fehlerhafte Objektnamen im mqtt [gelöst]

Scheduled Pinned Locked Moved ioBroker Allgemein
7 Posts 3 Posters 617 Views 3 Watching
  • 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.
  • geschildG Offline
    geschildG Offline
    geschild
    wrote on last edited by geschild
    #1

    f98d292f-691a-4b15-b321-f308029a1110-image.png

    Bei mir läuft eine Stromerfassung mit optischem Sensor -> Wemos D1 -> mqtt.

    Alle 5sek werden vom Wemos 7 kurze Strings mit den Messdaten übertragen.

    In der Objektübersicht im mqtt.0 finden sich immer wieder "verstümmelte" Einträge. (eigentlich sollten nur Datenpunkte in <iobroker.mqtt.0.Stromerfassung_49> beschrieben werden).

    Wer weiß wodurch ? Verbindung ist mit ca -55dBm eigentlich gut.

    1 Reply Last reply
    0
    • Marc BergM Offline
      Marc BergM Offline
      Marc Berg
      Most Active
      wrote on last edited by Marc Berg
      #2

      @geschild sagte in [Fehlerhafte Objektnamen im mqtt](/post/

      Wer weiß wodurch ? Verbindung ist mit ca -55dBm eigentlich gut.

      Mit den wenigen Angaben ist eine Ermittlung der Ursache natürlich nicht möglich. Aber wenn ich wetten müsste, dann darauf, dass der Wemos einfach Müll sendet. Hast du mal einen MQTT Client wie „MQTT Explorer“ mitlaufen lassen? Dann siehst du ja, ob saubere Daten ankommen.

      Was läuft auf dem Wemos?
      Welcher Broker?
      Welcher Adapter?

      NUC10I3+Ubuntu+Docker+ioBroker+influxDB2+Node Red+EMQX+Grafana

      Pi-hole, Traefik, Checkmk, Conbee II+Zigbee2MQTT, ESPSomfy-RTS, LoRaWAN, Arduino, KiCad

      Benutzt das Voting im Beitrag, wenn er euch geholfen hat.

      geschildG 1 Reply Last reply
      0
      • Marc BergM Marc Berg

        @geschild sagte in [Fehlerhafte Objektnamen im mqtt](/post/

        Wer weiß wodurch ? Verbindung ist mit ca -55dBm eigentlich gut.

        Mit den wenigen Angaben ist eine Ermittlung der Ursache natürlich nicht möglich. Aber wenn ich wetten müsste, dann darauf, dass der Wemos einfach Müll sendet. Hast du mal einen MQTT Client wie „MQTT Explorer“ mitlaufen lassen? Dann siehst du ja, ob saubere Daten ankommen.

        Was läuft auf dem Wemos?
        Welcher Broker?
        Welcher Adapter?

        geschildG Offline
        geschildG Offline
        geschild
        wrote on last edited by
        #3

        @marc-berg
        Der Wemos bekommt im Sekundentakt vom optischen Sensor ca. 450 Byte mit 9600 baud. Diese werden ausgewertet und die so ermittelten Messwerte gesendet. Dazwischen dümpelt der Wemos vor sich hin. Keine Interrupts meinerseits. Programmiert mit Arduino Ide, fürs mqtt wird die 'Pubsubclient' Bibliothek verwendet.

        Das 'publishen' der 6 Messwerte, je 5 bis 10 Byte, erfolgt ohne weitere delays dazwischen hintereinanderweg. Könnte es ein Problem sein, dass der Raspi (iobroker) noch an einem Telegram arbeitet und das nächste zu schnell danach kommt ?

        Adapter: MQTT Broker/Client 4.0.7

        Marc BergM 1 Reply Last reply
        0
        • geschildG geschild

          @marc-berg
          Der Wemos bekommt im Sekundentakt vom optischen Sensor ca. 450 Byte mit 9600 baud. Diese werden ausgewertet und die so ermittelten Messwerte gesendet. Dazwischen dümpelt der Wemos vor sich hin. Keine Interrupts meinerseits. Programmiert mit Arduino Ide, fürs mqtt wird die 'Pubsubclient' Bibliothek verwendet.

          Das 'publishen' der 6 Messwerte, je 5 bis 10 Byte, erfolgt ohne weitere delays dazwischen hintereinanderweg. Könnte es ein Problem sein, dass der Raspi (iobroker) noch an einem Telegram arbeitet und das nächste zu schnell danach kommt ?

          Adapter: MQTT Broker/Client 4.0.7

          Marc BergM Offline
          Marc BergM Offline
          Marc Berg
          Most Active
          wrote on last edited by
          #4

          @geschild sagte in Fehlerhafte Objektnamen im mqtt:

          Das 'publishen' der 6 Messwerte, je 5 bis 10 Byte, erfolgt ohne weitere delays dazwischen hintereinanderweg. Könnte es ein Problem sein, dass der Raspi (iobroker) noch an einem Telegram arbeitet und das nächste zu schnell danach kommt ?

          Zeig mal den Teil des Codes, in welchem die Werte published werden. Ich würde nach dem publish() zum Testen mindestens ein delay(200) einfügen, damit ein mögliches Disconnect nicht zu früh kommt. Ein anderes Problem könnte auch das zu häufige Aufrufen von MQTTclient.loop() sein, welches gern mal den Netzwerkstack überlastet.

          NUC10I3+Ubuntu+Docker+ioBroker+influxDB2+Node Red+EMQX+Grafana

          Pi-hole, Traefik, Checkmk, Conbee II+Zigbee2MQTT, ESPSomfy-RTS, LoRaWAN, Arduino, KiCad

          Benutzt das Voting im Beitrag, wenn er euch geholfen hat.

          geschildG 1 Reply Last reply
          0
          • Marc BergM Marc Berg

            @geschild sagte in Fehlerhafte Objektnamen im mqtt:

            Das 'publishen' der 6 Messwerte, je 5 bis 10 Byte, erfolgt ohne weitere delays dazwischen hintereinanderweg. Könnte es ein Problem sein, dass der Raspi (iobroker) noch an einem Telegram arbeitet und das nächste zu schnell danach kommt ?

            Zeig mal den Teil des Codes, in welchem die Werte published werden. Ich würde nach dem publish() zum Testen mindestens ein delay(200) einfügen, damit ein mögliches Disconnect nicht zu früh kommt. Ein anderes Problem könnte auch das zu häufige Aufrufen von MQTTclient.loop() sein, welches gern mal den Netzwerkstack überlastet.

            geschildG Offline
            geschildG Offline
            geschild
            wrote on last edited by
            #5

            @marc-berg Stromerfassung.txt

            Danke für deine schnelle Antwort.

            Da alle Sekunde Daten vom Sensor kommen, habe ich erstmal nur delay(130) eingefügt, alle fehlerhaften Datenpunkte gelöscht und beobachte das mal.
            Der entsprechende Code ist anbei. MQTTclient.loop() läuft noch zyklisch. Ich habe mehrere Geräte mit der gleichen "Standardsoftware" laufen. Die Probleme zeigen sich nur bei diesem.

            1 Reply Last reply
            0
            • mickymM Offline
              mickymM Offline
              mickym
              Most Active
              wrote on last edited by mickym
              #6

              Das Problem scheint mir nicht zu sein, dass es direkt verstümmelt ist, sondern dass Du einen seriellen Datenstrom hast, den Du nicht richtig parsed - also Zeichen oder Merkmal, die den Datenstrom in sinnvolle Records trennen.

              Das schaut doch teilweise wie eine Laufschrift aus, in der je nach Momentaufnahme verschiedene Teile eines Strings als topics verwendet werden. Also würde ich mal an der Stelle suchen - die die Informationen published und nicht auf der Empfängerseite.

              @geschild sagte in Fehlerhafte Objektnamen im mqtt:

              @marc-berg
              Der Wemos bekommt im Sekundentakt vom optischen Sensor ca. 450 Byte mit 9600 baud. Diese werden ausgewertet und die so ermittelten Messwerte gesendet. Dazwischen dümpelt der Wemos vor sich hin. Keine Interrupts meinerseits. Programmiert mit Arduino Ide, fürs mqtt wird die 'Pubsubclient' Bibliothek verwendet.

              Das 'publishen' der 6 Messwerte, je 5 bis 10 Byte, erfolgt ohne weitere delays dazwischen hintereinanderweg. Könnte es ein Problem sein, dass der Raspi (iobroker) noch an einem Telegram arbeitet und das nächste zu schnell danach kommt ?

              Adapter: MQTT Broker/Client 4.0.7

              Wenn Du halt Node-Red nutzen würdest, dann hättest Du ein paar Optionen, wenn Du die serielle Node nutzt:

              hier hast Du dann mehrere Optionen - Datensätze zu erstellen
              fc3e415a-c285-4b6f-b501-ef5f92d98db1-image.png

              Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

              geschildG 1 Reply Last reply
              0
              • mickymM mickym

                Das Problem scheint mir nicht zu sein, dass es direkt verstümmelt ist, sondern dass Du einen seriellen Datenstrom hast, den Du nicht richtig parsed - also Zeichen oder Merkmal, die den Datenstrom in sinnvolle Records trennen.

                Das schaut doch teilweise wie eine Laufschrift aus, in der je nach Momentaufnahme verschiedene Teile eines Strings als topics verwendet werden. Also würde ich mal an der Stelle suchen - die die Informationen published und nicht auf der Empfängerseite.

                @geschild sagte in Fehlerhafte Objektnamen im mqtt:

                @marc-berg
                Der Wemos bekommt im Sekundentakt vom optischen Sensor ca. 450 Byte mit 9600 baud. Diese werden ausgewertet und die so ermittelten Messwerte gesendet. Dazwischen dümpelt der Wemos vor sich hin. Keine Interrupts meinerseits. Programmiert mit Arduino Ide, fürs mqtt wird die 'Pubsubclient' Bibliothek verwendet.

                Das 'publishen' der 6 Messwerte, je 5 bis 10 Byte, erfolgt ohne weitere delays dazwischen hintereinanderweg. Könnte es ein Problem sein, dass der Raspi (iobroker) noch an einem Telegram arbeitet und das nächste zu schnell danach kommt ?

                Adapter: MQTT Broker/Client 4.0.7

                Wenn Du halt Node-Red nutzen würdest, dann hättest Du ein paar Optionen, wenn Du die serielle Node nutzt:

                hier hast Du dann mehrere Optionen - Datensätze zu erstellen
                fc3e415a-c285-4b6f-b501-ef5f92d98db1-image.png

                geschildG Offline
                geschildG Offline
                geschild
                wrote on last edited by geschild
                #7

                @mickym

                Danke für deine Anregung aber, ich prüfe
                A : Die Vollständigkeit der Startsequenz,
                B : Die Anzahl der empfangenen Bytes und
                C : Die Vollständigkeit der Endsequenz.

                Daraus ergibt sich, dass ein vollständiges Telegramm im Array ist. Bedingt durch die Struktur des SML Protokolls, sind gleiche Messwerte immer!! an der gleichen Stelle.
                Somit ist ein detaillierteres parsen m.E. nicht notwendig.

                Nachtrag: 20.06.2023

                Seitdem ich die publishes nicht mehr direkt hintereinander sende, sondern dazwischen ein delay(130) geschoben habe, ist der Fehler weg.

                1 Reply Last reply
                0
                Reply
                • Reply as topic
                Log in to reply
                • Oldest to Newest
                • Newest to Oldest
                • Most Votes


                Support us

                ioBroker
                Community Adapters
                Donate
                FAQ Cloud / IOT
                HowTo: Node.js-Update
                HowTo: Backup/Restore
                Downloads
                BLOG

                657

                Online

                32.7k

                Users

                82.3k

                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