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. Skripten / Logik
  4. Msg payload string wert extrahieren

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    15
    1
    624

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    1.9k

Msg payload string wert extrahieren

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
24 Beiträge 4 Kommentatoren 20.9k Aufrufe
  • Ä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.
  • HomoranH Nicht stören
    HomoranH Nicht stören
    Homoran
    Global Moderator Administrators
    schrieb am zuletzt editiert von
    #13

    @Garf:

    Mit den Grundlagen solltest Du dich aber noch einmal sehr intensiv beschäftigen! `

    Hier gibt es auch noch etwas:

    http://www.iobroker.net/docu/?page_id=4284&lang=de

    Gruß

    Rainer

    kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

    Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

    der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

    1 Antwort Letzte Antwort
    0
    • G Offline
      G Offline
      Garf
      schrieb am zuletzt editiert von
      #14

      @Homoran:

      Hier gibt es auch noch etwas: `
      Super, vielen Dank, das kannte ich auch noch nicht.

      Vielleicht sollt man diese und andere allgemeine Infos zu Node Red unter Bekanntmachungen anpinnen. Die Gesamtübersicht aller Anleitung finde ich etwas unübersichtlich.

      1 Antwort Letzte Antwort
      0
      • HomoranH Nicht stören
        HomoranH Nicht stören
        Homoran
        Global Moderator Administrators
        schrieb am zuletzt editiert von
        #15

        Wir werden die Doku (hoffentlich) bald überarbeiten. Die ist nicht immer auf dem aktuellen Stand.

        So ist diese Seite von Mai 2016 :(

        Merkwürdigerweise funktioniert die Suche darin aber sehr gut :D

        Gruß

        Rainer

        kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

        Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

        der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

        1 Antwort Letzte Antwort
        0
        • inesaI Offline
          inesaI Offline
          inesa
          schrieb am zuletzt editiert von
          #16

          Das mit dem Testflow hab ich schon mal hinbekommen

          Der Rest muss auf heute Abend warten.

          Dank an euch schon mal

          Ines

          1 Antwort Letzte Antwort
          0
          • inesaI Offline
            inesaI Offline
            inesa
            schrieb am zuletzt editiert von
            #17

            Mit diesen Code habe ich meine gewünschte Ausgabe hinbekommen

            var string = msg.payload;
            var test = string.substr(106,2);
            msg.payload = test;
            return msg;
            

            Einen flow zur Ausgabe auf meinen Dashboard mit livedaten vom Sonoff Pow

            habe ich mir auch gleich zusammengebaut.Nur leider ändert sich der String manchmal

            und die Ausgabe ist dann fehlerhaft.Zufriednstellend ist das leider noch nicht.

            Im debug Fenster wird mir nach import des flows nicht das Array angezeigt wie man es

            bei Graf sehen kann.

            Warum ist das so ?

            Ines

            1 Antwort Letzte Antwort
            0
            • G Offline
              G Offline
              Garf
              schrieb am zuletzt editiert von
              #18

              @inesa:

              Warum ist das so ? Weil Du noch viel in Javascriptprogrammierung und der Verwendung unter Node Red lernen musst. Da mir primär die Zeit und auch wenig die Lust fehlt, dir dies aus der Ferne Schritt für Schritt beizubringen, setze ich auf diese Aussage von dir > Das mit dem Testflow hab ich schon mal hinbekommen `
              und poste die fertige Lösung. In den vorherigen Posts hatte ich übrigens bereits geschrieben, dass die substring Methode nicht der richtige Weg zum gewünschten Ergebnis ist, da mit der substring Funktion an genau vorher definierten Stellen etwas abgeschnitten wird, sich aber die Positionen der Messwerte je nach Messgröße verändern können. Somit ein absolutes no go.

              [{"id":"a34c31f5.640b28","type":"inject","z":"1109363a.41365a","name":"","topic":"","payload":"{\"Time\":\"2018-06-08T15:22:49\",\"ENERGY\":{\"Total\":66.302,\"Yesterday\":0.410,\"Today\":0.268,\"Period\":1,\"Power\":18,\"Factor\":0.48,\"Voltage\":231,\"Current\":0.162}}","payloadType":"str","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":150,"y":100,"wires":[["8a3b7ff7.cec02"]]},{"id":"8a3b7ff7.cec02","type":"function","z":"1109363a.41365a","name":"","func":"var oldstring = msg.payload;\nvar newstring = oldstring.replace(/{|}|\"/g,\"\");\nvar re = /\\s*,\\s*/;\nvar nameList = newstring.split(re);\nmsg.payload=nameList;\nflow.set(\"power\",msg.payload[5]);\nflow.set(\"current\",msg.payload[8]);\nreturn msg;","outputs":1,"noerr":0,"x":350,"y":100,"wires":[["df30b04d.fcd7b8","741a4d3f.db3874","9d5094c1.7897a8"]]},{"id":"df30b04d.fcd7b8","type":"debug","z":"1109363a.41365a","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","x":530,"y":100,"wires":[]},{"id":"741a4d3f.db3874","type":"function","z":"1109363a.41365a","name":"Power","func":"var oldstring = flow.get(\"power\");\nvar newstring = oldstring.replace(/Power:/g,\"\");\nmsg.payload =parseFloat(newstring);\nreturn msg;","outputs":1,"noerr":0,"x":360,"y":160,"wires":[["a94fb3d7.b87a9","9d7b9caf.b00dc"]]},{"id":"9d5094c1.7897a8","type":"function","z":"1109363a.41365a","name":"current","func":"var oldstring = flow.get(\"current\");\nvar newstring = oldstring.replace(/Current:/g,\"\");\nmsg.payload =parseFloat(newstring);\nreturn msg;","outputs":1,"noerr":0,"x":369,"y":200,"wires":[["362d4eb.a67d3b2","19d2e720.226ca9"]]}]
              

              Und so sollte es dann nachher aussehen:

              3639_screen4.jpg
              Beispieltestflow

              3639_screen5.jpg
              Anzeigewerte Debug-Nodes

              3639_screen6.jpg
              Gauge-Anzeigen im Dashboard

              Jetzt schau mal, dass Du die drei function-Nodes in dein Flow eingebaut bekommst. Und bitte nicht frustiert sein. Das was Du hier machen möchtest ist vom Schwierigkeitsgrad her etwas für Fortgeschrittenen.

              Wenn Du noch Fragen hast, oder noch etwas fehlt bzw. nicht funktioniert dann kannst Du dich gerne wieder melden.

              Über ein Feedback, gerne auch mit Screenshots, freue ich mich immer sehr. Getreu dem Motto von John „Hannibal“ Smith: > ****Ich liebe es, wenn ein Plan funktioniert.****

              Und jetzt viel Erfolg damit.

              Gruß

              Garf

              1 Antwort Letzte Antwort
              0
              • inesaI Offline
                inesaI Offline
                inesa
                schrieb am zuletzt editiert von
                #19

                Danke Graf für deine Hilfe werde versuchen das in meinen flow mit einzubauen.

                Wie ich das von Dir verstanden habe würde das auch mit anderen flow's funktionieren ?

                Ich möchte bei mir zu Hause sämtliche Geräte in nod-red einbauen um es dann

                übersichtlich auf einen Tablet darzustellen. Ein schalten von Licht oder anderen Dingen

                war bisher nicht das Problem was ja auch recht simpel ist im Dashboard abzubilden.

                Die visuelle Darstellung von Messwerten bereit mir noch Schwierigkeiten.

                Eine simple Darstellung des aktuellen Wetters mit Openweather was mein erster Versuch

                der sich gut mit etwas code realisieren ließ

                return { payload: msg.payload.tempc};
                

                Ok jetzt mach ich mich an Arbeit nochmals vielen Dank

                Ines

                1 Antwort Letzte Antwort
                0
                • G Offline
                  G Offline
                  Garf
                  schrieb am zuletzt editiert von
                  #20

                  @inesa:

                  Ok jetzt mach ich mich an Arbeit nochmals vielen Dank `

                  Und wie läuft es?

                  Heute noch eine deutlich einfachere Lösung gefunden.

                  3639_screen11.jpg

                  3639_screen12.jpg

                  Und hier noch der Flow

                  [{"id":"8c0169c.096a698","type":"function","z":"1109363a.41365a","name":"Power","func":"var myObj, x;\nmyObj = msg.payload;\nx = myObj.ENERGY.Power;\nmsg.payload = x;\nreturn msg;","outputs":1,"noerr":0,"x":350,"y":24,"wires":[["147c1657.ec1dc2"]]},{"id":"147c1657.ec1dc2","type":"debug","z":"1109363a.41365a","name":"Power","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","x":540,"y":24,"wires":[]},{"id":"d6bdcf92.0373f","type":"inject","z":"1109363a.41365a","name":"","topic":"","payload":"{\"Time\":\"2018-06-08T15:22:49\",\"ENERGY\":{\"Total\":66.302,\"Yesterday\":0.41,\"Today\":0.268,\"Period\":1,\"Power\":18,\"Factor\":0.48,\"Voltage\":231,\"Current\":0.162}}","payloadType":"json","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":150,"y":24,"wires":[["8c0169c.096a698","cdcf5d25.55b6a8"]]},{"id":"cdcf5d25.55b6a8","type":"function","z":"1109363a.41365a","name":"current","func":"var myObj, x;\nmyObj = msg.payload;\nx = myObj.ENERGY.Current;\nmsg.payload = x;\nreturn msg;","outputs":1,"noerr":0,"x":360,"y":60,"wires":[["cfa3e142.36cc68"]]},{"id":"cfa3e142.36cc68","type":"debug","z":"1109363a.41365a","name":"Strom","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","x":539,"y":60,"wires":[]}]
                  

                  Und genau diese Lösung hatte Je Cee bereits am 08.06. gepostet. Ist mir jetzt ein wenig peinlich, positiv betrachtet habe ich aber auch wieder eine Menge dazu gelernt. ;)

                  @Jey Cee:

                  msg.payload=msg.payload.ENERGY.Power;
                  

                  Damit müsste es gehen. `
                  Ja, funktioniert einwandfrei.

                  1 Antwort Letzte Antwort
                  0
                  • inesaI Offline
                    inesaI Offline
                    inesa
                    schrieb am zuletzt editiert von
                    #21

                    Deinen ersten Vorschlag habe ich gut hinbekommen.

                    Hab jetzt auch schon mehrere Sache wie Temperaturfühler Wetterstation und diverse

                    Schalter einbinden können.

                    :)

                    Bin noch fleißig am testen

                    Die Oberfläche in nod-red sagt mir noch nicht zu weil die Räume

                    hier untereinander angeordnet sind aber das läßt sich

                    bestimmt noch irdendwie ändern

                    1 Antwort Letzte Antwort
                    0
                    • inesaI Offline
                      inesaI Offline
                      inesa
                      schrieb am zuletzt editiert von
                      #22

                      Da ich im Urlaub war jetzt erst meine Rückmeldung

                      Das hier geht leider nicht wenn ich als input mqtt nehme mit injekt dagegen schon

                      [{"id":"89b06627.4b4618","type":"mqtt in","z":"340eddcc.3cf872","name":"test","topic":"/Smarthome/dachboden/intelnuc/tele/Nuc/SENSOR","qos":"2","broker":"f10536d8.b08398","x":134,"y":598,"wires":[["6f2ea2e6.6a375c","22db21d0.785fbe"]]},{"id":"f10536d8.b08398","type":"mqtt-broker","z":"","name":"","broker":"localhost","port":"1883","clientid":"","usetls":false,"compatmode":true,"keepalive":"60","cleansession":true,"birthTopic":"","birthQos":"0","birthPayload":"","closeTopic":"","closeQos":"0","closePayload":"","willTopic":"","willQos":"0","willPayload":""}]
                      

                      Fehlermeldung

                      TypeError: Cannot read property 'Power' of undefined

                      Hier funktioniert es mit mqtt

                      [{"id":"e252d5be.112a38","type":"mqtt in","z":"340eddcc.3cf872","name":"Nuc","topic":"/Smarthome/dachboden/intelnuc/tele/Nuc/SENSOR","qos":"2","broker":"317c971b.fd0d18","x":103,"y":94,"wires":[["74794b5c.a3c3b4","17ddcaaa.c6ee35","1ea5b962.1ad897","adb118a.6567ae8"]]},{"id":"317c971b.fd0d18","type":"mqtt-broker","z":"","name":"nuke","broker":"192.168.178.108","port":"1883","clientid":"","usetls":false,"compatmode":true,"keepalive":"60","cleansession":true,"birthTopic":"","birthQos":"0","birthPayload":"","closeTopic":"","closeQos":"0","closePayload":"","willTopic":"","willQos":"0","willPayload":""}]
                      

                      Warum ist das so würde das gern verstehen mit deinen anderen ersten Vorschlag verhält es sich genau so sobald ich mqtt nehme hagelt es Fehlermeldungen.

                      Ines

                      Nachtrag man muß mqqt.json als input nehmen dann klappt das auch :?

                      1 Antwort Letzte Antwort
                      0
                      • G Offline
                        G Offline
                        Garf
                        schrieb am zuletzt editiert von
                        #23

                        @inesa:

                        Das hier geht leider nicht wenn ich als input mqtt nehme mit injekt dagegen schon

                        Fehlermeldung

                        TypeError: Cannot read property 'Power' of undefined

                        Warum ist das so würde das gern verstehen mit deinen anderen ersten Vorschlag verhält es sich genau so sobald ich mqtt nehme hagelt es Fehlermeldungen. `

                        Die MQTT-Nodes als Code zu posten hilft zur Klärung nicht weiter. Häng da mal ein debug-Node dran und poste die Ausgabe. Wie sieht der Flow aus?

                        @inesa:

                        ]Nachtrag man muß mqqt.json als input nehmen dann klappt das auch :? `
                        Du sprichst in Rätseln. Wie und wo muss man dass nehmen.

                        Wie wäre es mit ein paar Screenshots vom Flow und den eingesetzten Nodes?

                        Meine Besipiele sind kein Allheilmittel und funktionieren nur so wie ich es testweise und behlfsmäßig nachstellen kann. Ich schreibe deshalb auch immer, man muß verstanden haben was man da tut und wie das Ganze funktioniert.

                        1 Antwort Letzte Antwort
                        0
                        • inesaI Offline
                          inesaI Offline
                          inesa
                          schrieb am zuletzt editiert von
                          #24

                          Ich wollte damit sagen das es funktioniert wenn man als input vom flow mqtt json nimmt.

                          Hatte es vorher mit mqtt versucht und da hagelte es Fehlermeldungen.

                          Ines

                          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

                          612

                          Online

                          32.6k

                          Benutzer

                          81.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