Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. node-red-contrib-virtual-smart-home mit Loxone

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    node-red-contrib-virtual-smart-home mit Loxone

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

      @heinloth sagte in node-red-contrib-virtual-smart-home mit Loxone:

      @mickym said in node-red-contrib-virtual-smart-home mit Loxone:

      @mickym Die Directiven sind wichtig - ob hier AN - AUS Geschaltet oder gedimmt wird - wenn Du also sag dimme auf 45% dann ist die directive anders und dann musst Du den Wert der Brightness nehmen. Deswegen hängst Du am Besten eine Switch Node hinter Deine Alexa Node und setzt direkt die Werte die Loxone braucht.
      

      Da musst du mir nochmal helfen, das habe ich noch nicht kapiert!

      Nun Du hast doch eine Debug Node - da kommt doch jedesmal was raus und die postest Du dann hier wieder - dann kann ich das über Inject Nodes simulieren.

      1 Reply Last reply Reply Quote 0
      • H
        Heinloth last edited by Heinloth

        
        
        1 Reply Last reply Reply Quote 0
        • H
          Heinloth last edited by Heinloth

          `
          },
          {

          mickym 1 Reply Last reply Reply Quote 0
          • H
            Heinloth last edited by

            Aktuell verhindert der brightness das der directive arbeiten kann

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

              @heinloth Lösche mal den ganzen Flow hier raus - zumindest ohne die Alexa Node - weil da ist Dein Alexa Zugang drin - also ohne Alexa Node exportieren.

              Ansonsten schaut der Flow nun so aus:

              5af924e7-6732-42c4-85ef-5af6f135602d-image.png

              hier zum Import:

              [{"id":"a00cd64c3cdb4aae","type":"switch","z":"34a03c31fc3710a3","name":"Analysiere Directive","property":"payload.directive","propertyType":"msg","rules":[{"t":"eq","v":"TurnOn","vt":"str"},{"t":"eq","v":"TurnOff","vt":"str"},{"t":"eq","v":"SetBrightness","vt":"str"}],"checkall":"true","repair":false,"outputs":3,"x":1140,"y":2380,"wires":[["bd4ab7e2e461457d"],["8b0f168e745ae4fd"],["04ab779f2aabecc5"]]},{"id":"bd4ab7e2e461457d","type":"change","z":"34a03c31fc3710a3","name":"auf 100","rules":[{"t":"set","p":"payload","pt":"msg","to":"100","tot":"num"}],"action":"","property":"","from":"","to":"","reg":false,"x":1420,"y":2340,"wires":[["b5821dba10da4c79"]]},{"id":"04ab779f2aabecc5","type":"change","z":"34a03c31fc3710a3","name":"auf payload.brightness","rules":[{"t":"set","p":"payload","pt":"msg","to":"payload.brightness","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":1380,"y":2420,"wires":[["b5821dba10da4c79"]]},{"id":"8b0f168e745ae4fd","type":"change","z":"34a03c31fc3710a3","name":"auf 0","rules":[{"t":"set","p":"payload","pt":"msg","to":"0","tot":"num"}],"action":"","property":"","from":"","to":"","reg":false,"x":1430,"y":2380,"wires":[["b5821dba10da4c79"]]},{"id":"b5821dba10da4c79","type":"debug","z":"34a03c31fc3710a3","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","statusVal":"","statusType":"auto","x":1660,"y":2380,"wires":[]}]
              

              Der Ansatz sieht also wie folgt aus:

              Am Anfang werten wir über die Switch Node aus, was für eine Directive Alexa ausgibt:

              Diese stand in der msg.payload.directive

              9df98852-dba4-4a4d-9091-2ca37f7b6d48-image.png

              Nun wird an den ersten beiden Ausgängen 0 oder 100 gesetzt, beim letzten Ausgang auf die payload.brightness

              1 Reply Last reply Reply Quote 0
              • H
                Heinloth last edited by

                Herzlichen Dank, du warst mir wirklich eine sehr große Hilfe. Gibt es hier eine Funktion Daumen hoch? 👍

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

                  @heinloth sagte in node-red-contrib-virtual-smart-home mit Loxone:

                  Gibt es hier eine Funktion Daumen hoch?

                  Ja 😁

                  65d5c2fc-40e9-4a3f-b2b7-5de6ef61d5cd-image.png

                  1 Reply Last reply Reply Quote 0
                  • H
                    Heinloth last edited by

                    Hallo, jetzt hänge ich gerade ein wenig an der Raffstoresteuerung.

                    Mit Beschattung Küche fährt er immer ganz runter und stellt dann die Lamellen gerade, das funktioniert.

                    Mit Raffstore Küche möchte ich den Raffstore steuern. Mit Sprachbefehl schließen macht er zu, mit Sprachbefehl auf öffnet er. Wenn ich sage 0% schließt er, wenn ich sage 100% öffnet er.

                    Jetzt möchte ich :

                    Raffstore definieren mit Prozentangabe ( z.B. 30%)
                    Sprachbefehl ändern zusätzlich zu Befehl auf z.B. Befehl hoch

                    Wie kann ich das noch umsetzen und wie kann ich meine Programmierung optimieren!

                    Herzlichen Dank

                    mickym F 2 Replies Last reply Reply Quote 0
                    • H
                      Heinloth last edited by

                      Raffstore.jpg

                      1 Reply Last reply Reply Quote 0
                      • H
                        Heinloth last edited by

                        [
                            {
                                "id": "e34db2b2.a93fc",
                                "type": "debug",
                                "z": "7d95d556.9cdadc",
                                "name": "",
                                "active": true,
                                "tosidebar": true,
                                "console": false,
                                "tostatus": true,
                                "complete": "payload",
                                "targetType": "msg",
                                "statusVal": "payload",
                                "statusType": "auto",
                                "x": 370,
                                "y": 400,
                                "wires": []
                            },
                            {
                                "id": "3ba04a95.88a9a6",
                                "type": "debug",
                                "z": "7d95d556.9cdadc",
                                "name": "",
                                "active": true,
                                "tosidebar": true,
                                "console": false,
                                "tostatus": true,
                                "complete": "payload",
                                "targetType": "msg",
                                "statusVal": "payload",
                                "statusType": "auto",
                                "x": 930,
                                "y": 260,
                                "wires": []
                            },
                            {
                                "id": "5eafccaa.672334",
                                "type": "switch",
                                "z": "7d95d556.9cdadc",
                                "name": "Analysiere Directive",
                                "property": "payload.percentage",
                                "propertyType": "msg",
                                "rules": [
                                    {
                                        "t": "eq",
                                        "v": "0",
                                        "vt": "str"
                                    },
                                    {
                                        "t": "eq",
                                        "v": "100",
                                        "vt": "str"
                                    },
                                    {
                                        "t": "btwn",
                                        "v": "1",
                                        "vt": "num",
                                        "v2": "99",
                                        "v2t": "num"
                                    }
                                ],
                                "checkall": "true",
                                "repair": false,
                                "outputs": 3,
                                "x": 420,
                                "y": 340,
                                "wires": [
                                    [
                                        "2b5ff971.9facd6",
                                        "6e3cf6b8.251598"
                                    ],
                                    [
                                        "7bfe0352.318f1c",
                                        "c343f71d.636c38"
                                    ],
                                    [
                                        "46980042.d750c",
                                        "b6b591a7.d3c9c"
                                    ]
                                ]
                            },
                            {
                                "id": "2b5ff971.9facd6",
                                "type": "change",
                                "z": "7d95d556.9cdadc",
                                "name": "auf 0",
                                "rules": [
                                    {
                                        "t": "set",
                                        "p": "payload",
                                        "pt": "msg",
                                        "to": "0",
                                        "tot": "num"
                                    }
                                ],
                                "action": "",
                                "property": "",
                                "from": "",
                                "to": "",
                                "reg": false,
                                "x": 700,
                                "y": 340,
                                "wires": [
                                    [
                                        "1d2c69c6.9bd3d6",
                                        "a23d546d.30cc58"
                                    ]
                                ]
                            },
                            {
                                "id": "7bfe0352.318f1c",
                                "type": "change",
                                "z": "7d95d556.9cdadc",
                                "name": "auf 100",
                                "rules": [
                                    {
                                        "t": "set",
                                        "p": "payload",
                                        "pt": "msg",
                                        "to": "100",
                                        "tot": "num"
                                    }
                                ],
                                "action": "",
                                "property": "",
                                "from": "",
                                "to": "",
                                "reg": false,
                                "x": 730,
                                "y": 380,
                                "wires": [
                                    [
                                        "1d2c69c6.9bd3d6",
                                        "3ba04a95.88a9a6"
                                    ]
                                ]
                            },
                            {
                                "id": "a23d546d.30cc58",
                                "type": "debug",
                                "z": "7d95d556.9cdadc",
                                "name": "",
                                "active": true,
                                "tosidebar": true,
                                "console": false,
                                "tostatus": true,
                                "complete": "payload",
                                "targetType": "msg",
                                "statusVal": "payload",
                                "statusType": "auto",
                                "x": 930,
                                "y": 200,
                                "wires": []
                            },
                            {
                                "id": "d683d5a9.696698",
                                "type": "debug",
                                "z": "7d95d556.9cdadc",
                                "name": "",
                                "active": true,
                                "tosidebar": true,
                                "console": false,
                                "tostatus": true,
                                "complete": "payload",
                                "targetType": "msg",
                                "statusVal": "payload",
                                "statusType": "auto",
                                "x": 930,
                                "y": 140,
                                "wires": []
                            },
                            {
                                "id": "6e3cf6b8.251598",
                                "type": "debug",
                                "z": "7d95d556.9cdadc",
                                "name": "",
                                "active": true,
                                "tosidebar": true,
                                "console": false,
                                "tostatus": true,
                                "complete": "payload",
                                "targetType": "msg",
                                "statusVal": "payload",
                                "statusType": "auto",
                                "x": 610,
                                "y": 500,
                                "wires": []
                            },
                            {
                                "id": "c343f71d.636c38",
                                "type": "debug",
                                "z": "7d95d556.9cdadc",
                                "name": "",
                                "active": true,
                                "tosidebar": true,
                                "console": false,
                                "tostatus": true,
                                "complete": "payload",
                                "targetType": "msg",
                                "statusVal": "payload",
                                "statusType": "auto",
                                "x": 610,
                                "y": 560,
                                "wires": []
                            },
                            {
                                "id": "3462d884.5cf738",
                                "type": "change",
                                "z": "7d95d556.9cdadc",
                                "name": "Payloadänderung",
                                "rules": [
                                    {
                                        "t": "set",
                                        "p": "payload",
                                        "pt": "msg",
                                        "to": "payload.mode",
                                        "tot": "msg"
                                    },
                                    {
                                        "t": "change",
                                        "p": "payload",
                                        "pt": "msg",
                                        "from": "Position.Down",
                                        "fromt": "str",
                                        "to": "down",
                                        "tot": "str"
                                    },
                                    {
                                        "t": "change",
                                        "p": "payload",
                                        "pt": "msg",
                                        "from": "Position.Up",
                                        "fromt": "str",
                                        "to": "up",
                                        "tot": "str"
                                    }
                                ],
                                "action": "",
                                "property": "",
                                "from": "",
                                "to": "",
                                "reg": false,
                                "x": 690,
                                "y": 280,
                                "wires": [
                                    [
                                        "d683d5a9.696698",
                                        "1d2c69c6.9bd3d6"
                                    ]
                                ]
                            },
                            {
                                "id": "ed7b05a3.e24f58",
                                "type": "ioBroker out",
                                "z": "7d95d556.9cdadc",
                                "name": "Küche Liegefenster: shade",
                                "topic": "loxone.0.0e6abcb9-033a-68b6-ffff1382f11b2d79.shade",
                                "ack": "false",
                                "autoCreate": "false",
                                "stateName": "",
                                "role": "",
                                "payloadType": "",
                                "readonly": "",
                                "stateUnit": "",
                                "stateMin": "",
                                "stateMax": "",
                                "x": 480,
                                "y": 100,
                                "wires": []
                            },
                            {
                                "id": "46980042.d750c",
                                "type": "debug",
                                "z": "7d95d556.9cdadc",
                                "name": "",
                                "active": true,
                                "tosidebar": true,
                                "console": false,
                                "tostatus": true,
                                "complete": "payload",
                                "targetType": "msg",
                                "statusVal": "payload",
                                "statusType": "auto",
                                "x": 610,
                                "y": 620,
                                "wires": []
                            },
                            {
                                "id": "b6b591a7.d3c9c",
                                "type": "change",
                                "z": "7d95d556.9cdadc",
                                "name": "auf 100",
                                "rules": [
                                    {
                                        "t": "change",
                                        "p": "payload",
                                        "pt": "msg",
                                        "from": "20",
                                        "fromt": "num",
                                        "to": "80",
                                        "tot": "num"
                                    }
                                ],
                                "action": "",
                                "property": "",
                                "from": "",
                                "to": "",
                                "reg": false,
                                "x": 740,
                                "y": 420,
                                "wires": [
                                    [
                                        "1d2c69c6.9bd3d6",
                                        "85644c84.026fa"
                                    ]
                                ]
                            },
                            {
                                "id": "85644c84.026fa",
                                "type": "debug",
                                "z": "7d95d556.9cdadc",
                                "name": "",
                                "active": true,
                                "tosidebar": true,
                                "console": false,
                                "tostatus": true,
                                "complete": "payload",
                                "targetType": "msg",
                                "statusVal": "payload",
                                "statusType": "auto",
                                "x": 930,
                                "y": 560,
                                "wires": []
                            }
                        ]
                        
                        1 Reply Last reply Reply Quote 0
                        • mickym
                          mickym Most Active @Heinloth last edited by

                          @heinloth

                          @heinloth sagte in node-red-contrib-virtual-smart-home mit Loxone:

                          Hallo, jetzt hänge ich gerade ein wenig an der Raffstoresteuerung.

                          Mit Beschattung Küche fährt er immer ganz runter und stellt dann die Lamellen gerade, das funktioniert.

                          Mit Raffstore Küche möchte ich den Raffstore steuern. Mit Sprachbefehl schließen macht er zu, mit Sprachbefehl auf öffnet er. Wenn ich sage 0% schließt er, wenn ich sage 100% öffnet er.

                          Jetzt möchte ich :

                          Raffstore definieren mit Prozentangabe ( z.B. 30%)

                          a5c95129-86f8-46f9-ac95-d7cf8d92eb8a-image.png

                          das macht keinen Sinn wichtig sind für den Switch Node für verschiedene Befehle die Szenarien. Also Du sprichst die Befehle und untersuchst - welche Directiven die Alexa Node ausspukt und auf die reagierst Du - d.h. ich kann nur untersützen, wenn Du mir sagst bei welchem Befehl welche Directive ausgespukt wird.

                          Sprachbefehl ändern zusätzlich zu Befehl auf z.B. Befehl hoch

                          Nun das hat mit NodeRed nichts zu tun - das musst Du irgendwo in der Alexa definieren. Vielleicht kann hier @frankyboy73 wieder mal aushelfen. Ich habe selbst keine Alexa.

                          1 Reply Last reply Reply Quote 0
                          • H
                            Heinloth last edited by

                            Ok kein Problem, werde mich damit noch ein wenig beschäftigen.

                            Kannst du mir evtl. noch ein paar grundlegende Tipps geben.

                            Backup IObroker mach ich über Backup funktion.
                            Nodes von NodeRed exportiere ich auf die Festplatte.
                            Muss ich sonst noch Sicherungen vornehmen?

                            Was muss ich machen, damit IObroker stabil läuft. Es gibt doch eine Funktion wenn eine Instanz gelb wird, dass diese dann neu gestartet wird. Ist das zu empfehlen?
                            Was muss ich noch beachten?

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

                              @heinloth Nun zu der Funktion, dass eine Instanz neu gestartet wird, wenn sie gelb ist, kann ich nichts zu sagen - ich kenn das gar nicht - wo stellst man das ein?

                              Backup IObroker mach ich über Backup funktion.

                              Ja das mache ich zwar auch so - habe damit aber noch nie ein System hergestellt. Ich hab das ganze auf einem Raspberry laufen und machen immer mal wieder Image-Backups - da halt noch manche andere Dinge auf der Maschine sind, die zusammengreifen. Ich glaube ich bräuchte ggf. lange bis das System wieder so läuft wie jetzt.
                              Teile des Backups - wie Zigbee habe ich schon mal benutzt.

                              Nodes von NodeRed exportiere ich auf die Festplatte.

                              Ja entweder als einzelne Flows - oder alle Flows zusammen.

                              Muss ich sonst noch Sicherungen vornehmen?

                              Wie gesagt weiß nicht auf was für einem System Dein iobroker läuft - ich mach wie gesagt hin und wieder Images.

                              Ich nutze generell - Adapter nur sparsam - in erster Linie sind für mich Adapter das Interface zur Hardware oder Basisprotokollen. So Adapter die prüfen, ob Geräte noch eingeschaltet sind oder die mir nur Datenpunkte aus einem JSONString einzeln schreiben, darauf verzichte ich. Das mache ich entweder lieber mit Node Red - da weiß ich welche Logik dahinter steht und es sind keine Black Boxen. Die Adapter für Shellies oder Tasmota mag ich auch nicht - arbeite lieber mit originärem MQTT. Leider bieten diese Adapter auch keine Möglichkeit sich mit bestehendem MQTT-Brokern zu verbinden, sondern simulieren einen eigenen Broker. Das ist für mich auch ein K.O. - dann musst Du für jede Instanz einen eigenen Port verwenden.

                              Das wars mal mit so allgemeinen Hinweisen.

                              1 Reply Last reply Reply Quote 0
                              • F
                                frankyboy73 @Heinloth last edited by frankyboy73

                                @heinloth sagte in node-red-contrib-virtual-smart-home mit Loxone:

                                Raffstore definieren mit Prozentangabe ( z.B. 30%)
                                Sprachbefehl ändern zusätzlich zu Befehl auf z.B. Befehl hoch

                                Hi, das könnte man eventuell über Routinen in der Alexa App umsetzen.
                                Wenn folgendes passiert, Stimme, da dann eingeben was man zur Ausführung sagen will, z.B.
                                "Raffstore hoch", man kann auch mehrere Sätze in einer Routine verwenden.
                                Dann bei Aktion das Gerät auswählen (unter dem Punkt Smarthome) und was passieren soll, (an,aus,auf,zu,10% oder 100%)
                                Habe das bei meinen Rollos auch so gemacht. Wenn ich sage"Rollo Schlafen hoch" oder "Rollo Schlafen auf" dann habe ich als Aktion, Rollo auf 0%. Runter dann das gleiche. Runter und zu und als Aktion dann 70% (70% weil ich die nicht ganz dicht haben will)
                                Man könnte auch nehmen Rollo Standart und dann z.B. Aktion auf 30%, usw.
                                Als Hinweis: Da muss man dann immer den gleichen Wortlaut sagen wie in der Routine eingegeben, also am besten nicht zu komplizierte Sachen verwenden.
                                Ich habe das auch schon so genutzt, das ich mir ein Vituelles Gerät erstellt habe und über verschieden Routinen stelle ich das Gerät dann auf verschiedene Prozentzahlen und werte das dann in Node Red aus um verschiedene Aktionen auszuführen. Ich lasse mir damit z.B. verschiedene Temperaturen ausgeben.
                                Abfrage1.jpg
                                @mickym Nicht über die Funktion Nodes meckern, das ist noch ganz alt und habe ich noch nicht überarbeitet.

                                1 Reply Last reply Reply Quote 0
                                • H
                                  Heinloth last edited by

                                  Danke, versuche ich mal.

                                  1 Reply Last reply Reply Quote 0
                                  • First post
                                    Last post

                                  Support us

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

                                  641
                                  Online

                                  31.7k
                                  Users

                                  79.8k
                                  Topics

                                  1.3m
                                  Posts

                                  3
                                  32
                                  2741
                                  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