I assume this will require a new openhab binding?
Yes.
The negative point is, that the protocol has been changed from AJAX to SLIP (RFC 1055). Therefore this will
lead to a changed binding.
The positive point is, that there are a lot of different methods which will extend the functions of the binding.
We´re counting on you, Guenther
Looking forward to this new API
Hi
I’ve just dropped your V2.3 snapshot Binding into the Addons folder (alongside another binding), but nothing appears in PaperUI.
Do I need to do something more than just add the jar file?
Your GitHub page mentions a config file with parameters, but there isn’t an example file for me to start from.
Cheers,
Stuart
Update
I’ve just reread the whole thread and now have a better understanding of the changes.
I’m happy to wait as long as needed
Good luck
This is probably the best thread to use:
As for you question. I have no idea… I just searched for my cfg file, but I cant find it… I wonder how the heck I manaed to get it to work. It´s still working though.
Thanks Kim
If you suddenly figure out what you did, please do let us know
Cheers,
Stuart
Ahh… I think you can add the KLF200 manually… If you got the binding installed, go to Things (In paperUI), and add it manually, by pressing the + and choose Velux… Add your KLF200 in there.
Hi
That’s the part that’s causing the issue.
I see all other bindings, but not the Velux one.
I’ve tried both V2.3 & V2.4
As well as a OpenHab2 restart
Hmm so you havn´t got the binding installed!
I remember having the same issue first time. I had to download it again (using another way of downloading), cause the jar file was somehow corrupt. After that, the binding installed just fine and have been working ever since. (I think I wrote a message about it in the other Velux binding thread).
I recall reading someone runing openhab ina docker having problems as well. I´m using an RPi running the apt-get openhabian (hasslefree). 2.3.0 stable.
Arrrr okay
That’s easy to try
FYI
Previously, I simply used the wget method direct to the GitHub file
Update
This seems to be the problem.
If I issue
wget https://github.com/gs4711/org.openhab.binding.velux/blob/master/org.openhab.binding.velux-2.3.0-SNAPSHOT.jar
I get a 34KB file.
If I follow that link in a browser, it downloads a jar file of 94KB.
So…
I issued
wget https://github.com/gs4711/org.openhab.binding.velux/blob/master/org.openhab.binding.velux-2.3.0-SNAPSHOT.jar?raw=true
But I get a 94KB file, with this filename
org.openhab.binding.velux-2.3.0-SNAPSHOT.jar?raw=true
I’ll rename it and see what happens…
That’s fixed it
Thanks for your help
Lesson learnt… Check the file size of downloaded files
Yeah I´d struggle with that as well… Dont know why it happened.
At least you got it working.
Hi Stuart,
I share you my configuration
I followed the quick start https://github.com/gs4711/org.openhab.binding.velux, and the velux binding is working great.
My configuration:
KLF200 Firmware: 0.1.1.0.41.0
Raspberry pi 2
openHAB 2.3.0-1
Copyed de binding with windows explorer: \openHAB-share\openhab2-addons\org.openhab.binding.velux-2.4.0-SNAPSHOT.jar
*.things file
Default velux password velux123.
Use IP address instead of URL (give your KLF200 a static IP Adress)
//Velux
Bridge velux:klf200:home [ bridgeIPAddress="192.168.1.100", bridgeTCPPort=80,bridgePassword=" velux123",timeoutMsecs=5000, retries=9 ]
{
//Ramen
Thing scene grWindowClosed [ sceneName="Gr_raam_000" ]
Thing scene grWindowUnlocked [ sceneName="Gr_raam_005" ]
Thing scene grWindow050 [ sceneName="Gr_raam_050" ]
Thing scene grWindowOpened [ sceneName="Gr_raam_100" ]
Thing scene klWindowClosed [ sceneName="Kl_raam_000" ]
Thing scene klWindowUnlocked [ sceneName="Kl_raam_005" ]
Thing scene klWindow050 [ sceneName="Kl_raam_050" ]
Thing scene klWindowOpened [ sceneName="Kl_raam_100" ]
Thing scene allWindowClosed [ sceneName="Alle_ramen_000" ]
Thing scene allWindowUnlocked [ sceneName="Alle_ramen_005" ]
Thing scene allWindow050 [ sceneName="Alle_ramen_050" ]
Thing scene allWindowOpened [ sceneName="Alle_ramen_100" ]
//Blindings
Thing scene allBlindingClosed [ sceneName="All_Blinding_000" ]
Thing scene allBlindingOpened [ sceneName="All_Blinding_100" ]
Thing scene grBlindingClosed [ sceneName="Gr_Blinding_000" ]
Thing scene grBlindingOpened [ sceneName="Gr_Blinding_100" ]
Thing scene klBlindingClosed [ sceneName="Kl_Blinding_000" ]
Thing scene klBlindingOpened [ sceneName="Kl_Blinding_100" ]
}
*.items file
/*Velux*/
//Scenes ramen
Switch All_raam_OPEN "Alle ramen open" (gV) { channel="velux:scene:home:allWindowOpened:action" }
Switch All_raam_UNLOCKED "Alle ramen ventilatie" (gV) { channel="velux:scene:home:allWindowUnlocked:action" }
Switch All_raam_050 "Alle ramen 50%" (gV) { channel="velux:scene:home:allWindow050:action" }
Switch All_raam_CLOSED "Alle ramen dicht" (gV) { channel="velux:scene:home:allWindowClosed:action" }
Switch Gr_raam_OPEN "Gr raam open" (gV) { channel="velux:scene:home:grWindowOpened:action" }
Switch Gr_raam_UNLOCKED "Gr raam ventilatie" (gV) { channel="velux:scene:home:grWindowUnlocked:action" }
Switch Gr_raam_050 "Gr raam 50%" (gV) { channel="velux:scene:home:grWindow050:action" }
Switch Gr_raam_CLOSED "Gr raam dicht" (gV) { channel="velux:scene:home:grWindowClosed:action" }
Switch Kl_raam_OPEN "Kl raam open" (gV) { channel="velux:scene:home:klWindowOpened:action" }
Switch Kl_raam_UNLOCKED "Kl raam ventilatie" (gV) { channel="velux:scene:home:klWindowUnlocked:action" }
Switch Kl_raam_050 "Kl raam 50%" (gV) { channel="velux:scene:home:klWindow050:action" }
Switch Kl_raam_CLOSED "Kl raam dicht" (gV) { channel="velux:scene:home:klWindowClosed:action" }
//Scenes bindings
Switch All_blinding_OPEN "Alle bindings open" (gV) { channel="velux:scene:home:allBlindingOpened:action" }
Switch All_blinding_CLOSED "Alle bindings dicht" (gV) { channel="velux:scene:home:allBlindingClosed:action" }
Switch Gr_blinding_OPEN "Gr binding open" (gV) { channel="velux:scene:home:grBlindingOpened:action" }
Switch Gr_blinding_CLOSED "Gr binding dicht" (gV) { channel="velux:scene:home:grBlindingClosed:action" }
Switch Kl_blinding_OPEN "Kl binding open" (gV) { channel="velux:scene:home:klBlindingOpened:action" }
Switch Kl_blinding_CLOSED "Kl binding dicht" (gV) { channel="velux:scene:home:klBlindingClosed:action" }
//Satus KLF200
String V_BRIDGE_STATUS "Status" { channel="velux:klf200:home:status" }
String V_BRIDGE_FIRMWARE "Firmware" { channel="velux:klf200:home:firmware" }
String V_BRIDGE_IPADDRESS "IP" { channel="velux:klf200:home:ipAddress" }
String V_BRIDGE_SUBNETMASK "Subnet" { channel="velux:klf200:home:subnetMask" }
String V_BRIDGE_DEFAULTGW "Gateway" { channel="velux:klf200:home:defaultGW" }
String V_BRIDGE_WLANSSID "SSID" { channel="velux:klf200:home:WLANSSID" }
String V_BRIDGE_WLANPASSWD "WLAN Pas" { channel="velux:klf200:home:WLANPassword" }
String V_BRIDGE_SCENES "Scenes " { channel="velux:klf200:home:scenes" }
Group:Switch:OR(ON, OFF) gV "PushButtonVelux" (Home)
*.sitemap file
Frame label="Velux ramen"
{
Switch item=All_raam_OPEN icon=window
Switch item=All_raam_UNLOCKED icon=window
Switch item=All_raam_050 icon=window
Switch item=All_raam_CLOSED icon=window
Switch item=Gr_raam_OPEN icon=window
Switch item=Gr_raam_UNLOCKED icon=window
Switch item=Gr_raam_050 icon=window
Switch item=Gr_raam_CLOSED icon=window
Switch item=Kl_raam_OPEN icon=window
Switch item=Kl_raam_UNLOCKED icon=window
Switch item=Kl_raam_050 icon=window
Switch item=Kl_raam_CLOSED icon=window
}
Frame label="Velux blindings" icon="blinding"
{
Switch item=All_blinding_OPEN icon=blinds
Switch item=All_blinding_CLOSED icon=blinds
Switch item=Gr_blinding_OPEN icon=blinds
Switch item=Gr_blinding_CLOSED icon=blinds
Switch item=Kl_blinding_OPEN icon=blinds
Switch item=Kl_blinding_CLOSED icon=blinds
}
Frame label="Velux KLF200 status"
{
Text item=V_BRIDGE_STATUS icon=none
Text item=V_BRIDGE_FIRMWARE icon=none
Text item=V_BRIDGE_IPADDRESS icon=none
Text item=V_BRIDGE_SUBNETMASK icon=none
Text item=V_BRIDGE_DEFAULTGW icon=none
Text item=V_BRIDGE_WLANSSID icon=none
Text item=V_BRIDGE_WLANPASSWD icon=none
Text item=V_BRIDGE_SCENES icon=none
}
*.rule file
rule "PushButton of group gV"
when
Item gV changed
then
// waiting a second.
Thread::sleep(4000)
// Foreach-Switch-is-ON
gV.allMembers.filter( s | s.state == ON).forEach[i|
// switching OFF
sendCommand(i, OFF)
]
end
Paper UI Things, Velux products, Velux programs, Log fil OH
I am limited to one foto in a post ;-(
I hope you can do something with this information.
Is it possible to detect the status of a windows? (open, closed, 50%,…)
Or can we track wat was the latest command, like open window 100%
Thanks
Hi klf200developer,
Those are quite awesome news !
Thanks for sharing, looking forward to playing with it
From what I have read in the API, this will be real fun and expose a lot of things we have been looking for.
So my KLF200 is not useless anymore
Will you be exposing the config interface via ethernet in the future again ?
I just wanted to play with it but noticed that after I open the port once, the orange LED turns on and the port is closed and does not re-open again.
I nmap’ed the KLF200…
Rebooting the device gives an open port again; but then the same happens.
This is weird and I am wondering if this is a bug or intended @klf200developer ?
Thanks
Hi
We are now ready with our public API site for KLF200.
I hope you will find it usefull.
Hi sim0nx
- Right now and in the future I can see, we have configuration web page in KLF200 as http on WiFi. But all you can don on that web page you can also do with the API in wiren LAN.
- Can you come a little closer. You connect to port 51200 socket, and then do? The LED you mention, is that on LAN connector?
Hi klf200developer,
Ok that’s fine I guess.
I do a simple nmap port scan:
nmap -vvv -n -Pn 192.168.1.14 -p 51200
So I just test if that port is open.
If I now reboot my device, LED on top is green. I try that, port is open, all good.
Then the LED turng orange (on top of the device).
Now if I do the same test again, port is closed and stays closed until I reboot it again.
Either there is a problem with my device (latest firmware), or it does not like me opening the port without initiating a real session ?
I am happy to debug this if you tell me how (beta firmware is no problem either, just sayin…).
Thank you