Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Node-Red
    5. Node Red und Blockly Scripte

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Node Red und Blockly Scripte

    This topic has been deleted. Only users with topic management privileges can see it.
    • L
      LaBamba @mickym last edited by

      @mickym said in Node Red und Blockly Scripte:

      @labamba Also grundsätzlich ist das alles was ich sage, nicht als Kritik gemeint und wenn ich vermeintliche Verbesserungsvorschläge oder Alternativen vorschlage, habe ich vielleicht all Deinen Erfahrungsschatz nicht berücksichtigt.

      Deine ursprüngliche Frage was ja wie Du NodeRed mit den Blocklies verbinden kannst und das habe ich ja am Anfang beantwortet und damit können wir es ja bewenden lassen.

      Vielleicht habe ich halt nur ein Verständnisproblem oder keine Erklärung?

      Also wenn ich sowas schrieb, wie:

      Im Prinzip ist ja für ein Gerät die URL gleich und nur der Prozentwert ist halt anders. Deswegen verstehe ich auch nicht, warum man da zig Buttons macht, anstelle einfach eine Prozentzahl in einen Datenpunkt zu schreiben bzw. auch bei Sprachbefehl halt - stelle auf x %

      Dann verstehe ich es halt nicht.

      Wie gesagt, Du musst da nichts ändern oder gar als Angriff auf Deine Lösung sehen. Wenn Du zu Deiner Handsteuerung schreibst:

      Handsteuerung:

      Jedoch habe ich auch ein Tablet oder ein Handy. Hier habe ich mir zur Steuerung Buttons angelegt. Hinter diesen Buttons liegt ein Skript das ausgelöst wird.Funktioniert top seit 1 Jahr!

      Die Rückantwort habe ich auch wieder über mqtt als Anzeige zwischen 0-100%.

      dann meinte ich ja - ist doch gut, wenn Du aus Gründen der Bedienung hier Button nimmst, aber hätte man hinter diese Buttons nicht einfach Prozentzahlen in einen Datenpunkt schreiben können und das dann auswerten, anstelle für jeden Button in Deiner VIS einen eigenen Datenpunkt zu machen? Gibt ja vielleicht Gründe, die ich nicht verstehe.

      Nun was ich auch nicht verstanden habe, wenn Du schreibst:

      Allgemein: Für das Skript war es für mich sehr einfach den http Befehl für die Position, auf und ab zu verwenden. Läuft auch sehr zuverlässig!

      Jedoch verwende ich grundsätzlich mqtt für die Shellys.

      Liegt das generell daran, dass Du keine Kommandos über mqtt an Deine Shellies verschickst. Wie gesagt ist kein Problem wenn Du das über HTTP zu machen.

      Über mqtt wäre es halt:

      81b8902c-5093-43bf-8af8-32715278d70a-image.png

      mit stop,close,open über das Topic:

      shellies/shellyswitch25-<deviceid>/roller/0/command
      

      bzw.

      shellies/shellyswitch25-<deviceid>/roller/0/command/pos
      

      gegangen - aber wie gesagt, es gibt mehrere Wege nach Rom und man kann das auch über http machen, dafür gibt es ja diese API.


      So grundsätzlich gibt es für das Problem des Drehwinkels keine fertige Lösung, sondern ist ja gut, wie Du das mit Deinem Skript gelöst hast und ich habe ja Dein Skript nur in Node Red abgebildet (weil es Dich ja interessiert hat - ansonsten kannst Du ja wie gesagt über die Buttons einfach Deine Blocklies triggern, wie ursprünglich geplant).
      Im Prinzip ist es - und das kann ich dann zum 2. Teil sagen - völlig egal, ob Du per Hand oder Sprachsteuerung Dein Raffstore steuerst, denn das Script wird ja durch den stop Status getriggert, um dann die Lamellen durch ein zeitliches Fahren in die Gegenrichtung die Lamellen auszurichten. Das habe ich schon verstanden und soweit auch mit dem Flow 1:1 umgesetzt - bis auf die Abprüfung eines Buttons. Das lässt sich, denke ich, auch nicht anders lösen.

      Ich sehe es ja nicht als Angriff! Finde es sogar toll das du mir helfen willst.
      Ich werde mich mal in deine Vorschläge bzgl. Node-RED weiter einarbeiten.
      Ich glaube meine Lösung mit dem Auslösen des Scriptes ist nicht gerade perfekt.

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

        @labamba
        Das mit dem Blockly war auch verkehrt - ändere das mal wieder auf geändert zurück. Das war schon richtig. Das ist ja der 2. Teil mit dem state des Shellies der hier triggert und nicht der Button. - Sorry mein Fehler.

        Wenn das beim ersten Mal nicht funktioniert hat, dann hat das andere Ursachen - und ich glaube auch nicht, dass das was mit NodeRed zu tun hat.

        Mach in Dein Blockly ein Debug Baustein um zu sehen, ob das Blockly getriggert wurde:

        01b07769-399f-477d-a626-49f164868d6b-image.png

        So wenn das Triggert - dann funktioniert das Zusammenspiel von NodeRed und Blockly. Wenn sich dann nichts tut - ist es aber ein reines Problem Deines Blocklies.

        Was stand denn bei Dir da ursprünglich drin, wahr oder geändert? Beim Triggern des Buttons.

        L 1 Reply Last reply Reply Quote 0
        • L
          LaBamba @mickym last edited by

          @mickym said in Node Red und Blockly Scripte:

          So ich habe mal dein Node Red Skript eingefügt. Das mit dem Sub-Flow ist richtig gut.

          mickym 1 Reply Last reply Reply Quote 0
          • L
            LaBamba @mickym last edited by

            @mickym said in Node Red und Blockly Scripte:

            @labamba
            Das mit dem Blockly war auch verkehrt - ändere das mal wieder auf geändert zurück. Das war schon richtig. Das ist ja der 2. Teil mit dem state des Shellies der hier triggert und nicht der Button. - Sorry mein Fehler.

            Wenn das beim ersten Mal nicht funktioniert hat, dann hat das andere Ursachen - und ich glaube auch nicht, dass das was mit NodeRed zu tun hat.

            Mach in Dein Blockly ein Debug Baustein um zu sehen, ob das Blockly getriggert wurde:

            01b07769-399f-477d-a626-49f164868d6b-image.png

            So wenn das Triggert - dann funktioniert das Zusammenspiel von NodeRed und Blockly. Wenn sich dann nichts tut - ist es aber ein reines Problem Deines Blocklies.

            Was stand denn bei Dir da ursprünglich drin, wahr oder geändert? Beim Triggern des Buttons.

            Bildschirmfoto 2022-01-15 um 00.22.24.png

            Wahr ist richtig!

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

              @labamba OK, wenn das wahr war - dann war das was ich zu den Blocklies gesagt hatte am Anfang des heutigen Abends gesagt hatte natürlich Käse- Sorry nochmal. ☹

              Wie gesagt dann machst einfach noch ein Debug Baustein in das Blockly und siehst ja ob der NodeRed Flow triggert. Wenn sich dann nichts bewegt, dann hast Du halt mit Deinen Blockly Skripts noch irgendein Problem, weil dann wurde das Blockly ja getriggert.

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

                Wahrscheinlich ist es besser die Trigger Node in den subflow und nur in den stop Ast aufzunehmen

                5860d63b-1a88-4676-8b9a-920fec95b4db-image.png

                [
                   {
                       "id": "7e87c3e2.66c5fc",
                       "type": "subflow",
                       "name": "Raffstore Lamellen",
                       "info": "",
                       "category": "",
                       "in": [
                           {
                               "x": 40,
                               "y": 160,
                               "wires": [
                                   {
                                       "id": "2652732c.5f215c"
                                   }
                               ]
                           }
                       ],
                       "out": [],
                       "env": [],
                       "meta": {},
                       "color": "#DDAA99"
                   },
                   {
                       "id": "ebcc8cd1.82d7d",
                       "type": "switch",
                       "z": "7e87c3e2.66c5fc",
                       "name": "state = stop?",
                       "property": "payload",
                       "propertyType": "msg",
                       "rules": [
                           {
                               "t": "neq",
                               "v": "stop",
                               "vt": "str"
                           },
                           {
                               "t": "eq",
                               "v": "stop",
                               "vt": "str"
                           }
                       ],
                       "checkall": "true",
                       "repair": false,
                       "outputs": 2,
                       "x": 350,
                       "y": 160,
                       "wires": [
                           [
                               "854914d1.80f738"
                           ],
                           [
                               "64d564ea.56762c"
                           ]
                       ]
                   },
                   {
                       "id": "854914d1.80f738",
                       "type": "change",
                       "z": "7e87c3e2.66c5fc",
                       "name": "",
                       "rules": [
                           {
                               "t": "set",
                               "p": "prevState",
                               "pt": "flow",
                               "to": "payload",
                               "tot": "msg"
                           }
                       ],
                       "action": "",
                       "property": "",
                       "from": "",
                       "to": "",
                       "reg": false,
                       "x": 560,
                       "y": 120,
                       "wires": [
                           []
                       ]
                   },
                   {
                       "id": "bf30a22.3e2196",
                       "type": "delay",
                       "z": "7e87c3e2.66c5fc",
                       "name": "",
                       "pauseType": "delay",
                       "timeout": "2000",
                       "timeoutUnits": "milliseconds",
                       "rate": "1",
                       "nbRateUnits": "1",
                       "rateUnits": "second",
                       "randomFirst": "1",
                       "randomLast": "5",
                       "randomUnits": "seconds",
                       "drop": false,
                       "x": 1140,
                       "y": 80,
                       "wires": [
                           [
                               "3255c528.de590a"
                           ]
                       ]
                   },
                   {
                       "id": "c6eeaa6e.706d18",
                       "type": "delay",
                       "z": "7e87c3e2.66c5fc",
                       "name": "",
                       "pauseType": "delay",
                       "timeout": "2000",
                       "timeoutUnits": "milliseconds",
                       "rate": "1",
                       "nbRateUnits": "1",
                       "rateUnits": "second",
                       "randomFirst": "1",
                       "randomLast": "5",
                       "randomUnits": "seconds",
                       "drop": false,
                       "x": 1140,
                       "y": 280,
                       "wires": [
                           [
                               "68ebda58.4eabe4"
                           ]
                       ]
                   },
                   {
                       "id": "8a7cd4b5.269948",
                       "type": "delay",
                       "z": "7e87c3e2.66c5fc",
                       "name": "",
                       "pauseType": "delay",
                       "timeout": "2850",
                       "timeoutUnits": "milliseconds",
                       "rate": "1",
                       "nbRateUnits": "1",
                       "rateUnits": "second",
                       "randomFirst": "1",
                       "randomLast": "5",
                       "randomUnits": "seconds",
                       "drop": false,
                       "x": 1140,
                       "y": 220,
                       "wires": [
                           [
                               "4b9e4649.7a64b8"
                           ]
                       ]
                   },
                   {
                       "id": "9975679a.5841e8",
                       "type": "ioBroker out",
                       "z": "7e87c3e2.66c5fc",
                       "name": "",
                       "topic": "",
                       "ack": "false",
                       "autoCreate": "false",
                       "stateName": "",
                       "role": "",
                       "payloadType": "",
                       "readonly": "",
                       "stateUnit": "",
                       "stateMin": "",
                       "stateMax": "",
                       "x": 1580,
                       "y": 180,
                       "wires": []
                   },
                   {
                       "id": "336d9d4.74eb162",
                       "type": "switch",
                       "z": "7e87c3e2.66c5fc",
                       "name": "prevState open oder close",
                       "property": "prevState",
                       "propertyType": "flow",
                       "rules": [
                           {
                               "t": "eq",
                               "v": "open",
                               "vt": "str"
                           },
                           {
                               "t": "eq",
                               "v": "close",
                               "vt": "str"
                           }
                       ],
                       "checkall": "true",
                       "repair": false,
                       "outputs": 2,
                       "x": 870,
                       "y": 200,
                       "wires": [
                           [
                               "bf30a22.3e2196",
                               "3f345786.acf108"
                           ],
                           [
                               "c6eeaa6e.706d18",
                               "8a7cd4b5.269948"
                           ]
                       ]
                   },
                   {
                       "id": "620673ff.34e66c",
                       "type": "change",
                       "z": "7e87c3e2.66c5fc",
                       "name": "= true",
                       "rules": [
                           {
                               "t": "set",
                               "p": "payload",
                               "pt": "msg",
                               "to": "true",
                               "tot": "bool"
                           }
                       ],
                       "action": "",
                       "property": "",
                       "from": "",
                       "to": "",
                       "reg": false,
                       "x": 670,
                       "y": 200,
                       "wires": [
                           [
                               "336d9d4.74eb162"
                           ]
                       ]
                   },
                   {
                       "id": "3f345786.acf108",
                       "type": "delay",
                       "z": "7e87c3e2.66c5fc",
                       "name": "",
                       "pauseType": "delay",
                       "timeout": "3100",
                       "timeoutUnits": "milliseconds",
                       "rate": "1",
                       "nbRateUnits": "1",
                       "rateUnits": "second",
                       "randomFirst": "1",
                       "randomLast": "5",
                       "randomUnits": "seconds",
                       "drop": false,
                       "x": 1140,
                       "y": 160,
                       "wires": [
                           [
                               "4b9e4649.7a64b8"
                           ]
                       ]
                   },
                   {
                       "id": "2652732c.5f215c",
                       "type": "change",
                       "z": "7e87c3e2.66c5fc",
                       "name": "",
                       "rules": [
                           {
                               "t": "change",
                               "p": "topic",
                               "pt": "msg",
                               "from": "(.*)\\/.*$",
                               "fromt": "re",
                               "to": "$1",
                               "tot": "str"
                           },
                           {
                               "t": "change",
                               "p": "topic",
                               "pt": "msg",
                               "from": "/",
                               "fromt": "str",
                               "to": ".",
                               "tot": "str"
                           }
                       ],
                       "action": "",
                       "property": "",
                       "from": "",
                       "to": "",
                       "reg": false,
                       "x": 170,
                       "y": 160,
                       "wires": [
                           [
                               "ebcc8cd1.82d7d"
                           ]
                       ]
                   },
                   {
                       "id": "4b9e4649.7a64b8",
                       "type": "change",
                       "z": "7e87c3e2.66c5fc",
                       "name": "topic & \".Pause\"",
                       "rules": [
                           {
                               "t": "set",
                               "p": "topic",
                               "pt": "msg",
                               "to": "topic & \".Pause\"",
                               "tot": "jsonata"
                           }
                       ],
                       "action": "",
                       "property": "",
                       "from": "",
                       "to": "",
                       "reg": false,
                       "x": 1360,
                       "y": 180,
                       "wires": [
                           [
                               "9975679a.5841e8"
                           ]
                       ]
                   },
                   {
                       "id": "3255c528.de590a",
                       "type": "change",
                       "z": "7e87c3e2.66c5fc",
                       "name": "topic & \".Close\"",
                       "rules": [
                           {
                               "t": "set",
                               "p": "topic",
                               "pt": "msg",
                               "to": "topic & \".Close\"",
                               "tot": "jsonata"
                           }
                       ],
                       "action": "",
                       "property": "",
                       "from": "",
                       "to": "",
                       "reg": false,
                       "x": 1360,
                       "y": 80,
                       "wires": [
                           [
                               "9975679a.5841e8"
                           ]
                       ]
                   },
                   {
                       "id": "68ebda58.4eabe4",
                       "type": "change",
                       "z": "7e87c3e2.66c5fc",
                       "name": "topic & \".Open\"",
                       "rules": [
                           {
                               "t": "set",
                               "p": "topic",
                               "pt": "msg",
                               "to": "topic & \".Open\"",
                               "tot": "jsonata"
                           }
                       ],
                       "action": "",
                       "property": "",
                       "from": "",
                       "to": "",
                       "reg": false,
                       "x": 1360,
                       "y": 280,
                       "wires": [
                           [
                               "9975679a.5841e8"
                           ]
                       ]
                   },
                   {
                       "id": "64d564ea.56762c",
                       "type": "trigger",
                       "z": "7e87c3e2.66c5fc",
                       "name": "",
                       "op1": "",
                       "op2": "",
                       "op1type": "pay",
                       "op2type": "nul",
                       "duration": "5",
                       "extend": false,
                       "overrideDelay": false,
                       "units": "s",
                       "reset": "",
                       "bytopic": "all",
                       "topic": "topic",
                       "outputs": 1,
                       "x": 520,
                       "y": 200,
                       "wires": [
                           [
                               "620673ff.34e66c"
                           ]
                       ],
                       "info": "Blockiert erneutes Auslesen innerhalb von 5s."
                   },
                   {
                       "id": "f4e53c99.91238",
                       "type": "ioBroker in",
                       "z": "54b226bc.0793e8",
                       "name": "Raffstore Büro",
                       "topic": "shelly.0.SHSW-25#B8AB96#1.Shutter.state",
                       "payloadType": "value",
                       "onlyack": "",
                       "func": "rbe",
                       "gap": "",
                       "fireOnStart": "false",
                       "x": 410,
                       "y": 3360,
                       "wires": [
                           [
                               "986fd6e5.d54658"
                           ]
                       ]
                   },
                   {
                       "id": "986fd6e5.d54658",
                       "type": "subflow:7e87c3e2.66c5fc",
                       "z": "54b226bc.0793e8",
                       "name": "Raffstore Lamellen",
                       "env": [],
                       "x": 630,
                       "y": 3360,
                       "wires": []
                   },
                   {
                       "id": "b71a1586.1f4138",
                       "type": "ioBroker in",
                       "z": "54b226bc.0793e8",
                       "name": "Raffstore Eingang",
                       "topic": "shelly.0.SHSW-25#B8XYZ9#1.Shutter.state",
                       "payloadType": "value",
                       "onlyack": "",
                       "func": "rbe",
                       "gap": "",
                       "fireOnStart": "false",
                       "x": 390,
                       "y": 3420,
                       "wires": [
                           [
                               "a685c1d8.c975d"
                           ]
                       ]
                   },
                   {
                       "id": "a685c1d8.c975d",
                       "type": "subflow:7e87c3e2.66c5fc",
                       "z": "54b226bc.0793e8",
                       "name": "Raffstore Lamellen",
                       "env": [],
                       "x": 630,
                       "y": 3420,
                       "wires": []
                   }
                ]
                

                Aber ohne halt Hardware zur Verfügung zu haben, ist das immer etwas schwierig - sich vorzustellen. 😉

                mickym L 2 Replies Last reply Reply Quote 0
                • mickym
                  mickym Most Active @mickym last edited by

                  @mickym Falls Du übrigens das Ganze wie in Deinem Blockly machen willst, dass das nur ausgeführt wird, wenn ein Button gefdrückt wird - der sich nach 5 s immer selbst auf false stellt, dann machst das halt auch mit einer trigger Node und entweder eine Flow Variablen oder Datenpunkt.

                  1 Reply Last reply Reply Quote 0
                  • L
                    LaBamba @mickym last edited by

                    @mickym
                    Die einfache Varainte mit dem auslösen des Skriptes funtkioniert jetzt.
                    Ehrlich gesagt weiss ich aber auch nicht warum.

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

                      @labamba Na dann ist ja gut - und das Thema gelöst. Wie gesagt - ich denke eher dass auf der Blockly Seite was nicht richtig initialisiert war.

                      Mach wie ich vorgeschlagen habe direkt am Anfang einen Debug Baustein in Deine Blocklies und dann siehst ob es getriggert wurde oder nicht. Wenn getriggert wurde und dann trotzdem nichts passiert ist es auf jeden Fall auf der Blockly Seite zu suchen.

                      L 1 Reply Last reply Reply Quote 0
                      • L
                        LaBamba @mickym last edited by

                        @mickym
                        Werde es jetzt mal versuchen mit node-red umzusetzen.
                        Bin gerade dabei deine Vorlage zu verstehen.
                        Ich verstehe aber noch nicht wie ich den Alexa befehl dort einbinden muss.

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

                          @labamba Nun der Subflow entspricht ja nur dem 2. Teil des Blocklies, da ja als Trigger der state des Shellies dient.

                          Bei der Alexa Node kommt entweder eine Zahl raus, wenn Du eine Prozentzahl sagst oder auf und zu und setzt es in einen http-Request um.

                          Das hatte ich ja alles hier beschrieben: https://forum.iobroker.net/topic/51385/node-red-und-blockly-scripte/28

                          Du musst halt nur den http Node aktivieren.

                          Und wie gesagt, warum Du es über http und nicht über mqtt steuerst, weiss ich immer noch nicht. 😉

                          L 1 Reply Last reply Reply Quote 0
                          • L
                            LaBamba @mickym last edited by

                            @mickym

                            Und wie gesagt, warum Du es über http und nicht über mqtt steuerst, weiss ich immer noch nicht. 😉

                            Ganz einfach. Ich wusste nicht wie ich mqtt in das script bekomme. ..und mit http hat es super funktioniert.

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

                              @labamba sagte in Node Red und Blockly Scripte:

                              @mickym

                              Und wie gesagt, warum Du es über http und nicht über mqtt steuerst, weiss ich immer noch nicht. 😉

                              Ganz einfach. Ich wusste nicht wie ich mqtt in das script bekomme. ..und mit http hat es super funktioniert.

                              OK ich dachte, Du hast den mqtt-Adapter installiert, aber wahrscheinlich nutzt Du den Shelly Adapter mit dem mqtt Protokoll. Also vergiß was ich sagte. Ich nutze den Shelly Adapter nicht.

                              L 1 Reply Last reply Reply Quote 0
                              • L
                                LaBamba @mickym last edited by

                                @mickym said in Node Red und Blockly Scripte:

                                @labamba sagte in Node Red und Blockly Scripte:

                                @mickym

                                Und wie gesagt, warum Du es über http und nicht über mqtt steuerst, weiss ich immer noch nicht. 😉

                                Ganz einfach. Ich wusste nicht wie ich mqtt in das script bekomme. ..und mit http hat es super funktioniert.

                                OK ich dachte, Du hast den mqtt-Adapter installiert, aber wahrscheinlich nutzt Du den Shelly Adapter mit dem mqtt Protokoll. Also vergiß was ich sagte. Ich nutze den Shelly Adapter nicht.

                                Genau ich nutze den Shelly Adapter mit dem mqtt Protokoll.

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

                                  @labamba Wie gesagt um HTTP Kommandos aus NR zu senden, nutzt Du die http Request Node - wie gesagt die Flows sind unten beschrieben,

                                  L 1 Reply Last reply Reply Quote 0
                                  • L
                                    LaBamba @mickym last edited by

                                    @mickym said in Node Red und Blockly Scripte:

                                    @labamba Wie gesagt um HTTP Kommandos aus NR zu senden, nutzt Du die http Request Node - wie gesagt die Flows sind unten beschrieben,

                                    Unten beschrieben?

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

                                      @labamba sagte in Node Red und Blockly Scripte:

                                      @mickym said in Node Red und Blockly Scripte:

                                      @labamba Wie gesagt um HTTP Kommandos aus NR zu senden, nutzt Du die http Request Node - wie gesagt die Flows sind unten beschrieben,

                                      Unten beschrieben?

                                      https://forum.iobroker.net/topic/51385/node-red-und-blockly-scripte/34?_=1642255680958
                                      8af85d40-1147-4e00-9308-8f475d7f812d-image.png

                                      1 Reply Last reply Reply Quote 0
                                      • L
                                        LaBamba @mickym last edited by

                                        @mickym said in Node Red und Blockly Scripte:

                                        Wahrscheinlich ist es besser die Trigger Node in den subflow und nur in den stop Ast aufzunehmen

                                        5860d63b-1a88-4676-8b9a-920fec95b4db-image.png

                                        [
                                           {
                                               "id": "7e87c3e2.66c5fc",
                                               "type": "subflow",
                                               "name": "Raffstore Lamellen",
                                               "info": "",
                                               "category": "",
                                               "in": [
                                                   {
                                                       "x": 40,
                                                       "y": 160,
                                                       "wires": [
                                                           {
                                                               "id": "2652732c.5f215c"
                                                           }
                                                       ]
                                                   }
                                               ],
                                               "out": [],
                                               "env": [],
                                               "meta": {},
                                               "color": "#DDAA99"
                                           },
                                           {
                                               "id": "ebcc8cd1.82d7d",
                                               "type": "switch",
                                               "z": "7e87c3e2.66c5fc",
                                               "name": "state = stop?",
                                               "property": "payload",
                                               "propertyType": "msg",
                                               "rules": [
                                                   {
                                                       "t": "neq",
                                                       "v": "stop",
                                                       "vt": "str"
                                                   },
                                                   {
                                                       "t": "eq",
                                                       "v": "stop",
                                                       "vt": "str"
                                                   }
                                               ],
                                               "checkall": "true",
                                               "repair": false,
                                               "outputs": 2,
                                               "x": 350,
                                               "y": 160,
                                               "wires": [
                                                   [
                                                       "854914d1.80f738"
                                                   ],
                                                   [
                                                       "64d564ea.56762c"
                                                   ]
                                               ]
                                           },
                                           {
                                               "id": "854914d1.80f738",
                                               "type": "change",
                                               "z": "7e87c3e2.66c5fc",
                                               "name": "",
                                               "rules": [
                                                   {
                                                       "t": "set",
                                                       "p": "prevState",
                                                       "pt": "flow",
                                                       "to": "payload",
                                                       "tot": "msg"
                                                   }
                                               ],
                                               "action": "",
                                               "property": "",
                                               "from": "",
                                               "to": "",
                                               "reg": false,
                                               "x": 560,
                                               "y": 120,
                                               "wires": [
                                                   []
                                               ]
                                           },
                                           {
                                               "id": "bf30a22.3e2196",
                                               "type": "delay",
                                               "z": "7e87c3e2.66c5fc",
                                               "name": "",
                                               "pauseType": "delay",
                                               "timeout": "2000",
                                               "timeoutUnits": "milliseconds",
                                               "rate": "1",
                                               "nbRateUnits": "1",
                                               "rateUnits": "second",
                                               "randomFirst": "1",
                                               "randomLast": "5",
                                               "randomUnits": "seconds",
                                               "drop": false,
                                               "x": 1140,
                                               "y": 80,
                                               "wires": [
                                                   [
                                                       "3255c528.de590a"
                                                   ]
                                               ]
                                           },
                                           {
                                               "id": "c6eeaa6e.706d18",
                                               "type": "delay",
                                               "z": "7e87c3e2.66c5fc",
                                               "name": "",
                                               "pauseType": "delay",
                                               "timeout": "2000",
                                               "timeoutUnits": "milliseconds",
                                               "rate": "1",
                                               "nbRateUnits": "1",
                                               "rateUnits": "second",
                                               "randomFirst": "1",
                                               "randomLast": "5",
                                               "randomUnits": "seconds",
                                               "drop": false,
                                               "x": 1140,
                                               "y": 280,
                                               "wires": [
                                                   [
                                                       "68ebda58.4eabe4"
                                                   ]
                                               ]
                                           },
                                           {
                                               "id": "8a7cd4b5.269948",
                                               "type": "delay",
                                               "z": "7e87c3e2.66c5fc",
                                               "name": "",
                                               "pauseType": "delay",
                                               "timeout": "2850",
                                               "timeoutUnits": "milliseconds",
                                               "rate": "1",
                                               "nbRateUnits": "1",
                                               "rateUnits": "second",
                                               "randomFirst": "1",
                                               "randomLast": "5",
                                               "randomUnits": "seconds",
                                               "drop": false,
                                               "x": 1140,
                                               "y": 220,
                                               "wires": [
                                                   [
                                                       "4b9e4649.7a64b8"
                                                   ]
                                               ]
                                           },
                                           {
                                               "id": "9975679a.5841e8",
                                               "type": "ioBroker out",
                                               "z": "7e87c3e2.66c5fc",
                                               "name": "",
                                               "topic": "",
                                               "ack": "false",
                                               "autoCreate": "false",
                                               "stateName": "",
                                               "role": "",
                                               "payloadType": "",
                                               "readonly": "",
                                               "stateUnit": "",
                                               "stateMin": "",
                                               "stateMax": "",
                                               "x": 1580,
                                               "y": 180,
                                               "wires": []
                                           },
                                           {
                                               "id": "336d9d4.74eb162",
                                               "type": "switch",
                                               "z": "7e87c3e2.66c5fc",
                                               "name": "prevState open oder close",
                                               "property": "prevState",
                                               "propertyType": "flow",
                                               "rules": [
                                                   {
                                                       "t": "eq",
                                                       "v": "open",
                                                       "vt": "str"
                                                   },
                                                   {
                                                       "t": "eq",
                                                       "v": "close",
                                                       "vt": "str"
                                                   }
                                               ],
                                               "checkall": "true",
                                               "repair": false,
                                               "outputs": 2,
                                               "x": 870,
                                               "y": 200,
                                               "wires": [
                                                   [
                                                       "bf30a22.3e2196",
                                                       "3f345786.acf108"
                                                   ],
                                                   [
                                                       "c6eeaa6e.706d18",
                                                       "8a7cd4b5.269948"
                                                   ]
                                               ]
                                           },
                                           {
                                               "id": "620673ff.34e66c",
                                               "type": "change",
                                               "z": "7e87c3e2.66c5fc",
                                               "name": "= true",
                                               "rules": [
                                                   {
                                                       "t": "set",
                                                       "p": "payload",
                                                       "pt": "msg",
                                                       "to": "true",
                                                       "tot": "bool"
                                                   }
                                               ],
                                               "action": "",
                                               "property": "",
                                               "from": "",
                                               "to": "",
                                               "reg": false,
                                               "x": 670,
                                               "y": 200,
                                               "wires": [
                                                   [
                                                       "336d9d4.74eb162"
                                                   ]
                                               ]
                                           },
                                           {
                                               "id": "3f345786.acf108",
                                               "type": "delay",
                                               "z": "7e87c3e2.66c5fc",
                                               "name": "",
                                               "pauseType": "delay",
                                               "timeout": "3100",
                                               "timeoutUnits": "milliseconds",
                                               "rate": "1",
                                               "nbRateUnits": "1",
                                               "rateUnits": "second",
                                               "randomFirst": "1",
                                               "randomLast": "5",
                                               "randomUnits": "seconds",
                                               "drop": false,
                                               "x": 1140,
                                               "y": 160,
                                               "wires": [
                                                   [
                                                       "4b9e4649.7a64b8"
                                                   ]
                                               ]
                                           },
                                           {
                                               "id": "2652732c.5f215c",
                                               "type": "change",
                                               "z": "7e87c3e2.66c5fc",
                                               "name": "",
                                               "rules": [
                                                   {
                                                       "t": "change",
                                                       "p": "topic",
                                                       "pt": "msg",
                                                       "from": "(.*)\\/.*$",
                                                       "fromt": "re",
                                                       "to": "$1",
                                                       "tot": "str"
                                                   },
                                                   {
                                                       "t": "change",
                                                       "p": "topic",
                                                       "pt": "msg",
                                                       "from": "/",
                                                       "fromt": "str",
                                                       "to": ".",
                                                       "tot": "str"
                                                   }
                                               ],
                                               "action": "",
                                               "property": "",
                                               "from": "",
                                               "to": "",
                                               "reg": false,
                                               "x": 170,
                                               "y": 160,
                                               "wires": [
                                                   [
                                                       "ebcc8cd1.82d7d"
                                                   ]
                                               ]
                                           },
                                           {
                                               "id": "4b9e4649.7a64b8",
                                               "type": "change",
                                               "z": "7e87c3e2.66c5fc",
                                               "name": "topic & \".Pause\"",
                                               "rules": [
                                                   {
                                                       "t": "set",
                                                       "p": "topic",
                                                       "pt": "msg",
                                                       "to": "topic & \".Pause\"",
                                                       "tot": "jsonata"
                                                   }
                                               ],
                                               "action": "",
                                               "property": "",
                                               "from": "",
                                               "to": "",
                                               "reg": false,
                                               "x": 1360,
                                               "y": 180,
                                               "wires": [
                                                   [
                                                       "9975679a.5841e8"
                                                   ]
                                               ]
                                           },
                                           {
                                               "id": "3255c528.de590a",
                                               "type": "change",
                                               "z": "7e87c3e2.66c5fc",
                                               "name": "topic & \".Close\"",
                                               "rules": [
                                                   {
                                                       "t": "set",
                                                       "p": "topic",
                                                       "pt": "msg",
                                                       "to": "topic & \".Close\"",
                                                       "tot": "jsonata"
                                                   }
                                               ],
                                               "action": "",
                                               "property": "",
                                               "from": "",
                                               "to": "",
                                               "reg": false,
                                               "x": 1360,
                                               "y": 80,
                                               "wires": [
                                                   [
                                                       "9975679a.5841e8"
                                                   ]
                                               ]
                                           },
                                           {
                                               "id": "68ebda58.4eabe4",
                                               "type": "change",
                                               "z": "7e87c3e2.66c5fc",
                                               "name": "topic & \".Open\"",
                                               "rules": [
                                                   {
                                                       "t": "set",
                                                       "p": "topic",
                                                       "pt": "msg",
                                                       "to": "topic & \".Open\"",
                                                       "tot": "jsonata"
                                                   }
                                               ],
                                               "action": "",
                                               "property": "",
                                               "from": "",
                                               "to": "",
                                               "reg": false,
                                               "x": 1360,
                                               "y": 280,
                                               "wires": [
                                                   [
                                                       "9975679a.5841e8"
                                                   ]
                                               ]
                                           },
                                           {
                                               "id": "64d564ea.56762c",
                                               "type": "trigger",
                                               "z": "7e87c3e2.66c5fc",
                                               "name": "",
                                               "op1": "",
                                               "op2": "",
                                               "op1type": "pay",
                                               "op2type": "nul",
                                               "duration": "5",
                                               "extend": false,
                                               "overrideDelay": false,
                                               "units": "s",
                                               "reset": "",
                                               "bytopic": "all",
                                               "topic": "topic",
                                               "outputs": 1,
                                               "x": 520,
                                               "y": 200,
                                               "wires": [
                                                   [
                                                       "620673ff.34e66c"
                                                   ]
                                               ],
                                               "info": "Blockiert erneutes Auslesen innerhalb von 5s."
                                           },
                                           {
                                               "id": "f4e53c99.91238",
                                               "type": "ioBroker in",
                                               "z": "54b226bc.0793e8",
                                               "name": "Raffstore Büro",
                                               "topic": "shelly.0.SHSW-25#B8AB96#1.Shutter.state",
                                               "payloadType": "value",
                                               "onlyack": "",
                                               "func": "rbe",
                                               "gap": "",
                                               "fireOnStart": "false",
                                               "x": 410,
                                               "y": 3360,
                                               "wires": [
                                                   [
                                                       "986fd6e5.d54658"
                                                   ]
                                               ]
                                           },
                                           {
                                               "id": "986fd6e5.d54658",
                                               "type": "subflow:7e87c3e2.66c5fc",
                                               "z": "54b226bc.0793e8",
                                               "name": "Raffstore Lamellen",
                                               "env": [],
                                               "x": 630,
                                               "y": 3360,
                                               "wires": []
                                           },
                                           {
                                               "id": "b71a1586.1f4138",
                                               "type": "ioBroker in",
                                               "z": "54b226bc.0793e8",
                                               "name": "Raffstore Eingang",
                                               "topic": "shelly.0.SHSW-25#B8XYZ9#1.Shutter.state",
                                               "payloadType": "value",
                                               "onlyack": "",
                                               "func": "rbe",
                                               "gap": "",
                                               "fireOnStart": "false",
                                               "x": 390,
                                               "y": 3420,
                                               "wires": [
                                                   [
                                                       "a685c1d8.c975d"
                                                   ]
                                               ]
                                           },
                                           {
                                               "id": "a685c1d8.c975d",
                                               "type": "subflow:7e87c3e2.66c5fc",
                                               "z": "54b226bc.0793e8",
                                               "name": "Raffstore Lamellen",
                                               "env": [],
                                               "x": 630,
                                               "y": 3420,
                                               "wires": []
                                           }
                                        ]
                                        

                                        Aber ohne halt Hardware zur Verfügung zu haben, ist das immer etwas schwierig - sich vorzustellen. 😉

                                        So das habe ich jetzt schon mal hinbekommen.
                                        Bildschirmfoto 2022-01-15 um 22.31.46.png

                                        Funtkioniert schon mal grundsätzlich! Jedoch stellt er jetzt immer nur einen Winkel der Lamellen ein. Die Höhe des Raffstore wird über die Prozentzahl gesteuert.

                                        Jetzt stellt sich für mich die Frage wie ich hier noch die Variablen Winkel z.B. zu, 22°, 45°, 67°, 90° usw. hinbekomme.

                                        Meine Buttons auf dem Tablet laufen gerade noch über die Skripts. Kann es sein, dass Node Red dann auch in den Skriptablauf mit eingreift? Wenn ich die Buttons jetzt auslöse spinnt der Raffstore.

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

                                          @labamba Natürlich muss Du Deinen entprechenden Blocklies stoppen.

                                          Wenn der Datenpunkt aus dem Shelly Adapter mit stop triggert - dann triggert er ja sowohl den NodeRed Flow und Dein Blockly.

                                          Die Buttons aus dem Tablett triggern nichts - aber der 2. Teil des Blocklies.

                                          Warum Du die payload in percentage wandelst - verstehe ich auch nicht. Wie gesagt nutze den Flow mit der Http-Request Node (also Höhe des Raffstores).

                                          Die Winkel habe ich nicht verstanden, da habe ich ja nur Zeiten gesehen im 2. Teil des Blocklies. Wie willst Du denn gleichzeitig den Winkel und die Höhe übergeben?

                                          L 1 Reply Last reply Reply Quote 0
                                          • L
                                            LaBamba @mickym last edited by

                                            @mickym said in Node Red und Blockly Scripte:

                                            @labamba Natürlich muss Du Deinen entprechenden Blocklies stoppen.

                                            Wenn der Datenpunkt aus dem Shelly Adapter mit stop triggert - dann triggert er ja sowohl den NodeRed Flow und Dein Blockly.

                                            Kann ich das z.B. nur auf NODE-RED einstellen?

                                            Die Buttons aus dem Tablett triggern nichts - aber der 2. Teil des Blocklies.

                                            Habe ich mit gedacht!

                                            Warum Du die payload in percentage wandelst - verstehe ich auch nicht. Wie gesagt nutze den Flow mit der Http-Request Node (also Höhe des Raffstores).

                                            Ich habe im Shelly Adapter einen Datenpunkt zu Höhe der über mqtt läuft. Diesen habe ich gerade verwendet. Funktioniert für die Höheneinstellung super.

                                            Die Winkel habe ich nicht verstanden, da habe ich ja nur Zeiten gesehen im 2. Teil des Blocklies. Wie willst Du denn gleichzeitig den Winkel und die Höhe übergeben?

                                            DIe Raffstore haben Lamellen. Ich möchte sie am liebsten Flexibel in eine gewisse Höhe fahren. Hierfür habe ich die Prozentanzeige über den Shelly Adapter und mqtt. Das funktioniert ja super.
                                            Gleichzeitig möchte ich noch verschiedene Winkel. z.B. 90° (Raffstore geschlossen, keine Sicht nach Außen, 45° Sicht nach Außen aber Verschattung z.B. im Sommer. 0° volle Sicht nach Außen oder -30°C für einen Energieeintrag im Winter aber keine Einsicht in die Räumlichkeiten von außen.

                                            Habe mir jetzt überlegt ob ich es so machen kann.
                                            Befehl:
                                            Büro Raffstore 90 (zu) - Position flexibel und 90° für Lamelle geschlossen
                                            Büro Raffstore 45 - Positon flexibel und 45° für Lamelle mit durchsicht aber gleichzeitig Verschattung
                                            usw.

                                            Du hast irgendwo mal geschrieben das man auch einen Button vom Tablet über Node-Red so steuern könnte. Ich frage mich wie sowas gehen könnte.

                                            mickym 2 Replies Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            1.0k
                                            Online

                                            31.7k
                                            Users

                                            79.8k
                                            Topics

                                            1.3m
                                            Posts

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