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.
    • 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
                            • mickym
                              mickym Most Active @sascho last edited by mickym

                              @sascho über den neuen Admin findest das nicht.

                              Du musst halt in Deinem Container schauen - ob in diesem Verzeichnis die KLF200 API noch installiert ist:

                              43ac189b-dbb9-4ca0-87d0-f3954d4e5343-image.png

                              oder natürlich auf der Kommandozeile:

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

                              dann

                              ls -la | more
                              

                              dann mit Enter durchscrollen

                              hier sehe ich dann das alles Node-Typen die ich mit dem Pallettenamanger installiert habe - deswegen gehe ich davon aus, dass hier dann auch ein Verzeichnis velux-klf200-api exisitieren müsste.

                              drwxrwxr-x+   8 iobroker iobroker  4096 18. Jul 00:43 node-disk-info
                              drwxrwxr-x+   3 iobroker iobroker  4096 16. Nov 2020  node-fetch
                              drwxrwxr-x+   5 iobroker iobroker  4096 29. Mär 03:59 node-persist
                              drwxrwxr-x+   3 iobroker iobroker  4096 14. Mai 18:26 node-red-contrib-bigtimer
                              drwxrwxr-x+   5 iobroker iobroker  4096 16. Jul 15:52 node-red-contrib-buffer-parser
                              drwxrwxr-x+   3 iobroker iobroker  4096 16. Jul 15:53 node-red-contrib-cron-plus
                              drwxrwxr-x+   4 iobroker iobroker  4096  4. Dez 2019  node-red-contrib-crypto-js
                              drwxrwxr-x+   4 iobroker iobroker  4096  1. Feb 2021  node-red-contrib-eztimer
                              drwxrwxr-x+   2 iobroker iobroker  4096  5. Dez 2020  node-red-contrib-fs-ops
                              drwxrwxr-x+   4 iobroker iobroker  4096  5. Feb 2021  node-red-contrib-harmony-websocket
                              drwxr-xr-x+   4 iobroker iobroker  4096 18. Jul 00:43 node-red-contrib-homekit-bridged
                              drwxrwxr-x+   6 iobroker iobroker  4096 29. Mär 03:59 node-red-contrib-light-scheduler
                              drwxrwxr-x+   6 iobroker iobroker  4096 16. Nov 2020  node-red-contrib-moment
                              drwxrwxr-x+   3 iobroker iobroker  4096 18. Jul 00:44 node-red-contrib-os
                              drwxrwxr-x+   3 iobroker iobroker  4096 17. Aug 01:16 node-red-contrib-tail-file
                              drwxrwxr-x+   6 iobroker iobroker  4096 18. Jul 00:42 node-red-contrib-ui-time-scheduler
                              drwxrwxr-x+   4 iobroker iobroker  4096 18. Jul 00:42 node-red-dashboard
                              drwxrwxr-x+   4 iobroker iobroker  4096 18. Jul 00:42 node-red-node-email
                              drwxrwxr-x+   4 iobroker iobroker  4096 29. Mär 03:56 node-red-node-feedparser
                              

                              Unter meiner Windows-Testinstallation von NodeRed finde ich nach Installation der velux Nodes - diese beiden Verzeichnisse:

                              536ef8fa-cf5b-4d75-bff4-83a604503eb3-image.png

                              Wenn das alles stabil klappt - ich drück Dir die Daumen - dann kannst ja auch ein bisschen mit dem valuetype spielen.

                              96b71062-647e-47fb-b08e-05139f1b6422-image.png

                              Manchmal muss man halt auch nur exakt lesen - siehe markierte Textstelle! - aber wie gut, dass Du es mit der Inject Node und der iobroker-In Node versucht hast - so konnte man sich über die Unterschiede auf die Lösung des Problems kommen.

                              Damit kann man dann vielleicht sogar - das Fenster von einer bestehenden Position um einen bestimmten Prozentsatz verändern
                              Das topic in eine ChangeNode würde dann so aussehen:

                              4327b85a-5f23-4a10-97b7-051d00edb278-image.png

                              id und name musst halt eingeben - der Wert kommt weiterhin über die payload Deiners Datenpunktes.

                              Hier mal die Change Node zum Import:

                              [
                                 {
                                     "id": "847444e6.bec5c8",
                                     "type": "change",
                                     "z": "df26843.51cc978",
                                     "name": "",
                                     "rules": [
                                         {
                                             "t": "set",
                                             "p": "topic",
                                             "pt": "msg",
                                             "to": "{\"write\":{\"name\":\"\",\"id\":\"\",\"valuetype\":\"PERCENT_PM\"}}",
                                             "tot": "json"
                                         }
                                     ],
                                     "action": "",
                                     "property": "",
                                     "from": "",
                                     "to": "",
                                     "reg": false,
                                     "x": 510,
                                     "y": 180,
                                     "wires": [
                                         []
                                     ]
                                 }
                              ]
                              

                              So würde ich das mal sehen, um die Beschreibung umzusetzen. Aber schau erst mal ob es so stabil läuft, dann kannst immer noch sehen, ob Du hier mit den Möglichkeiten rumspielen möchtest. Name und ID sind auch optional (also brauchst nicht angeben, wenn Du das in der Node schon spezifizierst), weil Du das wahrscheinlich schon in der Velux NOde angibst. Man kann aber durch das variable Topic aber auch mit weniger Nodes auskommen, da das topic ja die Einstellungen in der Node überschreibt, aber das kann man immer noch später optimieren.

                              Aber erst muss mal alles stabil sein. 😉 Daumen drück!

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

                                @mickym

                                Stabil laufen wäre jetzt erst einmal mein Hauptziel :-). Ich habe gestern mal alles auf Velux Nodes umgestellt - also pro Fenster 1x Current, 1x Remaining, 1x Target. Dadurch musste ich ziemlich oft die Red Node Flows neu deployen. Das hat wohl das KLF200 überfordert. Ich bekomme seitdem nur noch diese Fehlermeldungen:
                                23 Aug 11:33:36 - [error] [velux-connection:6e3b4717.7b2e68] Velux Error: tcp errorError: connect ECONNREFUSED 192.168.178.6:51200 at TLSSocket.velux.errorCallback (/opt/iobroker/node_modules/velux-klf200-api/lib/net.js:171:19) at TLSSocket.emit (events.js:314:20) at emitErrorNT (internal/streams/destroy.js:92:8) at emitErrorAndCloseNT (internal/streams/destroy.js:60:3) at processTicksAndRejections (internal/process/task_queues.js:84:21)

                                Ich vermute, ich müsste es jetzt vom Strom trennen und neu booten da es sich aufgehängt hat. Gefühlt kriegt es den Reset manchmal nach ein paar Stunden selbst hin. Ob die API Node jetzt noch funktionieren würde, weiß ich nicht.

                                Ob ich Nodes sparen kann - keine Ahnung. Selbst wenn ich Scenes einsetze, habe ich noch 5 Scenes x 1 Current/1x Remaining/1x Scene.
                                Mir ist auch nicht klar, ob weniger Nodes besser wären, da ja alle über eine API Einstellung laufen.
                                Ich würde Ende der Woche erst mal schauen, ob ich die Scenes eingerichtet bekomme.
                                Evtl. kann man ja auch Remaining und Current über eine Node auslesen (All Values).

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

                                  @mickym

                                  Wie komme ich eigentlich in die Pfadstruktur von Docker bzw. buanet iobroker? Deinen Befehl direkt im terminal einzugeben gibt nur ein Fehler:
                                  38050c85-e3cb-4843-b068-3f43545354f9-image.png

                                  Du hast so etwas wie einen Ordner Browser offen. So etwas würde ich mir auch gerne einrichten.

                                  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

                                    Stabil laufen wäre jetzt erst einmal mein Hauptziel :-). Ich habe gestern mal alles auf Velux Nodes umgestellt - also pro Fenster 1x Current, 1x Remaining, 1x Target. Dadurch musste ich ziemlich oft die Red Node Flows neu deployen. Das hat wohl das KLF200 überfordert. Ich bekomme seitdem nur noch diese Fehlermeldungen:

                                    Nun das heiß erst mal, dass es mit einer Node stabil gelaufen ist. Ich gehe mal davon aus, dass Du beim deployen zumindest nur die geänderten Nodes deployest - wenn nicht - vielleicht hilft das ja auch schon etwas.

                                    d6456955-b516-471d-aeb3-0e0e507b614c-image.png

                                    Mir ist auch nicht klar, ob weniger Nodes besser wären, da ja alle über eine API Einstellung laufen

                                    Nun auch wenn es über eine API läuft, so könntest Du über das Topic ja verscheiden KLF Nodes ansprechen. Mit theoretisch einer Node - kannst Du den Nachrichtenfluß ggf. über die Delay Node bremsen.

                                    Evtl. kann man ja auch Remaining und Current über eine Node auslesen (All Values).

                                    Auch das ist mE eine gute Idee.

                                    Oder generell eben, wie ich mit dem API aufruf prüfen, ob die KLF idle und ready ist und ggf. zumindest alles was Schreiben betrifft - blockieren, solange KLF nicht ready.

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

                                      @mickym

                                      Ja, die API Node würde ich auch gerne mal in Gang setzen. Aber ich habe das gleiche Problem wie der Themenersteller hier. Man bekommt nur ein schwarzes Dropdown in der Velux API:

                                      https://github.com/PLCHome/node-red-contrib-velux/issues/11

                                      Ich muss wahrscheinlich in die Konfiguration ändern, bevor ich hier? den Befehl:
                                      a1698f30-8b69-4ef5-9d1b-57543ab8bcdf-image.png
                                      eingeben kann:
                                      1be9c0d0-c411-4f2c-a9e4-df4b53185619-image.png

                                      Dazu müsste ich aber in die Container Ordnerstruktur kommen.

                                      bergstermann created this issue in PLCHome/node-red-contrib-velux

                                      closed Velux Api Node #11

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

                                        @sascho sagte in bshb - Rollladensteuerung mit yhka Homekit:

                                        @mickym

                                        Wie komme ich eigentlich in die Pfadstruktur von Docker bzw. buanet iobroker? Deinen Befehl direkt im terminal einzugeben gibt nur ein Fehler:
                                        38050c85-e3cb-4843-b068-3f43545354f9-image.png

                                        Du hast so etwas wie einen Ordner Browser offen. So etwas würde ich mir auch gerne einrichten.

                                        Da kann ich leider nicht helfen, da ich nicht mit Docker oder VMs arbeite.

                                        Das ist bei mit der verpönte Raspberry Desktop.

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

                                          @sascho Schreib doch mal gar nichts in die API Node und versuch doch nur mal über die Inject Nodes API Befehle abzusetzen.

                                          Ich habe Dir ja mal den Reboot gepostet - und hier mal zusätzlich die Statusabfrage:

                                          bfae9c7e-8152-4fdf-ac44-0ae1cde490e1-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":[]},{"id":"7995768ac4e4da56","type":"inject","z":"5191e3c.a1ef01c","name":"Aktueller Status","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"{\"apiText\":\"GW_GET_STATE_REQ\"}","payloadType":"json","x":240,"y":1100,"wires":[["9aef1284b04763c8"]]},{"id":"9aef1284b04763c8","type":"Velux Api","z":"5191e3c.a1ef01c","name":"","datasource":"","api":"8196","ntf":[],"topic":"s","x":420,"y":1100,"wires":[["8850598c3c5ac10d"]]},{"id":"8850598c3c5ac10d","type":"debug","z":"5191e3c.a1ef01c","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","statusVal":"","statusType":"auto","x":590,"y":1100,"wires":[]}]
                                          

                                          37908521-60ec-4277-aa00-f6a0ea688cae-image.png

                                          b077d02c-da5f-4faa-8a65-61713c58fb4e-image.png

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

                                            @sascho Aber nochmal, wenn das mit den Nodes keine gute Idee ist oder zu kompliziert - dann bleib doch bei Deiner Adapterlösung. Das mit dem anhand des Logs die KLF neu zu starten, wie Du es ursprünglich vorhattest ist dann vielleicht doch einfacher.

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            924
                                            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