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

  • Wartung am 15.11. – Forum ab 22:00 Uhr nicht erreichbar
    BluefoxB
    Bluefox
    11
    2
    198

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

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

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

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

    @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 Offline
      mickymM Offline
      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 Offline
          mickymM Offline
          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 Offline
              mickymM Offline
              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 Offline
                  mickymM Offline
                  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 Offline
                      mickymM Offline
                      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
                        • H hotspot_2

                          @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 Offline
                          mickymM Offline
                          mickym
                          Most Active
                          wrote on last edited by mickym
                          #391

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

                          @mickym Ok, das habe ich befürchtet, wir überschreiben nach dem Trigger die Payload komplett.

                          Na wenn Du schon so was befürchtest, wieso ignorierst du das dann? 😁

                          Aber es gibt ja einen Ausweg - wir können ja den Wert in einer Variablen speichern

                          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.

                          mickymM 1 Reply Last reply
                          0
                          • mickymM mickym

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

                            @mickym Ok, das habe ich befürchtet, wir überschreiben nach dem Trigger die Payload komplett.

                            Na wenn Du schon so was befürchtest, wieso ignorierst du das dann? 😁

                            Aber es gibt ja einen Ausweg - wir können ja den Wert in einer Variablen speichern

                            mickymM Offline
                            mickymM Offline
                            mickym
                            Most Active
                            wrote on last edited by mickym
                            #392

                            @mickym Da wir im Prinzip mit der Trigger Node alles wegschmeissen - kannst Du mit einer Inject Node vor der Trigger Node den Flow testen. 😉

                            Ich habe mir übrigens zum Aktiveren und Deaktivieren von Nodes eine kleine Tastenkombination gebastelt - solltest Du vielleicht auch tun. 😉

                            So kannst Du also Deinen Flow triggern und dann die debug Node immer weiter nach hinten schieben, um zu testen, wie es aussieht:

                            721a0b78-d84e-43d0-99df-f71f4430857a-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.

                            mickymM H 2 Replies Last reply
                            0
                            • mickymM mickym

                              @mickym Da wir im Prinzip mit der Trigger Node alles wegschmeissen - kannst Du mit einer Inject Node vor der Trigger Node den Flow testen. 😉

                              Ich habe mir übrigens zum Aktiveren und Deaktivieren von Nodes eine kleine Tastenkombination gebastelt - solltest Du vielleicht auch tun. 😉

                              So kannst Du also Deinen Flow triggern und dann die debug Node immer weiter nach hinten schieben, um zu testen, wie es aussieht:

                              721a0b78-d84e-43d0-99df-f71f4430857a-image.png

                              mickymM Offline
                              mickymM Offline
                              mickym
                              Most Active
                              wrote on last edited by
                              #393

                              @mickym

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

                              @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.

                              Die Möglichkeit den Lux Wert abzuspeichern - wäre es direkt in eine Flow-Variable zu schreiben.

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

                              1 Reply Last reply
                              0
                              • mickymM mickym

                                @mickym Da wir im Prinzip mit der Trigger Node alles wegschmeissen - kannst Du mit einer Inject Node vor der Trigger Node den Flow testen. 😉

                                Ich habe mir übrigens zum Aktiveren und Deaktivieren von Nodes eine kleine Tastenkombination gebastelt - solltest Du vielleicht auch tun. 😉

                                So kannst Du also Deinen Flow triggern und dann die debug Node immer weiter nach hinten schieben, um zu testen, wie es aussieht:

                                721a0b78-d84e-43d0-99df-f71f4430857a-image.png

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

                                @mickym
                                bcc86256-3e53-4a3d-ae8a-e1ba9c503a1b-image.png

                                Jupp, passt. Ich seh's schon ;-).

                                mickymM 1 Reply Last reply
                                0
                                • H hotspot_2

                                  @mickym
                                  bcc86256-3e53-4a3d-ae8a-e1ba9c503a1b-image.png

                                  Jupp, passt. Ich seh's schon ;-).

                                  mickymM Offline
                                  mickymM Offline
                                  mickym
                                  Most Active
                                  wrote on last edited by
                                  #395

                                  @hotspot_2 Gut also siehst Du wenn Du Deine Debug Nodes anschaust, dass Deine payload keine Eigenschaft lux mehr besitzt - und ausserdem willst Du ja die lux nur aus dem Waschküchenbewegungsmelder oder?

                                  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 also siehst Du wenn Du Deine Debug Nodes anschaust, dass Deine payload keine Eigenschaft lux mehr besitzt - und ausserdem willst Du ja die lux nur aus dem Waschküchenbewegungsmelder oder?

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

                                    @mickym Ja, nur aus dem Waschküchenbewegungsmelder.

                                    mickymM 1 Reply Last reply
                                    0
                                    • H hotspot_2

                                      @mickym Ja, nur aus dem Waschküchenbewegungsmelder.

                                      mickymM Offline
                                      mickymM Offline
                                      mickym
                                      Most Active
                                      wrote on last edited by mickym
                                      #397

                                      @hotspot_2 Also dann speichere direkt hinter dem Bewegungsmelderobjekt den Wert in einer Flowvariablen.

                                      Am Besten Du simulierst dann die Ausgabe des Bewegungsmelder objektes der Waschküche - also setze deine Inject-Node dorthin mit einem Objekt was aus dem Bewegungsmelder kommt.

                                      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 mickymM 2 Replies Last reply
                                      0
                                      • mickymM mickym

                                        @hotspot_2 Also dann speichere direkt hinter dem Bewegungsmelderobjekt den Wert in einer Flowvariablen.

                                        Am Besten Du simulierst dann die Ausgabe des Bewegungsmelder objektes der Waschküche - also setze deine Inject-Node dorthin mit einem Objekt was aus dem Bewegungsmelder kommt.

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

                                        @mickym
                                        Das geht mit Function und etwas JavaScript, oder?

                                        flow.set("lux_wk", msg.payload.lux);

                                        1 Reply Last reply
                                        0
                                        • mickymM mickym

                                          @hotspot_2 Also dann speichere direkt hinter dem Bewegungsmelderobjekt den Wert in einer Flowvariablen.

                                          Am Besten Du simulierst dann die Ausgabe des Bewegungsmelder objektes der Waschküche - also setze deine Inject-Node dorthin mit einem Objekt was aus dem Bewegungsmelder kommt.

                                          mickymM Offline
                                          mickymM Offline
                                          mickym
                                          Most Active
                                          wrote on last edited by mickym
                                          #399

                                          @mickym Nein KEINE function Nodes. 😉 Das machst Du alles mit einer Change Node. 😉 Du solltest die Variable aber anders nennen - als die Eigenschaft, die Du ihr in der get-Node zuweist.

                                          Also nichts programmieren - wir arbeiten mit NodeRed. 😉

                                          Mach das erst mal so, dass Du Dein Objekt in eine Inject Node verfrachtest und die mqtt-Node simulierst. Du musst die Methodik lernen.

                                          Du hast mir ja so ein Objekt vorher geliefert. Wollen wir das nehmen?

                                          {
                                            "motion": false,
                                            "timestamp": 1680969357,
                                            "active": true,
                                            "vibration": false,
                                            "lux": 0,
                                            "bat": 100,
                                            "tmp": {
                                              "value": 18.7,
                                              "units": "C",
                                              "is_valid": true
                                            }
                                          }
                                          
                                          

                                          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
                                          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

                                          166

                                          Online

                                          32.4k

                                          Users

                                          81.3k

                                          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