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

      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
                      • S
                        sascho @mickym last edited by sascho

                        @mickym said in bshb - Rollladensteuerung mit yhka Homekit:

                        Okay, es sieht tatsächlich so aus, als wenn der KLF200 Adapter dazwischenfunkt obwohl er nicht gestartet ist. Ich hatte das Problem auch nur zeitweise gestern Abend - nach dem Docker Neustart und KLF200 Neustart war die Fehlermeldung heute morgen weg. Das KLF200 scheint sehr empfindlich auf Überlastung zu reagieren. Ich habe teilweise noch die Funktion "Send Message on Start aktiviert". Wenn ich dann die Flows abspeichere geht das KLF200 regelmäßig in die Knie.
                        Evtl. brauche ich irgendwo noch einen Check, dass Red Node nur eine bestimmte Anzahl von Befehlen pro Minute ausgibt. Angeblich soll es schon helfen, wenn man im KLF200 Szenen anlegt. Dann könnte ich nämlich die direkt nebeneinanderliegenden Fenster und Rollläden kombinieren und so die Anzahl von Befehlen reduzieren. Es werden diese zwei Fenster/Rollläden eh immer parallel angesteuert.

                        In den nächsten Tagen komme ich noch nicht dazu, danach würde ich mal den ein Backup des Containers machen und den KLF200 Adapter komplett deinstallieren.
                        Dann könnte ich die Anbindung an meine Bosch Unterputzdosen testen - aktuell funktioniert das noch nicht, vermutlich kommt doch nicht die 0 bzw. 100 aus dem Flow so wie bei den bereits funktionierenden Inject Nodes.

                        Die Reboot Funktion wäre natürlich auch super - da ich ja keinen Adapter mehr habe, müsste ich den Befehl über die Velux Nodes schicken.

                        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:

                          Evtl. brauche ich irgendwo noch einen Check, dass Red Node nur eine bestimmte Anzahl von Befehlen pro Minute ausgibt. Angeblich soll es schon helfen, wenn man im KLF200 Szenen anlegt.

                          Ok dafür nimmst Du eine Delay Node (hast Du schon in Deinem Werkzeugkasten) - da kann man nicht nur die Verzögerungen sondern Nachrichtenraten einstellen:

                          6b5bb770-bff7-4ce0-a0eb-94fc391b2e0e-image.png

                          und wie gesagt im Fehlerfall nimmst eine oder mehrere Catch Nodes und startest das Teil dann neu.

                          Musst halt überlegen, ob sich der Aufwand lohnt - da ja jetzt schon alles über den Adapter machst und ich weiß nicht, ob Du an Stabilität gewinnst.

                          Bezgl. Szenen habe ich auch einen Flow gefunden - und ja der hatte sogar auch ein delay Node dazwischengeklemmt:
                          e8080a4b-9be6-4a6d-8f2b-ab0dc95ad826-image.png

                          [{"id":"54b7854c.baf744","type":"Velux Scenes","z":"5191e3c.a1ef01c","name":"","datasource":"","index":"0","velocity":"DEFAULT","topic":"velux:id:1","x":680,"y":1660,"wires":[["499d6cd2.cf7f3c"]]},{"id":"499d6cd2.cf7f3c","type":"delay","z":"5191e3c.a1ef01c","name":"","pauseType":"delay","timeout":"1","timeoutUnits":"minutes","rate":"1","nbRateUnits":"1","rateUnits":"second","randomFirst":"1","randomLast":"5","randomUnits":"seconds","drop":false,"x":880,"y":1680,"wires":[["9d093885.ceb288"]]},{"id":"9d093885.ceb288","type":"Velux Scenes","z":"5191e3c.a1ef01c","name":"","datasource":"","index":"1","velocity":"DEFAULT","topic":"velux:id:2","x":1100,"y":1680,"wires":[[]]},{"id":"49c53e8e.840f38","type":"inject","z":"5191e3c.a1ef01c","name":"Fenster öffnen & schließen","props":[{"p":"payload","v":"","vt":"date"},{"p":"topic","v":"","vt":"string"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"","payloadType":"date","x":440,"y":1680,"wires":[["54b7854c.baf744"]]},{"id":"3454a259.3ff65e","type":"inject","z":"5191e3c.a1ef01c","name":"Fenster schließen","props":[{"p":"payload","v":"","vt":"date"},{"p":"topic","v":"","vt":"string"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"","payloadType":"date","x":910,"y":1740,"wires":[["9d093885.ceb288"]]}]
                          

                          aec6aea8-6838-4a00-adb5-46b2b135fc09-image.png

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

                            @mickym

                            Ja cool.
                            Ich denke, ich probiere mehrere Herangehensweisen mal aus. Zum einen werde ich versuchen, die Dachfensterpaare auf Szenen umzulegen und so den Traffic Richtung KLF200 reduzieren.
                            Zum anderen probiere ich die Velux Nodes mal aus. Evtl. macht der Adapter ja auch unnötig Traffic und überfordert so das KLF200.
                            Und als 3. baue ich die Delay Nodes ein.

                            Wenn das alles nichts hilft, versuche ich einen einen Reboot mit der Catch Node. Das funktioniert allerdings nicht mehr, wenn das KLF200 schon abgestürzt ist. Ich bin mir auch gar nicht sicher, ob der Adapter crashed oder das KLF200 selbst. Meistens kann ich den Adapter morgens manuell neu starten. Das heißt ja, dass das KLF200 funktioniert. Evtl. ist resettet es sich selbst nach einiger Zeit?

                            Ich könnte einen regelmäßigen Reboot per Adapter auslösen oder einfach über meinen smarten Zwischenstecker einmal am Tag das KLF200 vom Strom trennen. Diese Reboots finde ich aber nicht so optimal, weil der Status im IQcontrol manchmal nicht mehr richtig ist.

                            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:

                              Ich denke, ich probiere mehrere Herangehensweisen mal aus. Zum einen werde ich versuchen, die Dachfensterpaare auf Szenen umzulegen und so den Traffic Richtung KLF200 reduzieren.

                              Ja das ist sicher eine gute Idee - und dann kannst Du ja immer noch entscheiden.

                              Wenn das alles nichts hilft, versuche ich einen einen Reboot mit der Catch Node. Das funktioniert allerdings nicht mehr, wenn das KLF200 schon abgestürzt ist. Ich bin mir auch gar nicht sicher, ob der Adapter crashed oder das KLF200 selbst. Meistens kann ich den Adapter morgens manuell neu starten. Das heißt ja, dass das KLF200 funktioniert. Evtl. ist resettet es sich selbst nach einiger Zeit?

                              Entweder so - sprich man wartet oder mit den Velux Nodes hast DU ja auch immer die Möglichkeit zu prüfen, ob Dein KLF200 arbeitet. Sprich wenn innerhalb einer bestimmten Zeitspanne keine Antwort kommt, dann Reboot.
                              Wenn sich das Ding so aufhängt, dass es sich gar nicht mehr ansprechen lässt, dann würde ich - falls es ein smarter Zwischenstecker ist nicht zeitgesteuert - sondern dann genau in diesem Fall die Steckdose ein und ausschalten. Also keine Zeitschaltuhr - sondern smart (z. Bsp. Shelly plug S) oder so. Man musst halt ggf. einen Zähler einbauen - so dass bei einem Netzproblem nicht gleich dauern geschaltet wird oder andere Sicherheitsmaßnahmen ergreifen.

                              Ich könnte einen regelmäßigen Reboot per Adapter auslösen oder einfach über meinen smarten Zwischenstecker einmal am Tag das KLF200 vom Strom trennen. Diese Reboots finde ich aber nicht so optimal, weil der Status im IQcontrol manchmal nicht mehr richtig ist.

                              Wenn Du das dann nicht zeitgesteuert, sondern ereignisgesteuert machst, dann weißt Du über Deinen Flow ja BEscheid und kannst die Zustände neu auslesen und dann in iQuontrol übernehmen.

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

                                @sascho

                                Um zum Beispiel zu überprüfen, ob Dein Gateway noch reagiert oder um zu Überprüfen, ob Dein Gateway busy ist, kannst Du ja ebenfalls die API verwenden. Weiß nicht ob das mit dem Adapter geht ...

                                89febd17-6200-456b-9007-6ef3551ba6d4-image.png

                                Damit Könnte man zum Beispiel generell überprüfen, dass nur dann was geschickt wird, wenn Gateway State =2 und Idle

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

                                  @mickym

                                  Ich habe noch einmal eine andere Frage an Dich, bevor ich die nächsten Schritte mache. Ich habe die Current und Remaining Nodes erfolgreich an Datenpunkte hängen können. Die Statusmeldungen werden minütlich an die Datenpunkte ausgelesen.

                                  Den Target State bekomme ich aber nicht gesetzt. Der davor geschaltete Datenpunkt springt richtig von 100 auf 0 um. Aber die Target Node reagiert nicht. Sie steht immer noch auf 100. Woran kann das liegen?

                                  a6f33dcb-91af-4152-ab15-c4c955d1e8c8-image.png

                                  b8589b9f-2bcf-44b8-943b-51b8fb4fccca-image.png

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

                                    @sascho Ehrlich gesagt verstehe ich es nicht ganz - wenn eine Velux Node nicht reagiert bin ich ja erst mal überfragt - da ich es nicht nachvollziehen kann. Eine Target-Wert Node hat ja in meinen Augen auch keinen Status.

                                    OK - vielleicht weiß ich welche Node Du meinst - ist das denn auch so eingestellt?

                                    ab6e5883-e396-4886-ab70-d57d1482b2ce-image.png

                                    steht send value auf target?
                                    ist der node index korrekt?
                                    und hast Du es vorne erst mal mit einer Inject Node versucht und Zahl versucht?
                                    hast du bei dem Adapter - das alles in Strings umgewandelt wird - ausgeschaltet?
                                    prüf mal mit einer Debug Node - direkt an Deiner iobroker IN Node - dass auch eine Zahl rauskommt.

                                    In einem der Vorpostings konntest Du doch das Target setzen - was ist der Unterschied?

                                    @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:
                                    00fccf9d-9a28-47a0-a7e5-974f7d7ee1b4-image.png

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

                                      @mickym

                                      Also, ich habe gerade mal einen komplett neuen Container mit nur Node Red + der Velux Nodes angelegt.
                                      Wenn ich per Inject Node 0, 100 eingebe, funktioniert es. Das sieht man daran, dass bei Remaining 40 erscheint und nach 40 Sekunden Current = Target ist.
                                      13c44af3-4be1-4bcb-89f6-ee15b006a411-image.png

                                      Was nicht funktioniert, die Inject Node vor den Datenpunkt zu hängen und dann die Velux Node anzusprechen. Dann passiert erst gar nichts, und dann kommt manchmal die Fehlermeldung. Die Fehlermeldung kann nicht mehr mit dem KLF200 Adapter zusammenhängen, da dieser nie im Container installiert wurde. Ich vermute, die Velux Nodes verwenden die gleiche Bibliothek.
                                      Btw, ich habe in den Red Node Einstellungen die Konvertierung auf String Werten abgestellt. Es kommen also Numbers bei der Velux Node an. Auch mit Stringwerten, übernimmt die Velux Target Node den Wert nicht. Falls wir es nicht so hinbekommen, kann man die Inject nodes auch triggern? Alternativ über die API Node gehen?

                                      28e8841b-454a-4b62-afcb-4681c1bae464-image.png

                                      In der Velux Node habe ich noch das Topic ergänzt:
                                      0f9ac858-3302-4100-83d7-d7f5340d6623-image.png

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

                                        @sascho Also ob Adapter und Nodes die gleiche Bibliothek zugreifen, glaube ich noch nicht 100% - schau mal ob Du wie gesagt unter /opt/iobroker/iobroker-data/node-red/node_modules die gleiche Bibliothek noch mal hast. Ich glaube es noch nicht so ganz. 😉

                                        Ehrlich gesagt ist mir immer noch nicht klar, warum es sich mit einer Inject Nodes anders als bei einer iobroker-IN Node handelt - ausser natürlich, dass das topic verwirren könnte. Manchmal kommen die Ideen beim Schreiben und Nachdenken gleichzeitig. 😉

                                        Also Du kannst über einen Datenpunkt natürlich eine ChangeNode verwenden - da würde ich aber erst mal keine payload setzen, sondern das topic löschen - das wäre mE der wesentliche Unterschied zwischen der iobroker-In Node und der Inject Node.

                                        Also erst mal eine Change Node zwischen der iobroker IN und der Velux Node - in der Du das topic löschst:
                                        604b4800-cbac-4e62-85bf-28e8ae0e221b-image.png

                                        Wenn das nicht hilft müsste man mal versuchen, das ganze Nachrichtenobjekt nochmal neu zu erstellen, falls das ein Problem ist. In diesem Fall müsstest Du eine function Node dazwischen schalten mit folgendem Code:

                                        var value=msg.payload;
                                        msg={payload:value};
                                        return msg;
                                        

                                        Also erst mal topic löschen - da die Velux Node ja das Topic auswertet:
                                        df38dcad-2042-44f7-9023-3b6784da787e-image.png
                                        08802254-2691-457f-8f53-1cce398e061d-image.png

                                        Und wenn da der Pfad von userdata Punkt drinsteht - wird das ggf. die Ursache sein, warum die velux Node verwirrt ist.

                                        Alternativ kannst auch zwischen den iobroker-In NOde und der Velux Node eine Change NOde setzen in der Du das topic explizit setzt:

                                        1abcc2b4-0234-45eb-b135-6de609758c9e-image.png

                                        @sascho sagte in bshb - Rollladensteuerung mit yhka Homekit:

                                        Was nicht funktioniert, die Inject Node vor den Datenpunkt zu hängen und dann die Velux Node anzusprechen. Dann passiert erst gar nichts, und dann kommt manchmal die Fehlermeldung.

                                        Wie gesagt ich glaube das es an dem Topic liegt. Interessant ist auch dass da steht, das die KLF nur 2 Verbindungen erlaubt - deshalb kommt es wohl leicht zu den Engpässen, insbesondere wenn die nicht mehr getrennt werden.

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

                                          @mickym

                                          Du hattest Recht mit dem Topic, wenn die Change node das Topic löscht funktioniert es ohne Probleme:

                                          ba623d7d-6894-41e2-9f96-993f4ceb74bf-image.png

                                          d7c2756f-455a-438f-810d-34ec3d5aa085-image.png

                                          fdadcc2c-1aa7-4daf-89cb-57d6a9f1b71f-image.png

                                          Bin ich erleichtert ✌

                                          Wo wären den der Pfad zu finden, nach dem ich gucken soll?

                                          20d01d13-5acf-4f40-92d7-6770318b5a05-image.png

                                          Wenn das jetzt noch heute Abend noch gut klappt, dann nehme ich mein Produktivsystem wieder online und probiere es mal in dem Set-up aus!

                                          😋

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

                                            @sascho 👍 👍 👍

                                            9eaf6643-5c5d-436b-81df-698c5e231ca9-image.png

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            934
                                            Online

                                            31.9k
                                            Users

                                            80.1k
                                            Topics

                                            1.3m
                                            Posts

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