Shelly 2PM | Doppelpunkt im JSON String kann nicht in NodeRed als JavaScript Funktion bearbeitet werden

  • Hallo,

    mein Problem betrifft mehrere Bereiche deswegen weis ich nicht genau wo die Frage richtigerweiße zu stellen ist.

    Ich verarbeite die MQTT Befehle in NodeRed und möchte auf ein Attribut von einem JSON String von einem 2PM zugreifen.

    An sich würde das in einem Funktions Node gehen per

    Code
     var value = msg.payload.key

    Allerdings hat der 2PM keys die heißen "switch:0" und dann kommt erst der normale Doppelpunkt der in einem JSON Objekt key und value trennt.

    Ich müsste also in obigen beispiel dann so drauf zugreifen

    Code
    var value = msg.payload.switch:0.xyz

    Und das gibt natürlich einen Syntax fehler.

    Hier ein Beispiel JSON nachdem es durch 2 JSON Nodes ging:

    Gibt es eine Möglichkeit das zu umgehen? Bzw. gibt es einen einfacheren Weg auf die Werte in den MQTT JSON Objekten zuzugreifen ohne es zweimal durch ein JSON Node zu jagen und dann noch extra eine Funktion schreiben zu müssen?

    mfg

    StreifenKarl

  • Ich hatte letztens bei einem Freund genau dieses Problem in Node RED lösen können. Es geht. Schubbie's Hinweis auf den switch node möchte ich aus meiner Erinnerung bestätigen.

    An Cloud-/Szenen-Benutzer (insbesondere für Regelungen): Was erwartest du, wenn Internet oder Cloud sabotiert werden? Nicht nur dafür meine kleine Skripteinführung  8)

    Die einzig existierende Konstante ist der Wandel. Oft liegt die größte Schwierigkeit darin, das Anliegen des Klienten zu verstehen.

  • Ich hatte in node-red auch mit dem Doppelpunkt gekämpft. Ein plusH&T sollte seine Werte ausgeben und dann an Diagramme im Dashboard und einen TRV via mqtt schicken.

    Der Inhalt kann nicht angezeigt werden, da Sie keine Berechtigung haben, diesen Inhalt zu sehen.

    Mit einer Funktion habe ich das übers topic gemacht (hier bei der Temperatur):

    Mit der Switch node geht es aber auch...

  • Interessant. Die vom Plus H&T des Freundes verwendeten publish Topics sahen alle anders aus. Ich hatte aber nur einen Abend Zeit dafür ;-)

    Ich erwarte noch die Lieferung eines Plus H&T. Damit werde ich dann ausgiebiger experimentieren können.

    martner und andere: Der Quellcode wird übersichtlicher bei Verwendung eines Code (</>) Abschnitts. :-)

    An Cloud-/Szenen-Benutzer (insbesondere für Regelungen): Was erwartest du, wenn Internet oder Cloud sabotiert werden? Nicht nur dafür meine kleine Skripteinführung  8)

    Die einzig existierende Konstante ist der Wandel. Oft liegt die größte Schwierigkeit darin, das Anliegen des Klienten zu verstehen.

  • Dieses Thema enthält 7 weitere Beiträge, die nur für registrierte Benutzer sichtbar sind.