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 Steckdosen Werte vergleichen zum Schalten

NEWS

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    10
    1
    179

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    24
    1
    1.4k

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

Mehrere Steckdosen Werte vergleichen zum Schalten

Geplant Angeheftet Gesperrt Verschoben Node-Red
37 Beiträge 3 Kommentatoren 3.2k Aufrufe 3 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.
  • K Kredar

    @mickym

    Diese Join-Schaltung habe ich auch schon hier im Forum gesehen, aber leider nie für meine Zwecke umsetzen können. Einige Nodes schicken ein "true" oder "false" raus, da kann ich evtl. das Node-Beispiel von dir auch einsetzen und somit das ganze erheblich verbessern ohne function-Node (habe ich oft im Einsatz, vergleichen usw...).

    Was macht der OR?-Change Node bei deinem Beispiel? Bei mir ist das True oder False immer vor dem OR?-Change Node dahinter kommt nichts an.

    mfg

    mickymM Offline
    mickymM Offline
    mickym
    Most Active
    schrieb am zuletzt editiert von mickym
    #24

    @kredar sagte in Mehrere Steckdosen Werte vergleichen zum Schalten:

    Was macht der OR?-Change Node bei deinem Beispiel? Bei mir ist das True oder False immer vor dem OR?-Change Node dahinter kommt nichts an.

    es muss ein Objekt in die OR Node so wie du es in meiner Debug Node siehst.

    1838347e-15b4-4d8b-82bb-ad40c2ea25f1-image.png

    Die OR Node prüft den Boolean jeder Eigenschaft des Objektes und verknüpft diese mit OR und gibt dann als Gesamtergebnis true oder false aus. In diesem Fall gibt die OR Node true aus, wenn nur eine Eigenschaft true ist.

    Im Übrigen kannst du das auch als Switch Node haben, wenn Du nur bei bestimmten Zustand schalten willst.

    Hier mal alle meine Booleschen Nodes mit dem ich Eigenschaften eines Objektes verknüpfen kann, entweder als Switch oder als Change Node:

    Das Ganze habe ich mir in meiner lokalen Bibliothek gespeichert:

    2e942570-edea-483c-b849-60232a57d625-image.png

    [
       {
           "id": "65f2ba0892af4a3e",
           "type": "switch",
           "z": "0a30fff805c63db0",
           "name": "AND?",
           "property": "$reduce(payload.*,function($i, $j){$i and $j})",
           "propertyType": "jsonata",
           "rules": [
               {
                   "t": "true"
               },
               {
                   "t": "false"
               }
           ],
           "checkall": "true",
           "repair": false,
           "outputs": 2,
           "x": 530,
           "y": 620,
           "wires": [
               [],
               []
           ],
           "info": "# All properties of an object must be true.\n\nAll properties of an object must be true.\n\n`{\n    \"Office\": true,\n    \"Bedroom\": true,\n    \"Living Room Balcony\": true,\n    \"Living Room Right Window\": true,\n    \"Living Room Left Window\": true\n}`\n\nis true,\n\n`{\n    \"Office\": true,\n    \"Bedroom\": false,\n    \"Living Room Balcony\": true,\n    \"Living Room Right Window\": true,\n    \"Living Room Left Window\": true\n}`\n\nis false.\n\n# Alle Eigenschaften eines Objektes müssen wahr sein\n\nAlle Eigenschaften eines Objektes müssen wahr sein.\n\n`{\n    \"Büro Balkon\": true,\n    \"Schlafzimmer Balkon\": true,\n    \"Wohnzimmer Balkon\": true,\n    \"Wohnzimmer rechtes Fenster\": true,\n    \"Wohnzimmer linkes Fenster\": true\n}`\n\nergibt true,\n\n`{\n    \"Büro Balkon\": true,\n    \"Schlafzimmer Balkon\": true,\n    \"Wohnzimmer Balkon\": true,\n    \"Wohnzimmer rechtes Fenster\": false,\n    \"Wohnzimmer linkes Fenster\": true\n}`\n\nergibt false."
       },
       {
           "id": "aa5712231be27d09",
           "type": "change",
           "z": "0a30fff805c63db0",
           "name": "AND ?",
           "rules": [
               {
                   "t": "set",
                   "p": "payload",
                   "pt": "msg",
                   "to": "$reduce(payload.*,function($i, $j){$i and $j})",
                   "tot": "jsonata"
               }
           ],
           "action": "",
           "property": "",
           "from": "",
           "to": "",
           "reg": false,
           "x": 530,
           "y": 660,
           "wires": [
               []
           ],
           "info": "# All Property of an object must be true.\n\nAll properties of an object must be true.\n\n`{\n    \"Office\": true,\n    \"Bedroom\": true,\n    \"Living Room Balcony\": true,\n    \"Living Room Right Window\": true,\n    \"Living Room Left Window\": true\n}`\n\nis true,\n\n`{\n    \"Office\": true,\n    \"Bedroom\": false,\n    \"Living Room Balcony\": true,\n    \"Living Room Right Window\": true,\n    \"Living Room Left Window\": true\n}`\n\nis false.\n\n# Alle Eigenschaften eines Objektes müssen wahr sein\n\nAlle Eigenschaften eines Objektes müssen wahr sein.\n\n`{\n    \"Büro Balkon\": true,\n    \"Schlafzimmer Balkon\": true,\n    \"Wohnzimmer Balkon\": true,\n    \"Wohnzimmer rechtes Fenster\": true,\n    \"Wohnzimmer linkes Fenster\": true\n}`\n\nergibt true,\n\n`{\n    \"Büro Balkon\": true,\n    \"Schlafzimmer Balkon\": true,\n    \"Wohnzimmer Balkon\": true,\n    \"Wohnzimmer rechtes Fenster\": false,\n    \"Wohnzimmer linkes Fenster\": true\n}`\n\nergibt false."
       },
       {
           "id": "73b72c35e0dc73f8",
           "type": "switch",
           "z": "0a30fff805c63db0",
           "name": "OR?",
           "property": "$reduce(payload.*,function($i, $j){$i or $j})",
           "propertyType": "jsonata",
           "rules": [
               {
                   "t": "true"
               },
               {
                   "t": "false"
               }
           ],
           "checkall": "true",
           "repair": false,
           "outputs": 2,
           "x": 690,
           "y": 620,
           "wires": [
               [],
               []
           ],
           "info": "# Only one or more properties of an object need to be true.\n\n Only one or more properties of an object need to be true.\n\n`{\n    \"Office\": false,\n    \"Bedroom\": false,\n    \"Living Room Balcony\": false,\n    \"Liviueng Room Right Window\": false,\n    \"Living Room Left Window\": false\n}`\n\nis false,\n\n`{\n    \"Office\": false,\n    \"Bedroom\": true,\n    \"Living Room Balcony\": false,\n    \"Living Room Right Window\": false,\n    \"Living Room Left Window\": false\n}`\n\nis true.\n\n# Mindestens eine Eigenschaft des Objektes muss wahr sein.\n\nMindestens eine Eigenschaft des Objektes muss wahr sein.\n\n`{\n    \"Büro Balkon\": false,\n    \"Schlafzimmer Balkon\": false,\n    \"Wohnzimmer Balkon\": false,\n    \"Wohnzimmer rechtes Fenster\": false,\n    \"Wohnzimmer linkes Fenster\": false\n}`\n\nergibt false,\n\n`{\n    \"Büro Balkon\": false,\n    \"Schlafzimmer Balkon\": true,\n    \"Wohnzimmer Balkon\": false,\n    \"Wohnzimmer rechtes Fenster\": false,\n    \"Wohnzimmer linkes Fenster\": false\n}`\n\nergibt true (wahr)."
       },
       {
           "id": "daf8416430d1782f",
           "type": "change",
           "z": "0a30fff805c63db0",
           "name": "OR ?",
           "rules": [
               {
                   "t": "set",
                   "p": "payload",
                   "pt": "msg",
                   "to": "$reduce(payload.*,function($i, $j){$i or $j})",
                   "tot": "jsonata"
               }
           ],
           "action": "",
           "property": "",
           "from": "",
           "to": "",
           "reg": false,
           "x": 690,
           "y": 660,
           "wires": [
               []
           ],
           "info": "# Only one or more properties of an object need to be true.\n\n Only one or more properties of an object need to be true.\n\n`{\n    \"Office\": false,\n    \"Bedroom\": false,\n    \"Living Room Balcony\": false,\n    \"Liviueng Room Right Window\": false,\n    \"Living Room Left Window\": false\n}`\n\nis false,\n\n`{\n    \"Office\": false,\n    \"Bedroom\": true,\n    \"Living Room Balcony\": false,\n    \"Living Room Right Window\": false,\n    \"Living Room Left Window\": false\n}`\n\nis true.\n\n# Mindestens eine Eigenschaft des Objektes muss wahr sein.\n\nMindestens eine Eigenschaft des Objektes muss wahr sein.\n\n`{\n    \"Büro Balkon\": false,\n    \"Schlafzimmer Balkon\": false,\n    \"Wohnzimmer Balkon\": false,\n    \"Wohnzimmer rechtes Fenster\": false,\n    \"Wohnzimmer linkes Fenster\": false\n}`\n\nergibt false,\n\n`{\n    \"Büro Balkon\": false,\n    \"Schlafzimmer Balkon\": true,\n    \"Wohnzimmer Balkon\": false,\n    \"Wohnzimmer rechtes Fenster\": false,\n    \"Wohnzimmer linkes Fenster\": false\n}`\n\nergibt true (wahr)."
       },
       {
           "id": "03eb6e22cf11f7a8",
           "type": "change",
           "z": "0a30fff805c63db0",
           "name": "NOT",
           "rules": [
               {
                   "t": "set",
                   "p": "payload",
                   "pt": "msg",
                   "to": "$not(payload)\t",
                   "tot": "jsonata"
               }
           ],
           "action": "",
           "property": "",
           "from": "",
           "to": "",
           "reg": false,
           "x": 850,
           "y": 640,
           "wires": [
               []
           ]
       }
    ]
    

    Wie gesagt der Trick ist, alle Objekte, die Du zusammen analysieren möchtest, in einem Objekte zu sammeln.

    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.

    K 1 Antwort Letzte Antwort
    0
    • mickymM mickym

      @kredar sagte in Mehrere Steckdosen Werte vergleichen zum Schalten:

      Was macht der OR?-Change Node bei deinem Beispiel? Bei mir ist das True oder False immer vor dem OR?-Change Node dahinter kommt nichts an.

      es muss ein Objekt in die OR Node so wie du es in meiner Debug Node siehst.

      1838347e-15b4-4d8b-82bb-ad40c2ea25f1-image.png

      Die OR Node prüft den Boolean jeder Eigenschaft des Objektes und verknüpft diese mit OR und gibt dann als Gesamtergebnis true oder false aus. In diesem Fall gibt die OR Node true aus, wenn nur eine Eigenschaft true ist.

      Im Übrigen kannst du das auch als Switch Node haben, wenn Du nur bei bestimmten Zustand schalten willst.

      Hier mal alle meine Booleschen Nodes mit dem ich Eigenschaften eines Objektes verknüpfen kann, entweder als Switch oder als Change Node:

      Das Ganze habe ich mir in meiner lokalen Bibliothek gespeichert:

      2e942570-edea-483c-b849-60232a57d625-image.png

      [
         {
             "id": "65f2ba0892af4a3e",
             "type": "switch",
             "z": "0a30fff805c63db0",
             "name": "AND?",
             "property": "$reduce(payload.*,function($i, $j){$i and $j})",
             "propertyType": "jsonata",
             "rules": [
                 {
                     "t": "true"
                 },
                 {
                     "t": "false"
                 }
             ],
             "checkall": "true",
             "repair": false,
             "outputs": 2,
             "x": 530,
             "y": 620,
             "wires": [
                 [],
                 []
             ],
             "info": "# All properties of an object must be true.\n\nAll properties of an object must be true.\n\n`{\n    \"Office\": true,\n    \"Bedroom\": true,\n    \"Living Room Balcony\": true,\n    \"Living Room Right Window\": true,\n    \"Living Room Left Window\": true\n}`\n\nis true,\n\n`{\n    \"Office\": true,\n    \"Bedroom\": false,\n    \"Living Room Balcony\": true,\n    \"Living Room Right Window\": true,\n    \"Living Room Left Window\": true\n}`\n\nis false.\n\n# Alle Eigenschaften eines Objektes müssen wahr sein\n\nAlle Eigenschaften eines Objektes müssen wahr sein.\n\n`{\n    \"Büro Balkon\": true,\n    \"Schlafzimmer Balkon\": true,\n    \"Wohnzimmer Balkon\": true,\n    \"Wohnzimmer rechtes Fenster\": true,\n    \"Wohnzimmer linkes Fenster\": true\n}`\n\nergibt true,\n\n`{\n    \"Büro Balkon\": true,\n    \"Schlafzimmer Balkon\": true,\n    \"Wohnzimmer Balkon\": true,\n    \"Wohnzimmer rechtes Fenster\": false,\n    \"Wohnzimmer linkes Fenster\": true\n}`\n\nergibt false."
         },
         {
             "id": "aa5712231be27d09",
             "type": "change",
             "z": "0a30fff805c63db0",
             "name": "AND ?",
             "rules": [
                 {
                     "t": "set",
                     "p": "payload",
                     "pt": "msg",
                     "to": "$reduce(payload.*,function($i, $j){$i and $j})",
                     "tot": "jsonata"
                 }
             ],
             "action": "",
             "property": "",
             "from": "",
             "to": "",
             "reg": false,
             "x": 530,
             "y": 660,
             "wires": [
                 []
             ],
             "info": "# All Property of an object must be true.\n\nAll properties of an object must be true.\n\n`{\n    \"Office\": true,\n    \"Bedroom\": true,\n    \"Living Room Balcony\": true,\n    \"Living Room Right Window\": true,\n    \"Living Room Left Window\": true\n}`\n\nis true,\n\n`{\n    \"Office\": true,\n    \"Bedroom\": false,\n    \"Living Room Balcony\": true,\n    \"Living Room Right Window\": true,\n    \"Living Room Left Window\": true\n}`\n\nis false.\n\n# Alle Eigenschaften eines Objektes müssen wahr sein\n\nAlle Eigenschaften eines Objektes müssen wahr sein.\n\n`{\n    \"Büro Balkon\": true,\n    \"Schlafzimmer Balkon\": true,\n    \"Wohnzimmer Balkon\": true,\n    \"Wohnzimmer rechtes Fenster\": true,\n    \"Wohnzimmer linkes Fenster\": true\n}`\n\nergibt true,\n\n`{\n    \"Büro Balkon\": true,\n    \"Schlafzimmer Balkon\": true,\n    \"Wohnzimmer Balkon\": true,\n    \"Wohnzimmer rechtes Fenster\": false,\n    \"Wohnzimmer linkes Fenster\": true\n}`\n\nergibt false."
         },
         {
             "id": "73b72c35e0dc73f8",
             "type": "switch",
             "z": "0a30fff805c63db0",
             "name": "OR?",
             "property": "$reduce(payload.*,function($i, $j){$i or $j})",
             "propertyType": "jsonata",
             "rules": [
                 {
                     "t": "true"
                 },
                 {
                     "t": "false"
                 }
             ],
             "checkall": "true",
             "repair": false,
             "outputs": 2,
             "x": 690,
             "y": 620,
             "wires": [
                 [],
                 []
             ],
             "info": "# Only one or more properties of an object need to be true.\n\n Only one or more properties of an object need to be true.\n\n`{\n    \"Office\": false,\n    \"Bedroom\": false,\n    \"Living Room Balcony\": false,\n    \"Liviueng Room Right Window\": false,\n    \"Living Room Left Window\": false\n}`\n\nis false,\n\n`{\n    \"Office\": false,\n    \"Bedroom\": true,\n    \"Living Room Balcony\": false,\n    \"Living Room Right Window\": false,\n    \"Living Room Left Window\": false\n}`\n\nis true.\n\n# Mindestens eine Eigenschaft des Objektes muss wahr sein.\n\nMindestens eine Eigenschaft des Objektes muss wahr sein.\n\n`{\n    \"Büro Balkon\": false,\n    \"Schlafzimmer Balkon\": false,\n    \"Wohnzimmer Balkon\": false,\n    \"Wohnzimmer rechtes Fenster\": false,\n    \"Wohnzimmer linkes Fenster\": false\n}`\n\nergibt false,\n\n`{\n    \"Büro Balkon\": false,\n    \"Schlafzimmer Balkon\": true,\n    \"Wohnzimmer Balkon\": false,\n    \"Wohnzimmer rechtes Fenster\": false,\n    \"Wohnzimmer linkes Fenster\": false\n}`\n\nergibt true (wahr)."
         },
         {
             "id": "daf8416430d1782f",
             "type": "change",
             "z": "0a30fff805c63db0",
             "name": "OR ?",
             "rules": [
                 {
                     "t": "set",
                     "p": "payload",
                     "pt": "msg",
                     "to": "$reduce(payload.*,function($i, $j){$i or $j})",
                     "tot": "jsonata"
                 }
             ],
             "action": "",
             "property": "",
             "from": "",
             "to": "",
             "reg": false,
             "x": 690,
             "y": 660,
             "wires": [
                 []
             ],
             "info": "# Only one or more properties of an object need to be true.\n\n Only one or more properties of an object need to be true.\n\n`{\n    \"Office\": false,\n    \"Bedroom\": false,\n    \"Living Room Balcony\": false,\n    \"Liviueng Room Right Window\": false,\n    \"Living Room Left Window\": false\n}`\n\nis false,\n\n`{\n    \"Office\": false,\n    \"Bedroom\": true,\n    \"Living Room Balcony\": false,\n    \"Living Room Right Window\": false,\n    \"Living Room Left Window\": false\n}`\n\nis true.\n\n# Mindestens eine Eigenschaft des Objektes muss wahr sein.\n\nMindestens eine Eigenschaft des Objektes muss wahr sein.\n\n`{\n    \"Büro Balkon\": false,\n    \"Schlafzimmer Balkon\": false,\n    \"Wohnzimmer Balkon\": false,\n    \"Wohnzimmer rechtes Fenster\": false,\n    \"Wohnzimmer linkes Fenster\": false\n}`\n\nergibt false,\n\n`{\n    \"Büro Balkon\": false,\n    \"Schlafzimmer Balkon\": true,\n    \"Wohnzimmer Balkon\": false,\n    \"Wohnzimmer rechtes Fenster\": false,\n    \"Wohnzimmer linkes Fenster\": false\n}`\n\nergibt true (wahr)."
         },
         {
             "id": "03eb6e22cf11f7a8",
             "type": "change",
             "z": "0a30fff805c63db0",
             "name": "NOT",
             "rules": [
                 {
                     "t": "set",
                     "p": "payload",
                     "pt": "msg",
                     "to": "$not(payload)\t",
                     "tot": "jsonata"
                 }
             ],
             "action": "",
             "property": "",
             "from": "",
             "to": "",
             "reg": false,
             "x": 850,
             "y": 640,
             "wires": [
                 []
             ]
         }
      ]
      

      Wie gesagt der Trick ist, alle Objekte, die Du zusammen analysieren möchtest, in einem Objekte zu sammeln.

      K Offline
      K Offline
      Kredar
      schrieb am zuletzt editiert von
      #25

      @mickym

      Okay ich habe die Node von dir unverändert gelassen und wie man sieht ein PC läuft und es kommt trotzdem hinten "false" raus obwohl dort "true" stehen sollte da ja nicht alle 3 PCs aus sind. Sobald einer läuft müsste "true" als Ergebis rauskommen.

      dfaffdb6-13a2-4550-8ead-54b0d01cf4b4-image.png

      Was ich nicht verstehen wieso einmal "true" drinnen steht. Checkt er die Eingänge links alle nacheinandner? Er müsste alle Checken und dann vergleichen ob ein PC an ist oder alle aus sind.

      mfg

      mickymM 1 Antwort Letzte Antwort
      0
      • K Kredar

        @mickym

        Okay ich habe die Node von dir unverändert gelassen und wie man sieht ein PC läuft und es kommt trotzdem hinten "false" raus obwohl dort "true" stehen sollte da ja nicht alle 3 PCs aus sind. Sobald einer läuft müsste "true" als Ergebis rauskommen.

        dfaffdb6-13a2-4550-8ead-54b0d01cf4b4-image.png

        Was ich nicht verstehen wieso einmal "true" drinnen steht. Checkt er die Eingänge links alle nacheinandner? Er müsste alle Checken und dann vergleichen ob ein PC an ist oder alle aus sind.

        mfg

        mickymM Offline
        mickymM Offline
        mickym
        Most Active
        schrieb am zuletzt editiert von mickym
        #26

        @kredar Das Problem ist dass alle 3 wohl das gleiche Topic haben.Lösch mal aus der Change Node die Regel, die das Topic extrahierst bzw. ändert.die Eingänge melden und es muss sich wie bei mir im Screenshot eine Objekt mit allen 3 Topics bilden. Das liegt daran, dass alle 3 Datenpunkte ENERGY_Power heißen. Wenn du mir den vollständigen Pfad aller 3 topics postest dann kann ich das ändern oder löschst einfach die Regel in der Change-node.

        Alternativ kannst du das Topic auch selbst unterschiedlich setzen. So der Flow sollte in jedem Fall funktionieren:

        fcb0179a-49af-4ab6-a400-029949578f19-image.png
        Du musst nur noch die richtigen Datenpunkte vorne anschliessen:

        [
           {
               "id": "556a4e08f5940d01",
               "type": "ioBroker in",
               "z": "69e883c9af983f50",
               "name": "",
               "topic": "0_userdata.0.Test.PC_Power1",
               "payloadType": "value",
               "onlyack": "",
               "func": "all",
               "gap": "",
               "fireOnStart": "true",
               "outFormat": "ioBroker",
               "x": 160,
               "y": 220,
               "wires": [
                   [
                       "bef8f43e26e97cba"
                   ]
               ]
           },
           {
               "id": "41b50f9f23ddf146",
               "type": "ioBroker in",
               "z": "69e883c9af983f50",
               "name": "",
               "topic": "0_userdata.0.Test.PC_Power2",
               "payloadType": "value",
               "onlyack": "",
               "func": "all",
               "gap": "",
               "fireOnStart": "true",
               "outFormat": "ioBroker",
               "x": 160,
               "y": 280,
               "wires": [
                   [
                       "7ad9c5d564286cd9"
                   ]
               ]
           },
           {
               "id": "f7206ede621ac7dd",
               "type": "ioBroker in",
               "z": "69e883c9af983f50",
               "name": "",
               "topic": "0_userdata.0.Test.PC_Power3",
               "payloadType": "value",
               "onlyack": "",
               "func": "all",
               "gap": "",
               "fireOnStart": "true",
               "outFormat": "ioBroker",
               "x": 160,
               "y": 340,
               "wires": [
                   [
                       "530d4b6575143082"
                   ]
               ]
           },
           {
               "id": "3548421128b007da",
               "type": "change",
               "z": "69e883c9af983f50",
               "name": "",
               "rules": [
                   {
                       "t": "set",
                       "p": "payload",
                       "pt": "msg",
                       "to": "payload > 20 ? true : false",
                       "tot": "jsonata"
                   }
               ],
               "action": "",
               "property": "",
               "from": "",
               "to": "",
               "reg": false,
               "x": 710,
               "y": 280,
               "wires": [
                   [
                       "0f824f4bf3764b13"
                   ]
               ]
           },
           {
               "id": "355a7107b476d7e2",
               "type": "debug",
               "z": "69e883c9af983f50",
               "name": "Objekt mit Einzelstates",
               "active": true,
               "tosidebar": true,
               "console": false,
               "tostatus": false,
               "complete": "payload",
               "targetType": "msg",
               "statusVal": "",
               "statusType": "auto",
               "x": 1100,
               "y": 240,
               "wires": []
           },
           {
               "id": "0f824f4bf3764b13",
               "type": "join",
               "z": "69e883c9af983f50",
               "name": "",
               "mode": "custom",
               "build": "object",
               "property": "payload",
               "propertyType": "msg",
               "key": "topic",
               "joiner": "\\n",
               "joinerType": "str",
               "accumulate": true,
               "timeout": "",
               "count": "1",
               "reduceRight": false,
               "reduceExp": "",
               "reduceInit": "",
               "reduceInitType": "",
               "reduceFixup": "",
               "x": 890,
               "y": 280,
               "wires": [
                   [
                       "355a7107b476d7e2",
                       "716d79ef4c4b8fe2"
                   ]
               ]
           },
           {
               "id": "716d79ef4c4b8fe2",
               "type": "change",
               "z": "69e883c9af983f50",
               "name": "OR ?",
               "rules": [
                   {
                       "t": "set",
                       "p": "payload",
                       "pt": "msg",
                       "to": "$reduce(payload.*,function($i, $j){$i or $j})",
                       "tot": "jsonata"
                   }
               ],
               "action": "",
               "property": "",
               "from": "",
               "to": "",
               "reg": false,
               "x": 1030,
               "y": 280,
               "wires": [
                   [
                       "bdfc2a74610ea7a7"
                   ]
               ],
               "info": "# Only one or more properties of an object need to be true.\n\n Only one or more properties of an object need to be true.\n\n`{\n    \"Office\": false,\n    \"Bedroom\": false,\n    \"Living Room Balcony\": false,\n    \"Liviueng Room Right Window\": false,\n    \"Living Room Left Window\": false\n}`\n\nis false,\n\n`{\n    \"Office\": false,\n    \"Bedroom\": true,\n    \"Living Room Balcony\": false,\n    \"Living Room Right Window\": false,\n    \"Living Room Left Window\": false\n}`\n\nis true.\n\n# Mindestens eine Eigenschaft des Objektes muss wahr sein.\n\nMindestens eine Eigenschaft des Objektes muss wahr sein.\n\n`{\n    \"Büro Balkon\": false,\n    \"Schlafzimmer Balkon\": false,\n    \"Wohnzimmer Balkon\": false,\n    \"Wohnzimmer rechtes Fenster\": false,\n    \"Wohnzimmer linkes Fenster\": false\n}`\n\nergibt false,\n\n`{\n    \"Büro Balkon\": false,\n    \"Schlafzimmer Balkon\": true,\n    \"Wohnzimmer Balkon\": false,\n    \"Wohnzimmer rechtes Fenster\": false,\n    \"Wohnzimmer linkes Fenster\": false\n}`\n\nergibt true (wahr)."
           },
           {
               "id": "bdfc2a74610ea7a7",
               "type": "debug",
               "z": "69e883c9af983f50",
               "name": "Ergebnis",
               "active": true,
               "tosidebar": true,
               "console": false,
               "tostatus": false,
               "complete": "payload",
               "targetType": "msg",
               "statusVal": "",
               "statusType": "auto",
               "x": 1200,
               "y": 280,
               "wires": []
           },
           {
               "id": "bef8f43e26e97cba",
               "type": "change",
               "z": "69e883c9af983f50",
               "name": "",
               "rules": [
                   {
                       "t": "set",
                       "p": "topic",
                       "pt": "msg",
                       "to": "Steckdose1",
                       "tot": "str"
                   }
               ],
               "action": "",
               "property": "",
               "from": "",
               "to": "",
               "reg": false,
               "x": 500,
               "y": 220,
               "wires": [
                   [
                       "3548421128b007da"
                   ]
               ]
           },
           {
               "id": "7ad9c5d564286cd9",
               "type": "change",
               "z": "69e883c9af983f50",
               "name": "",
               "rules": [
                   {
                       "t": "set",
                       "p": "topic",
                       "pt": "msg",
                       "to": "Steckdose2",
                       "tot": "str"
                   }
               ],
               "action": "",
               "property": "",
               "from": "",
               "to": "",
               "reg": false,
               "x": 500,
               "y": 280,
               "wires": [
                   [
                       "3548421128b007da"
                   ]
               ]
           },
           {
               "id": "530d4b6575143082",
               "type": "change",
               "z": "69e883c9af983f50",
               "name": "",
               "rules": [
                   {
                       "t": "set",
                       "p": "topic",
                       "pt": "msg",
                       "to": "Steckdose3",
                       "tot": "str"
                   }
               ],
               "action": "",
               "property": "",
               "from": "",
               "to": "",
               "reg": false,
               "x": 500,
               "y": 340,
               "wires": [
                   [
                       "3548421128b007da"
                   ]
               ]
           }
        ]
        

        Alternativ, wie gesagt, einfach die 1. Regel aus der Change Node des ursprünglichen Flows löschen.

        PS: Du kannst die topics auch PC Power1, 2 und 3 nennen - die topics müssen nur unterschiedlich sein.

        Und nochmal zu deinem Verständnis. In diesem Fall checkt der Flow nicht die Datenpunkte, sondern die Datenpunkte triggern den Flow. In der JOIN Node werden die Status aller Datenpunkte in einem Objekt gespeichert und nur die Eigenschaft des Objektes aktualisiert, dass sich meldet. Da in der JOIN Node steht, dass bereits nach 1 Nachricht gesendet werden soll, baut sich das Objekt auf, bis sich alles gemeldet hat und bei jeder neuen Nachricht wird das ganze Objekt verschickt, dass dann von der OR Node analysiert wird.

        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.

        K 1 Antwort Letzte Antwort
        0
        • mickymM mickym

          @kredar Das Problem ist dass alle 3 wohl das gleiche Topic haben.Lösch mal aus der Change Node die Regel, die das Topic extrahierst bzw. ändert.die Eingänge melden und es muss sich wie bei mir im Screenshot eine Objekt mit allen 3 Topics bilden. Das liegt daran, dass alle 3 Datenpunkte ENERGY_Power heißen. Wenn du mir den vollständigen Pfad aller 3 topics postest dann kann ich das ändern oder löschst einfach die Regel in der Change-node.

          Alternativ kannst du das Topic auch selbst unterschiedlich setzen. So der Flow sollte in jedem Fall funktionieren:

          fcb0179a-49af-4ab6-a400-029949578f19-image.png
          Du musst nur noch die richtigen Datenpunkte vorne anschliessen:

          [
             {
                 "id": "556a4e08f5940d01",
                 "type": "ioBroker in",
                 "z": "69e883c9af983f50",
                 "name": "",
                 "topic": "0_userdata.0.Test.PC_Power1",
                 "payloadType": "value",
                 "onlyack": "",
                 "func": "all",
                 "gap": "",
                 "fireOnStart": "true",
                 "outFormat": "ioBroker",
                 "x": 160,
                 "y": 220,
                 "wires": [
                     [
                         "bef8f43e26e97cba"
                     ]
                 ]
             },
             {
                 "id": "41b50f9f23ddf146",
                 "type": "ioBroker in",
                 "z": "69e883c9af983f50",
                 "name": "",
                 "topic": "0_userdata.0.Test.PC_Power2",
                 "payloadType": "value",
                 "onlyack": "",
                 "func": "all",
                 "gap": "",
                 "fireOnStart": "true",
                 "outFormat": "ioBroker",
                 "x": 160,
                 "y": 280,
                 "wires": [
                     [
                         "7ad9c5d564286cd9"
                     ]
                 ]
             },
             {
                 "id": "f7206ede621ac7dd",
                 "type": "ioBroker in",
                 "z": "69e883c9af983f50",
                 "name": "",
                 "topic": "0_userdata.0.Test.PC_Power3",
                 "payloadType": "value",
                 "onlyack": "",
                 "func": "all",
                 "gap": "",
                 "fireOnStart": "true",
                 "outFormat": "ioBroker",
                 "x": 160,
                 "y": 340,
                 "wires": [
                     [
                         "530d4b6575143082"
                     ]
                 ]
             },
             {
                 "id": "3548421128b007da",
                 "type": "change",
                 "z": "69e883c9af983f50",
                 "name": "",
                 "rules": [
                     {
                         "t": "set",
                         "p": "payload",
                         "pt": "msg",
                         "to": "payload > 20 ? true : false",
                         "tot": "jsonata"
                     }
                 ],
                 "action": "",
                 "property": "",
                 "from": "",
                 "to": "",
                 "reg": false,
                 "x": 710,
                 "y": 280,
                 "wires": [
                     [
                         "0f824f4bf3764b13"
                     ]
                 ]
             },
             {
                 "id": "355a7107b476d7e2",
                 "type": "debug",
                 "z": "69e883c9af983f50",
                 "name": "Objekt mit Einzelstates",
                 "active": true,
                 "tosidebar": true,
                 "console": false,
                 "tostatus": false,
                 "complete": "payload",
                 "targetType": "msg",
                 "statusVal": "",
                 "statusType": "auto",
                 "x": 1100,
                 "y": 240,
                 "wires": []
             },
             {
                 "id": "0f824f4bf3764b13",
                 "type": "join",
                 "z": "69e883c9af983f50",
                 "name": "",
                 "mode": "custom",
                 "build": "object",
                 "property": "payload",
                 "propertyType": "msg",
                 "key": "topic",
                 "joiner": "\\n",
                 "joinerType": "str",
                 "accumulate": true,
                 "timeout": "",
                 "count": "1",
                 "reduceRight": false,
                 "reduceExp": "",
                 "reduceInit": "",
                 "reduceInitType": "",
                 "reduceFixup": "",
                 "x": 890,
                 "y": 280,
                 "wires": [
                     [
                         "355a7107b476d7e2",
                         "716d79ef4c4b8fe2"
                     ]
                 ]
             },
             {
                 "id": "716d79ef4c4b8fe2",
                 "type": "change",
                 "z": "69e883c9af983f50",
                 "name": "OR ?",
                 "rules": [
                     {
                         "t": "set",
                         "p": "payload",
                         "pt": "msg",
                         "to": "$reduce(payload.*,function($i, $j){$i or $j})",
                         "tot": "jsonata"
                     }
                 ],
                 "action": "",
                 "property": "",
                 "from": "",
                 "to": "",
                 "reg": false,
                 "x": 1030,
                 "y": 280,
                 "wires": [
                     [
                         "bdfc2a74610ea7a7"
                     ]
                 ],
                 "info": "# Only one or more properties of an object need to be true.\n\n Only one or more properties of an object need to be true.\n\n`{\n    \"Office\": false,\n    \"Bedroom\": false,\n    \"Living Room Balcony\": false,\n    \"Liviueng Room Right Window\": false,\n    \"Living Room Left Window\": false\n}`\n\nis false,\n\n`{\n    \"Office\": false,\n    \"Bedroom\": true,\n    \"Living Room Balcony\": false,\n    \"Living Room Right Window\": false,\n    \"Living Room Left Window\": false\n}`\n\nis true.\n\n# Mindestens eine Eigenschaft des Objektes muss wahr sein.\n\nMindestens eine Eigenschaft des Objektes muss wahr sein.\n\n`{\n    \"Büro Balkon\": false,\n    \"Schlafzimmer Balkon\": false,\n    \"Wohnzimmer Balkon\": false,\n    \"Wohnzimmer rechtes Fenster\": false,\n    \"Wohnzimmer linkes Fenster\": false\n}`\n\nergibt false,\n\n`{\n    \"Büro Balkon\": false,\n    \"Schlafzimmer Balkon\": true,\n    \"Wohnzimmer Balkon\": false,\n    \"Wohnzimmer rechtes Fenster\": false,\n    \"Wohnzimmer linkes Fenster\": false\n}`\n\nergibt true (wahr)."
             },
             {
                 "id": "bdfc2a74610ea7a7",
                 "type": "debug",
                 "z": "69e883c9af983f50",
                 "name": "Ergebnis",
                 "active": true,
                 "tosidebar": true,
                 "console": false,
                 "tostatus": false,
                 "complete": "payload",
                 "targetType": "msg",
                 "statusVal": "",
                 "statusType": "auto",
                 "x": 1200,
                 "y": 280,
                 "wires": []
             },
             {
                 "id": "bef8f43e26e97cba",
                 "type": "change",
                 "z": "69e883c9af983f50",
                 "name": "",
                 "rules": [
                     {
                         "t": "set",
                         "p": "topic",
                         "pt": "msg",
                         "to": "Steckdose1",
                         "tot": "str"
                     }
                 ],
                 "action": "",
                 "property": "",
                 "from": "",
                 "to": "",
                 "reg": false,
                 "x": 500,
                 "y": 220,
                 "wires": [
                     [
                         "3548421128b007da"
                     ]
                 ]
             },
             {
                 "id": "7ad9c5d564286cd9",
                 "type": "change",
                 "z": "69e883c9af983f50",
                 "name": "",
                 "rules": [
                     {
                         "t": "set",
                         "p": "topic",
                         "pt": "msg",
                         "to": "Steckdose2",
                         "tot": "str"
                     }
                 ],
                 "action": "",
                 "property": "",
                 "from": "",
                 "to": "",
                 "reg": false,
                 "x": 500,
                 "y": 280,
                 "wires": [
                     [
                         "3548421128b007da"
                     ]
                 ]
             },
             {
                 "id": "530d4b6575143082",
                 "type": "change",
                 "z": "69e883c9af983f50",
                 "name": "",
                 "rules": [
                     {
                         "t": "set",
                         "p": "topic",
                         "pt": "msg",
                         "to": "Steckdose3",
                         "tot": "str"
                     }
                 ],
                 "action": "",
                 "property": "",
                 "from": "",
                 "to": "",
                 "reg": false,
                 "x": 500,
                 "y": 340,
                 "wires": [
                     [
                         "3548421128b007da"
                     ]
                 ]
             }
          ]
          

          Alternativ, wie gesagt, einfach die 1. Regel aus der Change Node des ursprünglichen Flows löschen.

          PS: Du kannst die topics auch PC Power1, 2 und 3 nennen - die topics müssen nur unterschiedlich sein.

          Und nochmal zu deinem Verständnis. In diesem Fall checkt der Flow nicht die Datenpunkte, sondern die Datenpunkte triggern den Flow. In der JOIN Node werden die Status aller Datenpunkte in einem Objekt gespeichert und nur die Eigenschaft des Objektes aktualisiert, dass sich meldet. Da in der JOIN Node steht, dass bereits nach 1 Nachricht gesendet werden soll, baut sich das Objekt auf, bis sich alles gemeldet hat und bei jeder neuen Nachricht wird das ganze Objekt verschickt, dass dann von der OR Node analysiert wird.

          K Offline
          K Offline
          Kredar
          schrieb am zuletzt editiert von Kredar
          #27

          @mickym

          Jetzt geht es. Und ja, die Eingangs Nodes (PC Power) müssen unterschiedlich benannt werden da sonst eine Auswertung nicht möglich ist. Das habe ich ja immer mit Steckdose1 - 3 gemacht in meinem Fall. Nur wurde das nicht korrekt erkannt, sondern nur die wirren Watt zahlen ausgewertet.

          Vielen Dank für deine Hilfe muss erstmal testen :).

          mfg

          mickymM 1 Antwort Letzte Antwort
          0
          • K Kredar

            @mickym

            Jetzt geht es. Und ja, die Eingangs Nodes (PC Power) müssen unterschiedlich benannt werden da sonst eine Auswertung nicht möglich ist. Das habe ich ja immer mit Steckdose1 - 3 gemacht in meinem Fall. Nur wurde das nicht korrekt erkannt, sondern nur die wirren Watt zahlen ausgewertet.

            Vielen Dank für deine Hilfe muss erstmal testen :).

            mfg

            mickymM Offline
            mickymM Offline
            mickym
            Most Active
            schrieb am zuletzt editiert von
            #28

            @kredar
            Somit bist Du immer auf dem neuest Stand und nicht erst nach 15 Minuten. Wenn Du nicht willst dass permanent Nachrichten kommen, weil sich die Werte nur geringfügig ändern, kannst Du noch eine Filter Node einbauen und dann wolltest Du ja, dass NUR false weiterkommt.

            e8172d61-e801-438f-851a-1360d89e684c-image.png

            Damit würde Dein vollständiger Flow NUR zum Ausschalten der Klima dann wie folgt aussehen:

            [
               {
                   "id": "556a4e08f5940d01",
                   "type": "ioBroker in",
                   "z": "69e883c9af983f50",
                   "name": "",
                   "topic": "0_userdata.0.Test.PC_Power1",
                   "payloadType": "value",
                   "onlyack": "",
                   "func": "all",
                   "gap": "",
                   "fireOnStart": "true",
                   "outFormat": "ioBroker",
                   "x": 260,
                   "y": 220,
                   "wires": [
                       [
                           "bef8f43e26e97cba"
                       ]
                   ]
               },
               {
                   "id": "41b50f9f23ddf146",
                   "type": "ioBroker in",
                   "z": "69e883c9af983f50",
                   "name": "",
                   "topic": "0_userdata.0.Test.PC_Power2",
                   "payloadType": "value",
                   "onlyack": "",
                   "func": "all",
                   "gap": "",
                   "fireOnStart": "true",
                   "outFormat": "ioBroker",
                   "x": 260,
                   "y": 280,
                   "wires": [
                       [
                           "7ad9c5d564286cd9"
                       ]
                   ]
               },
               {
                   "id": "f7206ede621ac7dd",
                   "type": "ioBroker in",
                   "z": "69e883c9af983f50",
                   "name": "",
                   "topic": "0_userdata.0.Test.PC_Power3",
                   "payloadType": "value",
                   "onlyack": "",
                   "func": "all",
                   "gap": "",
                   "fireOnStart": "true",
                   "outFormat": "ioBroker",
                   "x": 260,
                   "y": 340,
                   "wires": [
                       [
                           "530d4b6575143082"
                       ]
                   ]
               },
               {
                   "id": "3548421128b007da",
                   "type": "change",
                   "z": "69e883c9af983f50",
                   "name": "",
                   "rules": [
                       {
                           "t": "set",
                           "p": "payload",
                           "pt": "msg",
                           "to": "payload > 20 ? true : false",
                           "tot": "jsonata"
                       }
                   ],
                   "action": "",
                   "property": "",
                   "from": "",
                   "to": "",
                   "reg": false,
                   "x": 710,
                   "y": 280,
                   "wires": [
                       [
                           "0f824f4bf3764b13"
                       ]
                   ]
               },
               {
                   "id": "355a7107b476d7e2",
                   "type": "debug",
                   "z": "69e883c9af983f50",
                   "name": "Objekt mit Einzelstates",
                   "active": true,
                   "tosidebar": true,
                   "console": false,
                   "tostatus": false,
                   "complete": "payload",
                   "targetType": "msg",
                   "statusVal": "",
                   "statusType": "auto",
                   "x": 1100,
                   "y": 240,
                   "wires": []
               },
               {
                   "id": "0f824f4bf3764b13",
                   "type": "join",
                   "z": "69e883c9af983f50",
                   "name": "",
                   "mode": "custom",
                   "build": "object",
                   "property": "payload",
                   "propertyType": "msg",
                   "key": "topic",
                   "joiner": "\\n",
                   "joinerType": "str",
                   "accumulate": true,
                   "timeout": "",
                   "count": "1",
                   "reduceRight": false,
                   "reduceExp": "",
                   "reduceInit": "",
                   "reduceInitType": "",
                   "reduceFixup": "",
                   "x": 890,
                   "y": 280,
                   "wires": [
                       [
                           "355a7107b476d7e2",
                           "7938c1ca26d90beb"
                       ]
                   ]
               },
               {
                   "id": "716d79ef4c4b8fe2",
                   "type": "change",
                   "z": "69e883c9af983f50",
                   "name": "OR ?",
                   "rules": [
                       {
                           "t": "set",
                           "p": "payload",
                           "pt": "msg",
                           "to": "$reduce(payload.*,function($i, $j){$i or $j})",
                           "tot": "jsonata"
                       }
                   ],
                   "action": "",
                   "property": "",
                   "from": "",
                   "to": "",
                   "reg": false,
                   "x": 1170,
                   "y": 280,
                   "wires": [
                       [
                           "6fe8fcb52a28a72d",
                           "5632858b36b551a4"
                       ]
                   ],
                   "info": "# Only one or more properties of an object need to be true.\n\n Only one or more properties of an object need to be true.\n\n`{\n    \"Office\": false,\n    \"Bedroom\": false,\n    \"Living Room Balcony\": false,\n    \"Liviueng Room Right Window\": false,\n    \"Living Room Left Window\": false\n}`\n\nis false,\n\n`{\n    \"Office\": false,\n    \"Bedroom\": true,\n    \"Living Room Balcony\": false,\n    \"Living Room Right Window\": false,\n    \"Living Room Left Window\": false\n}`\n\nis true.\n\n# Mindestens eine Eigenschaft des Objektes muss wahr sein.\n\nMindestens eine Eigenschaft des Objektes muss wahr sein.\n\n`{\n    \"Büro Balkon\": false,\n    \"Schlafzimmer Balkon\": false,\n    \"Wohnzimmer Balkon\": false,\n    \"Wohnzimmer rechtes Fenster\": false,\n    \"Wohnzimmer linkes Fenster\": false\n}`\n\nergibt false,\n\n`{\n    \"Büro Balkon\": false,\n    \"Schlafzimmer Balkon\": true,\n    \"Wohnzimmer Balkon\": false,\n    \"Wohnzimmer rechtes Fenster\": false,\n    \"Wohnzimmer linkes Fenster\": false\n}`\n\nergibt true (wahr)."
               },
               {
                   "id": "bdfc2a74610ea7a7",
                   "type": "debug",
                   "z": "69e883c9af983f50",
                   "name": "Ergebnis",
                   "active": true,
                   "tosidebar": true,
                   "console": false,
                   "tostatus": false,
                   "complete": "payload",
                   "targetType": "msg",
                   "statusVal": "",
                   "statusType": "auto",
                   "x": 1560,
                   "y": 280,
                   "wires": []
               },
               {
                   "id": "bef8f43e26e97cba",
                   "type": "change",
                   "z": "69e883c9af983f50",
                   "name": "",
                   "rules": [
                       {
                           "t": "set",
                           "p": "topic",
                           "pt": "msg",
                           "to": "Steckdose1",
                           "tot": "str"
                       }
                   ],
                   "action": "",
                   "property": "",
                   "from": "",
                   "to": "",
                   "reg": false,
                   "x": 500,
                   "y": 220,
                   "wires": [
                       [
                           "3548421128b007da"
                       ]
                   ]
               },
               {
                   "id": "7ad9c5d564286cd9",
                   "type": "change",
                   "z": "69e883c9af983f50",
                   "name": "",
                   "rules": [
                       {
                           "t": "set",
                           "p": "topic",
                           "pt": "msg",
                           "to": "Steckdose2",
                           "tot": "str"
                       }
                   ],
                   "action": "",
                   "property": "",
                   "from": "",
                   "to": "",
                   "reg": false,
                   "x": 500,
                   "y": 280,
                   "wires": [
                       [
                           "3548421128b007da"
                       ]
                   ]
               },
               {
                   "id": "530d4b6575143082",
                   "type": "change",
                   "z": "69e883c9af983f50",
                   "name": "",
                   "rules": [
                       {
                           "t": "set",
                           "p": "topic",
                           "pt": "msg",
                           "to": "Steckdose3",
                           "tot": "str"
                       }
                   ],
                   "action": "",
                   "property": "",
                   "from": "",
                   "to": "",
                   "reg": false,
                   "x": 500,
                   "y": 340,
                   "wires": [
                       [
                           "3548421128b007da"
                       ]
                   ]
               },
               {
                   "id": "7938c1ca26d90beb",
                   "type": "rbe",
                   "z": "69e883c9af983f50",
                   "name": "",
                   "func": "rbe",
                   "gap": "",
                   "start": "",
                   "inout": "out",
                   "septopics": false,
                   "property": "payload",
                   "topi": "topic",
                   "x": 1030,
                   "y": 280,
                   "wires": [
                       [
                           "716d79ef4c4b8fe2"
                       ]
                   ]
               },
               {
                   "id": "6fe8fcb52a28a72d",
                   "type": "switch",
                   "z": "69e883c9af983f50",
                   "name": "Nur false soll triggern",
                   "property": "payload",
                   "propertyType": "msg",
                   "rules": [
                       {
                           "t": "false"
                       }
                   ],
                   "checkall": "true",
                   "repair": false,
                   "outputs": 1,
                   "x": 1360,
                   "y": 280,
                   "wires": [
                       [
                           "bdfc2a74610ea7a7"
                       ]
                   ]
               },
               {
                   "id": "5632858b36b551a4",
                   "type": "debug",
                   "z": "69e883c9af983f50",
                   "name": "Gesamtstatus",
                   "active": true,
                   "tosidebar": true,
                   "console": false,
                   "tostatus": false,
                   "complete": "payload",
                   "targetType": "msg",
                   "statusVal": "",
                   "statusType": "auto",
                   "x": 1340,
                   "y": 320,
                   "wires": []
               }
            ]
            

            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.

            K 1 Antwort Letzte Antwort
            0
            • mickymM mickym

              @kredar
              Somit bist Du immer auf dem neuest Stand und nicht erst nach 15 Minuten. Wenn Du nicht willst dass permanent Nachrichten kommen, weil sich die Werte nur geringfügig ändern, kannst Du noch eine Filter Node einbauen und dann wolltest Du ja, dass NUR false weiterkommt.

              e8172d61-e801-438f-851a-1360d89e684c-image.png

              Damit würde Dein vollständiger Flow NUR zum Ausschalten der Klima dann wie folgt aussehen:

              [
                 {
                     "id": "556a4e08f5940d01",
                     "type": "ioBroker in",
                     "z": "69e883c9af983f50",
                     "name": "",
                     "topic": "0_userdata.0.Test.PC_Power1",
                     "payloadType": "value",
                     "onlyack": "",
                     "func": "all",
                     "gap": "",
                     "fireOnStart": "true",
                     "outFormat": "ioBroker",
                     "x": 260,
                     "y": 220,
                     "wires": [
                         [
                             "bef8f43e26e97cba"
                         ]
                     ]
                 },
                 {
                     "id": "41b50f9f23ddf146",
                     "type": "ioBroker in",
                     "z": "69e883c9af983f50",
                     "name": "",
                     "topic": "0_userdata.0.Test.PC_Power2",
                     "payloadType": "value",
                     "onlyack": "",
                     "func": "all",
                     "gap": "",
                     "fireOnStart": "true",
                     "outFormat": "ioBroker",
                     "x": 260,
                     "y": 280,
                     "wires": [
                         [
                             "7ad9c5d564286cd9"
                         ]
                     ]
                 },
                 {
                     "id": "f7206ede621ac7dd",
                     "type": "ioBroker in",
                     "z": "69e883c9af983f50",
                     "name": "",
                     "topic": "0_userdata.0.Test.PC_Power3",
                     "payloadType": "value",
                     "onlyack": "",
                     "func": "all",
                     "gap": "",
                     "fireOnStart": "true",
                     "outFormat": "ioBroker",
                     "x": 260,
                     "y": 340,
                     "wires": [
                         [
                             "530d4b6575143082"
                         ]
                     ]
                 },
                 {
                     "id": "3548421128b007da",
                     "type": "change",
                     "z": "69e883c9af983f50",
                     "name": "",
                     "rules": [
                         {
                             "t": "set",
                             "p": "payload",
                             "pt": "msg",
                             "to": "payload > 20 ? true : false",
                             "tot": "jsonata"
                         }
                     ],
                     "action": "",
                     "property": "",
                     "from": "",
                     "to": "",
                     "reg": false,
                     "x": 710,
                     "y": 280,
                     "wires": [
                         [
                             "0f824f4bf3764b13"
                         ]
                     ]
                 },
                 {
                     "id": "355a7107b476d7e2",
                     "type": "debug",
                     "z": "69e883c9af983f50",
                     "name": "Objekt mit Einzelstates",
                     "active": true,
                     "tosidebar": true,
                     "console": false,
                     "tostatus": false,
                     "complete": "payload",
                     "targetType": "msg",
                     "statusVal": "",
                     "statusType": "auto",
                     "x": 1100,
                     "y": 240,
                     "wires": []
                 },
                 {
                     "id": "0f824f4bf3764b13",
                     "type": "join",
                     "z": "69e883c9af983f50",
                     "name": "",
                     "mode": "custom",
                     "build": "object",
                     "property": "payload",
                     "propertyType": "msg",
                     "key": "topic",
                     "joiner": "\\n",
                     "joinerType": "str",
                     "accumulate": true,
                     "timeout": "",
                     "count": "1",
                     "reduceRight": false,
                     "reduceExp": "",
                     "reduceInit": "",
                     "reduceInitType": "",
                     "reduceFixup": "",
                     "x": 890,
                     "y": 280,
                     "wires": [
                         [
                             "355a7107b476d7e2",
                             "7938c1ca26d90beb"
                         ]
                     ]
                 },
                 {
                     "id": "716d79ef4c4b8fe2",
                     "type": "change",
                     "z": "69e883c9af983f50",
                     "name": "OR ?",
                     "rules": [
                         {
                             "t": "set",
                             "p": "payload",
                             "pt": "msg",
                             "to": "$reduce(payload.*,function($i, $j){$i or $j})",
                             "tot": "jsonata"
                         }
                     ],
                     "action": "",
                     "property": "",
                     "from": "",
                     "to": "",
                     "reg": false,
                     "x": 1170,
                     "y": 280,
                     "wires": [
                         [
                             "6fe8fcb52a28a72d",
                             "5632858b36b551a4"
                         ]
                     ],
                     "info": "# Only one or more properties of an object need to be true.\n\n Only one or more properties of an object need to be true.\n\n`{\n    \"Office\": false,\n    \"Bedroom\": false,\n    \"Living Room Balcony\": false,\n    \"Liviueng Room Right Window\": false,\n    \"Living Room Left Window\": false\n}`\n\nis false,\n\n`{\n    \"Office\": false,\n    \"Bedroom\": true,\n    \"Living Room Balcony\": false,\n    \"Living Room Right Window\": false,\n    \"Living Room Left Window\": false\n}`\n\nis true.\n\n# Mindestens eine Eigenschaft des Objektes muss wahr sein.\n\nMindestens eine Eigenschaft des Objektes muss wahr sein.\n\n`{\n    \"Büro Balkon\": false,\n    \"Schlafzimmer Balkon\": false,\n    \"Wohnzimmer Balkon\": false,\n    \"Wohnzimmer rechtes Fenster\": false,\n    \"Wohnzimmer linkes Fenster\": false\n}`\n\nergibt false,\n\n`{\n    \"Büro Balkon\": false,\n    \"Schlafzimmer Balkon\": true,\n    \"Wohnzimmer Balkon\": false,\n    \"Wohnzimmer rechtes Fenster\": false,\n    \"Wohnzimmer linkes Fenster\": false\n}`\n\nergibt true (wahr)."
                 },
                 {
                     "id": "bdfc2a74610ea7a7",
                     "type": "debug",
                     "z": "69e883c9af983f50",
                     "name": "Ergebnis",
                     "active": true,
                     "tosidebar": true,
                     "console": false,
                     "tostatus": false,
                     "complete": "payload",
                     "targetType": "msg",
                     "statusVal": "",
                     "statusType": "auto",
                     "x": 1560,
                     "y": 280,
                     "wires": []
                 },
                 {
                     "id": "bef8f43e26e97cba",
                     "type": "change",
                     "z": "69e883c9af983f50",
                     "name": "",
                     "rules": [
                         {
                             "t": "set",
                             "p": "topic",
                             "pt": "msg",
                             "to": "Steckdose1",
                             "tot": "str"
                         }
                     ],
                     "action": "",
                     "property": "",
                     "from": "",
                     "to": "",
                     "reg": false,
                     "x": 500,
                     "y": 220,
                     "wires": [
                         [
                             "3548421128b007da"
                         ]
                     ]
                 },
                 {
                     "id": "7ad9c5d564286cd9",
                     "type": "change",
                     "z": "69e883c9af983f50",
                     "name": "",
                     "rules": [
                         {
                             "t": "set",
                             "p": "topic",
                             "pt": "msg",
                             "to": "Steckdose2",
                             "tot": "str"
                         }
                     ],
                     "action": "",
                     "property": "",
                     "from": "",
                     "to": "",
                     "reg": false,
                     "x": 500,
                     "y": 280,
                     "wires": [
                         [
                             "3548421128b007da"
                         ]
                     ]
                 },
                 {
                     "id": "530d4b6575143082",
                     "type": "change",
                     "z": "69e883c9af983f50",
                     "name": "",
                     "rules": [
                         {
                             "t": "set",
                             "p": "topic",
                             "pt": "msg",
                             "to": "Steckdose3",
                             "tot": "str"
                         }
                     ],
                     "action": "",
                     "property": "",
                     "from": "",
                     "to": "",
                     "reg": false,
                     "x": 500,
                     "y": 340,
                     "wires": [
                         [
                             "3548421128b007da"
                         ]
                     ]
                 },
                 {
                     "id": "7938c1ca26d90beb",
                     "type": "rbe",
                     "z": "69e883c9af983f50",
                     "name": "",
                     "func": "rbe",
                     "gap": "",
                     "start": "",
                     "inout": "out",
                     "septopics": false,
                     "property": "payload",
                     "topi": "topic",
                     "x": 1030,
                     "y": 280,
                     "wires": [
                         [
                             "716d79ef4c4b8fe2"
                         ]
                     ]
                 },
                 {
                     "id": "6fe8fcb52a28a72d",
                     "type": "switch",
                     "z": "69e883c9af983f50",
                     "name": "Nur false soll triggern",
                     "property": "payload",
                     "propertyType": "msg",
                     "rules": [
                         {
                             "t": "false"
                         }
                     ],
                     "checkall": "true",
                     "repair": false,
                     "outputs": 1,
                     "x": 1360,
                     "y": 280,
                     "wires": [
                         [
                             "bdfc2a74610ea7a7"
                         ]
                     ]
                 },
                 {
                     "id": "5632858b36b551a4",
                     "type": "debug",
                     "z": "69e883c9af983f50",
                     "name": "Gesamtstatus",
                     "active": true,
                     "tosidebar": true,
                     "console": false,
                     "tostatus": false,
                     "complete": "payload",
                     "targetType": "msg",
                     "statusVal": "",
                     "statusType": "auto",
                     "x": 1340,
                     "y": 320,
                     "wires": []
                 }
              ]
              

              K Offline
              K Offline
              Kredar
              schrieb am zuletzt editiert von Kredar
              #29

              @mickym

              Wunderbar, das ist jetzt wirklich aufgeräumt. Nun muss ich das noch einpflegen. Habe auch Schaltungen nach Uhrzeit (Licht abends) in kombination mit einem Lichtsensor und eben den wie hier beschriebenen PCs via Strommessung. Erst lasst ich das Licht prüfen, dann die Zeit und dann geht das Licht an. Außer es sind alle PCs aus = keiner im Haus = brauche kein Licht. Da muss ich eben dein neues Node einpflegen.

              Ich danke dir nochmals für deine Hilfe

              mfg

              mickymM 1 Antwort Letzte Antwort
              0
              • K Kredar

                @mickym

                Wunderbar, das ist jetzt wirklich aufgeräumt. Nun muss ich das noch einpflegen. Habe auch Schaltungen nach Uhrzeit (Licht abends) in kombination mit einem Lichtsensor und eben den wie hier beschriebenen PCs via Strommessung. Erst lasst ich das Licht prüfen, dann die Zeit und dann geht das Licht an. Außer es sind alle PCs aus = keiner im Haus = brauche kein Licht. Da muss ich eben dein neues Node einpflegen.

                Ich danke dir nochmals für deine Hilfe

                mfg

                mickymM Offline
                mickymM Offline
                mickym
                Most Active
                schrieb am zuletzt editiert von
                #30

                @kredar sagte in Mehrere Steckdosen Werte vergleichen zum Schalten:

                @mickym

                Wunderbar, das ist jetzt wirklich aufgeräumt. Nun muss ich das noch einpflegen. Habe auch Schaltungen nach Uhrzeit (Licht abends) in kombination mit einem Lichtsensor und eben den wie hier beschriebenen PCs via Strommessung. Erst lasst ich das Licht prüfen, dann die Zeit und dann geht das Licht an. Außer es sind alle PCs aus = keiner im Haus = brauche kein Licht. Da muss ich eben dein neues Node einpflegen.

                Ich danke dir nochmals für deine Hilfe

                mfg

                Freut mich. Hauptsache, Du hast die Funktionsweise verstanden - dann kannst Du es ja auf Deine Bedürfnisse entsprechend anpassen. Im Zweifelsfall lieber nochmal fragen. ;)

                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.

                K 1 Antwort Letzte Antwort
                0
                • mickymM mickym

                  @kredar sagte in Mehrere Steckdosen Werte vergleichen zum Schalten:

                  @mickym

                  Wunderbar, das ist jetzt wirklich aufgeräumt. Nun muss ich das noch einpflegen. Habe auch Schaltungen nach Uhrzeit (Licht abends) in kombination mit einem Lichtsensor und eben den wie hier beschriebenen PCs via Strommessung. Erst lasst ich das Licht prüfen, dann die Zeit und dann geht das Licht an. Außer es sind alle PCs aus = keiner im Haus = brauche kein Licht. Da muss ich eben dein neues Node einpflegen.

                  Ich danke dir nochmals für deine Hilfe

                  mfg

                  Freut mich. Hauptsache, Du hast die Funktionsweise verstanden - dann kannst Du es ja auf Deine Bedürfnisse entsprechend anpassen. Im Zweifelsfall lieber nochmal fragen. ;)

                  K Offline
                  K Offline
                  Kredar
                  schrieb am zuletzt editiert von Kredar
                  #31

                  @mickym

                  Werde es mir mal sehr genau anschauen, hast es ja super erklärt oben :) Merci. Zur Not frage ich nochmal hier.

                  a126115b-01e7-41d7-8dd7-bf8984d7baf8-image.png

                  So schaut eine Schaltung aus. Da schaue ich gerade drüber :)

                  mfg

                  mickymM 1 Antwort Letzte Antwort
                  0
                  • K Kredar

                    @mickym

                    Werde es mir mal sehr genau anschauen, hast es ja super erklärt oben :) Merci. Zur Not frage ich nochmal hier.

                    a126115b-01e7-41d7-8dd7-bf8984d7baf8-image.png

                    So schaut eine Schaltung aus. Da schaue ich gerade drüber :)

                    mfg

                    mickymM Offline
                    mickymM Offline
                    mickym
                    Most Active
                    schrieb am zuletzt editiert von
                    #32

                    @kredar Ich glaube das müsste man logisch vereinfachen - das schaut recht komplex aus. ;)

                    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.

                    K 1 Antwort Letzte Antwort
                    0
                    • mickymM mickym

                      @kredar Ich glaube das müsste man logisch vereinfachen - das schaut recht komplex aus. ;)

                      K Offline
                      K Offline
                      Kredar
                      schrieb am zuletzt editiert von
                      #33

                      @mickym

                      Haha, war klar das das kommt. Ich würde alles vereinfachen, da es doch komplex ist und damit fehleranfällig.

                      mfg

                      1 Antwort Letzte Antwort
                      0
                      • K Offline
                        K Offline
                        Kredar
                        schrieb am zuletzt editiert von
                        #34

                        Ich bekomme Fehler angezeigt seit der Umstellung:

                        node-red.0
                        2023-06-30 00:45:56.708 error 30 Jun 00:45:56 - [error] [change:923f6883ad9b2e8a] Ungültiger JSONata Ausdruck: The values "false" and 20 either side of operator ">" must be of the same data type30 Jun 00:45:56 - [error] [change:923f6883ad9b2e8a] Ungültiger JSONata Ausdruck: The values "false" and 20 either side of operator ">" must be of the same data type

                        node-red.0
                        2023-06-30 00:45:56.688 error 30 Jun 00:45:56 - [error] [change:923f6883ad9b2e8a] Ungültiger JSONata Ausdruck: The values "false" and 20 either side of operator ">" must be of the same data type

                        Ich meine das liegt an dem setze.msg.payload Node oder?

                        mfg

                        mickymM 1 Antwort Letzte Antwort
                        0
                        • K Kredar

                          Ich bekomme Fehler angezeigt seit der Umstellung:

                          node-red.0
                          2023-06-30 00:45:56.708 error 30 Jun 00:45:56 - [error] [change:923f6883ad9b2e8a] Ungültiger JSONata Ausdruck: The values "false" and 20 either side of operator ">" must be of the same data type30 Jun 00:45:56 - [error] [change:923f6883ad9b2e8a] Ungültiger JSONata Ausdruck: The values "false" and 20 either side of operator ">" must be of the same data type

                          node-red.0
                          2023-06-30 00:45:56.688 error 30 Jun 00:45:56 - [error] [change:923f6883ad9b2e8a] Ungültiger JSONata Ausdruck: The values "false" and 20 either side of operator ">" must be of the same data type

                          Ich meine das liegt an dem setze.msg.payload Node oder?

                          mfg

                          mickymM Offline
                          mickymM Offline
                          mickym
                          Most Active
                          schrieb am zuletzt editiert von mickym
                          #35

                          @kredar sagte in Mehrere Steckdosen Werte vergleichen zum Schalten:

                          923f6883ad9b2e8a

                          Du gibst diese Zahl einfach in das Suchfeld ein - dann siehst Du welche Node den Fehler wirft.

                          87360e04-a340-4638-b8b1-366a4c4702b9-image.png

                          Es sieht eher so aus - als ob aus aus den Datenpunkten kein numerischer Wert rauskommt - warum auch immer - eventuell musst Du das abfangen. In der Change Node wird ja, je nachdem welche Leistung in dem Datenpunkt steht true oder false gesetzt.

                          374ae78c-e8bb-4d77-9ce3-f38de1c8447b-image.png

                          Wenn die payload aber nicht numerisch ist, entsteht dieser Fehler.

                          Wenn Du nicht erklären kannst, wie das zustande kommt, dann musst Du diese Nachrichten raus filtern oder selbst ein numerischen Wert setzen. Die Fehlermeldung sagt ja, dass ich false > 20 ungültig ist.

                          Ich bekomme diesen Fehler, wenn der Datenpunkt zum Beispiel nicht existiert.

                          e3d0f103-331a-4339-8f46-fba7521dd622-image.png
                          8846467c-8cf6-4712-8dbe-aafecf1adc8a-image.png

                          Einen Filter kannst Du ggf. mit einer Switch NOde setzen, wenn Du nicht sicherstellen kannst, dass Deine Werte numerisch sind:

                          81992409-5550-472f-bbde-5b2805fb79ef-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.

                          K 1 Antwort Letzte Antwort
                          0
                          • K Offline
                            K Offline
                            Kredar
                            schrieb am zuletzt editiert von
                            #36

                            Sorry war verhindert. Werde ich mir anschauen. Das kam nur einmal, bisher nicht mehr. Hmm, mal beobachten ;).

                            Danke für deine Hilfe.

                            mfg

                            1 Antwort Letzte Antwort
                            0
                            • mickymM mickym

                              @kredar sagte in Mehrere Steckdosen Werte vergleichen zum Schalten:

                              923f6883ad9b2e8a

                              Du gibst diese Zahl einfach in das Suchfeld ein - dann siehst Du welche Node den Fehler wirft.

                              87360e04-a340-4638-b8b1-366a4c4702b9-image.png

                              Es sieht eher so aus - als ob aus aus den Datenpunkten kein numerischer Wert rauskommt - warum auch immer - eventuell musst Du das abfangen. In der Change Node wird ja, je nachdem welche Leistung in dem Datenpunkt steht true oder false gesetzt.

                              374ae78c-e8bb-4d77-9ce3-f38de1c8447b-image.png

                              Wenn die payload aber nicht numerisch ist, entsteht dieser Fehler.

                              Wenn Du nicht erklären kannst, wie das zustande kommt, dann musst Du diese Nachrichten raus filtern oder selbst ein numerischen Wert setzen. Die Fehlermeldung sagt ja, dass ich false > 20 ungültig ist.

                              Ich bekomme diesen Fehler, wenn der Datenpunkt zum Beispiel nicht existiert.

                              e3d0f103-331a-4339-8f46-fba7521dd622-image.png
                              8846467c-8cf6-4712-8dbe-aafecf1adc8a-image.png

                              Einen Filter kannst Du ggf. mit einer Switch NOde setzen, wenn Du nicht sicherstellen kannst, dass Deine Werte numerisch sind:

                              81992409-5550-472f-bbde-5b2805fb79ef-image.png

                              K Offline
                              K Offline
                              Kredar
                              schrieb am zuletzt editiert von
                              #37

                              @mickym

                              Habe die Meldung noch öfters bekommen, teste gerade deine Switch Lösung. Mal sehen. Merci für die Lösung zum testen. Hoffe es klappt.

                              mfg

                              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

                              768

                              Online

                              32.5k

                              Benutzer

                              81.7k

                              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