Velux io-homecontrol über KLF-200 mit FHEM

Begonnen von döner123, 12 Juni 2017, 16:04:34

Vorheriges Thema - Nächstes Thema

DS_Starter

Hallo Boris,

ich verfolge die Entwicklung der io-Homecontrol Steuerung aufmerksam mit.
Danke für dein Engagement in Richtung Velux !

Seit kurzem habe ich ein Velux ACTIVE System zur Steuerung meiner Velux Dachfenster im Einsatz. Es ist erstmal nur zur Steuerung der Solar-Außenrollos. Die Fenster sind etwas älter und noch nicht solarbetrieben, aber ich habe bei Velux gelesen dass es entsprechende Nachrüstsets gibt. Muss ich mal schauen.
Damit könnte man die Fenster selbst über Velux ACTIVE öffnen und schließen. Das System selbst bringt Sensoren für Temperatur, CO2 und Luftfeuchtigkeit im Zimmer sowie Schalter für Anwesenheit/Abwesenheit mit. Ein Gateway zur Cloudanbindung ist ebenfalls Bestandteil da darüber die App-Steuerung funktioniert.

Es wäre also super interessant wenn es gelinge Velux ACTIVE mit FHEM zu verheiraten.
Leider habe ich im Netz bisher keinerlei Infos/Ansatzpunkte für eine API zu diesem System gefunden.
Falls du über deine Kontakte evtl. Möglichkeiten siehst eine solche API zu beschaffen (sofern Velux Interesse an einer Zusammnearbeit hat), würde ich gerne dein Modul für Velux ACTIVE unterstützen zu erweitern falls es passt.
Nur mal so als Idee, denn wenn ich richtig verstanden habe soll dein Modul wenn möglich mehrere Typen von io-Homecontrol kompatiblen Geräten unterstützen.

LG,
Heiko
ESXi@NUC+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

Dr. Boris Neubert

Hallo Heiko,

Zitat von: DS_Starter am 08 September 2018, 10:01:57
Es wäre also super interessant wenn es gelinge Velux ACTIVE mit FHEM zu verheiraten.

ich habe hier ein Velux ACTIVE liegen. Aus Zeitmangel habe ich es noch nicht in Gang gebracht. Vielleicht dieses Wochenende. Danach werde ich mich mit der Integration in FHEM befassen. Demnächst mehr!

Viele Grüße
Boris
Globaler Moderator, Developer, aktives Mitglied des FHEM e.V. (Marketing, Verwaltung)
Bitte keine unaufgeforderten privaten Nachrichten!

DS_Starter

Prima  :)

Unterstütze auch gerne wenn Bedarf besteht.

schönes WE ...

LG,
Heiko
ESXi@NUC+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

buennerbernd

#63
Hallo

Es gibt eine Neue Firmware:
auf der Webseite steht nun: 0.2.0.0.71.0
Ist erst ein paar Tage alt: https://updates2.velux.com/

Ist jemand mutig?

Viele Grüße,
Stefan.

Update: Vielleicht besser nicht installieren. Im Netz schreibt man, dass der LAN-Anschluss nicht mehr geht.
Modulentwickler von KLF200 und KLF200Node

derFunk

#64
Ein Velux-Entwickler hat sich hier zu Wort gemeldet und das Change Log, API-Dokumentation und Python-Beispielcode bereitgestellt: https://community.openhab.org/t/io-homecontrol-velux-somethings-in-the-bush/11413/146

- http://klf200.renejosefsen.dk/KLF200_changelog.txt
- http://klf200.renejosefsen.dk/KLF200_API.pdf
- http://klf200.renejosefsen.dk/KLF200_getting_started_python.zip


Vielleicht hilfts auch FHEM!

buennerbernd

Inzwischen gibt es auch einen Link, der etwas offizieller anmutet:

https://www.velux.com/api/klf200

Ich habe das API mal überflogen.
Gut ist, dass sie scheinbar alles ohne Einschränkungen zur Verfügung stellen, was iohomecontrol kann.
Das API läuft über einen TCP-Socket und nicht mehr über Rest.
Blöd ist, dass das Configuration-UI, welches wir zur Zeit missbrauchen nicht mehr über LAN zur Verfügung steht, (evtl. ist es über WLAN weiterhin nutzbar).

Für die neue Firmware muss also ein komplett neues Modul geschrieben werden. Derjenige, der sich da rantraut und die neue Firmware installiert, wird vermutlich auf die bestehende Steuerung verzichten müssen, bis das neue Modul funktioniert.
Modulentwickler von KLF200 und KLF200Node

Dr. Boris Neubert

Hallo und vielen Dank für das Teilen der Links!

Da werde ich mich mal ein Wochenende im November hinsetzen.

Da immer nur ein Kommando gleichzeitig aktiv sein kann, kann ich den in der aktuellen Version enthaltenen Warteschlangenmechanismus beibehalten. Die Kommunikation muss ich aber auf dieses binäre, in SLIP gekapselte Protokoll umstellen.

Gut ist, dass es nun offenbar sowohl eine Bestätigung gibt, dass ein Kommando angenommen wurde, als auch eine Information, dass es abgearbeitet wurde. Vermutlich mache ich mich erst an die Szenen und dann schaue ich mal, ob/wie man mit dem API einzelne Rollläden auf eine bestimmte Position fahren kann.

Auch scheint der Fehler behoben, dass bei einem Update die Systemtabellen verloren gehen. Das hat mich nach dem letzten Update zum Reset aller Rollläden aufs Dach geschickt.

Viele Grüße
Boris
Globaler Moderator, Developer, aktives Mitglied des FHEM e.V. (Marketing, Verwaltung)
Bitte keine unaufgeforderten privaten Nachrichten!

pejonp

So habe mal die neue Version auf die KLF200 installiert. Läuft soweit. Keine Verluste an Produkten oder Programmen. Meine 4 Fensteröffner und 4 Solarrollläden sind noch da.

Oberfläche ist nur noch über WLAN (Tablet) erreichbar. Beim Aufruf über LAN (Firefox,IE) kommt ein Fehler:Verbindung fehlgeschlagen, aber keine Anzeige.

Die Beispiel von der Homepage (https://www.velux.com/api/klf200)  (Python Demo) funktionieren unter Windows. Ich konnte damit die Scenen ansteuern. LAN-Verbindung.

pejonp
LaCrossGW 868MHz:WT470+TFA+TX37-IT+EMT7110+W136+WH25A HP1003+WH2621
SignalD(CC1101):Bresser+WS-0101(868MHz WH1080)+Velux KLF200+MAX!+HM-MOD-UART:Smoke HM-SEC-SD+VITOSOLIC 200 RESOL VBUS-LAN+SolarEdge SE5K(Modbus)+Sonnen!eco8(10kWh)+TD3511+DRT710M(Modbus)+ZigBee+Z-Wave+MQTT+vitoconnect

Dr. Boris Neubert

Danke, pejonp, dass Du Dich für die Forschung geopfert hast!  :)

Zitat von: pejonp am 08 Oktober 2018, 00:06:36
Oberfläche ist nur noch über WLAN (Tablet) erreichbar. Beim Aufruf über LAN (Firefox,IE) kommt ein Fehler:Verbindung fehlgeschlagen, aber keine Anzeige.

Das ist ein No-Go. Mein KLF200 ist nur per LAN angebunden.

Im Changelog steht dazu gar nichts. Gibt es im Webinterface eine Einstellung dazu?

Wenn sich erhärtet, dass das Webinterface nicht über LAN zugänglich ist, dann müssen wir einen Fehler bei Velux melden.

Viele Grüße
Boris
Globaler Moderator, Developer, aktives Mitglied des FHEM e.V. (Marketing, Verwaltung)
Bitte keine unaufgeforderten privaten Nachrichten!

pschlaeppi

Guten Tag zusammen,

Ich habe Gestern auch mal versucht einen meiner 2 KLF200 aufzurüsten auf den neuen Release.
Ich habe dieselbe Beobachtung gemacht wie pejonp.
Positiv dabei war das bei mir sowohl die angelernten Produkte und Scenen den Upgrade überlebt haben.
Habe auch versucht eins der Programme zu starten ab der Web Oberfläche, was auch funktionierte.

Betreffend:
ZitatIm Changelog steht dazu gar nichts. Gibt es im Webinterface eine Einstellung dazu?

habe ich in der Web Oberfläche nichts gefunden das man da einstellen könnte. Ich habe aber auf Grund des untenstehenden Passus aus dem API Dokument die Vermutung dass dieses Verhalten so gewollt ist.
Zitat4.1 TCP/IP interface
The Ethernet module establishes a TCP/IP server listening at port 51200. Up to two
sockets can be established at the same time on wired ethernet.
TCP/IP socket will be closed after 15 min, with no communication. The command
GW_GET_STATE_REQ can be used to ping KLF200 from time to time, to keep the socked
established.
TLS is used to encrypt communication. For now, the certificate is self-signed.

Grüsse

Philipp


Dr. Boris Neubert

Danke auch Dir, Philipp, für die Beobachtung.

Mit frischem Blick darauf ist die fehlende Bindung des Webinterface an das LAN-Interface zwar immer noch ein Mangel für mich aber kein Showstopper. Wird halt alles über FHEM gesteuert werden.  8)

Hoffe mit den Python-Vorlagen an einem Wochenende eine neue Version entwickeln zu können. Werde aber wegen anderer Verpflichtungen nicht vor November dazu kommen.

Beste Grüße
Boris
Globaler Moderator, Developer, aktives Mitglied des FHEM e.V. (Marketing, Verwaltung)
Bitte keine unaufgeforderten privaten Nachrichten!

buennerbernd

Kann man sich mit der neuen Firmware dauerhaft in das Haus-WLAN einwählen oder macht nur die KLF200 Box das WLAN als Hotspot auf?
Modulentwickler von KLF200 und KLF200Node

pejonp

#72
Hallo,

ist für KLF200 mit der neuen Firmware 0.2.0.0.71.0.
Ich habe mir mal ein Perl-Script gestrickt was z.Z. nur die hinterlegten Scenen starten kann. Keine Statusprüfung oder sonst irgend etwas. Ist vielleicht etwas für erfahrene FHEM-User. Im Script muss das Passwort und die IP-Adresse angepasst werden.

Das Script kann per Commandozeile im Linux gestarte werden :  perl ./99_KLF200.pl 1 <-- Scenen-ID

oder auch von FHEM aus. Das Script ins FHEM-Verzeichnis (/opt/fhem/FHEM) legen und Eigner fhem und Zugriff 777.

Im FHEM einen Dummy und Notify anlegen. Hier mal meine Konfig. Es kann immer nur ein Befehl abgesendet werden. Dieser muss erst fertig sein, dann wird der nächste verarbeitet. 1-2 mal hat sich der KLF200 auch schon aufgehangen. Nach Aus- und Einschalten ging bei mir alles wieder. ggf. müssen auch noch Perl-Libs (CRC) nachinstalliert werden.


define AlleFenster_n notify AlleFenster {if ($EVENT eq "auf") {system "perl /opt/fhem/FHEM/99_KLF200.pl 0 &";;}else{system "perl /opt/fhem/FHEM/99_KLF200.pl 1 &";;}Log 1, "notify AlleFenster_aufzu: $NAME $EVENT";;}
attr AlleFenster_n room VELUX
attr AlleFenster_n verbose 5
define AlleRolladen_n notify AlleRolladen {if ($EVENT eq "auf") {system "perl /opt/fhem/FHEM/99_KLF200.pl 9 &";;}else{system "perl /opt/fhem/FHEM/99_KLF200.pl 8 &";;}Log 1, "notify AlleRolladen_aufzu: $NAME $EVENT";;}
attr AlleRolladen_n room VELUX
attr AlleRolladen_n verbose 5

define BellaRolladen_n0 notify BellaRolladen {if ($EVENT eq '0' ) {system "perl /opt/fhem/FHEM/99_KLF200.pl 3 &";;} Log 1, "notify BellaRolladen_auf: $NAME $EVENT";;}
attr BellaRolladen_n0 room VELUX
define BellaRolladen_n50 notify BellaRolladen {if ($EVENT eq '50' ) {system "perl /opt/fhem/FHEM/99_KLF200.pl 13 &";;} Log 1, "notify BellaRolladen_50: $NAME $EVENT";;}
attr BellaRolladen_n50 room VELUX
define BellaRolladen_n100 notify BellaRolladen {if ($EVENT eq '100' ) {system "perl /opt/fhem/FHEM/99_KLF200.pl 2 &";;} Log 1, "notify BellaRolladen_zu: $NAME $EVENT";;}
attr BellaRolladen_n100 room VELUX

define JoergRolladen_n0 notify JoergRolladen {if ($EVENT eq '0' ) {system "perl /opt/fhem/FHEM/99_KLF200.pl 7 &";;} Log 1, "notify JoergRolladen_auf: $NAME $EVENT";;}
attr JoergRolladen_n0 room VELUX
define JoergRolladen_n50 notify JoergRolladen {if ($EVENT eq '50' ) {system "perl /opt/fhem/FHEM/99_KLF200.pl 10 &";;} Log 1, "notify JoergRolladen_50: $NAME $EVENT";;}
attr JoergRolladen_n50 room VELUX
define JoergRolladen_n100 notify JoergRolladen {if ($EVENT eq '100' ) {system "perl /opt/fhem/FHEM/99_KLF200.pl 6 &";;} Log 1, "notify JoergRolladen_zu: $NAME $EVENT";;}
attr JoergRolladen_n100 room VELUX

define JoergFenster_n notify JoergFenster {if ($EVENT eq "auf") {system "perl /opt/fhem/FHEM/99_KLF200.pl 4 &";;}else{system "perl /opt/fhem/FHEM/99_KLF200.pl 5 &";;}Log 1, "notify JoergFenster_aufzu: $NAME $EVENT";;}
attr JoergFenster_n room VELUX

define BellaFenster_n notify BellaFenster {if ($EVENT eq "auf") {system "perl /opt/fhem/FHEM/99_KLF200.pl 12 &";;}else{system "perl /opt/fhem/FHEM/99_KLF200.pl 11 &";;}Log 1, "notify JoergFenster_aufzu: $NAME $EVENT";;}
attr BellaFenster_n room VELUX

define AlleRolladen dummy
attr AlleRolladen devStateIcon zu:shutter_closed auf:shutter_open
attr AlleRolladen room VELUX
attr AlleRolladen webCmd auf:zu

define AlleFenster dummy
attr AlleFenster devStateIcon zu:fts_window_roof auf:fts_window_roof_open_2
attr AlleFenster room VELUX
attr AlleFenster webCmd auf:zu

define BellaRolladen dummy
attr BellaRolladen devStateIcon 100:shutter_closed 50:shutter_3 0:shutter_open
attr BellaRolladen room VELUX
attr BellaRolladen webCmd 0:50:100

define BellaFenster dummy
attr BellaFenster devStateIcon zu:fts_window_roof auf:fts_window_roof_open_2
attr BellaFenster room VELUX
attr BellaFenster webCmd auf:zu

define JoergRolladen dummy
attr JoergRolladen devStateIcon 100:shutter_closed 50:shutter_3 0:shutter_open
attr JoergRolladen room VELUX
attr JoergRolladen webCmd 0:50:100

define JoergFenster dummy
attr JoergFenster devStateIcon zu:fts_window_roof auf:fts_window_roof_open_2
attr JoergFenster room VELUX
attr JoergFenster webCmd auf:zu


pejonp

PS: neue Datei Antwort #76
LaCrossGW 868MHz:WT470+TFA+TX37-IT+EMT7110+W136+WH25A HP1003+WH2621
SignalD(CC1101):Bresser+WS-0101(868MHz WH1080)+Velux KLF200+MAX!+HM-MOD-UART:Smoke HM-SEC-SD+VITOSOLIC 200 RESOL VBUS-LAN+SolarEdge SE5K(Modbus)+Sonnen!eco8(10kWh)+TD3511+DRT710M(Modbus)+ZigBee+Z-Wave+MQTT+vitoconnect

buennerbernd

Hallo pejonp,

ich habe das mal ausprobiert.
Ich bekomme folgenden Fehler scheinbat in Zeile 129 in deinem Script ausgegeben:
2018.10.14 23:12:18 1: notify AlleRolladen_aufzu: AlleRolladen zu
cannot connect to the server :: :SSL connect attempt failed error:14090086:SSL routines:ssl3_get_server_certificate:certificate verify failed:

Hast du eine Idee?

Gruß, Stefan.
Modulentwickler von KLF200 und KLF200Node

pejonp

#74
@buennerbernd
Hallo,die neue Software ist drauf ? KLF200 SCHON EINMAL stromlos gemacht ? Szenen im klf200 angelegt? Richtige id genommen?
Das Script einmal unter Linux von der Kommandozeile ausführen. Vielleicht fehlen noch Perl Module.

apt-get install libdigest-crc-perl  libio-socket-ssl-perl

Oder

perl -MCPAN -e shell install IO::Socket::SSL


Pejonp
LaCrossGW 868MHz:WT470+TFA+TX37-IT+EMT7110+W136+WH25A HP1003+WH2621
SignalD(CC1101):Bresser+WS-0101(868MHz WH1080)+Velux KLF200+MAX!+HM-MOD-UART:Smoke HM-SEC-SD+VITOSOLIC 200 RESOL VBUS-LAN+SolarEdge SE5K(Modbus)+Sonnen!eco8(10kWh)+TD3511+DRT710M(Modbus)+ZigBee+Z-Wave+MQTT+vitoconnect