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. Node-Red
  5. Mehrere Datenpunkte mit einer variablen vergleichen

NEWS

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

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    2.2k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    16
    1
    3.4k

Mehrere Datenpunkte mit einer variablen vergleichen

Geplant Angeheftet Gesperrt Verschoben Node-Red
25 Beiträge 2 Kommentatoren 1.5k Aufrufe 2 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.
  • R Renegade 0

    @mickym

    habs jetzt mit etwas tüfteln wie folgt gelöst. Nicht schön, aber funktioniert. ;)

    [
        {
            "id": "1ae851a8.7c63de",
            "type": "tab",
            "label": "RFID-Check",
            "disabled": false,
            "info": ""
        },
        {
            "id": "51113dd8.972204",
            "type": "ioBroker list",
            "z": "1ae851a8.7c63de",
            "name": "authorised",
            "topic": "0_userdata.0.door-server.door-RFID.*",
            "objType": "state",
            "regex": "",
            "asArray": "false",
            "onlyIDs": "false",
            "withValues": "true",
            "x": 550,
            "y": 200,
            "wires": [
                [
                    "f064dd3d.75fe8"
                ]
            ]
        },
        {
            "id": "a2577882.2efd08",
            "type": "ioBroker in",
            "z": "1ae851a8.7c63de",
            "name": "client/RFID",
            "topic": "mqtt.0.client.RFID",
            "payloadType": "object",
            "onlyack": "",
            "func": "all",
            "gap": "",
            "fireOnStart": "false",
            "x": 90,
            "y": 200,
            "wires": [
                [
                    "9d981111.4543b"
                ]
            ]
        },
        {
            "id": "9d981111.4543b",
            "type": "change",
            "z": "1ae851a8.7c63de",
            "name": "",
            "rules": [
                {
                    "t": "move",
                    "p": "payload",
                    "pt": "msg",
                    "to": "search",
                    "tot": "msg"
                }
            ],
            "action": "",
            "property": "",
            "from": "",
            "to": "",
            "reg": false,
            "x": 300,
            "y": 200,
            "wires": [
                [
                    "51113dd8.972204"
                ]
            ]
        },
        {
            "id": "7d60e459.bed5bc",
            "type": "debug",
            "z": "1ae851a8.7c63de",
            "name": "Finish",
            "active": true,
            "tosidebar": true,
            "console": false,
            "tostatus": true,
            "complete": "payload",
            "targetType": "msg",
            "statusVal": "payload",
            "statusType": "auto",
            "x": 1190,
            "y": 140,
            "wires": []
        },
        {
            "id": "f064dd3d.75fe8",
            "type": "switch",
            "z": "1ae851a8.7c63de",
            "name": "Treffer?",
            "property": "payload",
            "propertyType": "msg",
            "rules": [
                {
                    "t": "jsonata_exp",
                    "v": "search.val = payload.val",
                    "vt": "jsonata"
                }
            ],
            "checkall": "false",
            "repair": false,
            "outputs": 1,
            "x": 740,
            "y": 200,
            "wires": [
                [
                    "8d0e7800.870138",
                    "ccff8fad.33733"
                ]
            ]
        },
        {
            "id": "8d0e7800.870138",
            "type": "change",
            "z": "1ae851a8.7c63de",
            "name": "setze payload auf true",
            "rules": [
                {
                    "t": "set",
                    "p": "payload",
                    "pt": "msg",
                    "to": "true",
                    "tot": "bool"
                }
            ],
            "action": "",
            "property": "",
            "from": "",
            "to": "",
            "reg": false,
            "x": 980,
            "y": 140,
            "wires": [
                [
                    "7d60e459.bed5bc"
                ]
            ]
        },
        {
            "id": "7e533710.fd4f68",
            "type": "debug",
            "z": "1ae851a8.7c63de",
            "name": "result",
            "active": true,
            "tosidebar": true,
            "console": false,
            "tostatus": false,
            "complete": "payload",
            "targetType": "msg",
            "statusVal": "",
            "statusType": "auto",
            "x": 1190,
            "y": 240,
            "wires": []
        },
        {
            "id": "ccff8fad.33733",
            "type": "change",
            "z": "1ae851a8.7c63de",
            "name": "",
            "rules": [
                {
                    "t": "set",
                    "p": "payload",
                    "pt": "msg",
                    "to": "payload.common.name",
                    "tot": "msg"
                }
            ],
            "action": "",
            "property": "",
            "from": "",
            "to": "",
            "reg": false,
            "x": 970,
            "y": 240,
            "wires": [
                [
                    "7e533710.fd4f68"
                ]
            ]
        }
    ]
    
    mickymM Online
    mickymM Online
    mickym
    Most Active
    schrieb am zuletzt editiert von
    #15

    Was ist unschön - warum Du die RFID als objekt holst und nicht wie ich als Value - verstehe ich allerdings nicht.

    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.

    R 1 Antwort Letzte Antwort
    0
    • mickymM mickym

      Was ist unschön - warum Du die RFID als objekt holst und nicht wie ich als Value - verstehe ich allerdings nicht.

      R Offline
      R Offline
      Renegade 0
      schrieb am zuletzt editiert von
      #16

      @mickym

      Da die als value im String kommt und ich die val aus der Liste als number bekomme. Also habe ich gleich die RFID als Objekt geholt, da ist es dann als number "konvertiert". ;)

      mickymM 1 Antwort Letzte Antwort
      0
      • R Renegade 0

        @mickym

        Da die als value im String kommt und ich die val aus der Liste als number bekomme. Also habe ich gleich die RFID als Objekt geholt, da ist es dann als number "konvertiert". ;)

        mickymM Online
        mickymM Online
        mickym
        Most Active
        schrieb am zuletzt editiert von mickym
        #17

        @renegade-0 Ok - ansonsten habe ich Dir ja unten gezeigt, wie Du in der switch Node konvertierst - damit das alles matched. Wahrscheinlich sind sogar Strings besser - nicht dass es RFID mit führenden Nullen gibt. ;)

        Aber was ist daran unschön. ;) ???

        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.

        R 1 Antwort Letzte Antwort
        0
        • mickymM mickym

          @renegade-0 Ok - ansonsten habe ich Dir ja unten gezeigt, wie Du in der switch Node konvertierst - damit das alles matched. Wahrscheinlich sind sogar Strings besser - nicht dass es RFID mit führenden Nullen gibt. ;)

          Aber was ist daran unschön. ;) ???

          R Offline
          R Offline
          Renegade 0
          schrieb am zuletzt editiert von
          #18

          @mickym
          schöner wäre natürlich ein echtes konvertieren, aber so fit bin ich noch nicht. Bin ja ein Frischling auf dem Gebiet node-Red. :)

          Kämpfe zb. gerade damit eine saubere Lösung zu finden, wenn eine Variable den Status von true auf false oder anders rum ändert, der switch dann sagt bei ture mache das und bei false das, aber leider kommen die werte aus der Var als bool und die switch kann kein bool.

          mickymM 1 Antwort Letzte Antwort
          0
          • R Renegade 0

            @mickym
            schöner wäre natürlich ein echtes konvertieren, aber so fit bin ich noch nicht. Bin ja ein Frischling auf dem Gebiet node-Red. :)

            Kämpfe zb. gerade damit eine saubere Lösung zu finden, wenn eine Variable den Status von true auf false oder anders rum ändert, der switch dann sagt bei ture mache das und bei false das, aber leider kommen die werte aus der Var als bool und die switch kann kein bool.

            mickymM Online
            mickymM Online
            mickym
            Most Active
            schrieb am zuletzt editiert von
            #19

            @renegade-0 Der Switch kann bool .)

            603e6269-5e30-4439-af6e-dbafed45754a-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.

            R 1 Antwort Letzte Antwort
            0
            • mickymM mickym

              @renegade-0 Der Switch kann bool .)

              603e6269-5e30-4439-af6e-dbafed45754a-image.png

              R Offline
              R Offline
              Renegade 0
              schrieb am zuletzt editiert von
              #20

              @mickym
              ahh, warum kann ich da ned einfach auswählen, wie bei den anderen?^^

              Letzte Frage für heute, weil ich grad Dich als Genie dran hab. :) Wie löst du es, wenn du quasi eine AND funktion brauchst. also wenn Var 1 +2 true, dann mach true?

              mickymM 2 Antworten Letzte Antwort
              0
              • R Renegade 0

                @mickym
                ahh, warum kann ich da ned einfach auswählen, wie bei den anderen?^^

                Letzte Frage für heute, weil ich grad Dich als Genie dran hab. :) Wie löst du es, wenn du quasi eine AND funktion brauchst. also wenn Var 1 +2 true, dann mach true?

                mickymM Online
                mickymM Online
                mickym
                Most Active
                schrieb am zuletzt editiert von mickym
                #21

                @renegade-0

                Mit JSONATA hast Du über $string() in String gewandelt. Das habe ich Dir unten gezeigt.

                AND machst auch über JSONATA oder sammelst alles in einem Objekt, das mache ich bei vielen Verknüpfungen - da kann ich ggf. auch einen anderen Thread verweisen, wo ich das alles erklärt habe.

                Die Nachrichten warten nicht aufeinander. Entweder vergleichst Du innerhalb eines Nachrichtenobjektes oder sammelst in Flow-Variablen.

                266b3423-bb08-4f05-84a6-44ded15b9110-image.png

                b40518b6-e9f9-49c4-86ec-f7793f0f3151-image.png

                750c55b9-af81-4309-904d-04fdd2271bcd-image.png

                Hier der Flow zu spielen:

                [
                   {
                       "id": "4d5d7a10.756a74",
                       "type": "inject",
                       "z": "1121287c.817698",
                       "name": "",
                       "props": [
                           {
                               "p": "var1",
                               "v": "25",
                               "vt": "num"
                           },
                           {
                               "p": "var2",
                               "v": "hallo",
                               "vt": "str"
                           }
                       ],
                       "repeat": "",
                       "crontab": "",
                       "once": false,
                       "onceDelay": 0.1,
                       "topic": "",
                       "payloadType": "str",
                       "x": 670,
                       "y": 560,
                       "wires": [
                           [
                               "74314629.96c8b8"
                           ]
                       ]
                   },
                   {
                       "id": "74314629.96c8b8",
                       "type": "switch",
                       "z": "1121287c.817698",
                       "name": "",
                       "property": "payload",
                       "propertyType": "msg",
                       "rules": [
                           {
                               "t": "jsonata_exp",
                               "v": "var1 = 25 and var2 = 'hallo'",
                               "vt": "jsonata"
                           }
                       ],
                       "checkall": "true",
                       "repair": false,
                       "outputs": 1,
                       "x": 850,
                       "y": 560,
                       "wires": [
                           [
                               "d6e9cd73.e8162"
                           ]
                       ]
                   },
                   {
                       "id": "d6e9cd73.e8162",
                       "type": "debug",
                       "z": "1121287c.817698",
                       "name": "var1 = 25 und var2 = hallo",
                       "active": true,
                       "tosidebar": true,
                       "console": false,
                       "tostatus": false,
                       "complete": "true",
                       "targetType": "full",
                       "statusVal": "",
                       "statusType": "auto",
                       "x": 1090,
                       "y": 560,
                       "wires": []
                   },
                   {
                       "id": "a83d9abb.c1d118",
                       "type": "inject",
                       "z": "1121287c.817698",
                       "name": "",
                       "props": [
                           {
                               "p": "var1",
                               "v": "22",
                               "vt": "num"
                           },
                           {
                               "p": "var2",
                               "v": "hallo",
                               "vt": "str"
                           }
                       ],
                       "repeat": "",
                       "crontab": "",
                       "once": false,
                       "onceDelay": 0.1,
                       "topic": "",
                       "x": 670,
                       "y": 500,
                       "wires": [
                           [
                               "74314629.96c8b8"
                           ]
                       ]
                   }
                ]
                

                Für die Überwachung mehrere Zustände verweise ich auch einen anderen Beitrag von mir: https://forum.iobroker.net/topic/44765/gelöst-überwachung-eingeschaltete-verbraucher/3?_=1623542233576

                Manche installieren sich auch eine UND Node. Ich denke man kommt ohne aus. Aber wer will kann ja zusätzliche NOdes installieren: https://flows.nodered.org/node/node-red-contrib-boolean-logic

                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.

                R 1 Antwort Letzte Antwort
                0
                • mickymM mickym

                  @renegade-0

                  Mit JSONATA hast Du über $string() in String gewandelt. Das habe ich Dir unten gezeigt.

                  AND machst auch über JSONATA oder sammelst alles in einem Objekt, das mache ich bei vielen Verknüpfungen - da kann ich ggf. auch einen anderen Thread verweisen, wo ich das alles erklärt habe.

                  Die Nachrichten warten nicht aufeinander. Entweder vergleichst Du innerhalb eines Nachrichtenobjektes oder sammelst in Flow-Variablen.

                  266b3423-bb08-4f05-84a6-44ded15b9110-image.png

                  b40518b6-e9f9-49c4-86ec-f7793f0f3151-image.png

                  750c55b9-af81-4309-904d-04fdd2271bcd-image.png

                  Hier der Flow zu spielen:

                  [
                     {
                         "id": "4d5d7a10.756a74",
                         "type": "inject",
                         "z": "1121287c.817698",
                         "name": "",
                         "props": [
                             {
                                 "p": "var1",
                                 "v": "25",
                                 "vt": "num"
                             },
                             {
                                 "p": "var2",
                                 "v": "hallo",
                                 "vt": "str"
                             }
                         ],
                         "repeat": "",
                         "crontab": "",
                         "once": false,
                         "onceDelay": 0.1,
                         "topic": "",
                         "payloadType": "str",
                         "x": 670,
                         "y": 560,
                         "wires": [
                             [
                                 "74314629.96c8b8"
                             ]
                         ]
                     },
                     {
                         "id": "74314629.96c8b8",
                         "type": "switch",
                         "z": "1121287c.817698",
                         "name": "",
                         "property": "payload",
                         "propertyType": "msg",
                         "rules": [
                             {
                                 "t": "jsonata_exp",
                                 "v": "var1 = 25 and var2 = 'hallo'",
                                 "vt": "jsonata"
                             }
                         ],
                         "checkall": "true",
                         "repair": false,
                         "outputs": 1,
                         "x": 850,
                         "y": 560,
                         "wires": [
                             [
                                 "d6e9cd73.e8162"
                             ]
                         ]
                     },
                     {
                         "id": "d6e9cd73.e8162",
                         "type": "debug",
                         "z": "1121287c.817698",
                         "name": "var1 = 25 und var2 = hallo",
                         "active": true,
                         "tosidebar": true,
                         "console": false,
                         "tostatus": false,
                         "complete": "true",
                         "targetType": "full",
                         "statusVal": "",
                         "statusType": "auto",
                         "x": 1090,
                         "y": 560,
                         "wires": []
                     },
                     {
                         "id": "a83d9abb.c1d118",
                         "type": "inject",
                         "z": "1121287c.817698",
                         "name": "",
                         "props": [
                             {
                                 "p": "var1",
                                 "v": "22",
                                 "vt": "num"
                             },
                             {
                                 "p": "var2",
                                 "v": "hallo",
                                 "vt": "str"
                             }
                         ],
                         "repeat": "",
                         "crontab": "",
                         "once": false,
                         "onceDelay": 0.1,
                         "topic": "",
                         "x": 670,
                         "y": 500,
                         "wires": [
                             [
                                 "74314629.96c8b8"
                             ]
                         ]
                     }
                  ]
                  

                  Für die Überwachung mehrere Zustände verweise ich auch einen anderen Beitrag von mir: https://forum.iobroker.net/topic/44765/gelöst-überwachung-eingeschaltete-verbraucher/3?_=1623542233576

                  Manche installieren sich auch eine UND Node. Ich denke man kommt ohne aus. Aber wer will kann ja zusätzliche NOdes installieren: https://flows.nodered.org/node/node-red-contrib-boolean-logic

                  R Offline
                  R Offline
                  Renegade 0
                  schrieb am zuletzt editiert von
                  #22

                  @mickym
                  perfekt danke dir. Damit werde ich mich morgen mal soielen. Also falls du mal an die österreichische Grenze kommst. Steht ein Bier, Kaffe, Tee oder was immer du willst gern für Dich bereit. :)

                  Und nochmals vielen Lieben Dank für die Rettung und deine Zeit.

                  mickymM 1 Antwort Letzte Antwort
                  0
                  • R Renegade 0

                    @mickym
                    perfekt danke dir. Damit werde ich mich morgen mal soielen. Also falls du mal an die österreichische Grenze kommst. Steht ein Bier, Kaffe, Tee oder was immer du willst gern für Dich bereit. :)

                    Und nochmals vielen Lieben Dank für die Rettung und deine Zeit.

                    mickymM Online
                    mickymM Online
                    mickym
                    Most Active
                    schrieb am zuletzt editiert von mickym
                    #23

                    @renegade-0 Soweit weg wohne ich nicht davon weg. ;)

                    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.

                    R 1 Antwort Letzte Antwort
                    0
                    • mickymM mickym

                      @renegade-0 Soweit weg wohne ich nicht davon weg. ;)

                      R Offline
                      R Offline
                      Renegade 0
                      schrieb am zuletzt editiert von
                      #24

                      @mickym
                      Na dann, die Prüfung ist bald rum.^^

                      1 Antwort Letzte Antwort
                      0
                      • R Renegade 0

                        @mickym
                        ahh, warum kann ich da ned einfach auswählen, wie bei den anderen?^^

                        Letzte Frage für heute, weil ich grad Dich als Genie dran hab. :) Wie löst du es, wenn du quasi eine AND funktion brauchst. also wenn Var 1 +2 true, dann mach true?

                        mickymM Online
                        mickymM Online
                        mickym
                        Most Active
                        schrieb am zuletzt editiert von
                        #25

                        @renegade-0 sagte in Mehrere Datenpunkte mit einer variablen vergleichen:

                        @mickym
                        ahh, warum kann ich da ned einfach auswählen, wie bei den anderen?^^

                        Letzte Frage für heute, weil ich grad Dich als Genie dran hab. :) Wie löst du es, wenn du quasi eine AND funktion brauchst. also wenn Var 1 +2 true, dann mach true?

                        Bei var1=true und var2= true (also beide Variablen enthalten einen Bool) - kannst in das JSONATA Feld natürlich einfach schreiben:

                        var1 and var2

                        88c78abc-59af-4532-acfa-a63ea616cfb6-image.png

                        Der Switch leitet dann an diesen Ausgang wenn der gesamte Ausdruck im JSONATA Feld true ergibt.

                        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.

                        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

                        559

                        Online

                        32.4k

                        Benutzer

                        81.5k

                        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