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
    11
    1
    508

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    24
    1
    1.7k

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

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.
  • mickymM mickym

    Die Parallele Schaltung macht keinen Sinn, da die Nachrichtenobjekte zu unterschiedlichen Zeiten angekommen. Mit der seriellen Schaltung geht es, aber man muss in jeder get Node einen anderen Attributnamen vergeben. Die Attributnamen referenziert man in der Function Node auf der root Ebene des Nachrichtenobjektes Also Attribut in get Node: wert1 ist in der function Node msg.wert1. Kann leider im Moment nicht mehr helfen, da unterwegs am Handy.

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

    @mickym

    Danke für deine Antwort. Eilt nicht. Nur wenn du Zeit findest :). Wäre cool wenn man das Problem lösen könnte, da grübel ich schon länger dran.

    Ich habe ja im get.Node jedem unter den Attributen einen anderen Namen vergeben. Steckdose1, Steckdose2 und Steckdose3. Nur kommen wenn ich den payload der da standartmässig ist ersetze damit wirre Watt Werte raus statt dem unter dem get.Node angezeigen korrekten Watt Wert.

    Wie gesagt ich glaube es ist einfach, habe diese Schaltung mehrfach in gebrauch, und überall leider das selbe Problem.

    mfg

    1 Antwort Letzte Antwort
    0
    • K Kredar

      Hallo,

      ich versuche eine Klimaanlage abschalten zu lassen wenn alle Geräte (in meinem Fall PCs) nicht mehr an sind. Wenn jedoch eines der Geräte läuft soll die Klimaanlage an bleiben, bis dieses auch aus ist.

      flows.json

      Nun bekomme ich bei den PCs in meinem Beispiel natürlich Spannungswerte z.b. 194.37 Watt als indikator das der PC noch an ist.

      Wenn ich ein Debug hinter den PCWert iobroker.get Node setze kommt nicht der Wert 194.37 raus sondern 1687587754670. Das liegt daran das ich statt msg.payload in dem Node Steckdose1 (bis3) drin stehen habe damit ich im fuction Node es vergleichen kann. Wie kann ich im PCWert Node wieder msg.payload einsetzen und dennoch hinten im fuction Node die Werte auseinanderhalten? Oder gibt es da was besseres um das besser zu lösen?

      Habe hier schon gesucht und es schon längere Zeit versucht auf mein Beispiel umzusetzen aber immer ohne Erfolg. Evtl. geht es auch viel einfacher und ich bin einfach nicht drauf gekommen, bzw. habe es hier im Forum ein Beispiel überlesen.

      mfg

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

      @kredar ja uch glaube ich weiß was Dein Problem ist. Du hast leider in Deiner Adapterkonfig angehakt, dass iobroker Werte in Strings konvertiert werden. Deswegen werden Deine Werte als Strings behandelt und aneinander gehängt. Mach mal diese unselige Option aus Deiner Adapterkonfig.

      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 ja uch glaube ich weiß was Dein Problem ist. Du hast leider in Deiner Adapterkonfig angehakt, dass iobroker Werte in Strings konvertiert werden. Deswegen werden Deine Werte als Strings behandelt und aneinander gehängt. Mach mal diese unselige Option aus Deiner Adapterkonfig.

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

        @mickym

        Wo genau? In welchem Adapter meinst du? Wie ich das von dir verstehe habe ich da generell was falsch aktiviert.

        mfg

        mickymM 1 Antwort Letzte Antwort
        0
        • K Kredar

          @mickym

          Wo genau? In welchem Adapter meinst du? Wie ich das von dir verstehe habe ich da generell was falsch aktiviert.

          mfg

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

          @kredar im der Konfiguration des NodeRed Adapters gibts eine Option dass alles in Strings konvertiert wird. Diesen Haken raus machen. Geh unter Instanzen und klick auf den Schraubenschlüssel Deiner NodeRed Instanz.

          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 im der Konfiguration des NodeRed Adapters gibts eine Option dass alles in Strings konvertiert wird. Diesen Haken raus machen. Geh unter Instanzen und klick auf den Schraubenschlüssel Deiner NodeRed Instanz.

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

            @mickym

            Gefunden, danke.

            ioBroker-Werte in Zeichenkette Konvertieren meintest du. Ist nun deaktiviert.

            Hab es unverändet getestet aber die Werte kommen immer noch nicht korrekt raus aus den get.Nodes (z.b.1687625887042) statt dem korrekten Watt Wert.

            Und ich liebe ioBroker habe schon vieles umgesetzt im und rund um unser Haus. Aber einiges ist schwerer zu lösen für mich als andere Schaltungen. Wenn mehrfach Werte im Spiel sind wird das ganze komplizierter, als bei einem Wert der was auslösen soll.

            mfg

            mickymM 1 Antwort Letzte Antwort
            0
            • K Kredar

              @mickym

              Gefunden, danke.

              ioBroker-Werte in Zeichenkette Konvertieren meintest du. Ist nun deaktiviert.

              Hab es unverändet getestet aber die Werte kommen immer noch nicht korrekt raus aus den get.Nodes (z.b.1687625887042) statt dem korrekten Watt Wert.

              Und ich liebe ioBroker habe schon vieles umgesetzt im und rund um unser Haus. Aber einiges ist schwerer zu lösen für mich als andere Schaltungen. Wenn mehrfach Werte im Spiel sind wird das ganze komplizierter, als bei einem Wert der was auslösen soll.

              mfg

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

              @kredar wenn du das geändert hast muss der Adapter neu gestartet werden. Weiteres kann ich erst beantworten wenn ich daheim bin.

              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 wenn du das geändert hast muss der Adapter neu gestartet werden. Weiteres kann ich erst beantworten wenn ich daheim bin.

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

                @mickym

                Habe den Node-Adapter neu gestaret, aber leider das selbe Ergebnis wie zuvor.

                Fahre erstmal Heim, wie gesagt vielen Dank für deine Hilfe. Aber so brisant ist es nicht das du es von Unterwegs aus Lösen musst.

                mfg

                geschildG 1 Antwort Letzte Antwort
                0
                • K Kredar

                  @mickym

                  Habe den Node-Adapter neu gestaret, aber leider das selbe Ergebnis wie zuvor.

                  Fahre erstmal Heim, wie gesagt vielen Dank für deine Hilfe. Aber so brisant ist es nicht das du es von Unterwegs aus Lösen musst.

                  mfg

                  geschildG Offline
                  geschildG Offline
                  geschild
                  schrieb am zuletzt editiert von geschild
                  #13

                  @kredar flow.jpg

                  Was du immer siehst, ist ein UTC-Timestamp (payload des <Abfragetimers>), der wird durch die <iobroker get> durchgeschleust.
                  Ich denke mit den <iobroker input> sollte es klappen.

                  Zum Thema: Mehrere Inputs an der function, schau dir das mal an: https://www.youtube.com/watch?v=7BxkS5iSE0Q

                  K 1 Antwort Letzte Antwort
                  0
                  • geschildG geschild

                    @kredar flow.jpg

                    Was du immer siehst, ist ein UTC-Timestamp (payload des <Abfragetimers>), der wird durch die <iobroker get> durchgeschleust.
                    Ich denke mit den <iobroker input> sollte es klappen.

                    Zum Thema: Mehrere Inputs an der function, schau dir das mal an: https://www.youtube.com/watch?v=7BxkS5iSE0Q

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

                    @geschild

                    Habe es mal geändert, aber nun wertet der Functions.Node gar nicht mehr aus und es kommt immer "false" raus.

                    [
                        {
                            "id": "08520bdff45a887a",
                            "type": "ioBroker in",
                            "z": "0b655b9b45bd5f79",
                            "name": "Steckdose1",
                            "topic": "PC1.ENERGY_Power",
                            "payloadType": "value",
                            "onlyack": "",
                            "func": "all",
                            "gap": "",
                            "fireOnStart": "false",
                            "outFormat": "MQTT",
                            "x": 270,
                            "y": 520,
                            "wires": [
                                [
                                    "b0b91f3bb64ff1af",
                                    "a47a4c0635bb5010"
                                ]
                            ]
                        }
                    ]
                    

                    Meintest du diesen Node? Mit dem klappt die Auswertung im Function.Node leider nicht.

                    mfg

                    mickymM 1 Antwort Letzte Antwort
                    0
                    • K Kredar

                      @geschild

                      Habe es mal geändert, aber nun wertet der Functions.Node gar nicht mehr aus und es kommt immer "false" raus.

                      [
                          {
                              "id": "08520bdff45a887a",
                              "type": "ioBroker in",
                              "z": "0b655b9b45bd5f79",
                              "name": "Steckdose1",
                              "topic": "PC1.ENERGY_Power",
                              "payloadType": "value",
                              "onlyack": "",
                              "func": "all",
                              "gap": "",
                              "fireOnStart": "false",
                              "outFormat": "MQTT",
                              "x": 270,
                              "y": 520,
                              "wires": [
                                  [
                                      "b0b91f3bb64ff1af",
                                      "a47a4c0635bb5010"
                                  ]
                              ]
                          }
                      ]
                      

                      Meintest du diesen Node? Mit dem klappt die Auswertung im Function.Node leider nicht.

                      mfg

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

                      @kredar So - ich würde es zwar nicht so machen - da Du mit Strings arbeitest - aber im Prinzip funktioniert Dein Flow.

                      316cc604-6986-4776-aaa4-f3029d7d70cd-image.png

                      e4c98ef4-61ba-4efb-ae81-09102001b184-image.png

                      Wenn eine Steckdose über 20 ist kommt true raus, sonst false.

                      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 So - ich würde es zwar nicht so machen - da Du mit Strings arbeitest - aber im Prinzip funktioniert Dein Flow.

                        316cc604-6986-4776-aaa4-f3029d7d70cd-image.png

                        e4c98ef4-61ba-4efb-ae81-09102001b184-image.png

                        Wenn eine Steckdose über 20 ist kommt true raus, sonst false.

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

                        @mickym

                        Hmm, trotz der komischen Werte geht es, das wurdert mich. Wollte die großen Werte "Glattziehen" und die realen Werte nehmen. Aber das es momentan geht ist ja auch klar bei einem Wert von 1687639024058 pro Node.

                        Gibt es da einen Eleganteren Weg oder wieso würdest du es nicht so machen?

                        mfg

                        mickymM 2 Antworten Letzte Antwort
                        0
                        • K Kredar

                          @mickym

                          Hmm, trotz der komischen Werte geht es, das wurdert mich. Wollte die großen Werte "Glattziehen" und die realen Werte nehmen. Aber das es momentan geht ist ja auch klar bei einem Wert von 1687639024058 pro Node.

                          Gibt es da einen Eleganteren Weg oder wieso würdest du es nicht so machen?

                          mfg

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

                          @kredar Gut also die Aufgabe ist, dass sobald eine Steckdose über 20 Watt braucht - soll die Klimaanlage eingeschaltet werde also true ausschmeißen, ansonsten false?

                          Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

                          1 Antwort Letzte Antwort
                          0
                          • K Kredar

                            @mickym

                            Hmm, trotz der komischen Werte geht es, das wurdert mich. Wollte die großen Werte "Glattziehen" und die realen Werte nehmen. Aber das es momentan geht ist ja auch klar bei einem Wert von 1687639024058 pro Node.

                            Gibt es da einen Eleganteren Weg oder wieso würdest du es nicht so machen?

                            mfg

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

                            @kredar Weil ich es nicht gut finde - wenn man mit Zeit triggert - ich würde die Datenpunkte triggern lassen.

                            9511d7f1-8257-445d-9d22-f7e0760e41e6-image.png

                            Ich arbeite soweit möglich ohne function Nodes.

                            Ich sammle alle Ergebnisse in einem Objekt, wobei jede Eigenschaft bereits true oder false hat, ob über 20 Watt oder nicht und dann verknüpfe ich alle Ergebnisse mit ODER.

                            [
                                {
                                    "id": "556a4e08f5940d01",
                                    "type": "ioBroker in",
                                    "z": "0a30fff805c63db0",
                                    "name": "",
                                    "topic": "0_userdata.0.Test.PC_Power.PC1-Energy",
                                    "payloadType": "value",
                                    "onlyack": "",
                                    "func": "all",
                                    "gap": "",
                                    "fireOnStart": "true",
                                    "outFormat": "ioBroker",
                                    "x": 240,
                                    "y": 360,
                                    "wires": [
                                        [
                                            "3548421128b007da"
                                        ]
                                    ]
                                },
                                {
                                    "id": "41b50f9f23ddf146",
                                    "type": "ioBroker in",
                                    "z": "0a30fff805c63db0",
                                    "name": "",
                                    "topic": "0_userdata.0.Test.PC_Power.PC2-Energy",
                                    "payloadType": "value",
                                    "onlyack": "",
                                    "func": "all",
                                    "gap": "",
                                    "fireOnStart": "true",
                                    "outFormat": "ioBroker",
                                    "x": 240,
                                    "y": 420,
                                    "wires": [
                                        [
                                            "3548421128b007da"
                                        ]
                                    ]
                                },
                                {
                                    "id": "f7206ede621ac7dd",
                                    "type": "ioBroker in",
                                    "z": "0a30fff805c63db0",
                                    "name": "",
                                    "topic": "0_userdata.0.Test.PC_Power.PC3-Energy",
                                    "payloadType": "value",
                                    "onlyack": "",
                                    "func": "all",
                                    "gap": "",
                                    "fireOnStart": "true",
                                    "outFormat": "ioBroker",
                                    "x": 240,
                                    "y": 480,
                                    "wires": [
                                        [
                                            "3548421128b007da"
                                        ]
                                    ]
                                },
                                {
                                    "id": "3548421128b007da",
                                    "type": "change",
                                    "z": "0a30fff805c63db0",
                                    "name": "",
                                    "rules": [
                                        {
                                            "t": "change",
                                            "p": "topic",
                                            "pt": "msg",
                                            "from": ".*\\.(.*)$",
                                            "fromt": "re",
                                            "to": "$1",
                                            "tot": "str"
                                        },
                                        {
                                            "t": "set",
                                            "p": "payload",
                                            "pt": "msg",
                                            "to": "payload > 20 ? true : false",
                                            "tot": "jsonata"
                                        }
                                    ],
                                    "action": "",
                                    "property": "",
                                    "from": "",
                                    "to": "",
                                    "reg": false,
                                    "x": 550,
                                    "y": 420,
                                    "wires": [
                                        [
                                            "0f824f4bf3764b13"
                                        ]
                                    ]
                                },
                                {
                                    "id": "355a7107b476d7e2",
                                    "type": "debug",
                                    "z": "0a30fff805c63db0",
                                    "name": "Objekt mit Einzelstates",
                                    "active": true,
                                    "tosidebar": true,
                                    "console": false,
                                    "tostatus": false,
                                    "complete": "payload",
                                    "targetType": "msg",
                                    "statusVal": "",
                                    "statusType": "auto",
                                    "x": 940,
                                    "y": 380,
                                    "wires": []
                                },
                                {
                                    "id": "0f824f4bf3764b13",
                                    "type": "join",
                                    "z": "0a30fff805c63db0",
                                    "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": 730,
                                    "y": 420,
                                    "wires": [
                                        [
                                            "355a7107b476d7e2",
                                            "716d79ef4c4b8fe2"
                                        ]
                                    ]
                                },
                                {
                                    "id": "716d79ef4c4b8fe2",
                                    "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": 870,
                                    "y": 420,
                                    "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": "0a30fff805c63db0",
                                    "name": "Ergebnis",
                                    "active": true,
                                    "tosidebar": true,
                                    "console": false,
                                    "tostatus": false,
                                    "complete": "payload",
                                    "targetType": "msg",
                                    "statusVal": "",
                                    "statusType": "auto",
                                    "x": 1040,
                                    "y": 420,
                                    "wires": []
                                }
                            ]
                            

                            Dann brauchst Du nicht mit fixen Zeiten arbeiten.

                            Wichtig ist wie gesagt dass die Konvertierung in Strings ausgeschlossen ist.

                            cdd06885-b1dc-4d31-b296-d625badd3f71-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
                            • mickymM mickym

                              @kredar Weil ich es nicht gut finde - wenn man mit Zeit triggert - ich würde die Datenpunkte triggern lassen.

                              9511d7f1-8257-445d-9d22-f7e0760e41e6-image.png

                              Ich arbeite soweit möglich ohne function Nodes.

                              Ich sammle alle Ergebnisse in einem Objekt, wobei jede Eigenschaft bereits true oder false hat, ob über 20 Watt oder nicht und dann verknüpfe ich alle Ergebnisse mit ODER.

                              [
                                  {
                                      "id": "556a4e08f5940d01",
                                      "type": "ioBroker in",
                                      "z": "0a30fff805c63db0",
                                      "name": "",
                                      "topic": "0_userdata.0.Test.PC_Power.PC1-Energy",
                                      "payloadType": "value",
                                      "onlyack": "",
                                      "func": "all",
                                      "gap": "",
                                      "fireOnStart": "true",
                                      "outFormat": "ioBroker",
                                      "x": 240,
                                      "y": 360,
                                      "wires": [
                                          [
                                              "3548421128b007da"
                                          ]
                                      ]
                                  },
                                  {
                                      "id": "41b50f9f23ddf146",
                                      "type": "ioBroker in",
                                      "z": "0a30fff805c63db0",
                                      "name": "",
                                      "topic": "0_userdata.0.Test.PC_Power.PC2-Energy",
                                      "payloadType": "value",
                                      "onlyack": "",
                                      "func": "all",
                                      "gap": "",
                                      "fireOnStart": "true",
                                      "outFormat": "ioBroker",
                                      "x": 240,
                                      "y": 420,
                                      "wires": [
                                          [
                                              "3548421128b007da"
                                          ]
                                      ]
                                  },
                                  {
                                      "id": "f7206ede621ac7dd",
                                      "type": "ioBroker in",
                                      "z": "0a30fff805c63db0",
                                      "name": "",
                                      "topic": "0_userdata.0.Test.PC_Power.PC3-Energy",
                                      "payloadType": "value",
                                      "onlyack": "",
                                      "func": "all",
                                      "gap": "",
                                      "fireOnStart": "true",
                                      "outFormat": "ioBroker",
                                      "x": 240,
                                      "y": 480,
                                      "wires": [
                                          [
                                              "3548421128b007da"
                                          ]
                                      ]
                                  },
                                  {
                                      "id": "3548421128b007da",
                                      "type": "change",
                                      "z": "0a30fff805c63db0",
                                      "name": "",
                                      "rules": [
                                          {
                                              "t": "change",
                                              "p": "topic",
                                              "pt": "msg",
                                              "from": ".*\\.(.*)$",
                                              "fromt": "re",
                                              "to": "$1",
                                              "tot": "str"
                                          },
                                          {
                                              "t": "set",
                                              "p": "payload",
                                              "pt": "msg",
                                              "to": "payload > 20 ? true : false",
                                              "tot": "jsonata"
                                          }
                                      ],
                                      "action": "",
                                      "property": "",
                                      "from": "",
                                      "to": "",
                                      "reg": false,
                                      "x": 550,
                                      "y": 420,
                                      "wires": [
                                          [
                                              "0f824f4bf3764b13"
                                          ]
                                      ]
                                  },
                                  {
                                      "id": "355a7107b476d7e2",
                                      "type": "debug",
                                      "z": "0a30fff805c63db0",
                                      "name": "Objekt mit Einzelstates",
                                      "active": true,
                                      "tosidebar": true,
                                      "console": false,
                                      "tostatus": false,
                                      "complete": "payload",
                                      "targetType": "msg",
                                      "statusVal": "",
                                      "statusType": "auto",
                                      "x": 940,
                                      "y": 380,
                                      "wires": []
                                  },
                                  {
                                      "id": "0f824f4bf3764b13",
                                      "type": "join",
                                      "z": "0a30fff805c63db0",
                                      "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": 730,
                                      "y": 420,
                                      "wires": [
                                          [
                                              "355a7107b476d7e2",
                                              "716d79ef4c4b8fe2"
                                          ]
                                      ]
                                  },
                                  {
                                      "id": "716d79ef4c4b8fe2",
                                      "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": 870,
                                      "y": 420,
                                      "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": "0a30fff805c63db0",
                                      "name": "Ergebnis",
                                      "active": true,
                                      "tosidebar": true,
                                      "console": false,
                                      "tostatus": false,
                                      "complete": "payload",
                                      "targetType": "msg",
                                      "statusVal": "",
                                      "statusType": "auto",
                                      "x": 1040,
                                      "y": 420,
                                      "wires": []
                                  }
                              ]
                              

                              Dann brauchst Du nicht mit fixen Zeiten arbeiten.

                              Wichtig ist wie gesagt dass die Konvertierung in Strings ausgeschlossen ist.

                              cdd06885-b1dc-4d31-b296-d625badd3f71-image.png

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

                              @mickym

                              Die Stings sind im Adapter aus. Das habe ich vorhin deaktiviert.

                              Die Klimaanlage schalte ich ja Manuell an. Deshalb läuft das True ins "leere" auch es kann auch auf die Klimaanlage laufen. Egal sie muss an bleiben da einer im Raum ist.
                              Sobald alle PCs aus sind checkt das der ioBroker und schalter die Klimaanlage aus. Ähnlich habe ich es auch mit dem Licht im Haus. Wenn alle Geräte aus sind, dann geht das Licht mit einem kleinen Delay auch aus. Natürlich ist da auch ein Lichtsensor im Spiel, damit das Licht nicht angeht bevor eine gewisse Lichtsvhwelle unterschritten wird. Aber zuück zur Klima: Ich schau mir eben deinen Vorschlag mal an.

                              mfg

                              mickymM 1 Antwort Letzte Antwort
                              0
                              • K Kredar

                                @mickym

                                Die Stings sind im Adapter aus. Das habe ich vorhin deaktiviert.

                                Die Klimaanlage schalte ich ja Manuell an. Deshalb läuft das True ins "leere" auch es kann auch auf die Klimaanlage laufen. Egal sie muss an bleiben da einer im Raum ist.
                                Sobald alle PCs aus sind checkt das der ioBroker und schalter die Klimaanlage aus. Ähnlich habe ich es auch mit dem Licht im Haus. Wenn alle Geräte aus sind, dann geht das Licht mit einem kleinen Delay auch aus. Natürlich ist da auch ein Lichtsensor im Spiel, damit das Licht nicht angeht bevor eine gewisse Lichtsvhwelle unterschritten wird. Aber zuück zur Klima: Ich schau mir eben deinen Vorschlag mal an.

                                mfg

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

                                @kredar Wie gesagt Du kannst das auch umdrehen, wenn es nur ausschalten soll. Der große Unterschied ist, dass ich nicht alle 15 Minuten (oder ein gewisse Zeitspanne abfrage), sonder die Datenpunkte triggern lasse. Ausserdem hast Du mit dem Objekt jederzeit einen Überblick über den Zustand jedes Datenpunktes.

                                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 Wie gesagt Du kannst das auch umdrehen, wenn es nur ausschalten soll. Der große Unterschied ist, dass ich nicht alle 15 Minuten (oder ein gewisse Zeitspanne abfrage), sonder die Datenpunkte triggern lasse. Ausserdem hast Du mit dem Objekt jederzeit einen Überblick über den Zustand jedes Datenpunktes.

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

                                  @mickym

                                  Ja per MQTT kommt die Abfrage eh rein. Das ist in der Steckdose eh hinterlegt, alle 5min. wird per MQTT der Status an den ioBroker geschickt. Habe es quasi doppelt gemacht. Es klappt schaut echt "aufgeräumt" aus ohne "wirre" Zahlen. Super, ich danke dir. Schau ich mir genauer an und ändere es nach meinen Wünschen. Evtl. nutze ich es auch bei den anderen Schaltungen :)

                                  mfg

                                  mickymM 1 Antwort Letzte Antwort
                                  0
                                  • K Kredar

                                    @mickym

                                    Ja per MQTT kommt die Abfrage eh rein. Das ist in der Steckdose eh hinterlegt, alle 5min. wird per MQTT der Status an den ioBroker geschickt. Habe es quasi doppelt gemacht. Es klappt schaut echt "aufgeräumt" aus ohne "wirre" Zahlen. Super, ich danke dir. Schau ich mir genauer an und ändere es nach meinen Wünschen. Evtl. nutze ich es auch bei den anderen Schaltungen :)

                                    mfg

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

                                    @kredar Ich überwachse so alles - ob Fenster geöffnet sind, Batterie status, Licht status usw.

                                    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 überwachse so alles - ob Fenster geöffnet sind, Batterie status, Licht status usw.

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

                                      @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 1 Antwort Letzte Antwort
                                      0
                                      • 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
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          708

                                          Online

                                          32.5k

                                          Benutzer

                                          81.8k

                                          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