Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. bshb - Rollladensteuerung mit yhka Homekit

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    bshb - Rollladensteuerung mit yhka Homekit

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

      @mickym

      Hi,

      ja, wegen des UIs wäre Red Node sicherlich mittelfristig die bessere Wahl, als es nur als Befehlsübersetzer zu nutzen. Ich bin nur aktuell so mit Themen zu, dass ich einfach nicht dazu komme, auch noch das UI in Red Node zu machen.
      Ich muss ja gerade noch das Controller von Bosch stabilisieren, die Systemabstürze vom KLF200 in den Griff bekommen, und noch ein paar andere Sachen :-).

      Aktuell lasse ich IQcontrol mal mitlaufen und teste es auf einem alten Tablet. Da tut es gerade was es soll.

      Bzgl. der Dachfensterrollladenthematik... da haben wir glaube ich ein Missverständnis. Der Rollladen muss mit dem Fenster gekoppelt werden, da laut Velux der Rollladen bei geöffnetem Dachfenster nicht geschlossen werden darf. Positiv formuliert:

      1. Rollladen öffnen (Target Value < Current Value) > Immer erlauben.
      2. Rollladen schließen (Target Value > Current Value) nur wenn Dachfenster Current Value <= 7.
        Hier sieht man, dass das Dachfenster eine andere Variable hat als der Rollladen:
        abb86e2f-46fa-4a4e-bc6d-99744f7d7417-image.png

      Man müsste also noch Product 11 in den Befehl einbauen...
      9f345850-db16-45b8-921e-4380ae29cd2d-image.png

      Bzgl. des Velux Reboot, mir ist noch etwas eingefallen... im KLF200 Adapter gibt es einen Reboot-Trigger:
      3dadc5cf-7541-4e52-a5db-7a4ab2947269-image.png

      Der funktioniert auch. Kann man mit Node Red einen Flow schreiben, der diesen "Knopf" ein Mal am Tag drückt? Dann würde das KLF200 Steuergerät 1x am Tag rebooten und der Adapter über CRON ebenfalls. Problem mit dem Freeeze gelöst ✌

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

        @sascho sagte in bshb - Rollladensteuerung mit yhka Homekit:

        Der funktioniert auch. Kann man mit Node Red einen Flow schreiben, der diesen "Knopf" ein Mal am Tag drückt? Dann würde das KLF200 Steuergerät 1x am Tag rebooten und der Adapter über CRON ebenfalls. Problem mit dem Freeeze gelöst

        Ja Du nimmst eine Inject Node und sendest true (Boolean) an diesen Datenpunkt in Deiner payload

        Das andere hab ich so nicht verstanden und Du musst Dir für Vergleiche mit den beiden Nodes, diese Dir immer abholen.

        Vermeide am Anfang function Nodes - die sind nur unübersichtlich und ich seh eh nicht was Du darin machts.

        Diese Flows laufen alle parallel und das wird nicht so funktionieren wie Du Dir das vorstellst.
        Die Nachrichten warten nicht auf Dich.

        Ausserdem müsste es ja für Deinen Flow est mal einen Trigger geben der öffnet oder schließt. So kann ich Dir leider nicht helfen.

        Im Prinzip wird es wohl der TargetValue dann sein, der triggert - richtig?

        25696115-bebf-4116-a202-0b88b3b034f5-image.png

        [
           {
               "id": "64916d25.85ac54",
               "type": "ioBroker in",
               "z": "6442fb39.022744",
               "name": "targetValue",
               "topic": "targetValue",
               "payloadType": "value",
               "onlyack": "",
               "func": "all",
               "gap": "",
               "fireOnStart": "false",
               "x": 260,
               "y": 1060,
               "wires": [
                   [
                       "dec4374.9f7f8c8"
                   ]
               ]
           },
           {
               "id": "dec4374.9f7f8c8",
               "type": "ioBroker get",
               "z": "6442fb39.022744",
               "name": "hole current",
               "topic": "current",
               "attrname": "current",
               "payloadType": "value",
               "x": 470,
               "y": 1060,
               "wires": [
                   [
                       "3af45de8.b4f5d2"
                   ]
               ]
           },
           {
               "id": "3af45de8.b4f5d2",
               "type": "switch",
               "z": "6442fb39.022744",
               "name": "Fenster öffnen schliessen",
               "property": "payload",
               "propertyType": "msg",
               "rules": [
                   {
                       "t": "lt",
                       "v": "current",
                       "vt": "msg"
                   },
                   {
                       "t": "gt",
                       "v": "current",
                       "vt": "msg"
                   }
               ],
               "checkall": "true",
               "repair": false,
               "outputs": 2,
               "x": 690,
               "y": 1060,
               "wires": [
                   [
                       "5f3b8dc3.15bdb4"
                   ],
                   [
                       "bb1ae31.9a0492",
                       "e3fda95f.74b768"
                   ]
               ]
           },
           {
               "id": "eb565510.38e4d8",
               "type": "change",
               "z": "6442fb39.022744",
               "name": "Rollanden Schliessen ",
               "rules": [
                   {
                       "t": "set",
                       "p": "payload",
                       "pt": "msg",
                       "to": "",
                       "tot": "str"
                   }
               ],
               "action": "",
               "property": "",
               "from": "",
               "to": "",
               "reg": false,
               "x": 1340,
               "y": 1140,
               "wires": [
                   []
               ]
           },
           {
               "id": "5f3b8dc3.15bdb4",
               "type": "change",
               "z": "6442fb39.022744",
               "name": "Fenster Öffnen",
               "rules": [
                   {
                       "t": "set",
                       "p": "payload",
                       "pt": "msg",
                       "to": "",
                       "tot": "str"
                   }
               ],
               "action": "",
               "property": "",
               "from": "",
               "to": "",
               "reg": false,
               "x": 960,
               "y": 1020,
               "wires": [
                   []
               ]
           },
           {
               "id": "bb1ae31.9a0492",
               "type": "change",
               "z": "6442fb39.022744",
               "name": "Fenster Schließen",
               "rules": [
                   {
                       "t": "set",
                       "p": "payload",
                       "pt": "msg",
                       "to": "",
                       "tot": "str"
                   }
               ],
               "action": "",
               "property": "",
               "from": "",
               "to": "",
               "reg": false,
               "x": 970,
               "y": 1080,
               "wires": [
                   []
               ]
           },
           {
               "id": "e3fda95f.74b768",
               "type": "switch",
               "z": "6442fb39.022744",
               "name": "Rollladen schließen nur bei target < 7",
               "property": "payload",
               "propertyType": "msg",
               "rules": [
                   {
                       "t": "eq",
                       "v": "",
                       "vt": "str"
                   }
               ],
               "checkall": "true",
               "repair": false,
               "outputs": 1,
               "x": 1030,
               "y": 1140,
               "wires": [
                   [
                       "eb565510.38e4d8"
                   ]
               ]
           }
        ]
        

        Ich habe Dir den Flow zum Import zur Verfügung gestellt musst halt mit Deinen Datenpunkten modifizieren bzw. nächstes Mal exportierst halt Deinen Flow und erklärst was welcher Datenpunkt macht.

        Und gewöhn Dir das mit den function Nodes gleich wieder ab - sonst kannst Du gleich wieder programmieren.

        EDIT

        Wenn Du natürlich nur den Rollladen steuern willst dann , dann löschst Du natürlich den oberen Ausgang mit Fenster öffnen un die beiden Change Nodes Fenster öffnen bzw. schließen. Du schaltest quasi 2 switch Nodes als Filter in Serie. Das entspricht einem logischen UND, da beide Bedingungen erfüllt sein müssen damit das Nachrichtenobjekt passieren kann.

        1 Reply Last reply Reply Quote 0
        • S
          sascho last edited by sascho

          @mickym

          Der Flow für den Reboot des KLF200 Steuergeräts hat super geklappt! Jetzt wäre noch die Frage, ob man die KLF200 Instanz mit einem Delay gleich mit Rebooten kann. Dann würde ich mir ein CRON Pattern sparen:


          [
          {
          "id": "82ca0ab4.a55f68",
          "type": "tab",
          "label": "Velux_Reboot",
          "disabled": false,
          "info": ""
          },
          {
          "id": "984211f3.c0ec",
          "type": "inject",
          "z": "82ca0ab4.a55f68",
          "name": "Velux_Reboot",
          "props": [
          {
          "p": "payload"
          },
          {
          "p": "topic",
          "vt": "str"
          }
          ],
          "repeat": "86400",
          "crontab": "",
          "once": false,
          "onceDelay": 0.1,
          "topic": "",
          "payload": "true",
          "payloadType": "bool",
          "x": 350,
          "y": 140,
          "wires": [
          [
          "5b75e740.57fd68",
          "f88d0df7.40fa2"
          ]
          ]
          },
          {
          "id": "5b75e740.57fd68",
          "type": "ioBroker out",
          "z": "82ca0ab4.a55f68",
          "name": "KLF200_Stgt_Reboot",
          "topic": "klf200.0.gateway.RebootGateway",
          "ack": "false",
          "autoCreate": "false",
          "stateName": "",
          "role": "",
          "payloadType": "",
          "readonly": "",
          "stateUnit": "",
          "stateMin": "",
          "stateMax": "",
          "x": 630,
          "y": 140,
          "wires": []
          },
          {
          "id": "f88d0df7.40fa2",
          "type": "delay",
          "z": "82ca0ab4.a55f68",
          "name": "Delay 60 Sekunden",
          "pauseType": "delay",
          "timeout": "60",
          "timeoutUnits": "seconds",
          "rate": "1",
          "nbRateUnits": "1",
          "rateUnits": "second",
          "randomFirst": "1",
          "randomLast": "5",
          "randomUnits": "seconds",
          "drop": false,
          "x": 610,
          "y": 260,
          "wires": [
          [
          "d1df10f6.56b6b"
          ]
          ]
          },
          {
          "id": "d1df10f6.56b6b",
          "type": "ioBroker out",
          "z": "82ca0ab4.a55f68",
          "d": true,
          "name": "KLF200_Adapter_Reboot",
          "topic": "",
          "ack": "false",
          "autoCreate": "false",
          "stateName": "",
          "role": "",
          "payloadType": "",
          "readonly": "",
          "stateUnit": "",
          "stateMin": "",
          "stateMax": "",
          "x": 870,
          "y": 260,
          "wires": []
          }
          ]

          b5213f35-56c2-4095-b75e-6d9f55507a3b-image.png

          Bzgl. des bedingten Schließung der Dachfensterrollladen habe ich noch mal eine Grafik gemalt. Es ist etwas komplizierter:
          47bb1ec2-02f9-4ab8-ad76-43371be3455d-image.png
          Ich habe den Flow mal gebaut. Aktuell sehe ich noch das Problem, dass bei der 7% Prüfung des Dachfensters, der Dachfensterwert weitergegeben wird, nicht der Dachfensterrollladenwert - siehe zweiter Switch. Kann dieser Switch den einen Wert prüfen, aber einen anderen ausgeben?


          [
          {
          "id": "a65f570c.ebb128",
          "type": "tab",
          "label": "DF-RL_Test",
          "disabled": false,
          "info": ""
          },
          {
          "id": "dec4374.9f7f8c8",
          "type": "ioBroker get",
          "z": "a65f570c.ebb128",
          "name": "DF-RL_Current",
          "topic": "klf200.0.products.9.currentPosition",
          "attrname": "current",
          "payloadType": "value",
          "x": 180,
          "y": 120,
          "wires": [
          [
          "3af45de8.b4f5d2"
          ]
          ]
          },
          {
          "id": "3af45de8.b4f5d2",
          "type": "switch",
          "z": "a65f570c.ebb128",
          "name": "DF-RL_Target ? DF-RL_Current",
          "property": "DF-RL_Target",
          "propertyType": "msg",
          "rules": [
          {
          "t": "lt",
          "v": "DF-RL_Current",
          "vt": "msg"
          },
          {
          "t": "gt",
          "v": "DF-RL_Current",
          "vt": "msg"
          }
          ],
          "checkall": "true",
          "repair": false,
          "outputs": 2,
          "x": 450,
          "y": 180,
          "wires": [
          [
          "6f82cd49.51f214"
          ],
          [
          "787e06c1.468d58"
          ]
          ]
          },
          {
          "id": "6a3a7def.160224",
          "type": "ioBroker in",
          "z": "a65f570c.ebb128",
          "name": "klf200.0.products.9.currentPosition",
          "topic": "klf200.0.products.8.currentPosition",
          "payloadType": "value",
          "onlyack": false,
          "func": "rbe",
          "gap": "",
          "fireOnStart": "true",
          "x": 230,
          "y": 360,
          "wires": [
          [
          "1666ec7c.670934"
          ]
          ]
          },
          {
          "id": "1666ec7c.670934",
          "type": "ioBroker out",
          "z": "a65f570c.ebb128",
          "name": "0_userdata.0.Ankleide_Dachfensterrollladen",
          "topic": "0_userdata.0.Ankleide_Dachfensterrollladen",
          "ack": "true",
          "autoCreate": "false",
          "stateName": "",
          "role": "",
          "payloadType": "",
          "readonly": "",
          "stateUnit": "",
          "stateMin": "",
          "stateMax": "",
          "x": 790,
          "y": 360,
          "wires": []
          },
          {
          "id": "23dda429.aa8b1c",
          "type": "ioBroker in",
          "z": "a65f570c.ebb128",
          "name": "DF-RL_Target",
          "topic": "0_userdata.0.Ankleide_Dachfensterrollladen",
          "payloadType": "value",
          "onlyack": "",
          "func": "rbe",
          "gap": "",
          "fireOnStart": "false",
          "x": 170,
          "y": 180,
          "wires": [
          [
          "3af45de8.b4f5d2"
          ]
          ]
          },
          {
          "id": "6f82cd49.51f214",
          "type": "ioBroker out",
          "z": "a65f570c.ebb128",
          "name": "DF-RL_Target",
          "topic": "klf200.0.products.9.targetPosition",
          "ack": "false",
          "autoCreate": "false",
          "stateName": "",
          "role": "",
          "payloadType": "",
          "readonly": "",
          "stateUnit": "",
          "stateMin": "",
          "stateMax": "",
          "x": 730,
          "y": 100,
          "wires": []
          },
          {
          "id": "787e06c1.468d58",
          "type": "switch",
          "z": "a65f570c.ebb128",
          "name": "DF Current Pos. ? 7",
          "property": "DF_Current",
          "propertyType": "msg",
          "rules": [
          {
          "t": "gt",
          "v": "7",
          "vt": "num"
          },
          {
          "t": "lte",
          "v": "7",
          "vt": "num"
          }
          ],
          "checkall": "true",
          "repair": false,
          "outputs": 2,
          "x": 750,
          "y": 180,
          "wires": [
          [],
          [
          "3a21b42e.6db8ac"
          ]
          ]
          },
          {
          "id": "3a21b42e.6db8ac",
          "type": "ioBroker out",
          "z": "a65f570c.ebb128",
          "name": "klf200.0.products.9.targetPosition",
          "topic": "klf200.0.products.9.targetPosition",
          "ack": "false",
          "autoCreate": "false",
          "stateName": "",
          "role": "",
          "payloadType": "",
          "readonly": "",
          "stateUnit": "",
          "stateMin": "",
          "stateMax": "",
          "x": 1030,
          "y": 180,
          "wires": []
          },
          {
          "id": "6b2dbcb2.b8e6e4",
          "type": "ioBroker in",
          "z": "a65f570c.ebb128",
          "name": "DF_Current",
          "topic": "0_userdata.0.Ankleide_Dachfenster",
          "payloadType": "value",
          "onlyack": "",
          "func": "rbe",
          "gap": "",
          "fireOnStart": "false",
          "x": 160,
          "y": 240,
          "wires": [
          [
          "3af45de8.b4f5d2"
          ]
          ]
          }
          ]

          f641acde-7015-4914-acf9-9b1194059d51-image.png

          Btw. Mega cooler Support hier!

          mickym 3 Replies Last reply Reply Quote 0
          • mickym
            mickym Most Active @sascho last edited by

            @sascho sagte in bshb - Rollladensteuerung mit yhka Homekit:

            @mickym

            Der Flow für den Reboot des KLF200 Steuergeräts hat super geklappt! Jetzt wäre noch die Frage, ob man die KLF200 Instanz mit einem Delay gleich mit Rebooten kann. Dann würde ich mir ein CRON Pattern sparen:

            Du kannst den Adapter einfach mit einer Exec Node neustarten, indem Du den Befehl

            iobroker restart instanz
            

            verwendest.

            89414aea-81bc-4afe-97ad-dbabcab40e84-image.png

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

              @sascho sagte in bshb - Rollladensteuerung mit yhka Homekit:

              Bzgl. des bedingten Schließung der Dachfensterrollladen habe ich noch mal eine Grafik gemalt. Es ist etwas komplizierter:
              47bb1ec2-02f9-4ab8-ad76-43371be3455d-image.png

              Ich habe Dir doch eine Flow unten zur Verfügung gestellt, der das macht.

              Allerdings, wenn nichts gemacht werden soll - dann muss man es auch nicht implementieren.

              2d9ddc9d-8b20-4b6f-85ea-d6d4d22be74b-image.png

              Die Nachrichten wie gesagt warten nicht auf Dich - deswegen nutzt es nicht, wenn Du 3 Trigger in Deinem Flow nutz. Der Vergleich wird nie erfolgreich sein, weil es jedesmal neue Nachrichtenobjekte sind.

              Deswegen hier noch mal der FLOW für Dich, den ich Dir gestern zur Verfügung gestellt habe und der Dir Deine blaue Grafik zur Verfügung stellt.

              Allerdings hast Du aus meiner Sicht trotzdem ein Fehler. Du schließt nur wenn das Target unter 7 ist. Wenn Du von 100 auf 40 schließen willst, schließt Du das Fenster nicht.

              Im Prinzip hab ich doch so verstanden, dass der Rollladen nur geschlossen werden soll, wenn der Target unter 7 ist, aber in jedem Fall das Fenster immer auf das Target eingestellt werden soll, egal ob geschlossen oder geöffnet werden soll.

              be08f841-896c-4487-952e-1cc0eb7ddba4-image.png

              [
                 {
                     "id": "64916d25.85ac54",
                     "type": "ioBroker in",
                     "z": "dce8fa20.2e93c8",
                     "name": "targetValue",
                     "topic": "targetValue",
                     "payloadType": "value",
                     "onlyack": "",
                     "func": "all",
                     "gap": "",
                     "fireOnStart": "false",
                     "x": 230,
                     "y": 3720,
                     "wires": [
                         [
                             "dec4374.9f7f8c8"
                         ]
                     ]
                 },
                 {
                     "id": "dec4374.9f7f8c8",
                     "type": "ioBroker get",
                     "z": "dce8fa20.2e93c8",
                     "name": "hole current",
                     "topic": "current",
                     "attrname": "current",
                     "payloadType": "value",
                     "x": 440,
                     "y": 3720,
                     "wires": [
                         [
                             "3af45de8.b4f5d2"
                         ]
                     ]
                 },
                 {
                     "id": "3af45de8.b4f5d2",
                     "type": "switch",
                     "z": "dce8fa20.2e93c8",
                     "name": "Fenster öffnen schliessen",
                     "property": "payload",
                     "propertyType": "msg",
                     "rules": [
                         {
                             "t": "lt",
                             "v": "current",
                             "vt": "msg"
                         },
                         {
                             "t": "gt",
                             "v": "current",
                             "vt": "msg"
                         }
                     ],
                     "checkall": "true",
                     "repair": false,
                     "outputs": 2,
                     "x": 660,
                     "y": 3720,
                     "wires": [
                         [
                             "ad50345b.ef7b08"
                         ],
                         [
                             "e3fda95f.74b768",
                             "ad50345b.ef7b08"
                         ]
                     ]
                 },
                 {
                     "id": "e3fda95f.74b768",
                     "type": "switch",
                     "z": "dce8fa20.2e93c8",
                     "name": "Rollladen schließen nur bei target < 7",
                     "property": "payload",
                     "propertyType": "msg",
                     "rules": [
                         {
                             "t": "lt",
                             "v": "7",
                             "vt": "num"
                         }
                     ],
                     "checkall": "true",
                     "repair": false,
                     "outputs": 1,
                     "x": 950,
                     "y": 3800,
                     "wires": [
                         [
                             "c4409b3c.c55ff8"
                         ]
                     ]
                 },
                 {
                     "id": "ad50345b.ef7b08",
                     "type": "ioBroker out",
                     "z": "dce8fa20.2e93c8",
                     "name": "Fenster auf target setzen egal ob öffnen oder schliessen",
                     "topic": "",
                     "ack": "false",
                     "autoCreate": "false",
                     "stateName": "",
                     "role": "",
                     "payloadType": "",
                     "readonly": "",
                     "stateUnit": "",
                     "stateMin": "",
                     "stateMax": "",
                     "x": 1070,
                     "y": 3720,
                     "wires": []
                 },
                 {
                     "id": "c4409b3c.c55ff8",
                     "type": "ioBroker out",
                     "z": "dce8fa20.2e93c8",
                     "name": "Rollladen schließen",
                     "topic": "",
                     "ack": "false",
                     "autoCreate": "false",
                     "stateName": "",
                     "role": "",
                     "payloadType": "",
                     "readonly": "",
                     "stateUnit": "",
                     "stateMin": "",
                     "stateMax": "",
                     "x": 1280,
                     "y": 3800,
                     "wires": []
                 }
              ]
              

              Importiere mal den Flow und dann wirst Du sehen, wie das implementiert wurde.

              Dein Flow mit current und target Trigger wird nichtfunktionieren, da Du für Vergleiche nur Werte in einem Nachrichtenobjekt vergleichen kannst.

              Ich habe das schon mehrfach geschrieben - du hast bei Vergleichen von variablen Werten grundsätzlich 2 Möglichkeiten:

              1. Du speicherst Dir Werte in Flow Variablen ab, dann stehen Dir diese jederzeit zum Vergleich zur Verfügung.
              2. Du fügst Eigenschaften Deinem Nachrichten Objekt in einer Kette hinzu und schliefst damit alle benötigten Werte mit, damit sie Dir in Echtzeit zum Vergleich zur Verfügung stehen.

              Ich finde es nicht mehr wo ich das ganze Nachrichtenobjekt mal erklärt habe.

              Das Nachrichtenobjekt ist ein Javaobjekt in Node Red mit dem Namen: msg
              Das hat nun mehrere Eigenschaften: In der Regel eine payload (also msg.payload) und ein topic (msg.topic).

              Man kann aber auch andere Eigenschaften definieren.

              In dem Flow, den ich Dir zur Verfügung gestellt habe ist in der msg.payload der target wert (getriggert über einen iobroker IN-Node).
              Mit der iobroker GET-Node addiere ich zum msg Objekt eine Eigenschaft current (also msg.current) und das kann dann in der switch Node verglichen werden, da beide Eigenschaften Bestandteil des Nachrichtenobjektes sind.

              Hier siehst Du ähnliche Problemstellungen, die entweder über Flow-Variablen oder zusätzliche Eigenschaften im Nachrichtenobjekt gelöst wurden,

              https://forum.iobroker.net/topic/45662/wait-until-ähnliche-node-arbeit-mit-context/2
              https://forum.iobroker.net/topic/45737/mehrere-datenpunkte-mit-einer-variablen-vergleichen/25
              https://forum.iobroker.net/topic/43480/gelöst-poolsteuerung-anfänger-braucht-e-hilfe

              Merke einfach die Nachrichtenobjekte warten nicht aufeinander und der switch vergleicht nur in Echtzeit!!!

              screen.png

              Deshalb kann Dein Flow nicht funktionieren.

              Das schöne an NodeRed ist ja - dass man Deine Grafik schön in Node Red abbilden kann.

              screen.png

              Ich habe ja mal das Mapping eingezeichnet. Wenn Du unten nicht mit target sondern mit current vergleichen willst musst halt die switch Node ändern. Und ob Du nun die Fenster oder die Rollläden auf die target Postition setzen willst - das machst Du halt wie Du es brauchst.

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

                @sascho sagte in bshb - Rollladensteuerung mit yhka Homekit:

                Btw. Mega cooler Support hier!

                Danke schön. Mache ich gerne - bei den vielen Projekten lerne ich ja selbst auch. 😉

                S 1 Reply Last reply Reply Quote 0
                • S
                  sascho @mickym last edited by sascho

                  @mickym

                  Du bist aber hier schon fast Red Node Key Account Berater :-).

                  Also das Rebooten des KLF200 Adapters klappt jetzt. Das ist super... so kann ich regelmäßig Adapter rebooten, wenn sie hängen bleiben sollten. Klasse.

                  Bzgl. des Flows... ich habe den gerade mal importiert. So ganz scheint es noch nicht zu passen, oder ich stehe einfach auf der Leitung. Ich vermute aber, dass noch ein Missverständnis vorliegt.
                  Die Dachfenster selbst sollen über diesen Flow nie angesteuert werden. Es soll nur geprüft werden, ob sie offen sind. Nur die Dachfensterrollladen sollen angesteuert werden - und hier soll geprüft werden ob sie geschlossen werden sollen oder öffnen sollen. Öffnen dürfen sie immer, aber schließen nicht wenn die Dachfenster offen sind.

                  Ich habe Deinen Flow mal dahingehend angepasst und er scheint zu funktionieren:
                  d5bba601-e9a3-4118-94c1-8a7dbad0a2ea-image.png

                  836d622d-cb2e-4545-8bb4-06ca1ca633b4-image.png

                  d9b7c4bc-2862-4842-b17b-496f8b749db1-image.png


                  [
                  {
                  "id": "9bc15394.e1382",
                  "type": "switch",
                  "z": "626ad550.a646cc",
                  "name": "Rollladen öffnen schliessen",
                  "property": "payload",
                  "propertyType": "msg",
                  "rules": [
                  {
                  "t": "lt",
                  "v": "currentPosition_DF-RL",
                  "vt": "msg"
                  },
                  {
                  "t": "gt",
                  "v": "currentPosition_DF-RL",
                  "vt": "msg"
                  }
                  ],
                  "checkall": "true",
                  "repair": false,
                  "outputs": 2,
                  "x": 580,
                  "y": 160,
                  "wires": [
                  [
                  "d13c3e8b.58f49"
                  ],
                  [
                  "24dd6c35.6132c4"
                  ]
                  ]
                  }
                  ]

                  Das einzige, was noch nicht funktioniert ist, auf der IQontrol Oberfläche eine Notification erscheinen zu lassen die so etwas schreibt wie "Dachfenster offen. Rollladen kann nur geöffnet werden!". Das wäre die Kirsche auf der Sahnetorte :-). Wie findest Du das?

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

                    @sascho Na gut, dann weißt Du ja nun wie es prinzipiell funktioniert. 😉 - Jedenfalls glaube ich, dass Du das nun alles verstanden hast und selbst Deine Flows machen kannst. 🙂

                    Bzgl. IQontrol kann ich Dir leider nicht weiterhelfen. Da gibt es aber einen Thread. Da könntest ja mal Deine Frage stellen. 😉

                    Wahrscheinlich muss man auch nur was in einen Datenpunkt schreiben, oder man definiert einen Datenpunkt, der eine Notification auslöst, wenn man da was reinschreibt. 😉

                    Die notification im NR Dashboard hast ja easy hinbekommen.

                    S 2 Replies Last reply Reply Quote 0
                    • S
                      sascho @mickym last edited by

                      @mickym

                      Ich bin zufrieden, wie das System nun läuft. Das UI sieht wirklich gut aus - auch ohne das Pop-Up ist klar, warum ein Rollladen nicht fährt. Ich denke, ich lasse es so.

                      Jetzt würde ich mich mal an die Programmierung der Szenarien machen - Regelmäßiges Dachfenster öffnen, Alarmanlage usw. :-). Es gibt ja immer etwas zu tun.

                      1 Reply Last reply Reply Quote 0
                      • S
                        sascho @mickym last edited by sascho

                        @mickym

                        Hi!
                        Ich bin jetzt mit Fenstern, Rollläden usw. weitgehend durch. Demnächst mache ich mich an die Umsetzung des Alarmanlage.
                        Leider stürzt der Velux KLF200 Adapter noch regelmäßig ab. Ich konnte das noch nicht abstellen.
                        Per manuellen Neustart klappt dann wieder alles.
                        Das Log enthält auch eine Fehlermeldung.
                        Gibt es in Node red eine Möglichkeit, das Log auszulesen? Per trigger würde ich dann bei einer bestimmten Fehlermeldung den Neustart auslösen.
                        :-).

                        P.S. iqcontrol kann Meldungen per Pop up ausgeben, wenn man einen Datenpunkt mit einem Wert füllt.

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

                          @sascho sagte in bshb - Rollladensteuerung mit yhka Homekit:

                          @mickym

                          Hi!
                          Ich bin jetzt mit Fenstern, Rollläden usw. weitgehend durch. Demnächst mache ich mich an die Umsetzung des Alarmanlage.
                          Leider stürzt der Velux KLF200 Adapter noch regelmäßig ab. Ich konnte das noch nicht abstellen.
                          Per manuellen Neustart klappt dann wieder alles.
                          Das Log enthält auch eine Fehlermeldung.
                          Gibt es in Node red eine Möglichkeit, das Log auszulesen? Per trigger würde ich dann bei einer bestimmten Fehlermeldung den Neustart auslösen.
                          :-).

                          P.S. iqcontrol kann Meldungen per Pop up ausgeben, wenn man einen Datenpunkt mit einem Wert füllt.

                          Ehrlich gesagt verstehe ich nicht warum Du den Aufwand betreibst mit dem Adapter, mit täglichen Neustarts und nun getriggerten Neustarts, da würde ich erst mal die Nodes unten ausprobieren bevor ich da mit dem Adapter weiter rumärgere:
                          https://flows.nodered.org/node/node-red-contrib-velux.

                          aa8f1f00-efb1-4e31-8c5e-aaff8de1f280-image.png

                          Das hat überhaupt nichts mit der UI zu tun.

                          Wie gesagt ich würde es nicht machen - sondern erst die Velux Nodes anstelle des Adapters ausprobieren.

                          Ansonsten hast Du Glück, da ich schon mal einen Flow gebastelt hatte, der das Log ausliest und jeder Eintrag den Flow triggert. Du musst Dir halt eine Tail-Node installieren. Ich habe für mich mal die einfachste genommen:

                          https://flows.nodered.org/node/node-red-node-tail

                          Die Logzeilen habe ich dann mit folgendem Flow aufbereitet und analysiert:

                          0363c0ab-6f4d-463c-92aa-1230cf33bae8-image.png

                          Das kannst nun natürlich weiter mit einem Switch filtern und dann auf einzelne Ereignisse reagieren. Als Filter würde ich dann einfach auf das vorhandensein eines Textes reagieren.

                          26e66aee-247c-4054-8204-93a1ea09e01e-image.png

                          Ich lad das mal als Datei hoch - weil sonst der Import fehlschlägt. Der Import über die Zwischenablage stört sich immer an den eckigen Klammern.

                          iobroker log auslesen.json

                          Wie gesagt die Datei runterladen, abspeichern und den Import dann über die Datei machen:
                          5cb6e8d2-11ec-40f5-9904-8e2e09ed3ec6-image.png

                          Aber wie gesagt vorher die tail Node installieren.

                          Es gibt auch noch andere tail Nodes mit mehr Funktionen, wie diese hier:
                          https://flows.nodered.org/node/node-red-contrib-tail-file

                          aber wie gesagt - ist alles Geschmackssache

                          S 1 Reply Last reply Reply Quote 0
                          • S
                            sascho @mickym last edited by sascho

                            @mickym

                            Cool, bevor ich das Log auslese, würde ich wirklich erstmal die Velux Nodes versuchen.
                            Damit ich das gleich richtig verinnerliche, man nutzt dann nicht mehr den KLF200 Adapter sondern greift mit den Velux Nodes direkt auf das KLF200 Steuergerät zu?
                            Mit dem dem Objekt "Velux Nodes" schreibe ich Werte, mit dem "Velux API" lese ich Werte aus?

                            Ich habe das gerade mal ausprobiert:

                            1. KLF 200 Adapter deaktiviert.
                            2. Eine Velux Nodes mit IP und Passwort angelegt (WLAN Passwort direkt aus dem Velux UI herauskopiert), einem IOBroker In, das eine 0 einspeist. Allerdings bekomme ich im Log Fehlerwerte ausgegeben:

                            Hier mal meine Setups:

                            c8b5bbfd-cef8-41df-8827-d30d28e9d267-image.png
                            3d16aa58-545c-4e04-9e06-a39bdc97eca1-image.png
                            26726f47-af1f-4d8d-9484-486663ddf65c-image.png
                            9a11cac8-cbee-45ae-852a-8a7ec4c73207-image.png

                            93c8e123-9503-4409-b7a7-79a33036b245-image.png

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

                              @sascho Nun das hatte ich ja unten schon vorgeschlagen - grundsätzlich baut NodeRed direkt dann zu Deiner KLF 200 eine Verbindung auf und man grundsätzlich auch anstelle der Adapter im iobroker auch direkt von NodeRed eine Verbindung mit den entsprechenden Nodes aufbauen.

                              Nun habe ich natürlich grundsätzlich das Problem, dass ich keine Velux Umgebung - Fenster habe.

                              Bei Deiner Fehlermeldung sieht aus, dass der Login nicht akzeptiert ist oder die Verbindung blockiert ist. Du musst halt erst mal sicherstellen, dass zumindest der iobroker Adapter nicht auch auf Deine Schnittstelle zugreift. Also den Adapter auf jedenfall deaktivieren - Du greifst über NodeRed direkt auf das Steuergerät zu.

                              Dann noch ein Tipp - am Anfang zum Ausprobieren - benutze einfach die Inject Nodes das ist einfacher, als immer über die iobroker Datenpunkte zu gehen und damit kann man viel schneller ausprobieren ob was funktioniert.

                              So auch wenn ich von der Velux Thematik nicht viel verstehe, lese ich mich halt bisschen ein - aber kann natürlich eben selbst nie nachprüfen, ob ich selbst alles richtig verstanden habe bzw. ob sich dann das auch richtig verhält.

                              Auf meinem Standalone System habe ich mir mal die Nodes installiert.

                              Also meines Erachtens hast Du mit der Fehlermeldung generell noch ein Verbindungsproblem.

                              Du wirst in meinen Augen hauptsächlich mit den Velux Nodes arbeiten. Mit der Velux API ist das eher low level und man kann damit wahrscheinlich noch diffiziellere Sachen machen.
                              Die API ist ja hier dokumentiert: https://velcdn.azureedge.net/-/media/com/api/klf200/technical specification for klf 200 api-ver3-18.pdf
                              auf dieser setzt sowohl der iobroker Adapter auf, als auch die Velux Node.

                              Die Velux Scenes - ist eine Node mit der Du auf in Deinem Velux System definierte Szenen abrufen kannst.

                              Ob das was schreibst oder liest hängt also von dem topic ab:

                              If the topic starts with velux: this is possible:
                              
                              velux:read Like setting, see above, the value is output from the buffer
                              
                              velux:load Like setting, see above, the value is requested and output at the KLF200
                              
                              velux:read:id:<id> -1 all values ​​or velux-node id for read. The settings are ignored.
                              
                              velux:load:id:<id> -1 all values ​​or velux-node id for load. The settings are ignored.
                              
                              velux:read:name:<name> Read the value by velux-node name. The settings are ignored.
                              
                              velux:load:name:<name> Load the value by velux-node name. The settings are ignored.
                              
                              velux:write Like setting, see above, the value is send to the velux-node
                              
                              velux:write:[name:<name>:][id:<id>:][valuetype:<valuetype>:] Overwrite the settings, the Payload must be an float value. []=optional, id and name together make no sense.
                              

                              Mit einer Inject Node - kann man so dann ein Fenster mit bestimmter ID auslesen:
                              b4e370ec-2112-43ae-8055-84fdacb28065-image.png

                              Im Prinzip würde ich mir mal an Deiner Stelle diese Beispiele hier anschauen:

                              So solltest Du über folgende Konfig:

                              49e59305-2034-4533-b3fa-69d13b5d364a-image.png der Velux Node - eben die aktuelle Position auslesen können.

                              Und so setzt Du das Fenster auf eine bestimmte Postition

                              aa074432-d960-4cdf-b37f-e12a3c342ccf-image.png

                              Die current Position kann man auch sicher nicht beschreiben, sondern eher was zum Lesen. Ich denke DU, dass Du das Target beschreiben wolltest.

                              Aber wie gesagt - erst muss mal die Kommunikation stimmen und die node selbst sollte den Status no errors detected haben.

                              In dem Link zu den Beispielen ist auch ein Beispiel, wie man die API aufruft.

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

                                @sascho

                                Eine Velux Nodes mit IP und Passwort angelegt (WLAN Passwort direkt aus dem Velux UI herauskopiert), einem IOBroker In, das eine 0 einspeist. Allerdings bekomme ich im Log Fehlerwerte ausgegeben:

                                Das ist meines Erachtens falsch!!!

                                Unter den Beispielen gibt es folgenden Eintrag:

                                You can find the password on the back of the KLf. If that doesn't work, you will need to reset the device to the factory settings.
                                You can find the IP address of the KLF in the settings in the web interface when you connect via WiFi or in the device list in your router.

                                Das heißt Du musst das Passwort eingeben, was auf der Rückseite Deines KLF - Box (Gateways) aufgeklebt ist. Wenn das nicht funktioniert, dann müsste man es die Box zurücksetzen.

                                Allerdings solltest Du in meinen Augen auch im iobroker Adapter dieses Passwort doch nutzen. Kannst Du es da rauskopieren?

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

                                  Ich hab mir die Fehlermeldung nochmal genauer angeschaut.

                                  Ich denke Du hast den KLF Adapter nicht richtig deaktiviert - ggf. musst Du nochmal neustarten.

                                  e0adbeb4-46e6-418d-bdce-9943daf4464b-image.png

                                  Der Pfad spricht nämlich dafür dass die API hier vom iobroker-Adapter benutzt wird.

                                  Die API von den NodeRed Nodes sollte nämlich hier bei der Installation zu finden sein.

                                  /opt/iobroker/iobroker-data/node-red/node_modules
                                  

                                  dort sollte es jetzt nämlich ebenfalles ein Verzeichnis Velux-KF200 -api geben. Ich gehe davon aus, dass sowohl der Adapter als auch die Node Red Nodes die gleiche API nutzen.

                                  Würde halt erst mal Backups machen und dann versuchen, das NodeRed Interface zu nutzen.

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

                                    @sascho Falls Du es doch mit dem Logfile versuchen musst - habe ich nun die andere tail Node installiert, da die einfache tail Node den Tageswechsel, wenn die neue Datei als current log erstellt wird, nicht mitmacht. Die neue anscheinend schon. Die spuckt nur die Kommandos oder normale Statusmeldungen als Fehler aus - die kann man aber einfach mit einer Catch Node abfangen.

                                    Falls das dann aktuell wird - poste ich den Flow.

                                    S 1 Reply Last reply Reply Quote 0
                                    • S
                                      sascho @mickym last edited by

                                      @mickym

                                      Also, es lag tatsächlich am Passwort. In der Velux Docu wird geschrieben, dass man das Wlan Passwort verwenden soll. Das stimmt aber nicht - man muss das WebUI Passwort nehmen. Jetzt taucht keine Fehlermeldung mehr im Log auf.
                                      Allerdings reagiert das Testdachfenster noch nicht. Ich bin gerade doch noch mit einem Datenpunkt unterwegs, da ich so die Werte zwischen 0 und 100 tauschen kann. Muss man evtl. im Topic eine Einstellung machen?

                                      67e5f701-ce77-46e5-a3fb-3daa41b79e2d-image.png

                                      3eb49878-3016-48b7-90ec-ddd77bd9b257-image.png

                                      2ab5295c-054c-4db5-92a1-b4c2da6da0f7-image.png

                                      P.S. Den Reset vom Steuergerät würde ich ungern machen, da wir DF im First haben, an die ich zum Anlernen nie wieder rankomme...

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

                                        @sascho Nun wenn keine Fehlermeldung mehr kommt, ist ja gut - ich würde erst mal auslesen, um zu sehen, ob die Kommunikation funktioniert und dann halt mit mehren Inject Nodes arbeiten.

                                        Konfiguriere doch erst mal die Velux Node zum Lesen und hänge eine Debug Node an:

                                        ee4e26cf-e675-42a8-b2f6-2048263b89a5-image.png

                                        und dann verstellst Du mit Schalter oder App das Fenster und schaust ob was aus der Node rauskommt.

                                        Du kannst ja mal current position und all values ausprobieren und dann im Debug Fenster schauen, was für ein Ausgabe rauskommt.

                                        2f0e84e5-5f42-437f-abe9-84d63b6d422c-image.png

                                        edd279de-ff4d-4bc3-9a6a-edb8073ac359-image.png

                                        Beim Senden machst um auf und zu zumachen - nimm 2 Inject Nodes einmal mit 100 und 0 und gib gar kein topic mit - wie in dieser Abbildung und mach das nur auf target

                                        184b1ec2-3902-441a-8e8d-ce34d7af1968-image.png

                                        Damit injizierst einmal 0 und einmal 100 durch Tastendruck und geht schneller als über den Datenpunkt:

                                        0165af1d-cc03-4628-8eb7-ee42f83a11c9-image.png

                                        [{"id":"9eb35ce72d947bc8","type":"inject","z":"5191e3c.a1ef01c","name":"","props":[{"p":"payload"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"0","payloadType":"num","x":750,"y":840,"wires":[["574b6771bbf6c0b3"]]},{"id":"eb54f3d21b803198","type":"inject","z":"5191e3c.a1ef01c","name":"","props":[{"p":"payload"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"100","payloadType":"num","x":750,"y":900,"wires":[["574b6771bbf6c0b3"]]},{"id":"574b6771bbf6c0b3","type":"Velux Nodes","z":"5191e3c.a1ef01c","nodevalue":"","topic":"","x":910,"y":860,"wires":[["bfa52e3e5e6c9e66"]]},{"id":"bfa52e3e5e6c9e66","type":"debug","z":"5191e3c.a1ef01c","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","statusVal":"","statusType":"auto","x":1180,"y":860,"wires":[]}]
                                        

                                        S 1 Reply Last reply Reply Quote 0
                                        • S
                                          sascho @mickym last edited by

                                          @mickym

                                          Hi, ich habe Deine Vorschläge mal umgesetzt und konnte tatsächlich die Current Position auslesen und die Target Position setzen. Leider ist das Ganze noch nicht stabil. Ich bekomme immer noch Fehlermeldungen - evtl. ist das KFL200 oder der Motor überlastet:
                                          00fccf9d-9a28-47a0-a7e5-974f7d7ee1b4-image.png

                                          1107a69c-eb2b-42bf-b1cc-4bab7f385a26-image.png

                                          e1c45ba8-39d0-420b-bb82-ffd69a9426dc-image.png

                                          Ich muss mich da mal in Ruhe dransetzen...

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

                                            @sascho sagte in bshb - Rollladensteuerung mit yhka Homekit:

                                            @mickym

                                            Hi, ich habe Deine Vorschläge mal umgesetzt und konnte tatsächlich die Current Position auslesen und die Target Position setzen. Leider ist das Ganze noch nicht stabil. Ich bekomme immer noch Fehlermeldungen - evtl. ist das KFL200 oder der Motor überlastet:

                                            Nun das ist doch erst schon mal ein Riesenfortschritt. Anhand der Fehlermeldung glaube ich aber immer noch, dass der iobroker KLF200 Adapter für die Fehler verantwortlich ist. Ich würde hier einfach mal über längere Zeit den ganzen Adapter außer Betrieb setzen auch, wenn Du dann erst mal viel manuell machen musst. Warum glaube ich das?

                                            Auf Basis dieses Pfades /opt/iobroker/node_modules/.... gehe ich davon aus, dass diese Bibliothek von Deinem iobroker-Adapter stammt und nicht von den Node Red Nodes.

                                            644048b0-8a36-478e-b293-f0c1f7db85ea-image.png

                                            Die Node-Red Nodes sollten die gleiche API in diesem Pfad installiert haben:
                                            /opt/iobroker/node_modules/iobroker.node-red/node_modules
                                            Das heißt das müsste von daher kommen.

                                            Es kann auch einfach sein, dass der Adapter und die Node gleichzeitig auf die Schnittstelle zugreifen wollen, das geht natürlich auch nicht. Es wird Dir also nichts übrig bleiben für den Test den iobroker-Adapter mundtot zu machen.

                                            Also ich glaube erst mal ist wichtig, dass Du exklusiven Zugriff auf das Gateway hast.

                                            Dann hab ich noch bissi recherchiert, wie man diese API bedient.

                                            Im Prinzip gibst Du alles als Objekt in diese API Node mit.

                                            Du kannst mal versuchen ob Du damit Dein KLF200 Gateway neustarten kannst:

                                            cf90eb85-b88a-4c54-9ab3-6f095f722413-image.png

                                            [{"id":"275af5e430be8cde","type":"inject","z":"5191e3c.a1ef01c","name":"Reboot","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"{\"apiText\":\"GW_REBOOT_REQ\"}","payloadType":"json","x":270,"y":1160,"wires":[["9c07a33961e3b586"]]},{"id":"9c07a33961e3b586","type":"Velux Api","z":"5191e3c.a1ef01c","name":"","datasource":"","api":"8196","ntf":[],"topic":"s","x":420,"y":1160,"wires":[["20a2999409a22c6b"]]},{"id":"20a2999409a22c6b","type":"debug","z":"5191e3c.a1ef01c","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","statusVal":"","statusType":"auto","x":590,"y":1160,"wires":[]}]
                                            

                                            Was in dem Drop Down ist kann ich nicht sagen, weil ich ja kein Gateway habe.

                                            Aber interessant ist, dass man die API mit ganz normalen JSON Objekten - quasi im Klartext bestücken kann.

                                            Mit diesem einfachen Kommando müsste man das KLF200 neustarten können - kannst ja mal ausprobieren. 😉

                                            a3ef87b3-0b1f-4ee3-b363-96c3e56a7443-image.png

                                            Aber auch bei komplexeren API Aufrufen kann man diese API Request also in lesbarem Format absenden.

                                            85412b2c-84a8-4b72-b4ea-db758609a101-image.png

                                            Das was Du hier siehst sind die Parameter für einen Command Send Request mit den Felder, die in der API auf S. 57 beschrieben sind:

                                            0fca50e7-8cc4-4436-9d52-5ce203e86c9b-image.png

                                            Die Bedeutung muss man dann natürlich aus den Folgeseiten übernehmen. Die Fragen ist, ob man das braucht.

                                            Aber mit der API den Neutstart des Gateways zu machen - ist ja schon mal ganz praktisch.

                                            Über eine Catch Node kannst Du dann später ggf. direkt auf Fehler reagieren und ggf. das Gateway neu starten.

                                            Hier aus diesem Thread habe ich teilweise die Beispiele: https://githubmemory.com/repo/PLCHome/node-red-contrib-velux/issues

                                            So müsste man beispielsweise die Informationen aller Nodes auslesen können:
                                            f2dafbf7-6093-4adf-bb0e-7dccd248add1-image.png

                                            b1c08f03-fdf6-4953-9e5f-cd8176e867f2-image.png 848ef05e-3068-4365-b432-fcced2461a6e-image.png

                                            [{"id":"774ff8d2.0467c8","type":"Velux Nodes","z":"5191e3c.a1ef01c","name":"","datasource":"","index":"-1","nodevalue":"ALL","topic":"","x":590,"y":2020,"wires":[["209dd4dd.4e37ac"]]},{"id":"209dd4dd.4e37ac","type":"debug","z":"5191e3c.a1ef01c","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","statusVal":"","statusType":"auto","x":770,"y":2020,"wires":[]},{"id":"6f16143d.f9793c","type":"inject","z":"5191e3c.a1ef01c","name":"Alle Nodes auslesen","props":[{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"velux:read","x":390,"y":2020,"wires":[["774ff8d2.0467c8"]]}]
                                            

                                            Aber wie gesagt in meinen Augen musst Du erst mal schauen, dass Du exklusiven Zugriff mit Deinen Nodes auf die Schnittstelle hast.

                                            Zudem habe ich gefunden, dass dieses Gateway wohl max. 2 Verbindungen unterstützt:

                                            The KLF sometimes does not release the Session internally if the connection is lost. Since only 2 users are allowed to connect, it can happen that you are no longer allowed to connect to the KLF. Currently I am sending a GW_REBOOT_REQ from the API from the Node-Red once a day. This ensures that there is always a free slot available for connection.

                                            Wenn das tatsächlich so ist, dann wird sich die Stabilität auch nicht verbessern, dann brauchst vielleicht doch nicht den Aufwand betreiben und nutzt weiter den Adapter und untersuchst das Log.

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            471
                                            Online

                                            31.9k
                                            Users

                                            80.1k
                                            Topics

                                            1.3m
                                            Posts

                                            2
                                            121
                                            6571
                                            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