NEWS
VELUX Rollladen mit iobroker
-
Hallo zusammen,
ich habe das KLF-200 im Einsatz und verwende es mit iobroker über die klf-200-api. Das funktioniert auch ganz gut. Einzig, dass es keine Statusrückmeldung gibt ist blöd.
Ich habe dazu keine Hardware Tasten oder sonst was an das KLF-200 angeschlossen, sondern steuere es ausschließlich über ein Skript.
Was ist zu tun?
-
KLF-200 gemäß Herstellerangaben installieren und an die Velux Fenster/ Rollläden anlernen
-
In der KLF-200 Programme anlegen, welche die jeweils gewünschte Aktion durchführen. Wie das geht findet man selbst heraus oder im Netz. Die exakten Programmnamen brauchen wir nachher im Javascript, um die Aktionen gezielt ansprechen zu können. In meinem Fall waren das:
- Fenster 0
- Fenster 100
- Rollladen auf 0
- Rollladen zu 100
-
klf-200-api https://www.npmjs.com/package/klf-200-api auf dem Rechner, auf dem iobroker läuft, via````
npm install klf-200-api --save
````installieren. (Ich weiß nicht mehr, ob ich den npm install Befehl im iobroker Verzeichnis oder im Home des angemeldeten Users ausgeführt habe. -> ausprobieren.)
- In der Javascript Instanz, in der das Programm später laufen soll, als zusätzliches NPM Modul
> klf-200-api
eintragen. - Nun braucht man nur noch ein Skript erstellen, welches über die api mit dem KLF-200 die vorher erstellten Programme ausführt. Ich reagiere mit dem Skript auf Tastendrücke eines Homematic Funk-Wandsender 6fach HM-PB-6-WM55.
- Solltet Ihr für Euren KLF-200 Zugang ein anderes als das Standardpasswort vergeben haben, so ist dies im Code ziemlich weit unten entsprechend anzupassen. Auch die Trigger Events (bei mir die Tastendrücke) müsst Ihr auf Eure Umgebung und Wünsche anpassen.
```` //Fenster zu on({id: "hm-rpc.0.OEQ0284XXX.1.PRESS_SHORT"/*Dach_Fenster_zu.PRESS_SHORT*/, val: true, ack: true}, function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; log('Kanal 1 true short'); Run_Velux_KLF200_Program("Fenster 0"); log('Fertig'); }); on({id: "hm-rpc.0.OEQ0284XXX.1.PRESS_LONG"/*Dach_Fenster_zu.PRESS_LONG*/, val: true, ack: true}, function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; log('Kanal 1 true long'); log(Run_Velux_KLF200_Program("Fenster 0")); log('Fertig'); }); //Fenster auf on({id: "hm-rpc.0.OEQ0284XXX.2.PRESS_SHORT"/*Dach_Fenster_auf.PRESS_SHORT*/, val: true, ack: true}, function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; log('Kanal 2 true short'); Run_Velux_KLF200_Program("Fenster 100"); log('Fertig'); }); on({id: "hm-rpc.0.OEQ0284XXX.2.PRESS_LONG"/*Dach_Fenster_auf.PRESS_LONG*/, val: true, ack: true}, function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; log('Kanal 2 true long'); log(Run_Velux_KLF200_Program("Fenster 100")); log('Fertig'); }); //Rollladen auf on({id: "hm-rpc.0.OEQ0284XXX.3.PRESS_SHORT"/*Dach_Rollladen_auf.PRESS_SHORT*/, val: true, ack: true}, function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; log('Kanal 3 true short'); Run_Velux_KLF200_Program("Rollladen auf 0"); log('Fertig'); }); on({id: "hm-rpc.0.OEQ0284XXX.3.PRESS_LONG"/*Dach_Rollladen_auf.PRESS_LONG*/, val: true, ack: true}, function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; log('Kanal 3 true long'); log(Run_Velux_KLF200_Program("Rollladen auf 0")); log('Fertig'); }); //Rollladen zu on({id: "hm-rpc.0.OEQ0284XXX.4.PRESS_SHORT"/*Dach_Rollladen_zu.PRESS_SHORT*/, val: true, ack: true}, function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; log('Kanal 4 true short'); Run_Velux_KLF200_Program("Rollladen zu 100"); log('Fertig'); }); on({id: "hm-rpc.0.OEQ0284XXX.4.PRESS_LONG"/*Dach_Rollladen_zu.PRESS_LONG*/, val: true, ack: true}, function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; log('Kanal 4 true long'); log(Run_Velux_KLF200_Program("Rollladen zu 100")); log('Fertig'); }); function Run_Velux_KLF200_Program(Programm) { var klf200Api = require("klf-200-api"); log('Versuche Programm "' + Programm + '" zu starten.'); // Use either the IP address or the name of *your* interface // 'velux-klf-12ab' is just a placeholder example. let conn = new klf200Api.connection('http://VELUX-KLF-1432'); // Login with *your* password // 'velux123' is the default password // and for security reason you should change it. log('Connection'); conn.loginAsync('velux123') //Hier das Passwort zum KLF Zugang eingeben .then(() => { log('Login'); let sc = new klf200Api.scenes(conn); log('Programm ausführen'); return sc.runAsync(Programm); }) .then(() => { // Always logout so that you don't block the interface! return conn.logoutAsync(); }) .catch((err) => { // always close the connection return conn.logoutAsync().reject(err + ' Fehler'); }); } ````
Wie gesagt, bei mir funktioniert das eigentlich ganz zuverlässig.
Ich hoffe, ich konnte Euch weiterhelfen.
Viel Spaß damit!
Gruß
RamSauer
-
-
Hallo RamSauer,
danke für deinen Post! Die fertige Implementierung der klf-200 api zu nutzen ist ein guter Einfall, dann muss man sich gar nicht mehr selbst darum kümmern, die passenden Post-Requests an das KLF 200 zu senden.
Das dürfte auf jeden Fall eine Menge Zeit sparen. Das werde ich versuchen!
Nun muss nur noch meine Lieferung aus Polen ankommen :mrgreen:
Grüße,
Marc.
-
Hallo RamSauer,
mein KLF200 kam heute an.
In nichtmals 60 Minuten konnte ich meine Astro- und Sonnenschutz-Steuerung für 3 Velux Rollladen in IOBroker an den Start bringen.
Danke nochmal für deinen Input! Du hast mir sehr viel Zeiteinsatz erspart! :mrgreen:
Grüße,
Marc.
-
Ich habe des öfteren folgendes Problem:
javascript.0 script.js.common.rollläden.rollläden_astro-steuerung_velux: Es ist ein Fehler aufgetreten ( Error: socket hang up )! Logout erfolgt jetzt!
Socket hang up…irgendwie macht das KLF200 die Verbindung teilweise einfach zu und dann wird das Programm nicht ausgeführt.
Da ich alles im LAN an einem Switch betreibe, kann ich ein Netzwerk-Problem ausschließen.
Kennt irgendwer Lösungsansätze?
Grüße,
Marc.
-
Hallo
Habe nun einen KLF200 - eine Frage an die Erfahrenen….:
Sehe ich das richtig, dass ich ihn nicht per WLAN in mein Heimnetz bekomme? Nur per Kabel?
Nirgends kann ich die SSID einstellen..
Gruss -
-
Nirgends kann ich die SSID einstellen.. `
http://weshare.velux.com/A/We%20Share/8 … ding=UTF-8
Gruß
Rainer
-
Ja genau…das macht ein eigenes wlan auf. Man kann aber ihm nicht beibringen sich ins vorhandene wlan als client einzuloggen?
Gruss
-
Warum auch?
das ist ja nur ein Interface das per externer Signale gesteuert wird.
Was soll es denn mit WLAN?
Gruß
Rainer
-
Es würd schon Sinn machen mit dem WLAN. Denn man kann das KLF 200 ja auch prima nutzen ohne irgendwelche Strippen anzuschliessen.
Ich hoffe mit dem nächsten Firmware-Update kommt noch eine Rückmeldung des aktuellen Geräte-Status (z.B. Rolllade 35 %) mit über die API.
Dann könnte man über das KLF 200 alle Fenster/Rollladen vollwertig per API steuern, ohne eine einzige Strippe anzuschliessen.
Naja gut, eine Strippe brauchen wir, für den Strom. Und solang das mit dem WLAN nicht geht halt noch eine weitere für LAN.
-
Hallo,
Okay, dann LAN.
Ich hab das Skript genommen und bearbeitet - ich habe ein CuxD Fernbedienung genommen:
on({id:"hm-rpc.0.CUX3300001.1.PRESS_SHORT"/*DG-Velux-Beide-Hoch.PRESS_SHORT*/, val: true, ack: true}, function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; log('Velux-Beide-Hoch Kanal 1 true short'); Run_Velux_KLF200_Program("DG-Beide-Hoch"); log('Fertig'); });
Jemand eine Idee? Liegt das am CuxD Gerät?
EDIT: okay, das````
ack:trueGruss -
-
Es würd schon Sinn machen mit dem WLAN. Denn man kann das KLF 200 ja auch prima nutzen ohne irgendwelche Strippen anzuschliessen.
Ich hoffe mit dem nächsten Firmware-Update kommt noch eine Rückmeldung des aktuellen Geräte-Status (z.B. Rolllade 35 %) mit über die API.
Dann könnte man über das KLF 200 alle Fenster/Rollladen vollwertig per API steuern, ohne eine einzige Strippe anzuschliessen.
Naja gut, eine Strippe brauchen wir, für den Strom. Und solang das mit dem WLAN nicht geht halt noch eine weitere für LAN. `
Können wir gerne zusammen hoffen - aber … unter der in der Doku angegebenen Webseite: https://updates2.velux.com/ ist bisher kein einziges FW Update vorhanden. Das Gerät ist ja schon etwas auf dem Markt…denke nicht, dass da was kommen wird
Gruss
-
Ich hatte in einem anderen Forum gelesen, dass das letzte Update einen üblen Bug hat und daher zurückgezogen wurde. Etwas Hoffnung bleibt also noch :mrgreen:
-
Hallo zusammen,
als ich auf Github den KLF200 Adapter entdeckte habe ich mir das gute Stück sofort aus Polen bestellt
Als er dann da war habe ich dann festgestellt, dass der Adapter (zumindest von mir :lol: ) nicht so ohne Weiteres installiert werden kann.
Ist der Adapter noch in Arbeit, so dass bald eine Version erscheint, die man einfach über das Admin-Interface installieren kann?
Das wäre super, meine Velux Rollos sind die letzten Rollos, die sich meiner totalen Kontrolle entziehen :lol:
Gruß
Andi
-
-
https://github.com/ioBroker/AdapterRequests/issues/20
Wäre ja schade, wenn die Arbeit eingestellt wurde…
Gruß
Andi
-
Den "AdapterName" hast du aber gelesen?
https://github.com/ioBroker/%5Bb%5DAdapterRequests/issues/20
Gruß Rainer
-
https://github.com/MiSchroe/ioBroker.klf200
Der Name ist besser?
-
Ist nicht dein Ernst.
Dort wurde im September 2017 EINE Datei mit der Lizenz hochgeladen.
Seitdem nichts weiteres.
Gruß Rainer
-
Hallo Zusammen,
der Adapter für das VELUX KLF-200 Interface ist jetzt fertig. Näheres auch unter viewtopic.php?f=24&t=15919
Viele Grüße
Michael