Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • 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

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. ioBroker Allgemein
  4. Fehlerhafte Objektnamen im mqtt [gelöst]

NEWS

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    22
    1
    1.2k

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    9.2k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    14
    1
    2.5k

Fehlerhafte Objektnamen im mqtt [gelöst]

Geplant Angeheftet Gesperrt Verschoben ioBroker Allgemein
7 Beiträge 3 Kommentatoren 540 Aufrufe 3 Watching
  • Ä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.
  • geschildG Offline
    geschildG Offline
    geschild
    schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
    0
    • Marc BergM Offline
      Marc BergM Offline
      Marc Berg
      Most Active
      schrieb am zuletzt editiert von 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+RabbitMQ+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 Antwort Letzte Antwort
      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
        schrieb am zuletzt editiert von
        #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 Antwort Letzte Antwort
        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
          schrieb am zuletzt editiert von
          #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+RabbitMQ+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 Antwort Letzte Antwort
          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
            schrieb am zuletzt editiert von
            #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 Antwort Letzte Antwort
            0
            • mickymM Online
              mickymM Online
              mickym
              Most Active
              schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
              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
                schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
                0
                Antworten
                • In einem neuen Thema antworten
                Anmelden zum Antworten
                • Älteste zuerst
                • Neuste zuerst
                • Meiste Stimmen


                Support us

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

                756

                Online

                32.5k

                Benutzer

                81.7k

                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