Ankündigung

Einklappen
Keine Ankündigung bisher.

Wert aus json extrahieren mit Hilfe von node-red

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    Wert aus json extrahieren mit Hilfe von node-red

    Moin zusammen,

    ich versuche aus einem String, den mein Stromzähler per Tasmota an einen MQTT-Broker sendet einen einzelnen Wert per node-red zu extrahieren.
    Bisher habe ich das mit Edomi erledigt, was kein Problem war, allerdings bin ich auf der Suche nach Alternativen zu Edomi.
    Der String sieht folgendermassen aus:
    Code:
    {"Time":"2024-08-02T19:47:37","LK13BE":{"energy_sum":2540.772,"energy_supply":306.662,"power":669}}
    Im ersten Schritt interessiert mich der Wert von "power", später aber auch "energy_sum" und "energy_supply".
    Ich muss dazu sagen, dass ich in Sachen node-red blutiger Anfänger bin.
    Im node-red habe ich schon den String, weiss jetzt aber nicht weiter:
    snip1.png

    Kann mir jemand einen Stups in die richtige Richtung geben?

    #2
    Nicht in String denken sondern in JSON.

    Alles was in den {} steht und per Komma getrennt ist ergibt immer ein Key-word und dahinter den Value.

    msg.payload.LK13BE.power sollte 420 ergeben.

    Hast du [] Dann ist das ein Array da gehst dann mit der 0 base Nummer des wievielten Elements drauf. und wenn da hinter dann wieder {} kommen dann halt wieder mit den Punkten getrennt.

    Du kannst aber auch im NR ganz gut eine solche payload merken und mal auf den Zielwert klicken irgendwo erscheint dann eine Anzeige wo man sich den Pfad ausgeben lassen kann der anzugeben ist, um genau diesen Wert zu haben.
    Auch im MQTT-Explorer kann man so auf den Zielwert navigieren.

    ist halt JSON Standard.
    ----------------------------------------------------------------------------------
    "Der Hauptgrund für Stress ist der tägliche Kontakt mit Idioten."
    Albert Einstein

    Kommentar


      #3
      Vielen Dank, das hat mir schonmal geholfen den Wert im Debug zu extrahieren.
      Jetzt möchte ich das aber noch in eine InfluxDB schreiben und stehe wieder auf dem Schlauch.
      snip2.png

      Das erstellt mir in der InfluxDB zwar ein Measurement mit dem entsprechenden Namen, Daten kommen dort aber nicht an

      Kommentar


        #4
        NR an Influx habe ich noch nicht gebaut, würde ich jetzt in YT nach einer Anleitung suchen.
        ----------------------------------------------------------------------------------
        "Der Hauptgrund für Stress ist der tägliche Kontakt mit Idioten."
        Albert Einstein

        Kommentar


          #5
          Hast du NodeRed unterhalb eines anderen Systems laufen? Ich z.B. habe es auf dem ioBroker laufen, von welchem man dann die Datenpunkte in die InfluxDB schreiben kann.
          NodeRed selber hat aber auch einen Adapter dafür. Schau mal hier:
          https://www.bjoerns-techblog.de/2024...red-befuellen/

          Kommentar

          Lädt...
          X