Node-RED Payload Abfragen mit Function-Node und mehreren Ausgängen

แชร์
ฝัง
  • เผยแพร่เมื่อ 8 พ.ย. 2024

ความคิดเห็น • 6

  • @EliasX962
    @EliasX962 8 หลายเดือนก่อน

    Sehr interessant, danke für den Einblick. Freue mich schon auf die nächsten weiteren Projekte / Videos von dir!

  • @markuspfaff5504
    @markuspfaff5504 4 หลายเดือนก่อน

    hallo, super erklärt :-) wie geht man vor wenn man folgendes möchte: ein Node liefert ein true oder false und ein anderer Node einen Temperaturwert z.B. 15.4. Nun möchte ich eine if-Bedingung erstellen. Wenn true und >20, dann Rollladen runter (true oder false senden). Mein Problem also: wie bekomme beides als Eingänge in die function-Node und wie verarbeite ich das dann in dem function-Node? (Hintergrund: mit dem Node Big Timer sende ich sonnenstandabhängig ein true oder false an die Rollladensteuerung, hier ein KNX-Node. Die Rollläden würden aber auch bei niedrigen Temperaturen runtergehen. Deshalb möchte ich die Außentemperatur mit berücksichtigen (Wetterstation) und die Rollläden nur runter lassen, wenn es draußen >20 Grad hat. Ansonsten bleiben die Rollläden oben. Also muss ich die beiden Sachen in eine if-Bedingung bringen und als Ergbnis ein true oder false erzeugen, dass dann an die Rollladensteuerung geht :-)

    • @pixeledi
      @pixeledi  4 หลายเดือนก่อน +1

      Hey, schönes Beispiel von dir. Schau dir den "join" Node an und stelle ihn auf Manuell. Erstelle ein Array und setze als Parameter, dass die Aktion bei 2 eingehenden Nachrichten ausgeführt wird. Wenn Node A sendet, wird gewartet bis Node B auch sendet. Dann gibt der Join Node das Payload als Array aus, und du findest die Infos zum Beispiel unter msg.payload[0].

    • @markuspfaff5504
      @markuspfaff5504 4 หลายเดือนก่อน

      @@pixeledi hey, danke für die schnelle Antwort. Das probiere ich gleich mal aus 🙂nur hier weiß ich nicht, was du meinst: "Erstelle ein Array und ..."

    • @pixeledi
      @pixeledi  4 หลายเดือนก่อน

      @@markuspfaff5504 In den Join-Node Eigenschaften hast du mehrere Möglichkeiten, die kombinierten Werte weiterzuleiten. Schau mal hier vorbei: cookbook.nodered.org/basic/join-streams

    • @markuspfaff5504
      @markuspfaff5504 4 หลายเดือนก่อน

      @@pixeledi ok, habe das mit dem Array nun hinbekommen und im debug sieht es so aus: [1, 20.2] ! nun habe ich aber das Problem, dass die 1 in größeren Abständen gesendet wird und die Temperatur in kürzeren Abständen. Das bedeutet, dass das Array manchmal so gefüllt wird: [20.1, 21.3] :-) also ist das ein weiteres Problem. Der/das Join-Node sammelt halt hintereinander zwei Events, dann wird das Array befüllt. Mein Bauchgefühl sagt, ich muss das irgendwie über globale Variablen lösen. Habe ich aber noch nie gemacht.