Skip to content
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • 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

  • Default (No Skin)
  • No Skin
Collapse
Logo
  1. ioBroker Community Home
  2. Deutsch
  3. ioBroker Allgemein
  4. Shellys ("Alt und Plus") über MQTT Adapter

NEWS

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

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

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

Shellys ("Alt und Plus") über MQTT Adapter

Scheduled Pinned Locked Moved ioBroker Allgemein
512 Posts 5 Posters 93.1k Views 6 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • mickymM mickym

    @dos1973 Ja müsste so gehen - aber moderner und einfacher ist es über command - dann würde ich lieber wenn Du es einheitlicher haben möchtest auch die switche über command steuern.

    Schaffst Du es alleine die Switche über command zu steuern oder soll ich anpassen? Auch wenn die switche on/off verstehen - können wir das ja wenn Du willst auch in true/false über change Nodes umwandeln.

    D Offline
    D Offline
    dos1973
    wrote on last edited by dos1973
    #371

    @mickym
    Ich versuchs erstmal… und melde mich dann. Wird wohl erste Anfang nächster Woche

    H 1 Reply Last reply
    0
    • D dos1973

      @mickym
      Ich versuchs erstmal… und melde mich dann. Wird wohl erste Anfang nächster Woche

      H Offline
      H Offline
      hotspot_2
      wrote on last edited by
      #372

      @mickym

      Hallo Mickym,

      ich hatte mal wieder eine Frage. Mir fällt dazu keine Lösung ein bisher.

      Ich würde gerne zwei Werte miteinander vergleichen die ich aber beide einlese (einmal aus MQTT und einmal aus einem Objekt). Wenn der eine Werte kleiner ist als der andere soll in einem Flow eine Aktion stattfinden oder auch nicht. Im Schalter habe ich bisher nur gesehen das ich mit einem Wert, den ich eingebe im switch, vergleichen kann.

      Danke schon mal für einen Tipp von Dir ;-).

      mickymM 1 Reply Last reply
      0
      • H hotspot_2

        @mickym

        Hallo Mickym,

        ich hatte mal wieder eine Frage. Mir fällt dazu keine Lösung ein bisher.

        Ich würde gerne zwei Werte miteinander vergleichen die ich aber beide einlese (einmal aus MQTT und einmal aus einem Objekt). Wenn der eine Werte kleiner ist als der andere soll in einem Flow eine Aktion stattfinden oder auch nicht. Im Schalter habe ich bisher nur gesehen das ich mit einem Wert, den ich eingebe im switch, vergleichen kann.

        Danke schon mal für einen Tipp von Dir ;-).

        mickymM Online
        mickymM Online
        mickym
        Most Active
        wrote on last edited by mickym
        #373

        @hotspot_2 Nun Du liest beide Werte in verschiedene Eigenschaften des Nachrichtenobjektes ein und kannst diese dann vergleichen.

        0379e5ef-46f3-47c0-ba41-b3488ca29534-image.png

        [
           {
               "id": "df92da4f528969f5",
               "type": "switch",
               "z": "2e7d4cac81c671e3",
               "name": "",
               "property": "payload",
               "propertyType": "msg",
               "rules": [
                   {
                       "t": "gt",
                       "v": "payload2",
                       "vt": "msg"
                   },
                   {
                       "t": "lt",
                       "v": "payload2",
                       "vt": "msg"
                   }
               ],
               "checkall": "true",
               "repair": false,
               "outputs": 2,
               "x": 810,
               "y": 4300,
               "wires": [
                   [
                       "b0965f6aded211f0"
                   ],
                   [
                       "20943a6addfb195d"
                   ]
               ]
           },
           {
               "id": "1ab0322e1ae67df3",
               "type": "inject",
               "z": "2e7d4cac81c671e3",
               "name": "payload > payload2",
               "props": [
                   {
                       "p": "payload"
                   },
                   {
                       "p": "payload2",
                       "v": "5",
                       "vt": "num"
                   }
               ],
               "repeat": "",
               "crontab": "",
               "once": false,
               "onceDelay": 0.1,
               "topic": "",
               "payload": "10",
               "payloadType": "num",
               "x": 590,
               "y": 4280,
               "wires": [
                   [
                       "205aaf9ad1d3893a",
                       "df92da4f528969f5"
                   ]
               ]
           },
           {
               "id": "205aaf9ad1d3893a",
               "type": "debug",
               "z": "2e7d4cac81c671e3",
               "name": "Komplette Nachrichtenobjekte",
               "active": true,
               "tosidebar": true,
               "console": false,
               "tostatus": false,
               "complete": "true",
               "targetType": "full",
               "statusVal": "",
               "statusType": "auto",
               "x": 890,
               "y": 4220,
               "wires": []
           },
           {
               "id": "aac9b8edb3327101",
               "type": "inject",
               "z": "2e7d4cac81c671e3",
               "name": "payload < payload2",
               "props": [
                   {
                       "p": "payload"
                   },
                   {
                       "p": "payload2",
                       "v": "5",
                       "vt": "num"
                   }
               ],
               "repeat": "",
               "crontab": "",
               "once": false,
               "onceDelay": 0.1,
               "topic": "",
               "payload": "3",
               "payloadType": "num",
               "x": 590,
               "y": 4320,
               "wires": [
                   [
                       "205aaf9ad1d3893a",
                       "df92da4f528969f5"
                   ]
               ]
           },
           {
               "id": "b0965f6aded211f0",
               "type": "debug",
               "z": "2e7d4cac81c671e3",
               "name": "payload > payload2",
               "active": true,
               "tosidebar": true,
               "console": false,
               "tostatus": false,
               "complete": "payload",
               "targetType": "msg",
               "statusVal": "",
               "statusType": "auto",
               "x": 1030,
               "y": 4280,
               "wires": []
           },
           {
               "id": "20943a6addfb195d",
               "type": "debug",
               "z": "2e7d4cac81c671e3",
               "name": "payload < payload2",
               "active": true,
               "tosidebar": true,
               "console": false,
               "tostatus": false,
               "complete": "payload",
               "targetType": "msg",
               "statusVal": "",
               "statusType": "auto",
               "x": 1030,
               "y": 4320,
               "wires": []
           }
        ]
        

        Einlesen kannst Du entweder durch Trigger und holen des jeweilig anderen Wertes oder über Variablen im Kontext (Flow oder Global).

        Einlesen kannst Du entweder durch Trigger und holen des jeweilig anderen Wertes oder über Variablen im Kontext (Flow oder Global).

        Diese Behauptung habe ich mit dieser Switch Node widerlegt. 😉 Du kannst die payload auch direkt mit einer flow oder globalen Kontextvariable vergleichen. 😉

        je nachdem für welche Variante Du dich entscheidest oder wenn Du alle Varianten sehen möchtest, lass es mich wissen, falls Du noch weitere Hilfe brauchst, dann gehen wir das wieder an einem konkreten Beispiel durch.

        Falls Du mqtt mit einem iobroker DP vergleichen willst, dann musst Du den mqtt-Wert entweder in einer Variablen speichern oder Du holst wenn die mqtt-Node triggert via iobroker get den Punkt aus dem iobroker. Du schreibst leider nicht, welcher trigger den Vergleich auslösen soll.

        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.

        H 1 Reply Last reply
        0
        • mickymM mickym

          @hotspot_2 Nun Du liest beide Werte in verschiedene Eigenschaften des Nachrichtenobjektes ein und kannst diese dann vergleichen.

          0379e5ef-46f3-47c0-ba41-b3488ca29534-image.png

          [
             {
                 "id": "df92da4f528969f5",
                 "type": "switch",
                 "z": "2e7d4cac81c671e3",
                 "name": "",
                 "property": "payload",
                 "propertyType": "msg",
                 "rules": [
                     {
                         "t": "gt",
                         "v": "payload2",
                         "vt": "msg"
                     },
                     {
                         "t": "lt",
                         "v": "payload2",
                         "vt": "msg"
                     }
                 ],
                 "checkall": "true",
                 "repair": false,
                 "outputs": 2,
                 "x": 810,
                 "y": 4300,
                 "wires": [
                     [
                         "b0965f6aded211f0"
                     ],
                     [
                         "20943a6addfb195d"
                     ]
                 ]
             },
             {
                 "id": "1ab0322e1ae67df3",
                 "type": "inject",
                 "z": "2e7d4cac81c671e3",
                 "name": "payload > payload2",
                 "props": [
                     {
                         "p": "payload"
                     },
                     {
                         "p": "payload2",
                         "v": "5",
                         "vt": "num"
                     }
                 ],
                 "repeat": "",
                 "crontab": "",
                 "once": false,
                 "onceDelay": 0.1,
                 "topic": "",
                 "payload": "10",
                 "payloadType": "num",
                 "x": 590,
                 "y": 4280,
                 "wires": [
                     [
                         "205aaf9ad1d3893a",
                         "df92da4f528969f5"
                     ]
                 ]
             },
             {
                 "id": "205aaf9ad1d3893a",
                 "type": "debug",
                 "z": "2e7d4cac81c671e3",
                 "name": "Komplette Nachrichtenobjekte",
                 "active": true,
                 "tosidebar": true,
                 "console": false,
                 "tostatus": false,
                 "complete": "true",
                 "targetType": "full",
                 "statusVal": "",
                 "statusType": "auto",
                 "x": 890,
                 "y": 4220,
                 "wires": []
             },
             {
                 "id": "aac9b8edb3327101",
                 "type": "inject",
                 "z": "2e7d4cac81c671e3",
                 "name": "payload < payload2",
                 "props": [
                     {
                         "p": "payload"
                     },
                     {
                         "p": "payload2",
                         "v": "5",
                         "vt": "num"
                     }
                 ],
                 "repeat": "",
                 "crontab": "",
                 "once": false,
                 "onceDelay": 0.1,
                 "topic": "",
                 "payload": "3",
                 "payloadType": "num",
                 "x": 590,
                 "y": 4320,
                 "wires": [
                     [
                         "205aaf9ad1d3893a",
                         "df92da4f528969f5"
                     ]
                 ]
             },
             {
                 "id": "b0965f6aded211f0",
                 "type": "debug",
                 "z": "2e7d4cac81c671e3",
                 "name": "payload > payload2",
                 "active": true,
                 "tosidebar": true,
                 "console": false,
                 "tostatus": false,
                 "complete": "payload",
                 "targetType": "msg",
                 "statusVal": "",
                 "statusType": "auto",
                 "x": 1030,
                 "y": 4280,
                 "wires": []
             },
             {
                 "id": "20943a6addfb195d",
                 "type": "debug",
                 "z": "2e7d4cac81c671e3",
                 "name": "payload < payload2",
                 "active": true,
                 "tosidebar": true,
                 "console": false,
                 "tostatus": false,
                 "complete": "payload",
                 "targetType": "msg",
                 "statusVal": "",
                 "statusType": "auto",
                 "x": 1030,
                 "y": 4320,
                 "wires": []
             }
          ]
          

          Einlesen kannst Du entweder durch Trigger und holen des jeweilig anderen Wertes oder über Variablen im Kontext (Flow oder Global).

          Einlesen kannst Du entweder durch Trigger und holen des jeweilig anderen Wertes oder über Variablen im Kontext (Flow oder Global).

          Diese Behauptung habe ich mit dieser Switch Node widerlegt. 😉 Du kannst die payload auch direkt mit einer flow oder globalen Kontextvariable vergleichen. 😉

          je nachdem für welche Variante Du dich entscheidest oder wenn Du alle Varianten sehen möchtest, lass es mich wissen, falls Du noch weitere Hilfe brauchst, dann gehen wir das wieder an einem konkreten Beispiel durch.

          Falls Du mqtt mit einem iobroker DP vergleichen willst, dann musst Du den mqtt-Wert entweder in einer Variablen speichern oder Du holst wenn die mqtt-Node triggert via iobroker get den Punkt aus dem iobroker. Du schreibst leider nicht, welcher trigger den Vergleich auslösen soll.

          H Offline
          H Offline
          hotspot_2
          wrote on last edited by hotspot_2
          #374

          @mickym
          Ich möchte wenn ein Bewegungsmelder Bewegung erkennt das Licht nur dann schalten wenn der Lux Wert (erkennt auch der Bewegungsmelder) unter einem bestimmten Wert ist. Den Wert habe ich einen ioBroker Objekt.

          Ich würde einfach zwei MQTT-in's machen (Bewegung und Lux-Wert) und dann den Lux-Wert mit dem Objekt vergleichen das ich vorher über iobroker-in geholt habe. Habe ich ja bei meinen Schaltern im Treppenhaus auch gemacht.

          Stimmt, iobroker get hat ja einen Ein- und Ausgang. Ein MQTT-Get konnte ich nicht finden.

          mickymM 1 Reply Last reply
          0
          • H hotspot_2

            @mickym
            Ich möchte wenn ein Bewegungsmelder Bewegung erkennt das Licht nur dann schalten wenn der Lux Wert (erkennt auch der Bewegungsmelder) unter einem bestimmten Wert ist. Den Wert habe ich einen ioBroker Objekt.

            Ich würde einfach zwei MQTT-in's machen (Bewegung und Lux-Wert) und dann den Lux-Wert mit dem Objekt vergleichen das ich vorher über iobroker-in geholt habe. Habe ich ja bei meinen Schaltern im Treppenhaus auch gemacht.

            Stimmt, iobroker get hat ja einen Ein- und Ausgang. Ein MQTT-Get konnte ich nicht finden.

            mickymM Online
            mickymM Online
            mickym
            Most Active
            wrote on last edited by mickym
            #375

            @hotspot_2 sagte in Shellys ("Alt und Plus") über MQTT Adapter:

            Ich würde einfach zwei MQTT-in's machen (Bewegung und Lux-Wert) und dann den Lux-Wert mit dem Objekt vergleichen das ich vorher über iobroker-in geholt habe. Habe ich ja bei meinen Schaltern im Treppenhaus auch gemacht.

            Nein das ist aus 2 Gründen verkehrt. Wenn Du 2 MQTT ins verwendest, dann triggern die zu unterschiedlichen Zeiten. Aber nun wirst Du den Vorteil von MQTT kennenlernen, wenn alle Informationen in einem Objekt sind, da ich davon ausgehe, dass in dem BWM Objekt auch die Lichtstärke ist.

            Kannst Du mal das komplette Objekt des Bewegungsmelders posten?

            MQTT-Get gibts nicht. Zeig das komplette Objekt des Bewegungsmelders und poste es bitte in CodeTags hier .

            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.

            H 1 Reply Last reply
            0
            • mickymM mickym

              @hotspot_2 sagte in Shellys ("Alt und Plus") über MQTT Adapter:

              Ich würde einfach zwei MQTT-in's machen (Bewegung und Lux-Wert) und dann den Lux-Wert mit dem Objekt vergleichen das ich vorher über iobroker-in geholt habe. Habe ich ja bei meinen Schaltern im Treppenhaus auch gemacht.

              Nein das ist aus 2 Gründen verkehrt. Wenn Du 2 MQTT ins verwendest, dann triggern die zu unterschiedlichen Zeiten. Aber nun wirst Du den Vorteil von MQTT kennenlernen, wenn alle Informationen in einem Objekt sind, da ich davon ausgehe, dass in dem BWM Objekt auch die Lichtstärke ist.

              Kannst Du mal das komplette Objekt des Bewegungsmelders posten?

              MQTT-Get gibts nicht. Zeig das komplette Objekt des Bewegungsmelders und poste es bitte in CodeTags hier .

              H Offline
              H Offline
              hotspot_2
              wrote on last edited by hotspot_2
              #376

              @mickym
              Hallo! Ja, die Lichtstärke ist auch drin (lux). Motion holen wir ja schon raus.

              {
                "motion": false,
                "timestamp": 1680969357,
                "active": true,
                "vibration": false,
                "lux": 0,
                "bat": 100,
                "tmp": {
                  "value": 18.7,
                  "units": "C",
                  "is_valid": true
                }
              }
              
              mickymM 1 Reply Last reply
              0
              • H hotspot_2

                @mickym
                Hallo! Ja, die Lichtstärke ist auch drin (lux). Motion holen wir ja schon raus.

                {
                  "motion": false,
                  "timestamp": 1680969357,
                  "active": true,
                  "vibration": false,
                  "lux": 0,
                  "bat": 100,
                  "tmp": {
                    "value": 18.7,
                    "units": "C",
                    "is_valid": true
                  }
                }
                
                mickymM Online
                mickymM Online
                mickym
                Most Active
                wrote on last edited by mickym
                #377

                @hotspot_2 Also dann kannst Du doch (also UND verknüpfung) einfach beide Eigenschaften nutzen. Denke immer daran an

                copy path.gif

                Nun kannst Du Dir noch überlegen, ob der BMW automatisch ausschalten soll oder nicht. Also Du kannst mit MQTT- einfach dieses Objekt nutzen und musst weder was auslesen noch zwischenspeichern und das ist eben der RIESESNVORTEIL von mqtt - das alle Informationen auf einmal liefert.

                Schau mal wie einfach:

                365e02da-cdf6-4767-b021-f8e8ce83f42f-image.png

                Wenn Du nicht über den BWM ausschalten willst - dann lässt Du an dem 1. Switch den 2. Ausgang weg:

                [
                   {
                       "id": "401dd3aae0465093",
                       "type": "inject",
                       "z": "2e7d4cac81c671e3",
                       "name": "",
                       "props": [
                           {
                               "p": "payload"
                           }
                       ],
                       "repeat": "",
                       "crontab": "",
                       "once": false,
                       "onceDelay": 0.1,
                       "topic": "",
                       "payload": "{   \"motion\": false,   \"timestamp\": 1680969357,   \"active\": true,   \"vibration\": false,   \"lux\": 0,   \"bat\": 100,   \"tmp\": {     \"value\": 18.7,     \"units\": \"C\",     \"is_valid\": true   } }",
                       "payloadType": "json",
                       "x": 410,
                       "y": 4320,
                       "wires": [
                           [
                               "9bfcd157e3bcda0e"
                           ]
                       ]
                   },
                   {
                       "id": "9bfcd157e3bcda0e",
                       "type": "switch",
                       "z": "2e7d4cac81c671e3",
                       "name": "Bewegungsmelder",
                       "property": "payload.motion",
                       "propertyType": "msg",
                       "rules": [
                           {
                               "t": "true"
                           },
                           {
                               "t": "false"
                           }
                       ],
                       "checkall": "true",
                       "repair": false,
                       "outputs": 2,
                       "x": 590,
                       "y": 4320,
                       "wires": [
                           [
                               "a3674f8bfec0af40"
                           ],
                           [
                               "13a4bcaf410b46fa"
                           ]
                       ]
                   },
                   {
                       "id": "4ec9960c1aca4908",
                       "type": "debug",
                       "z": "2e7d4cac81c671e3",
                       "name": "Licht schalten",
                       "active": true,
                       "tosidebar": true,
                       "console": false,
                       "tostatus": false,
                       "complete": "payload",
                       "targetType": "msg",
                       "statusVal": "",
                       "statusType": "auto",
                       "x": 1180,
                       "y": 4320,
                       "wires": []
                   },
                   {
                       "id": "a3674f8bfec0af40",
                       "type": "switch",
                       "z": "2e7d4cac81c671e3",
                       "name": "Lux < 10",
                       "property": "payload.lux",
                       "propertyType": "msg",
                       "rules": [
                           {
                               "t": "lte",
                               "v": "10",
                               "vt": "num"
                           }
                       ],
                       "checkall": "true",
                       "repair": false,
                       "outputs": 1,
                       "x": 780,
                       "y": 4280,
                       "wires": [
                           [
                               "13a4bcaf410b46fa"
                           ]
                       ]
                   },
                   {
                       "id": "13a4bcaf410b46fa",
                       "type": "change",
                       "z": "2e7d4cac81c671e3",
                       "name": "",
                       "rules": [
                           {
                               "t": "set",
                               "p": "payload",
                               "pt": "msg",
                               "to": "payload.motion",
                               "tot": "msg"
                           }
                       ],
                       "action": "",
                       "property": "",
                       "from": "",
                       "to": "",
                       "reg": false,
                       "x": 970,
                       "y": 4320,
                       "wires": [
                           [
                               "4ec9960c1aca4908"
                           ]
                       ]
                   }
                ]
                

                Also mit 3 Nodes und einem Objekt ist die gesamte Logik implementiert. Statt der Inject node, die MQTT-IN Node dran. Nun siehst Du was es für ein Vorteil ist, nicht alle Informationen des Objektes auseinander zu fieseln. 😉 Das kapieren aber die wenigsten.

                Da das motion-signal direkt true und false liefert können wir das auch direkt nutzen.

                Da Du ja über rpc Dein Licht schaltest könntest Du die hintere Change NOde auch wie folgt anpassen:

                1156492f-a867-40e3-a22c-2c312dbd30bf-image.png

                Wir nutzen also die motion Eigenschaft (true/false) um direkt die Lampe über Rpc zu schalten:

                [
                   {
                       "id": "401dd3aae0465093",
                       "type": "inject",
                       "z": "2e7d4cac81c671e3",
                       "name": "",
                       "props": [
                           {
                               "p": "payload"
                           }
                       ],
                       "repeat": "",
                       "crontab": "",
                       "once": false,
                       "onceDelay": 0.1,
                       "topic": "",
                       "payload": "{   \"motion\": false,   \"timestamp\": 1680969357,   \"active\": true,   \"vibration\": false,   \"lux\": 0,   \"bat\": 100,   \"tmp\": {     \"value\": 18.7,     \"units\": \"C\",     \"is_valid\": true   } }",
                       "payloadType": "json",
                       "x": 130,
                       "y": 4300,
                       "wires": [
                           [
                               "9bfcd157e3bcda0e"
                           ]
                       ]
                   },
                   {
                       "id": "9bfcd157e3bcda0e",
                       "type": "switch",
                       "z": "2e7d4cac81c671e3",
                       "name": "Bewegungsmelder",
                       "property": "payload.motion",
                       "propertyType": "msg",
                       "rules": [
                           {
                               "t": "true"
                           },
                           {
                               "t": "false"
                           }
                       ],
                       "checkall": "true",
                       "repair": false,
                       "outputs": 2,
                       "x": 310,
                       "y": 4300,
                       "wires": [
                           [
                               "a3674f8bfec0af40"
                           ],
                           [
                               "c6df11b3756e50be"
                           ]
                       ]
                   },
                   {
                       "id": "4ec9960c1aca4908",
                       "type": "debug",
                       "z": "2e7d4cac81c671e3",
                       "name": "Licht schalten",
                       "active": true,
                       "tosidebar": true,
                       "console": false,
                       "tostatus": false,
                       "complete": "payload",
                       "targetType": "msg",
                       "statusVal": "",
                       "statusType": "auto",
                       "x": 900,
                       "y": 4300,
                       "wires": []
                   },
                   {
                       "id": "a3674f8bfec0af40",
                       "type": "switch",
                       "z": "2e7d4cac81c671e3",
                       "name": "Lux < 10",
                       "property": "payload.lux",
                       "propertyType": "msg",
                       "rules": [
                           {
                               "t": "lte",
                               "v": "10",
                               "vt": "num"
                           }
                       ],
                       "checkall": "true",
                       "repair": false,
                       "outputs": 1,
                       "x": 500,
                       "y": 4260,
                       "wires": [
                           [
                               "c6df11b3756e50be"
                           ]
                       ]
                   },
                   {
                       "id": "c6df11b3756e50be",
                       "type": "change",
                       "z": "2e7d4cac81c671e3",
                       "name": "",
                       "rules": [
                           {
                               "t": "set",
                               "p": "payload",
                               "pt": "msg",
                               "to": "{\t   \"id\":123,\t   \"src\":\"hotspot_2\",\t   \"method\":\"Switch.Set\",\t   \"params\":{\"id\":0,\"on\":payload.motion}\t}\t \t",
                               "tot": "jsonata"
                           }
                       ],
                       "action": "",
                       "property": "",
                       "from": "",
                       "to": "",
                       "reg": false,
                       "x": 690,
                       "y": 4300,
                       "wires": [
                           [
                               "4ec9960c1aca4908"
                           ]
                       ]
                   }
                ]
                

                Also kommen wir ohne irgendwelche Datenpunkte aus dem iobroker aus, da uns der Bewegungsmelder bereits alle aktuellen Informationen liefert.

                Es ist auch wichtig - dass Du nicht einfach alles triggern lässt. Triggern wird immer die Bewegung. Ob eine Bewegung nun das Licht einschaltet wird in der 2. Bedingung festgelegt. Das LICHT wird aber NIE triggern. Deshalb musst Du hier Deine Logik immer wieder auf die Prüfschale legen.

                Falls Du mqtt mit einem iobroker DP vergleichen willst, dann musst Du den mqtt-Wert entweder in einer Variablen speichern oder Du holst wenn die mqtt-Node triggert via iobroker get den Punkt aus dem iobroker. Du schreibst leider nicht, welcher trigger den Vergleich auslösen soll.

                Das ist also aus 2 Gründen falsch:

                1. Wenn Du 2 DP hättest, dann würde die Trigger immer unterschiedlich sein - und Du müsstest sie sowieso in ein Objekt überführen.
                2. Das Licht triggert nicht, sondern die Bewegung. Das Licht stellt nur eine Bedinung für eine Bewegung dar.

                Was Du hier auch sehen kannst: Die Switch Nodes legen nur die Bedingung fest unter der eine Nachricht an einen Ausgang weitergeleitet wird. Das Nachrichtenobjekt selbst wird aber nicht modifziert, so dass Du auch ganz hinten im Flow (also in der letzten Change Node), alle Eigenschaften des Nachrichtenobjektes zu Verfügung hast. Es besteht also gar keinen Notwendigkeit einzelne Eigenschaften des Nachrichtenobjektes zu selektieren oder auszufiltern.

                Generell siehst Du hier auch den grafischen Vorteil von NodeRed gegenüber Blockly oder JS-Code - Du kannst Dir genau vorstellen, wie ein Nachrichtenobjekt durch die Nodes flutscht bzw. wo und wie es modifiziert wird. Und wenn mal was nicht tut - einfach die nachfolgende Node deaktivieren, dann bleibt der Flow da stehen und man kann via debug NOde immer sehen, was aus dem Flow rauskommt. Außerdem siehst Du wie einfach Du aus einem Nachrichtenobjekt oder einer payload - eine komplett neues Objekt erstellst.

                Du kannst auch mehrere Regeln in der ChangeNode definieren. Falls Du unterschiedliche Eigenschaften zum Schalten des Lichts verwenden willst. Diese werden auch immer von oben nach unten abgearbeitet, so dass die Change Nodes manchmal sogar schon ein Miniprogramm enthalten können.

                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.

                H 1 Reply Last reply
                0
                • mickymM mickym

                  @hotspot_2 Also dann kannst Du doch (also UND verknüpfung) einfach beide Eigenschaften nutzen. Denke immer daran an

                  copy path.gif

                  Nun kannst Du Dir noch überlegen, ob der BMW automatisch ausschalten soll oder nicht. Also Du kannst mit MQTT- einfach dieses Objekt nutzen und musst weder was auslesen noch zwischenspeichern und das ist eben der RIESESNVORTEIL von mqtt - das alle Informationen auf einmal liefert.

                  Schau mal wie einfach:

                  365e02da-cdf6-4767-b021-f8e8ce83f42f-image.png

                  Wenn Du nicht über den BWM ausschalten willst - dann lässt Du an dem 1. Switch den 2. Ausgang weg:

                  [
                     {
                         "id": "401dd3aae0465093",
                         "type": "inject",
                         "z": "2e7d4cac81c671e3",
                         "name": "",
                         "props": [
                             {
                                 "p": "payload"
                             }
                         ],
                         "repeat": "",
                         "crontab": "",
                         "once": false,
                         "onceDelay": 0.1,
                         "topic": "",
                         "payload": "{   \"motion\": false,   \"timestamp\": 1680969357,   \"active\": true,   \"vibration\": false,   \"lux\": 0,   \"bat\": 100,   \"tmp\": {     \"value\": 18.7,     \"units\": \"C\",     \"is_valid\": true   } }",
                         "payloadType": "json",
                         "x": 410,
                         "y": 4320,
                         "wires": [
                             [
                                 "9bfcd157e3bcda0e"
                             ]
                         ]
                     },
                     {
                         "id": "9bfcd157e3bcda0e",
                         "type": "switch",
                         "z": "2e7d4cac81c671e3",
                         "name": "Bewegungsmelder",
                         "property": "payload.motion",
                         "propertyType": "msg",
                         "rules": [
                             {
                                 "t": "true"
                             },
                             {
                                 "t": "false"
                             }
                         ],
                         "checkall": "true",
                         "repair": false,
                         "outputs": 2,
                         "x": 590,
                         "y": 4320,
                         "wires": [
                             [
                                 "a3674f8bfec0af40"
                             ],
                             [
                                 "13a4bcaf410b46fa"
                             ]
                         ]
                     },
                     {
                         "id": "4ec9960c1aca4908",
                         "type": "debug",
                         "z": "2e7d4cac81c671e3",
                         "name": "Licht schalten",
                         "active": true,
                         "tosidebar": true,
                         "console": false,
                         "tostatus": false,
                         "complete": "payload",
                         "targetType": "msg",
                         "statusVal": "",
                         "statusType": "auto",
                         "x": 1180,
                         "y": 4320,
                         "wires": []
                     },
                     {
                         "id": "a3674f8bfec0af40",
                         "type": "switch",
                         "z": "2e7d4cac81c671e3",
                         "name": "Lux < 10",
                         "property": "payload.lux",
                         "propertyType": "msg",
                         "rules": [
                             {
                                 "t": "lte",
                                 "v": "10",
                                 "vt": "num"
                             }
                         ],
                         "checkall": "true",
                         "repair": false,
                         "outputs": 1,
                         "x": 780,
                         "y": 4280,
                         "wires": [
                             [
                                 "13a4bcaf410b46fa"
                             ]
                         ]
                     },
                     {
                         "id": "13a4bcaf410b46fa",
                         "type": "change",
                         "z": "2e7d4cac81c671e3",
                         "name": "",
                         "rules": [
                             {
                                 "t": "set",
                                 "p": "payload",
                                 "pt": "msg",
                                 "to": "payload.motion",
                                 "tot": "msg"
                             }
                         ],
                         "action": "",
                         "property": "",
                         "from": "",
                         "to": "",
                         "reg": false,
                         "x": 970,
                         "y": 4320,
                         "wires": [
                             [
                                 "4ec9960c1aca4908"
                             ]
                         ]
                     }
                  ]
                  

                  Also mit 3 Nodes und einem Objekt ist die gesamte Logik implementiert. Statt der Inject node, die MQTT-IN Node dran. Nun siehst Du was es für ein Vorteil ist, nicht alle Informationen des Objektes auseinander zu fieseln. 😉 Das kapieren aber die wenigsten.

                  Da das motion-signal direkt true und false liefert können wir das auch direkt nutzen.

                  Da Du ja über rpc Dein Licht schaltest könntest Du die hintere Change NOde auch wie folgt anpassen:

                  1156492f-a867-40e3-a22c-2c312dbd30bf-image.png

                  Wir nutzen also die motion Eigenschaft (true/false) um direkt die Lampe über Rpc zu schalten:

                  [
                     {
                         "id": "401dd3aae0465093",
                         "type": "inject",
                         "z": "2e7d4cac81c671e3",
                         "name": "",
                         "props": [
                             {
                                 "p": "payload"
                             }
                         ],
                         "repeat": "",
                         "crontab": "",
                         "once": false,
                         "onceDelay": 0.1,
                         "topic": "",
                         "payload": "{   \"motion\": false,   \"timestamp\": 1680969357,   \"active\": true,   \"vibration\": false,   \"lux\": 0,   \"bat\": 100,   \"tmp\": {     \"value\": 18.7,     \"units\": \"C\",     \"is_valid\": true   } }",
                         "payloadType": "json",
                         "x": 130,
                         "y": 4300,
                         "wires": [
                             [
                                 "9bfcd157e3bcda0e"
                             ]
                         ]
                     },
                     {
                         "id": "9bfcd157e3bcda0e",
                         "type": "switch",
                         "z": "2e7d4cac81c671e3",
                         "name": "Bewegungsmelder",
                         "property": "payload.motion",
                         "propertyType": "msg",
                         "rules": [
                             {
                                 "t": "true"
                             },
                             {
                                 "t": "false"
                             }
                         ],
                         "checkall": "true",
                         "repair": false,
                         "outputs": 2,
                         "x": 310,
                         "y": 4300,
                         "wires": [
                             [
                                 "a3674f8bfec0af40"
                             ],
                             [
                                 "c6df11b3756e50be"
                             ]
                         ]
                     },
                     {
                         "id": "4ec9960c1aca4908",
                         "type": "debug",
                         "z": "2e7d4cac81c671e3",
                         "name": "Licht schalten",
                         "active": true,
                         "tosidebar": true,
                         "console": false,
                         "tostatus": false,
                         "complete": "payload",
                         "targetType": "msg",
                         "statusVal": "",
                         "statusType": "auto",
                         "x": 900,
                         "y": 4300,
                         "wires": []
                     },
                     {
                         "id": "a3674f8bfec0af40",
                         "type": "switch",
                         "z": "2e7d4cac81c671e3",
                         "name": "Lux < 10",
                         "property": "payload.lux",
                         "propertyType": "msg",
                         "rules": [
                             {
                                 "t": "lte",
                                 "v": "10",
                                 "vt": "num"
                             }
                         ],
                         "checkall": "true",
                         "repair": false,
                         "outputs": 1,
                         "x": 500,
                         "y": 4260,
                         "wires": [
                             [
                                 "c6df11b3756e50be"
                             ]
                         ]
                     },
                     {
                         "id": "c6df11b3756e50be",
                         "type": "change",
                         "z": "2e7d4cac81c671e3",
                         "name": "",
                         "rules": [
                             {
                                 "t": "set",
                                 "p": "payload",
                                 "pt": "msg",
                                 "to": "{\t   \"id\":123,\t   \"src\":\"hotspot_2\",\t   \"method\":\"Switch.Set\",\t   \"params\":{\"id\":0,\"on\":payload.motion}\t}\t \t",
                                 "tot": "jsonata"
                             }
                         ],
                         "action": "",
                         "property": "",
                         "from": "",
                         "to": "",
                         "reg": false,
                         "x": 690,
                         "y": 4300,
                         "wires": [
                             [
                                 "4ec9960c1aca4908"
                             ]
                         ]
                     }
                  ]
                  

                  Also kommen wir ohne irgendwelche Datenpunkte aus dem iobroker aus, da uns der Bewegungsmelder bereits alle aktuellen Informationen liefert.

                  Es ist auch wichtig - dass Du nicht einfach alles triggern lässt. Triggern wird immer die Bewegung. Ob eine Bewegung nun das Licht einschaltet wird in der 2. Bedingung festgelegt. Das LICHT wird aber NIE triggern. Deshalb musst Du hier Deine Logik immer wieder auf die Prüfschale legen.

                  Falls Du mqtt mit einem iobroker DP vergleichen willst, dann musst Du den mqtt-Wert entweder in einer Variablen speichern oder Du holst wenn die mqtt-Node triggert via iobroker get den Punkt aus dem iobroker. Du schreibst leider nicht, welcher trigger den Vergleich auslösen soll.

                  Das ist also aus 2 Gründen falsch:

                  1. Wenn Du 2 DP hättest, dann würde die Trigger immer unterschiedlich sein - und Du müsstest sie sowieso in ein Objekt überführen.
                  2. Das Licht triggert nicht, sondern die Bewegung. Das Licht stellt nur eine Bedinung für eine Bewegung dar.

                  Was Du hier auch sehen kannst: Die Switch Nodes legen nur die Bedingung fest unter der eine Nachricht an einen Ausgang weitergeleitet wird. Das Nachrichtenobjekt selbst wird aber nicht modifziert, so dass Du auch ganz hinten im Flow (also in der letzten Change Node), alle Eigenschaften des Nachrichtenobjektes zu Verfügung hast. Es besteht also gar keinen Notwendigkeit einzelne Eigenschaften des Nachrichtenobjektes zu selektieren oder auszufiltern.

                  Generell siehst Du hier auch den grafischen Vorteil von NodeRed gegenüber Blockly oder JS-Code - Du kannst Dir genau vorstellen, wie ein Nachrichtenobjekt durch die Nodes flutscht bzw. wo und wie es modifiziert wird. Und wenn mal was nicht tut - einfach die nachfolgende Node deaktivieren, dann bleibt der Flow da stehen und man kann via debug NOde immer sehen, was aus dem Flow rauskommt. Außerdem siehst Du wie einfach Du aus einem Nachrichtenobjekt oder einer payload - eine komplett neues Objekt erstellst.

                  Du kannst auch mehrere Regeln in der ChangeNode definieren. Falls Du unterschiedliche Eigenschaften zum Schalten des Lichts verwenden willst. Diese werden auch immer von oben nach unten abgearbeitet, so dass die Change Nodes manchmal sogar schon ein Miniprogramm enthalten können.

                  H Offline
                  H Offline
                  hotspot_2
                  wrote on last edited by hotspot_2
                  #378

                  @mickym

                  Sehr schön! Danke für die Erklärung.

                  Ich habe das jetzt mal in meinen Flow eingebaut. Ein Trigger ist der Startpunkt der einmal den Payload true und bei ausschalten false mitgibt. Das wird dann in ein JSON eingebaut zum aus- und einschalten. Ich habe jetzt mal auch true und false abgefangen um zu verhindern dass das Licht nicht mehr ausgeht sollte es dunkel werden zwischen Ein- und Ausschaltzeitpunkt ;-).

                  [
                     {
                         "id": "ae979309777cfd8f",
                         "type": "mqtt in",
                         "z": "692f3cf44001c136",
                         "name": "",
                         "topic": "shellies/sonstiges/bwm_wk/status",
                         "qos": "2",
                         "datatype": "auto-detect",
                         "broker": "b22fc4d3e3f172bb",
                         "nl": false,
                         "rap": true,
                         "rh": 0,
                         "inputs": 0,
                         "x": 310,
                         "y": 160,
                         "wires": [
                             [
                                 "ce3fea7966a34734"
                             ]
                         ]
                     },
                     {
                         "id": "4d6c21f253707f3a",
                         "type": "mqtt in",
                         "z": "692f3cf44001c136",
                         "name": "",
                         "topic": "shellies/sonstiges/bwm_flur_keller/status",
                         "qos": "2",
                         "datatype": "auto-detect",
                         "broker": "b22fc4d3e3f172bb",
                         "nl": false,
                         "rap": true,
                         "rh": 0,
                         "inputs": 0,
                         "x": 280,
                         "y": 240,
                         "wires": [
                             [
                                 "ce3fea7966a34734"
                             ]
                         ]
                     },
                     {
                         "id": "ce3fea7966a34734",
                         "type": "switch",
                         "z": "692f3cf44001c136",
                         "name": "",
                         "property": "payload.motion",
                         "propertyType": "msg",
                         "rules": [
                             {
                                 "t": "true"
                             }
                         ],
                         "checkall": "true",
                         "repair": false,
                         "outputs": 1,
                         "x": 540,
                         "y": 200,
                         "wires": [
                             [
                                 "ad67b76febdf0a92"
                             ]
                         ]
                     },
                     {
                         "id": "de365cd7a4813149",
                         "type": "change",
                         "z": "692f3cf44001c136",
                         "name": "",
                         "rules": [
                             {
                                 "t": "set",
                                 "p": "payload",
                                 "pt": "msg",
                                 "to": "{\t   \"id\":199,\t   \"src\":\"hotspot_2\",\t   \"method\":\"Switch.Set\",\t   \"params\":{\"id\":0,\"on\":payload}\t}\t \t",
                                 "tot": "jsonata"
                             },
                             {
                                 "t": "set",
                                 "p": "status_licht",
                                 "pt": "msg",
                                 "to": "payload",
                                 "tot": "msg"
                             }
                         ],
                         "action": "",
                         "property": "",
                         "from": "",
                         "to": "",
                         "reg": false,
                         "x": 1290,
                         "y": 280,
                         "wires": [
                             [
                                 "541e8fa04f94475d",
                                 "df00a6eda1372fa1",
                                 "7e4aebe657e40852"
                             ]
                         ]
                     },
                     {
                         "id": "0e35c29460abd499",
                         "type": "mqtt out",
                         "z": "692f3cf44001c136",
                         "name": "",
                         "topic": "shellies/licht/keller/waschkueche/rpc",
                         "qos": "",
                         "retain": "",
                         "respTopic": "",
                         "contentType": "",
                         "userProps": "",
                         "correl": "",
                         "expiry": "",
                         "broker": "b22fc4d3e3f172bb",
                         "x": 2410,
                         "y": 320,
                         "wires": []
                     },
                     {
                         "id": "541e8fa04f94475d",
                         "type": "mqtt out",
                         "z": "692f3cf44001c136",
                         "name": "",
                         "topic": "shellies/licht/keller/flur_keller_vorne/rpc",
                         "qos": "",
                         "retain": "",
                         "respTopic": "",
                         "contentType": "",
                         "userProps": "",
                         "correl": "",
                         "expiry": "",
                         "broker": "b22fc4d3e3f172bb",
                         "x": 1640,
                         "y": 200,
                         "wires": []
                     },
                     {
                         "id": "658b57870ce763a7",
                         "type": "trigger",
                         "z": "692f3cf44001c136",
                         "name": "",
                         "op1": "true",
                         "op2": "false",
                         "op1type": "bool",
                         "op2type": "bool",
                         "duration": "2",
                         "extend": true,
                         "overrideDelay": false,
                         "units": "min",
                         "reset": "",
                         "bytopic": "all",
                         "topic": "topic",
                         "outputs": 1,
                         "x": 1050,
                         "y": 280,
                         "wires": [
                             [
                                 "de365cd7a4813149"
                             ]
                         ]
                     },
                     {
                         "id": "ad67b76febdf0a92",
                         "type": "ioBroker get",
                         "z": "692f3cf44001c136",
                         "name": "Schalter",
                         "topic": "0_userdata.0.hausautomation.bwm_flur_keller_aktiv",
                         "attrname": "payload",
                         "payloadType": "value",
                         "errOnInvalidState": "nothing",
                         "x": 670,
                         "y": 200,
                         "wires": [
                             [
                                 "c7a2538582f26f99"
                             ]
                         ]
                     },
                     {
                         "id": "c7a2538582f26f99",
                         "type": "switch",
                         "z": "692f3cf44001c136",
                         "name": "Schalter = true?",
                         "property": "payload",
                         "propertyType": "msg",
                         "rules": [
                             {
                                 "t": "true"
                             }
                         ],
                         "checkall": "true",
                         "repair": false,
                         "outputs": 1,
                         "x": 840,
                         "y": 200,
                         "wires": [
                             [
                                 "658b57870ce763a7"
                             ]
                         ]
                     },
                     {
                         "id": "df00a6eda1372fa1",
                         "type": "mqtt out",
                         "z": "692f3cf44001c136",
                         "name": "",
                         "topic": "shellies/licht/keller/flur_keller_hinten/rpc",
                         "qos": "",
                         "retain": "",
                         "respTopic": "",
                         "contentType": "",
                         "userProps": "",
                         "correl": "",
                         "expiry": "",
                         "broker": "b22fc4d3e3f172bb",
                         "x": 1640,
                         "y": 260,
                         "wires": []
                     },
                     {
                         "id": "1db60ebf902ccc94",
                         "type": "comment",
                         "z": "692f3cf44001c136",
                         "name": "Flur Keller Lichtsteuerung",
                         "info": "",
                         "x": 150,
                         "y": 80,
                         "wires": []
                     },
                     {
                         "id": "eb3fcf783b74fd7a",
                         "type": "mqtt in",
                         "z": "692f3cf44001c136",
                         "name": "",
                         "topic": "shellies/licht/keller/waschkueche/events/rpc",
                         "qos": "2",
                         "datatype": "auto-detect",
                         "broker": "b22fc4d3e3f172bb",
                         "nl": false,
                         "rap": true,
                         "rh": 0,
                         "inputs": 0,
                         "x": 280,
                         "y": 300,
                         "wires": [
                             [
                                 "1e6515cac6ba6901"
                             ]
                         ]
                     },
                     {
                         "id": "90c60a9f3a115521",
                         "type": "mqtt in",
                         "z": "692f3cf44001c136",
                         "name": "",
                         "topic": "shellies/licht/keller/flur_keller_hinten/events/rpc",
                         "qos": "2",
                         "datatype": "auto-detect",
                         "broker": "b22fc4d3e3f172bb",
                         "nl": false,
                         "rap": true,
                         "rh": 0,
                         "inputs": 0,
                         "x": 260,
                         "y": 360,
                         "wires": [
                             [
                                 "1e6515cac6ba6901"
                             ]
                         ]
                     },
                     {
                         "id": "1416273ebfce58bb",
                         "type": "mqtt in",
                         "z": "692f3cf44001c136",
                         "name": "",
                         "topic": "shellies/licht/keller/flur_keller_vorne/events/rpc",
                         "qos": "2",
                         "datatype": "auto-detect",
                         "broker": "b22fc4d3e3f172bb",
                         "nl": false,
                         "rap": true,
                         "rh": 0,
                         "inputs": 0,
                         "x": 270,
                         "y": 420,
                         "wires": [
                             [
                                 "1e6515cac6ba6901"
                             ]
                         ]
                     },
                     {
                         "id": "1e6515cac6ba6901",
                         "type": "switch",
                         "z": "692f3cf44001c136",
                         "name": "NotifyEvent",
                         "property": "payload.method",
                         "propertyType": "msg",
                         "rules": [
                             {
                                 "t": "eq",
                                 "v": "NotifyEvent",
                                 "vt": "str"
                             }
                         ],
                         "checkall": "true",
                         "repair": false,
                         "outputs": 1,
                         "x": 570,
                         "y": 360,
                         "wires": [
                             [
                                 "ccaf9c5d06ca071a"
                             ]
                         ]
                     },
                     {
                         "id": "ccaf9c5d06ca071a",
                         "type": "switch",
                         "z": "692f3cf44001c136",
                         "name": "input:0 = btn_down",
                         "property": "payload.params.events[0].component=\"input:0\" and payload.params.events[0].event = \"btn_down\"",
                         "propertyType": "jsonata",
                         "rules": [
                             {
                                 "t": "true"
                             }
                         ],
                         "checkall": "true",
                         "repair": false,
                         "outputs": 1,
                         "x": 830,
                         "y": 360,
                         "wires": [
                             [
                                 "658b57870ce763a7"
                             ]
                         ]
                     },
                     {
                         "id": "323856145be0390f",
                         "type": "ioBroker get",
                         "z": "692f3cf44001c136",
                         "name": "",
                         "topic": "0_userdata.0.hausautomation.lux_bewegungsmelder_wk",
                         "attrname": "lux_wk",
                         "payloadType": "value",
                         "errOnInvalidState": "nothing",
                         "x": 1830,
                         "y": 300,
                         "wires": [
                             [
                                 "29d46c0be09b69a6"
                             ]
                         ]
                     },
                     {
                         "id": "29d46c0be09b69a6",
                         "type": "switch",
                         "z": "692f3cf44001c136",
                         "name": "Lux < lux_wk",
                         "property": "payload.lux",
                         "propertyType": "msg",
                         "rules": [
                             {
                                 "t": "lte",
                                 "v": "payload.lux_wk",
                                 "vt": "msg"
                             }
                         ],
                         "checkall": "true",
                         "repair": false,
                         "outputs": 1,
                         "x": 2150,
                         "y": 300,
                         "wires": [
                             [
                                 "0e35c29460abd499"
                             ]
                         ]
                     },
                     {
                         "id": "7e4aebe657e40852",
                         "type": "switch",
                         "z": "692f3cf44001c136",
                         "name": "",
                         "property": "payload.status_licht",
                         "propertyType": "msg",
                         "rules": [
                             {
                                 "t": "true"
                             },
                             {
                                 "t": "false"
                             }
                         ],
                         "checkall": "true",
                         "repair": false,
                         "outputs": 2,
                         "x": 1530,
                         "y": 340,
                         "wires": [
                             [
                                 "323856145be0390f"
                             ],
                             [
                                 "0a4a5cad7064557a"
                             ]
                         ]
                     },
                     {
                         "id": "0a4a5cad7064557a",
                         "type": "junction",
                         "z": "692f3cf44001c136",
                         "x": 2220,
                         "y": 340,
                         "wires": [
                             [
                                 "0e35c29460abd499"
                             ]
                         ]
                     },
                     {
                         "id": "b22fc4d3e3f172bb",
                         "type": "mqtt-broker",
                         "name": "iobroker mqtt adapter",
                         "broker": "localhost",
                         "port": "1883",
                         "clientid": "mqttin_nodered",
                         "autoConnect": true,
                         "usetls": false,
                         "protocolVersion": "4",
                         "keepalive": "60",
                         "cleansession": true,
                         "birthTopic": "",
                         "birthQos": "0",
                         "birthPayload": "",
                         "birthMsg": {},
                         "closeTopic": "",
                         "closeQos": "0",
                         "closePayload": "",
                         "closeMsg": {},
                         "willTopic": "",
                         "willQos": "0",
                         "willPayload": "",
                         "willMsg": {},
                         "userProps": "",
                         "sessionExpiry": ""
                     }
                  ]
                  

                  Wert wird eingelesen, verglichen und dann nur eingeschaltet wenn es passt.

                  273088e1-994a-4159-a790-e23b4ccf27f6-image.png

                  Hab gerade noch ein Fehler gefunden. Jetzt sollte es passen.

                  mickymM 1 Reply Last reply
                  0
                  • H hotspot_2

                    @mickym

                    Sehr schön! Danke für die Erklärung.

                    Ich habe das jetzt mal in meinen Flow eingebaut. Ein Trigger ist der Startpunkt der einmal den Payload true und bei ausschalten false mitgibt. Das wird dann in ein JSON eingebaut zum aus- und einschalten. Ich habe jetzt mal auch true und false abgefangen um zu verhindern dass das Licht nicht mehr ausgeht sollte es dunkel werden zwischen Ein- und Ausschaltzeitpunkt ;-).

                    [
                       {
                           "id": "ae979309777cfd8f",
                           "type": "mqtt in",
                           "z": "692f3cf44001c136",
                           "name": "",
                           "topic": "shellies/sonstiges/bwm_wk/status",
                           "qos": "2",
                           "datatype": "auto-detect",
                           "broker": "b22fc4d3e3f172bb",
                           "nl": false,
                           "rap": true,
                           "rh": 0,
                           "inputs": 0,
                           "x": 310,
                           "y": 160,
                           "wires": [
                               [
                                   "ce3fea7966a34734"
                               ]
                           ]
                       },
                       {
                           "id": "4d6c21f253707f3a",
                           "type": "mqtt in",
                           "z": "692f3cf44001c136",
                           "name": "",
                           "topic": "shellies/sonstiges/bwm_flur_keller/status",
                           "qos": "2",
                           "datatype": "auto-detect",
                           "broker": "b22fc4d3e3f172bb",
                           "nl": false,
                           "rap": true,
                           "rh": 0,
                           "inputs": 0,
                           "x": 280,
                           "y": 240,
                           "wires": [
                               [
                                   "ce3fea7966a34734"
                               ]
                           ]
                       },
                       {
                           "id": "ce3fea7966a34734",
                           "type": "switch",
                           "z": "692f3cf44001c136",
                           "name": "",
                           "property": "payload.motion",
                           "propertyType": "msg",
                           "rules": [
                               {
                                   "t": "true"
                               }
                           ],
                           "checkall": "true",
                           "repair": false,
                           "outputs": 1,
                           "x": 540,
                           "y": 200,
                           "wires": [
                               [
                                   "ad67b76febdf0a92"
                               ]
                           ]
                       },
                       {
                           "id": "de365cd7a4813149",
                           "type": "change",
                           "z": "692f3cf44001c136",
                           "name": "",
                           "rules": [
                               {
                                   "t": "set",
                                   "p": "payload",
                                   "pt": "msg",
                                   "to": "{\t   \"id\":199,\t   \"src\":\"hotspot_2\",\t   \"method\":\"Switch.Set\",\t   \"params\":{\"id\":0,\"on\":payload}\t}\t \t",
                                   "tot": "jsonata"
                               },
                               {
                                   "t": "set",
                                   "p": "status_licht",
                                   "pt": "msg",
                                   "to": "payload",
                                   "tot": "msg"
                               }
                           ],
                           "action": "",
                           "property": "",
                           "from": "",
                           "to": "",
                           "reg": false,
                           "x": 1290,
                           "y": 280,
                           "wires": [
                               [
                                   "541e8fa04f94475d",
                                   "df00a6eda1372fa1",
                                   "7e4aebe657e40852"
                               ]
                           ]
                       },
                       {
                           "id": "0e35c29460abd499",
                           "type": "mqtt out",
                           "z": "692f3cf44001c136",
                           "name": "",
                           "topic": "shellies/licht/keller/waschkueche/rpc",
                           "qos": "",
                           "retain": "",
                           "respTopic": "",
                           "contentType": "",
                           "userProps": "",
                           "correl": "",
                           "expiry": "",
                           "broker": "b22fc4d3e3f172bb",
                           "x": 2410,
                           "y": 320,
                           "wires": []
                       },
                       {
                           "id": "541e8fa04f94475d",
                           "type": "mqtt out",
                           "z": "692f3cf44001c136",
                           "name": "",
                           "topic": "shellies/licht/keller/flur_keller_vorne/rpc",
                           "qos": "",
                           "retain": "",
                           "respTopic": "",
                           "contentType": "",
                           "userProps": "",
                           "correl": "",
                           "expiry": "",
                           "broker": "b22fc4d3e3f172bb",
                           "x": 1640,
                           "y": 200,
                           "wires": []
                       },
                       {
                           "id": "658b57870ce763a7",
                           "type": "trigger",
                           "z": "692f3cf44001c136",
                           "name": "",
                           "op1": "true",
                           "op2": "false",
                           "op1type": "bool",
                           "op2type": "bool",
                           "duration": "2",
                           "extend": true,
                           "overrideDelay": false,
                           "units": "min",
                           "reset": "",
                           "bytopic": "all",
                           "topic": "topic",
                           "outputs": 1,
                           "x": 1050,
                           "y": 280,
                           "wires": [
                               [
                                   "de365cd7a4813149"
                               ]
                           ]
                       },
                       {
                           "id": "ad67b76febdf0a92",
                           "type": "ioBroker get",
                           "z": "692f3cf44001c136",
                           "name": "Schalter",
                           "topic": "0_userdata.0.hausautomation.bwm_flur_keller_aktiv",
                           "attrname": "payload",
                           "payloadType": "value",
                           "errOnInvalidState": "nothing",
                           "x": 670,
                           "y": 200,
                           "wires": [
                               [
                                   "c7a2538582f26f99"
                               ]
                           ]
                       },
                       {
                           "id": "c7a2538582f26f99",
                           "type": "switch",
                           "z": "692f3cf44001c136",
                           "name": "Schalter = true?",
                           "property": "payload",
                           "propertyType": "msg",
                           "rules": [
                               {
                                   "t": "true"
                               }
                           ],
                           "checkall": "true",
                           "repair": false,
                           "outputs": 1,
                           "x": 840,
                           "y": 200,
                           "wires": [
                               [
                                   "658b57870ce763a7"
                               ]
                           ]
                       },
                       {
                           "id": "df00a6eda1372fa1",
                           "type": "mqtt out",
                           "z": "692f3cf44001c136",
                           "name": "",
                           "topic": "shellies/licht/keller/flur_keller_hinten/rpc",
                           "qos": "",
                           "retain": "",
                           "respTopic": "",
                           "contentType": "",
                           "userProps": "",
                           "correl": "",
                           "expiry": "",
                           "broker": "b22fc4d3e3f172bb",
                           "x": 1640,
                           "y": 260,
                           "wires": []
                       },
                       {
                           "id": "1db60ebf902ccc94",
                           "type": "comment",
                           "z": "692f3cf44001c136",
                           "name": "Flur Keller Lichtsteuerung",
                           "info": "",
                           "x": 150,
                           "y": 80,
                           "wires": []
                       },
                       {
                           "id": "eb3fcf783b74fd7a",
                           "type": "mqtt in",
                           "z": "692f3cf44001c136",
                           "name": "",
                           "topic": "shellies/licht/keller/waschkueche/events/rpc",
                           "qos": "2",
                           "datatype": "auto-detect",
                           "broker": "b22fc4d3e3f172bb",
                           "nl": false,
                           "rap": true,
                           "rh": 0,
                           "inputs": 0,
                           "x": 280,
                           "y": 300,
                           "wires": [
                               [
                                   "1e6515cac6ba6901"
                               ]
                           ]
                       },
                       {
                           "id": "90c60a9f3a115521",
                           "type": "mqtt in",
                           "z": "692f3cf44001c136",
                           "name": "",
                           "topic": "shellies/licht/keller/flur_keller_hinten/events/rpc",
                           "qos": "2",
                           "datatype": "auto-detect",
                           "broker": "b22fc4d3e3f172bb",
                           "nl": false,
                           "rap": true,
                           "rh": 0,
                           "inputs": 0,
                           "x": 260,
                           "y": 360,
                           "wires": [
                               [
                                   "1e6515cac6ba6901"
                               ]
                           ]
                       },
                       {
                           "id": "1416273ebfce58bb",
                           "type": "mqtt in",
                           "z": "692f3cf44001c136",
                           "name": "",
                           "topic": "shellies/licht/keller/flur_keller_vorne/events/rpc",
                           "qos": "2",
                           "datatype": "auto-detect",
                           "broker": "b22fc4d3e3f172bb",
                           "nl": false,
                           "rap": true,
                           "rh": 0,
                           "inputs": 0,
                           "x": 270,
                           "y": 420,
                           "wires": [
                               [
                                   "1e6515cac6ba6901"
                               ]
                           ]
                       },
                       {
                           "id": "1e6515cac6ba6901",
                           "type": "switch",
                           "z": "692f3cf44001c136",
                           "name": "NotifyEvent",
                           "property": "payload.method",
                           "propertyType": "msg",
                           "rules": [
                               {
                                   "t": "eq",
                                   "v": "NotifyEvent",
                                   "vt": "str"
                               }
                           ],
                           "checkall": "true",
                           "repair": false,
                           "outputs": 1,
                           "x": 570,
                           "y": 360,
                           "wires": [
                               [
                                   "ccaf9c5d06ca071a"
                               ]
                           ]
                       },
                       {
                           "id": "ccaf9c5d06ca071a",
                           "type": "switch",
                           "z": "692f3cf44001c136",
                           "name": "input:0 = btn_down",
                           "property": "payload.params.events[0].component=\"input:0\" and payload.params.events[0].event = \"btn_down\"",
                           "propertyType": "jsonata",
                           "rules": [
                               {
                                   "t": "true"
                               }
                           ],
                           "checkall": "true",
                           "repair": false,
                           "outputs": 1,
                           "x": 830,
                           "y": 360,
                           "wires": [
                               [
                                   "658b57870ce763a7"
                               ]
                           ]
                       },
                       {
                           "id": "323856145be0390f",
                           "type": "ioBroker get",
                           "z": "692f3cf44001c136",
                           "name": "",
                           "topic": "0_userdata.0.hausautomation.lux_bewegungsmelder_wk",
                           "attrname": "lux_wk",
                           "payloadType": "value",
                           "errOnInvalidState": "nothing",
                           "x": 1830,
                           "y": 300,
                           "wires": [
                               [
                                   "29d46c0be09b69a6"
                               ]
                           ]
                       },
                       {
                           "id": "29d46c0be09b69a6",
                           "type": "switch",
                           "z": "692f3cf44001c136",
                           "name": "Lux < lux_wk",
                           "property": "payload.lux",
                           "propertyType": "msg",
                           "rules": [
                               {
                                   "t": "lte",
                                   "v": "payload.lux_wk",
                                   "vt": "msg"
                               }
                           ],
                           "checkall": "true",
                           "repair": false,
                           "outputs": 1,
                           "x": 2150,
                           "y": 300,
                           "wires": [
                               [
                                   "0e35c29460abd499"
                               ]
                           ]
                       },
                       {
                           "id": "7e4aebe657e40852",
                           "type": "switch",
                           "z": "692f3cf44001c136",
                           "name": "",
                           "property": "payload.status_licht",
                           "propertyType": "msg",
                           "rules": [
                               {
                                   "t": "true"
                               },
                               {
                                   "t": "false"
                               }
                           ],
                           "checkall": "true",
                           "repair": false,
                           "outputs": 2,
                           "x": 1530,
                           "y": 340,
                           "wires": [
                               [
                                   "323856145be0390f"
                               ],
                               [
                                   "0a4a5cad7064557a"
                               ]
                           ]
                       },
                       {
                           "id": "0a4a5cad7064557a",
                           "type": "junction",
                           "z": "692f3cf44001c136",
                           "x": 2220,
                           "y": 340,
                           "wires": [
                               [
                                   "0e35c29460abd499"
                               ]
                           ]
                       },
                       {
                           "id": "b22fc4d3e3f172bb",
                           "type": "mqtt-broker",
                           "name": "iobroker mqtt adapter",
                           "broker": "localhost",
                           "port": "1883",
                           "clientid": "mqttin_nodered",
                           "autoConnect": true,
                           "usetls": false,
                           "protocolVersion": "4",
                           "keepalive": "60",
                           "cleansession": true,
                           "birthTopic": "",
                           "birthQos": "0",
                           "birthPayload": "",
                           "birthMsg": {},
                           "closeTopic": "",
                           "closeQos": "0",
                           "closePayload": "",
                           "closeMsg": {},
                           "willTopic": "",
                           "willQos": "0",
                           "willPayload": "",
                           "willMsg": {},
                           "userProps": "",
                           "sessionExpiry": ""
                       }
                    ]
                    

                    Wert wird eingelesen, verglichen und dann nur eingeschaltet wenn es passt.

                    273088e1-994a-4159-a790-e23b4ccf27f6-image.png

                    Hab gerade noch ein Fehler gefunden. Jetzt sollte es passen.

                    mickymM Online
                    mickymM Online
                    mickym
                    Most Active
                    wrote on last edited by
                    #379

                    @hotspot_2 Na gut - musst Du wissen . ich halte davon nichts - weil diese Logik mE nur komplex und fehleranfällig ist. Ich würde den Bewegungsmelder für die Waschküche lieber selber triggern lassen als von irgendwelchen anderen Schaltungen abhängig zu machen. Deshalb würde ich lieber meinen Flow nutzen. Solche Konstrukte sind einfach nicht gut.

                    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.

                    H 1 Reply Last reply
                    0
                    • mickymM mickym

                      @hotspot_2 Na gut - musst Du wissen . ich halte davon nichts - weil diese Logik mE nur komplex und fehleranfällig ist. Ich würde den Bewegungsmelder für die Waschküche lieber selber triggern lassen als von irgendwelchen anderen Schaltungen abhängig zu machen. Deshalb würde ich lieber meinen Flow nutzen. Solche Konstrukte sind einfach nicht gut.

                      H Offline
                      H Offline
                      hotspot_2
                      wrote on last edited by
                      #380

                      @mickym

                      Das wäre ja fast Perlen vor die Säue wenn man mit Node Red keine komplexen Dinge machen würde. Alles was wir gemeinsam gebaut haben oder ich jetzt gebaut habe funktioniert so einwandfrei das ich einfach gar nichts mehr anderes will. Und im Vergleich zu meinen Blocklys ist das hier immer noch sehr, sehr einfach gehalten ;-).

                      mickymM 1 Reply Last reply
                      0
                      • H hotspot_2

                        @mickym

                        Das wäre ja fast Perlen vor die Säue wenn man mit Node Red keine komplexen Dinge machen würde. Alles was wir gemeinsam gebaut haben oder ich jetzt gebaut habe funktioniert so einwandfrei das ich einfach gar nichts mehr anderes will. Und im Vergleich zu meinen Blocklys ist das hier immer noch sehr, sehr einfach gehalten ;-).

                        mickymM Online
                        mickymM Online
                        mickym
                        Most Active
                        wrote on last edited by mickym
                        #381

                        @hotspot_2 Wie gesagt - ein Bewegungsmelder sollte lieber selbst trigger und dann kann man Bedingungen formulieren. Einen Bewegungsmelder von einer eingeschalteten Lampe abhängig zu machen ist in meinen Augen unsinnig. Wenn nach 2 Minuten das Licht ausgeht - dann sitzt Du im Dunkeln.

                        Ausserdem weiß ich nicht was das soll?

                        f195aa88-0924-46f2-b4c4-a30841deb0eb-image.png

                        Wenn Du das setzt und vorne seit Du msg.status_licht setzt. Ausserdem setzt Du status_licht so nicht auf true oder false.

                        f887d6ed-55ca-45a9-aab4-5f2c9b676518-image.png

                        da Du hier die payload auf ein Objekt setzt. Ich würde Dir empfehlen, dass Du mit debug Nodes arbeitest. So wird das nicht funktionieren.

                        Auch das ist verkehrt:

                        26c8f167-7816-4cad-bd8d-2b83386c77b5-image.png

                        Die get Node kann nur Eigenschaften auf root Ebene des msg.Objektes setzen. Du frägst hier aber eine Eigenschaft der payload ab.

                        Hier hast Du reines Glück, dass das payload Objekt aus der Change Node nach dem trigger bis zur waschküchenlampe durchgereicht wird und der switch immer durchlässt, weil der switch immer false liefert.

                        Also leider stimmt der Flow hinten und vorne nicht. 😉

                        Arbeite mit debug Nodes - dann siehst Du dass das was Du konfiguriert hast, nicht viel mit der Realität zu tun hat. 😉

                        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.

                        H 1 Reply Last reply
                        0
                        • mickymM mickym

                          @hotspot_2 Wie gesagt - ein Bewegungsmelder sollte lieber selbst trigger und dann kann man Bedingungen formulieren. Einen Bewegungsmelder von einer eingeschalteten Lampe abhängig zu machen ist in meinen Augen unsinnig. Wenn nach 2 Minuten das Licht ausgeht - dann sitzt Du im Dunkeln.

                          Ausserdem weiß ich nicht was das soll?

                          f195aa88-0924-46f2-b4c4-a30841deb0eb-image.png

                          Wenn Du das setzt und vorne seit Du msg.status_licht setzt. Ausserdem setzt Du status_licht so nicht auf true oder false.

                          f887d6ed-55ca-45a9-aab4-5f2c9b676518-image.png

                          da Du hier die payload auf ein Objekt setzt. Ich würde Dir empfehlen, dass Du mit debug Nodes arbeitest. So wird das nicht funktionieren.

                          Auch das ist verkehrt:

                          26c8f167-7816-4cad-bd8d-2b83386c77b5-image.png

                          Die get Node kann nur Eigenschaften auf root Ebene des msg.Objektes setzen. Du frägst hier aber eine Eigenschaft der payload ab.

                          Hier hast Du reines Glück, dass das payload Objekt aus der Change Node nach dem trigger bis zur waschküchenlampe durchgereicht wird und der switch immer durchlässt, weil der switch immer false liefert.

                          Also leider stimmt der Flow hinten und vorne nicht. 😉

                          Arbeite mit debug Nodes - dann siehst Du dass das was Du konfiguriert hast, nicht viel mit der Realität zu tun hat. 😉

                          H Offline
                          H Offline
                          hotspot_2
                          wrote on last edited by hotspot_2
                          #382

                          @mickym

                          Ich möchte eigentlich den Bewegungsmelder von nix abhängig machen. Ich möchte nur verhindern das der Trigger das Licht in der Waschküche anschaltet wenn es dort hell genug ist (da dort ein Fenster eingebaut ist) in den Räumen mit den anderen Lampen nicht. Die Bewegungsmelder oder die Schalter triggern den Trigger oder starten den Flow. Und hinten soll dann eben nur das Licht in der Waschküche angehen wenn es nicht hell genug ist. So ist der Plan.

                          Das mit dem Status_Licht war der Ansatz das ich mitnehmen kann ob der Trigger nun das Licht ein oder ausschaltet. Sollte er einschalten prüfe ich ob es hell genug ist, sollte er aussschalten geht es so durch.

                          Aber mit payload.params.on müsste ich das doch auch abfragen können im switch, oder? Also true oder false?

                          mickymM 1 Reply Last reply
                          0
                          • H hotspot_2

                            @mickym

                            Ich möchte eigentlich den Bewegungsmelder von nix abhängig machen. Ich möchte nur verhindern das der Trigger das Licht in der Waschküche anschaltet wenn es dort hell genug ist (da dort ein Fenster eingebaut ist) in den Räumen mit den anderen Lampen nicht. Die Bewegungsmelder oder die Schalter triggern den Trigger oder starten den Flow. Und hinten soll dann eben nur das Licht in der Waschküche angehen wenn es nicht hell genug ist. So ist der Plan.

                            Das mit dem Status_Licht war der Ansatz das ich mitnehmen kann ob der Trigger nun das Licht ein oder ausschaltet. Sollte er einschalten prüfe ich ob es hell genug ist, sollte er aussschalten geht es so durch.

                            Aber mit payload.params.on müsste ich das doch auch abfragen können im switch, oder? Also true oder false?

                            mickymM Online
                            mickymM Online
                            mickym
                            Most Active
                            wrote on last edited by mickym
                            #383

                            Na gut - ich lass Dir Deine Logik wie Du es willst - ich ändere mal den Flow nicht. Du musst selbst wissen, wie komplex Du das machen willst und ich will Dir auch nicht irgendwas aufzwingen. Trotzdem wird er so nicht funktionieren. Die Nodes sind einfach verkehrt.

                            Also erkläre mal Schritt für Schritt was Du machen wolltest?

                            Fang ab der Change Node hier an:

                            c0f4f722-f3da-4a03-acf1-941767e559b5-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.

                            H 1 Reply Last reply
                            0
                            • mickymM mickym

                              Na gut - ich lass Dir Deine Logik wie Du es willst - ich ändere mal den Flow nicht. Du musst selbst wissen, wie komplex Du das machen willst und ich will Dir auch nicht irgendwas aufzwingen. Trotzdem wird er so nicht funktionieren. Die Nodes sind einfach verkehrt.

                              Also erkläre mal Schritt für Schritt was Du machen wolltest?

                              Fang ab der Change Node hier an:

                              c0f4f722-f3da-4a03-acf1-941767e559b5-image.png

                              H Offline
                              H Offline
                              hotspot_2
                              wrote on last edited by hotspot_2
                              #384

                              @mickym

                              Den Flow für den Flur haben wir ja schon zusammen erstellt. Vorne sind drei Lichtschalter und zwei Bewegungsmelder die den Trigger aktivieren können. Das bleibt auch alles so wie es ist. der Trigger sendet ja ein true wenn er aktiviert wurde und wenn 2 Minuten lang nix mehr passiert dann sendet er ja ein false. Dieses True oder false wird in eine JSON gepackt (JSONata) und dann an die drei Lampen geschickt die dann entweder ein oder ausgehen. Funktioniert alles perfekt!

                              Ich wollte nun eine der drei Lampen abhängig von der Helligkeit im Raum einschalten. Ist es hell geht die Lampe nicht an, ist es dunkel geht sie an. Ausgehen habe ich mir gedacht kann sie ja immer. Und das habe ich gehofft zu bauen. Mit dem zusätzlichen payload einfügen geht nicht, das passt.

                              Ich hätte nun einfach in dem hinteren Switch (switch im Bild oben unten nach dem Change. Der Change hat mittlerweile wieder nur noch 1 Regel 😉 ) abgefragt ob payload.params.on true oder false ist und bei true denn Helligkeitswert abgeglichen und bei false das einfach durchgelassen. So die Idee.

                              [
                                 {
                                     "id": "de365cd7a4813149",
                                     "type": "change",
                                     "z": "692f3cf44001c136",
                                     "name": "",
                                     "rules": [
                                         {
                                             "t": "set",
                                             "p": "payload",
                                             "pt": "msg",
                                             "to": "{\t   \"id\":199,\t   \"src\":\"hotspot_2\",\t   \"method\":\"Switch.Set\",\t   \"params\":{\"id\":0,\"on\":payload}\t}\t \t",
                                             "tot": "jsonata"
                                         }
                                     ],
                                     "action": "",
                                     "property": "",
                                     "from": "",
                                     "to": "",
                                     "reg": false,
                                     "x": 1290,
                                     "y": 280,
                                     "wires": [
                                         [
                                             "541e8fa04f94475d",
                                             "df00a6eda1372fa1",
                                             "7e4aebe657e40852"
                                         ]
                                     ]
                                 },
                                 {
                                     "id": "0e35c29460abd499",
                                     "type": "mqtt out",
                                     "z": "692f3cf44001c136",
                                     "name": "",
                                     "topic": "shellies/licht/keller/waschkueche/rpc",
                                     "qos": "",
                                     "retain": "",
                                     "respTopic": "",
                                     "contentType": "",
                                     "userProps": "",
                                     "correl": "",
                                     "expiry": "",
                                     "broker": "b22fc4d3e3f172bb",
                                     "x": 2410,
                                     "y": 340,
                                     "wires": []
                                 },
                                 {
                                     "id": "541e8fa04f94475d",
                                     "type": "mqtt out",
                                     "z": "692f3cf44001c136",
                                     "name": "",
                                     "topic": "shellies/licht/keller/flur_keller_vorne/rpc",
                                     "qos": "",
                                     "retain": "",
                                     "respTopic": "",
                                     "contentType": "",
                                     "userProps": "",
                                     "correl": "",
                                     "expiry": "",
                                     "broker": "b22fc4d3e3f172bb",
                                     "x": 1640,
                                     "y": 200,
                                     "wires": []
                                 },
                                 {
                                     "id": "df00a6eda1372fa1",
                                     "type": "mqtt out",
                                     "z": "692f3cf44001c136",
                                     "name": "",
                                     "topic": "shellies/licht/keller/flur_keller_hinten/rpc",
                                     "qos": "",
                                     "retain": "",
                                     "respTopic": "",
                                     "contentType": "",
                                     "userProps": "",
                                     "correl": "",
                                     "expiry": "",
                                     "broker": "b22fc4d3e3f172bb",
                                     "x": 1640,
                                     "y": 260,
                                     "wires": []
                                 },
                                 {
                                     "id": "323856145be0390f",
                                     "type": "ioBroker get",
                                     "z": "692f3cf44001c136",
                                     "name": "",
                                     "topic": "0_userdata.0.hausautomation.lux_bewegungsmelder_wk",
                                     "attrname": "lux_wk",
                                     "payloadType": "value",
                                     "errOnInvalidState": "nothing",
                                     "x": 1830,
                                     "y": 320,
                                     "wires": [
                                         [
                                             "29d46c0be09b69a6"
                                         ]
                                     ]
                                 },
                                 {
                                     "id": "29d46c0be09b69a6",
                                     "type": "switch",
                                     "z": "692f3cf44001c136",
                                     "name": "Lux < lux_wk",
                                     "property": "payload.lux",
                                     "propertyType": "msg",
                                     "rules": [
                                         {
                                             "t": "lte",
                                             "v": "payload.lux_wk",
                                             "vt": "msg"
                                         }
                                     ],
                                     "checkall": "true",
                                     "repair": false,
                                     "outputs": 1,
                                     "x": 2150,
                                     "y": 320,
                                     "wires": [
                                         [
                                             "0e35c29460abd499"
                                         ]
                                     ]
                                 },
                                 {
                                     "id": "7e4aebe657e40852",
                                     "type": "switch",
                                     "z": "692f3cf44001c136",
                                     "name": "",
                                     "property": "payload.params.on",
                                     "propertyType": "msg",
                                     "rules": [
                                         {
                                             "t": "true"
                                         },
                                         {
                                             "t": "false"
                                         }
                                     ],
                                     "checkall": "true",
                                     "repair": false,
                                     "outputs": 2,
                                     "x": 1530,
                                     "y": 340,
                                     "wires": [
                                         [
                                             "323856145be0390f"
                                         ],
                                         [
                                             "519701bc8160d15c"
                                         ]
                                     ]
                                 },
                                 {
                                     "id": "0a4a5cad7064557a",
                                     "type": "junction",
                                     "z": "692f3cf44001c136",
                                     "x": 2220,
                                     "y": 360,
                                     "wires": [
                                         [
                                             "0e35c29460abd499"
                                         ]
                                     ]
                                 },
                                 {
                                     "id": "519701bc8160d15c",
                                     "type": "junction",
                                     "z": "692f3cf44001c136",
                                     "x": 1620,
                                     "y": 360,
                                     "wires": [
                                         [
                                             "0a4a5cad7064557a"
                                         ]
                                     ]
                                 },
                                 {
                                     "id": "b22fc4d3e3f172bb",
                                     "type": "mqtt-broker",
                                     "name": "iobroker mqtt adapter",
                                     "broker": "localhost",
                                     "port": "1883",
                                     "clientid": "mqttin_nodered",
                                     "autoConnect": true,
                                     "usetls": false,
                                     "protocolVersion": "4",
                                     "keepalive": "60",
                                     "cleansession": true,
                                     "birthTopic": "",
                                     "birthQos": "0",
                                     "birthPayload": "",
                                     "birthMsg": {},
                                     "closeTopic": "",
                                     "closeQos": "0",
                                     "closePayload": "",
                                     "closeMsg": {},
                                     "willTopic": "",
                                     "willQos": "0",
                                     "willPayload": "",
                                     "willMsg": {},
                                     "userProps": "",
                                     "sessionExpiry": ""
                                 }
                              ]
                              

                              mickymM 1 Reply Last reply
                              0
                              • H hotspot_2

                                @mickym

                                Den Flow für den Flur haben wir ja schon zusammen erstellt. Vorne sind drei Lichtschalter und zwei Bewegungsmelder die den Trigger aktivieren können. Das bleibt auch alles so wie es ist. der Trigger sendet ja ein true wenn er aktiviert wurde und wenn 2 Minuten lang nix mehr passiert dann sendet er ja ein false. Dieses True oder false wird in eine JSON gepackt (JSONata) und dann an die drei Lampen geschickt die dann entweder ein oder ausgehen. Funktioniert alles perfekt!

                                Ich wollte nun eine der drei Lampen abhängig von der Helligkeit im Raum einschalten. Ist es hell geht die Lampe nicht an, ist es dunkel geht sie an. Ausgehen habe ich mir gedacht kann sie ja immer. Und das habe ich gehofft zu bauen. Mit dem zusätzlichen payload einfügen geht nicht, das passt.

                                Ich hätte nun einfach in dem hinteren Switch (switch im Bild oben unten nach dem Change. Der Change hat mittlerweile wieder nur noch 1 Regel 😉 ) abgefragt ob payload.params.on true oder false ist und bei true denn Helligkeitswert abgeglichen und bei false das einfach durchgelassen. So die Idee.

                                [
                                   {
                                       "id": "de365cd7a4813149",
                                       "type": "change",
                                       "z": "692f3cf44001c136",
                                       "name": "",
                                       "rules": [
                                           {
                                               "t": "set",
                                               "p": "payload",
                                               "pt": "msg",
                                               "to": "{\t   \"id\":199,\t   \"src\":\"hotspot_2\",\t   \"method\":\"Switch.Set\",\t   \"params\":{\"id\":0,\"on\":payload}\t}\t \t",
                                               "tot": "jsonata"
                                           }
                                       ],
                                       "action": "",
                                       "property": "",
                                       "from": "",
                                       "to": "",
                                       "reg": false,
                                       "x": 1290,
                                       "y": 280,
                                       "wires": [
                                           [
                                               "541e8fa04f94475d",
                                               "df00a6eda1372fa1",
                                               "7e4aebe657e40852"
                                           ]
                                       ]
                                   },
                                   {
                                       "id": "0e35c29460abd499",
                                       "type": "mqtt out",
                                       "z": "692f3cf44001c136",
                                       "name": "",
                                       "topic": "shellies/licht/keller/waschkueche/rpc",
                                       "qos": "",
                                       "retain": "",
                                       "respTopic": "",
                                       "contentType": "",
                                       "userProps": "",
                                       "correl": "",
                                       "expiry": "",
                                       "broker": "b22fc4d3e3f172bb",
                                       "x": 2410,
                                       "y": 340,
                                       "wires": []
                                   },
                                   {
                                       "id": "541e8fa04f94475d",
                                       "type": "mqtt out",
                                       "z": "692f3cf44001c136",
                                       "name": "",
                                       "topic": "shellies/licht/keller/flur_keller_vorne/rpc",
                                       "qos": "",
                                       "retain": "",
                                       "respTopic": "",
                                       "contentType": "",
                                       "userProps": "",
                                       "correl": "",
                                       "expiry": "",
                                       "broker": "b22fc4d3e3f172bb",
                                       "x": 1640,
                                       "y": 200,
                                       "wires": []
                                   },
                                   {
                                       "id": "df00a6eda1372fa1",
                                       "type": "mqtt out",
                                       "z": "692f3cf44001c136",
                                       "name": "",
                                       "topic": "shellies/licht/keller/flur_keller_hinten/rpc",
                                       "qos": "",
                                       "retain": "",
                                       "respTopic": "",
                                       "contentType": "",
                                       "userProps": "",
                                       "correl": "",
                                       "expiry": "",
                                       "broker": "b22fc4d3e3f172bb",
                                       "x": 1640,
                                       "y": 260,
                                       "wires": []
                                   },
                                   {
                                       "id": "323856145be0390f",
                                       "type": "ioBroker get",
                                       "z": "692f3cf44001c136",
                                       "name": "",
                                       "topic": "0_userdata.0.hausautomation.lux_bewegungsmelder_wk",
                                       "attrname": "lux_wk",
                                       "payloadType": "value",
                                       "errOnInvalidState": "nothing",
                                       "x": 1830,
                                       "y": 320,
                                       "wires": [
                                           [
                                               "29d46c0be09b69a6"
                                           ]
                                       ]
                                   },
                                   {
                                       "id": "29d46c0be09b69a6",
                                       "type": "switch",
                                       "z": "692f3cf44001c136",
                                       "name": "Lux < lux_wk",
                                       "property": "payload.lux",
                                       "propertyType": "msg",
                                       "rules": [
                                           {
                                               "t": "lte",
                                               "v": "payload.lux_wk",
                                               "vt": "msg"
                                           }
                                       ],
                                       "checkall": "true",
                                       "repair": false,
                                       "outputs": 1,
                                       "x": 2150,
                                       "y": 320,
                                       "wires": [
                                           [
                                               "0e35c29460abd499"
                                           ]
                                       ]
                                   },
                                   {
                                       "id": "7e4aebe657e40852",
                                       "type": "switch",
                                       "z": "692f3cf44001c136",
                                       "name": "",
                                       "property": "payload.params.on",
                                       "propertyType": "msg",
                                       "rules": [
                                           {
                                               "t": "true"
                                           },
                                           {
                                               "t": "false"
                                           }
                                       ],
                                       "checkall": "true",
                                       "repair": false,
                                       "outputs": 2,
                                       "x": 1530,
                                       "y": 340,
                                       "wires": [
                                           [
                                               "323856145be0390f"
                                           ],
                                           [
                                               "519701bc8160d15c"
                                           ]
                                       ]
                                   },
                                   {
                                       "id": "0a4a5cad7064557a",
                                       "type": "junction",
                                       "z": "692f3cf44001c136",
                                       "x": 2220,
                                       "y": 360,
                                       "wires": [
                                           [
                                               "0e35c29460abd499"
                                           ]
                                       ]
                                   },
                                   {
                                       "id": "519701bc8160d15c",
                                       "type": "junction",
                                       "z": "692f3cf44001c136",
                                       "x": 1620,
                                       "y": 360,
                                       "wires": [
                                           [
                                               "0a4a5cad7064557a"
                                           ]
                                       ]
                                   },
                                   {
                                       "id": "b22fc4d3e3f172bb",
                                       "type": "mqtt-broker",
                                       "name": "iobroker mqtt adapter",
                                       "broker": "localhost",
                                       "port": "1883",
                                       "clientid": "mqttin_nodered",
                                       "autoConnect": true,
                                       "usetls": false,
                                       "protocolVersion": "4",
                                       "keepalive": "60",
                                       "cleansession": true,
                                       "birthTopic": "",
                                       "birthQos": "0",
                                       "birthPayload": "",
                                       "birthMsg": {},
                                       "closeTopic": "",
                                       "closeQos": "0",
                                       "closePayload": "",
                                       "closeMsg": {},
                                       "willTopic": "",
                                       "willQos": "0",
                                       "willPayload": "",
                                       "willMsg": {},
                                       "userProps": "",
                                       "sessionExpiry": ""
                                   }
                                ]
                                

                                mickymM Online
                                mickymM Online
                                mickym
                                Most Active
                                wrote on last edited by
                                #385

                                @hotspot_2 sagte in Shellys ("Alt und Plus") über MQTT Adapter:

                                @mickym

                                Den Flow für den Flur haben wir ja schon zusammen erstellt. Vorne sind drei Lichtschalter und zwei Bewegungsmelder die den Trigger aktivieren können. Das bleibt auch alles so wie es ist. der Trigger sendet ja ein true wenn er aktiviert wurde und wenn 2 Minuten lang nix mehr passiert dann sendet er ja ein false. Dieses True oder false wird in eine JSON gepackt (JSONata) und dann an die drei Lampen geschickt die dann entweder ein oder ausgehen. Funktioniert alles perfekt!

                                Ich wollte nun eine der drei Lampen abhängig von der Helligkeit im Raum einschalten. Ist es hell geht die Lampe nicht an, ist es dunkel geht sie an. Ausgehen habe ich mir gedacht kann sie ja immer. Und das habe ich gehofft zu bauen. Mit dem zusätzlichen payload einfügen geht nicht, das passt.

                                Ich hätte nun einfach in dem hinteren Switch abgefragt ob payload.params.on true oder false ist und bei true denn Helligkeitswert abgeglichen und bei false das einfach durchgelassen. So die Idee.

                                Das habe ich schon verstanden - aber fang doch bitte an mir zu erklären, was Du machst?

                                Welche Regel hat die Change Node noch und wie schaut die switch NOde aus?

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

                                H 1 Reply Last reply
                                0
                                • mickymM mickym

                                  @hotspot_2 sagte in Shellys ("Alt und Plus") über MQTT Adapter:

                                  @mickym

                                  Den Flow für den Flur haben wir ja schon zusammen erstellt. Vorne sind drei Lichtschalter und zwei Bewegungsmelder die den Trigger aktivieren können. Das bleibt auch alles so wie es ist. der Trigger sendet ja ein true wenn er aktiviert wurde und wenn 2 Minuten lang nix mehr passiert dann sendet er ja ein false. Dieses True oder false wird in eine JSON gepackt (JSONata) und dann an die drei Lampen geschickt die dann entweder ein oder ausgehen. Funktioniert alles perfekt!

                                  Ich wollte nun eine der drei Lampen abhängig von der Helligkeit im Raum einschalten. Ist es hell geht die Lampe nicht an, ist es dunkel geht sie an. Ausgehen habe ich mir gedacht kann sie ja immer. Und das habe ich gehofft zu bauen. Mit dem zusätzlichen payload einfügen geht nicht, das passt.

                                  Ich hätte nun einfach in dem hinteren Switch abgefragt ob payload.params.on true oder false ist und bei true denn Helligkeitswert abgeglichen und bei false das einfach durchgelassen. So die Idee.

                                  Das habe ich schon verstanden - aber fang doch bitte an mir zu erklären, was Du machst?

                                  Welche Regel hat die Change Node noch und wie schaut die switch NOde aus?

                                  H Offline
                                  H Offline
                                  hotspot_2
                                  wrote on last edited by hotspot_2
                                  #386

                                  @mickym Habs jetzt oben mal eingestellt den aktuellen Stand. Den switch habe ich nur deswegen drin um sicherzustellen daß das Licht immer ausgeht, auch wenn sich eventuell der Helligkeitswert verändert hat.

                                  b4a6b190-e366-4765-bba5-b4e7b5be3f50-image.png

                                  mickymM 1 Reply Last reply
                                  0
                                  • H hotspot_2

                                    @mickym Habs jetzt oben mal eingestellt den aktuellen Stand. Den switch habe ich nur deswegen drin um sicherzustellen daß das Licht immer ausgeht, auch wenn sich eventuell der Helligkeitswert verändert hat.

                                    b4a6b190-e366-4765-bba5-b4e7b5be3f50-image.png

                                    mickymM Online
                                    mickymM Online
                                    mickym
                                    Most Active
                                    wrote on last edited by mickym
                                    #387

                                    @hotspot_2 Gut was steht in dem iobroker - Datenpunkt drin? Was machst Du mit der get Node?
                                    e5dbf76e-9486-4abf-875d-d9882da7c9bb-image.png
                                    Was soll das?

                                    44802230-cda8-4230-908c-7e9a8940357c-image.png

                                    Ich empfehle Dir mal folgendes - damit auch das debuggen lernst. Deaktivere einfach mal die mqtt-out Nodes und mach eine debug NOde - hinten hin. Und dann schau mal was rauskommt?

                                    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.

                                    H 1 Reply Last reply
                                    0
                                    • mickymM mickym

                                      @hotspot_2 Gut was steht in dem iobroker - Datenpunkt drin? Was machst Du mit der get Node?
                                      e5dbf76e-9486-4abf-875d-d9882da7c9bb-image.png
                                      Was soll das?

                                      44802230-cda8-4230-908c-7e9a8940357c-image.png

                                      Ich empfehle Dir mal folgendes - damit auch das debuggen lernst. Deaktivere einfach mal die mqtt-out Nodes und mach eine debug NOde - hinten hin. Und dann schau mal was rauskommt?

                                      H Offline
                                      H Offline
                                      hotspot_2
                                      wrote on last edited by hotspot_2
                                      #388

                                      @mickym Damit wollte ich den Wert den ich einlese über Get (lux_wk) mit dem Wert im Bewegungsmelder (lux) vergleichen wenn kleiner dann soll das licht eingeschaltet werden. Wenn der Wert im Bewegungsmelder kleiner ist als der Wert aus dem ioBroker Objekt dann geht das Licht mit an.

                                      mickymM 1 Reply Last reply
                                      0
                                      • H hotspot_2

                                        @mickym Damit wollte ich den Wert den ich einlese über Get (lux_wk) mit dem Wert im Bewegungsmelder (lux) vergleichen wenn kleiner dann soll das licht eingeschaltet werden. Wenn der Wert im Bewegungsmelder kleiner ist als der Wert aus dem ioBroker Objekt dann geht das Licht mit an.

                                        mickymM Online
                                        mickymM Online
                                        mickym
                                        Most Active
                                        wrote on last edited by mickym
                                        #389

                                        @hotspot_2 sagte in Shellys ("Alt und Plus") über MQTT Adapter:

                                        @mickym Damit wollte ich den Wert den ich einlese über Get (lux_wk) mit dem Wert im Bewegungsmelder (lux) vergleichen wenn kleiner dann soll das licht eingeschaltet werden (also wder wert im Bewegungsmelder).

                                        Ok - dann ist in der iobroker-Get Node ein Wert der aus Deiner vis kommt. Trotzdem kommt von dem mqtt-Objekt 0,0 an - weil wir das Objekt komplett neu in der Change node machen. Es gibt also keine lux Eigenschaft mehr in deinem payload Objekt. Deswegen mach mal eine Debug Node hinter Deine Change Node und dann siehst Du was Deine payload für Eigenschaften besitzt.

                                        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.

                                        H 1 Reply Last reply
                                        0
                                        • mickymM mickym

                                          @hotspot_2 sagte in Shellys ("Alt und Plus") über MQTT Adapter:

                                          @mickym Damit wollte ich den Wert den ich einlese über Get (lux_wk) mit dem Wert im Bewegungsmelder (lux) vergleichen wenn kleiner dann soll das licht eingeschaltet werden (also wder wert im Bewegungsmelder).

                                          Ok - dann ist in der iobroker-Get Node ein Wert der aus Deiner vis kommt. Trotzdem kommt von dem mqtt-Objekt 0,0 an - weil wir das Objekt komplett neu in der Change node machen. Es gibt also keine lux Eigenschaft mehr in deinem payload Objekt. Deswegen mach mal eine Debug Node hinter Deine Change Node und dann siehst Du was Deine payload für Eigenschaften besitzt.

                                          H Offline
                                          H Offline
                                          hotspot_2
                                          wrote on last edited by hotspot_2
                                          #390

                                          @mickym Ok, das habe ich befürchtet, wir überschreiben nach dem Trigger die Payload komplett. Gäbe es eine Möglichkeit den Lux Wert mitzunehmen? Falls ja, müsste ja dann mein Konstrukt funktionieren.

                                          Aber ja, das mit den Debugs mach ich.

                                          mickymM 1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate
                                          FAQ Cloud / IOT
                                          HowTo: Node.js-Update
                                          HowTo: Backup/Restore
                                          Downloads
                                          BLOG

                                          609

                                          Online

                                          32.4k

                                          Users

                                          81.4k

                                          Topics

                                          1.3m

                                          Posts
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Recent
                                          • Tags
                                          • Unread 0
                                          • Categories
                                          • Unreplied
                                          • Popular
                                          • GitHub
                                          • Docu
                                          • Hilfe