Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Node-Red
    5. Mehrere Steckdosen Werte vergleichen zum Schalten

    NEWS

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Mehrere Steckdosen Werte vergleichen zum Schalten

    This topic has been deleted. Only users with topic management privileges can see it.
    • K
      Kredar @mickym last edited by 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

      mickym 1 Reply Last reply Reply Quote 0
      • mickym
        mickym Most Active @Kredar last edited by

        @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 1 Reply Last reply Reply Quote 0
        • K
          Kredar @mickym last edited by 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

          mickym 1 Reply Last reply Reply Quote 0
          • mickym
            mickym Most Active @Kredar last edited by

            @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 1 Reply Last reply Reply Quote 0
            • K
              Kredar @mickym last edited by 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

              mickym 1 Reply Last reply Reply Quote 0
              • mickym
                mickym Most Active @Kredar last edited by

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

                K 1 Reply Last reply Reply Quote 0
                • K
                  Kredar @mickym last edited by

                  @mickym

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

                  mfg

                  1 Reply Last reply Reply Quote 0
                  • K
                    Kredar last edited by

                    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

                    mickym 1 Reply Last reply Reply Quote 0
                    • mickym
                      mickym Most Active @Kredar last edited by 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 1 Reply Last reply Reply Quote 0
                      • K
                        Kredar last edited by

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

                        Danke für deine Hilfe.

                        mfg

                        1 Reply Last reply Reply Quote 0
                        • K
                          Kredar @mickym last edited by

                          @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 Reply Last reply Reply Quote 0
                          • First post
                            Last post

                          Support us

                          ioBroker
                          Community Adapters
                          Donate

                          1.0k
                          Online

                          31.7k
                          Users

                          79.7k
                          Topics

                          1.3m
                          Posts

                          3
                          37
                          1317
                          Loading More Posts
                          • Oldest to Newest
                          • Newest to Oldest
                          • Most Votes
                          Reply
                          • Reply as topic
                          Log in to reply
                          Community
                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                          The ioBroker Community 2014-2023
                          logo