[velux] New OpenHAB2 binding - feedback welcome!

THX, I know what I have to do for clear cache and temp.

The reason why I did not that, I do not want to stop/start openhab now.
I have a very big installation with a lot of items etc.
A total restart of openhab takes round about 20-30min until all items and reported things (mostly Z-Wave) back.

Ah okay. I see.

But believe this is the reason, as OH already see the bundle as registered.

I will give the binding a try by the next Start/stop action :wink:

Today I gave it a try.

Uninstall 2.2.0 Binding via KARAF → remove JAR File from addons folder → Stop OH → clear TMP and Cache folder → Start OH → put 2.3.0 binding in addons

But I got the same Error log as days before

Just bought a KLF200.
I can´t get velux binding 2.3 to load at all.
I have placed org.openhab.binding.velux-2.3.0-SNAPSHOT.jar in the usr/share/openhab2/addons
But I get absolutly no messages/logs at all. it just seems like it´s not there.

Did a bundle:list | grep elux from karaf console… it returned nothing

I have not had velux installed before, so I guess I shouldn´t have to clear cache and tmp.

Using apt-get openhab2.3 stable on Rpi3 B
This is my velux.cfg

Bridge velux:klf200:home   [ bridgeIPAddress="10.4.28.252", bridgeTCPPort=80, bridgePassword="xxxxxxxx", timeoutMsecs=2000, retries=10 ]  {
 Thing   scene   aVinduerluk    [ sceneName="Alle_vinduer_luk" ]
 Thing   scene   aVinduerVentilation  [ sceneName="Alle_vinduer_ventilation" ]
 Thing   scene   aVinduerÅbne    [ sceneName="Alle_vinduer_åben_100%" ] }

Finally managed to get the binidng installed… Guess I needed to download it another way…

Anyway, after installed, this is the event.log:

2018-06-24 22:18:26.009 [DEBUG] [org.openhab.binding.velux           ] - BundleEvent INSTALLED - org.openhab.binding.velux
2018-06-24 22:18:26.244 [DEBUG] [org.openhab.binding.velux           ] - BundleEvent RESOLVED - org.openhab.binding.velux
2018-06-24 22:18:26.638 [DEBUG] [org.openhab.binding.velux           ] - BundleEvent STARTING - org.openhab.binding.velux
2018-06-24 22:18:26.643 [DEBUG] [org.openhab.binding.velux           ] - BundleEvent STARTED - org.openhab.binding.velux
2018-06-24 22:18:26.657 [ERROR] [org.openhab.binding.velux           ] - [binding.velux] Cannot register Component
org.osgi.service.component.ComponentException: The component name 'binding.velux' has already been registered by Bundle 241 (org.openhab.binding.velux) as Component of Class org.openhab.binding.velux.internal.VeluxHandlerFactory
	at org.apache.felix.scr.impl.ComponentRegistry.checkComponentName(ComponentRegistry.java:222) [39:org.apache.felix.scr:2.0.12]
	at org.apache.felix.scr.impl.BundleComponentActivator.loadDescriptor(BundleComponentActivator.java:448) [39:org.apache.felix.scr:2.0.12]
	at org.apache.felix.scr.impl.BundleComponentActivator.initialize(BundleComponentActivator.java:315) [39:org.apache.felix.scr:2.0.12]
	at org.apache.felix.scr.impl.BundleComponentActivator.<init>(BundleComponentActivator.java:268) [39:org.apache.felix.scr:2.0.12]
	at org.apache.felix.scr.impl.Activator.loadComponents(Activator.java:388) [39:org.apache.felix.scr:2.0.12]
	at org.apache.felix.scr.impl.Activator.access$200(Activator.java:54) [39:org.apache.felix.scr:2.0.12]
	at org.apache.felix.scr.impl.Activator$ScrExtension.start(Activator.java:265) [39:org.apache.felix.scr:2.0.12]
	at org.apache.felix.utils.extender.AbstractExtender.createExtension(AbstractExtender.java:254) [39:org.apache.felix.scr:2.0.12]
	at org.apache.felix.utils.extender.AbstractExtender.modifiedBundle(AbstractExtender.java:227) [39:org.apache.felix.scr:2.0.12]
	at org.osgi.util.tracker.BundleTracker$Tracked.customizerModified(BundleTracker.java:482) [?:?]
	at org.osgi.util.tracker.BundleTracker$Tracked.customizerModified(BundleTracker.java:415) [?:?]
	at org.osgi.util.tracker.AbstractTracked.track(AbstractTracked.java:232) [?:?]
	at org.osgi.util.tracker.BundleTracker$Tracked.bundleChanged(BundleTracker.java:444) [?:?]
	at org.eclipse.osgi.internal.framework.BundleContextImpl.dispatchEvent(BundleContextImpl.java:908) [?:?]
	at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230) [?:?]
	at org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:148) [?:?]
	at org.eclipse.osgi.internal.framework.EquinoxEventPublisher.publishBundleEventPrivileged(EquinoxEventPublisher.java:213) [?:?]
	at org.eclipse.osgi.internal.framework.EquinoxEventPublisher.publishBundleEvent(EquinoxEventPublisher.java:120) [?:?]
	at org.eclipse.osgi.internal.framework.EquinoxEventPublisher.publishBundleEvent(EquinoxEventPublisher.java:112) [?:?]
	at org.eclipse.osgi.internal.framework.EquinoxContainerAdaptor.publishModuleEvent(EquinoxContainerAdaptor.java:168) [?:?]
	at org.eclipse.osgi.container.Module.publishEvent(Module.java:476) [?:?]
	at org.eclipse.osgi.container.Module.start(Module.java:467) [?:?]
	at org.eclipse.osgi.internal.framework.EquinoxBundle.start(EquinoxBundle.java:383) [?:?]
	at org.apache.felix.fileinstall.internal.DirectoryWatcher.startBundle(DirectoryWatcher.java:1260) [9:org.apache.felix.fileinstall:3.6.4]
	at org.apache.felix.fileinstall.internal.DirectoryWatcher.startBundles(DirectoryWatcher.java:1233) [9:org.apache.felix.fileinstall:3.6.4]
	at org.apache.felix.fileinstall.internal.DirectoryWatcher.doProcess(DirectoryWatcher.java:520) [9:org.apache.felix.fileinstall:3.6.4]
	at org.apache.felix.fileinstall.internal.DirectoryWatcher.process(DirectoryWatcher.java:365) [9:org.apache.felix.fileinstall:3.6.4]
	at org.apache.felix.fileinstall.internal.DirectoryWatcher.run(DirectoryWatcher.java:316) [9:org.apache.felix.fileinstall:3.6.4]
2018-06-24 22:18:26.714 [TRACE] [g.velux.internal.VeluxHandlerFactory] - supportsThingType(unifi:controller) called and returns false.
2018-06-24 22:18:26.723 [TRACE] [g.velux.internal.VeluxHandlerFactory] - supportsThingType(unifi:client) called and returns false.
2018-06-24 22:18:26.726 [TRACE] [g.velux.internal.VeluxHandlerFactory] - supportsThingType(unifi:client) called and returns false.
2018-06-24 22:18:26.729 [TRACE] [g.velux.internal.VeluxHandlerFactory] - supportsThingType(unifi:client) called and returns false.
2018-06-24 22:18:26.733 [TRACE] [g.velux.internal.VeluxHandlerFactory] - supportsThingType(unifi:client) called and returns false.
2018-06-24 22:18:26.736 [TRACE] [g.velux.internal.VeluxHandlerFactory] - supportsThingType(unifi:client) called and returns false.
2018-06-24 22:18:26.740 [TRACE] [g.velux.internal.VeluxHandlerFactory] - supportsThingType(unifi:client) called and returns false.
2018-06-24 22:18:26.744 [TRACE] [g.velux.internal.VeluxHandlerFactory] - supportsThingType(netatmo:NAModule1) called and returns false.
2018-06-24 22:18:26.747 [TRACE] [g.velux.internal.VeluxHandlerFactory] - supportsThingType(astro:sun) called and returns false.
2018-06-24 22:18:26.751 [TRACE] [g.velux.internal.VeluxHandlerFactory] - supportsThingType(mihome:sensor_switch) called and returns false.
2018-06-24 22:18:26.754 [TRACE] [g.velux.internal.VeluxHandlerFactory] - supportsThingType(hue:0010) called and returns false.
2018-06-24 22:18:26.758 [TRACE] [g.velux.internal.VeluxHandlerFactory] - supportsThingType(mihome:sensor_ht) called and returns false.
2018-06-24 22:18:26.761 [TRACE] [g.velux.internal.VeluxHandlerFactory] - supportsThingType(zwave:vision_zp3102_08_000) called and returns false.
2018-06-24 22:18:26.764 [TRACE] [g.velux.internal.VeluxHandlerFactory] - supportsThingType(zwave:serial_zstick) called and returns false.
2018-06-24 22:18:26.768 [TRACE] [g.velux.internal.VeluxHandlerFactory] - supportsThingType(mihome:sensor_magnet) called and returns false.
2018-06-24 22:18:26.771 [TRACE] [g.velux.internal.VeluxHandlerFactory] - supportsThingType(zwave:device) called and returns false.
2018-06-24 22:18:26.775 [TRACE] [g.velux.internal.VeluxHandlerFactory] - supportsThingType(zwave:vision_zg8101_00_000) called and returns false.
2018-06-24 22:18:26.778 [TRACE] [g.velux.internal.VeluxHandlerFactory] - supportsThingType(netatmo:netatmoapi) called and returns false.
2018-06-24 22:18:26.781 [TRACE] [g.velux.internal.VeluxHandlerFactory] - supportsThingType(zwave:shenzhen_motionsensor_00_000) called and returns false.
2018-06-24 22:18:26.785 [TRACE] [g.velux.internal.VeluxHandlerFactory] - supportsThingType(netatmo:NAMain) called and returns false.
2018-06-24 22:18:26.788 [TRACE] [g.velux.internal.VeluxHandlerFactory] - supportsThingType(mihome:bridge) called and returns false.
2018-06-24 22:18:26.791 [TRACE] [g.velux.internal.VeluxHandlerFactory] - supportsThingType(hue:bridge) called and returns false.
2018-06-24 22:18:26.795 [TRACE] [g.velux.internal.VeluxHandlerFactory] - supportsThingType(lgwebos:WebOSTV) called and returns false.
2018-06-24 22:18:26.798 [TRACE] [g.velux.internal.VeluxHandlerFactory] - supportsThingType(hue:0200) called and returns false.
2018-06-24 22:18:26.802 [TRACE] [g.velux.internal.VeluxHandlerFactory] - supportsThingType(hue:0200) called and returns false.
2018-06-24 22:18:26.805 [TRACE] [g.velux.internal.VeluxHandlerFactory] - supportsThingType(hue:0210) called and returns false.
2018-06-24 22:18:26.809 [TRACE] [g.velux.internal.VeluxHandlerFactory] - supportsThingType(zwave:fibaro_fgd212_00_000) called and returns false.
2018-06-24 22:18:26.812 [TRACE] [g.velux.internal.VeluxHandlerFactory] - supportsThingType(hue:0210) called and returns false.
2018-06-24 22:18:26.815 [TRACE] [g.velux.internal.VeluxHandlerFactory] - supportsThingType(zwave:aeon_zw100_01_007) called and returns false.
2018-06-24 22:18:26.819 [TRACE] [g.velux.internal.VeluxHandlerFactory] - supportsThingType(astro:moon) called and returns false.
2018-06-24 22:18:26.822 [TRACE] [g.velux.internal.VeluxHandlerFactory] - supportsThingType(zwave:everspring_st814_00_000) called and returns false.
2018-06-24 22:18:26.826 [TRACE] [g.velux.internal.VeluxHandlerFactory] - supportsThingType(hue:0200) called and returns false.
2018-06-24 22:18:26.829 [TRACE] [g.velux.internal.VeluxHandlerFactory] - supportsThingType(mihome:sensor_motion) called and returns false.
2018-06-24 22:18:26.832 [TRACE] [g.velux.internal.VeluxHandlerFactory] - supportsThingType(mihome:gateway) called and returns false.
2018-06-24 22:18:26.843 [DEBUG] [org.openhab.binding.velux           ] - ServiceEvent REGISTERED - {org.eclipse.smarthome.core.thing.binding.ThingHandlerFactory}={service.id=427, service.bundleid=241, service.scope=bundle, component.name=binding.velux, component.id=271} - org.openhab.binding.velux
2018-06-24 22:18:26.951 [TRACE] [g.velux.internal.VeluxHandlerFactory] - supportsThingType(unifi:controller) called and returns false.
2018-06-24 22:18:26.954 [TRACE] [g.velux.internal.VeluxHandlerFactory] - supportsThingType(unifi:client) called and returns false.
2018-06-24 22:18:26.958 [TRACE] [g.velux.internal.VeluxHandlerFactory] - supportsThingType(unifi:client) called and returns false.
2018-06-24 22:18:26.961 [TRACE] [g.velux.internal.VeluxHandlerFactory] - supportsThingType(unifi:client) called and returns false.
2018-06-24 22:18:26.964 [TRACE] [g.velux.internal.VeluxHandlerFactory] - supportsThingType(unifi:client) called and returns false.
2018-06-24 22:18:26.967 [TRACE] [g.velux.internal.VeluxHandlerFactory] - supportsThingType(unifi:client) called and returns false.
2018-06-24 22:18:26.970 [TRACE] [g.velux.internal.VeluxHandlerFactory] - supportsThingType(unifi:client) called and returns false.
2018-06-24 22:18:26.974 [TRACE] [g.velux.internal.VeluxHandlerFactory] - supportsThingType(unifi:controller) called and returns false.
2018-06-24 22:18:26.976 [TRACE] [g.velux.internal.VeluxHandlerFactory] - supportsThingType(unifi:client) called and returns false.
2018-06-24 22:18:26.979 [TRACE] [g.velux.internal.VeluxHandlerFactory] - supportsThingType(unifi:client) called and returns false.
2018-06-24 22:18:26.982 [TRACE] [g.velux.internal.VeluxHandlerFactory] - supportsThingType(unifi:client) called and returns false.
2018-06-24 22:18:26.985 [TRACE] [g.velux.internal.VeluxHandlerFactory] - supportsThingType(unifi:client) called and returns false.
2018-06-24 22:18:26.988 [TRACE] [g.velux.internal.VeluxHandlerFactory] - supportsThingType(unifi:client) called and returns false.
2018-06-24 22:18:26.991 [TRACE] [g.velux.internal.VeluxHandlerFactory] - supportsThingType(unifi:client) called and returns false.
2018-06-24 22:18:26.994 [TRACE] [g.velux.internal.VeluxHandlerFactory] - supportsThingType(netatmo:NAModule1) called and returns false.
2018-06-24 22:18:26.997 [TRACE] [g.velux.internal.VeluxHandlerFactory] - supportsThingType(astro:sun) called and returns false.
2018-06-24 22:18:27.000 [TRACE] [g.velux.internal.VeluxHandlerFactory] - supportsThingType(mihome:sensor_switch) called and returns false.
2018-06-24 22:18:27.003 [TRACE] [g.velux.internal.VeluxHandlerFactory] - supportsThingType(hue:0010) called and returns false.
2018-06-24 22:18:27.006 [TRACE] [g.velux.internal.VeluxHandlerFactory] - supportsThingType(mihome:sensor_ht) called and returns false.
2018-06-24 22:18:27.009 [TRACE] [g.velux.internal.VeluxHandlerFactory] - supportsThingType(zwave:vision_zp3102_08_000) called and returns false.
2018-06-24 22:18:27.012 [TRACE] [g.velux.internal.VeluxHandlerFactory] - supportsThingType(zwave:serial_zstick) called and returns false.
2018-06-24 22:18:27.015 [TRACE] [g.velux.internal.VeluxHandlerFactory] - supportsThingType(mihome:sensor_magnet) called and returns false.
2018-06-24 22:18:27.018 [TRACE] [g.velux.internal.VeluxHandlerFactory] - supportsThingType(zwave:device) called and returns false.
2018-06-24 22:18:27.021 [TRACE] [g.velux.internal.VeluxHandlerFactory] - supportsThingType(zwave:vision_zg8101_00_000) called and returns false.
2018-06-24 22:18:27.024 [TRACE] [g.velux.internal.VeluxHandlerFactory] - supportsThingType(netatmo:netatmoapi) called and returns false.
2018-06-24 22:18:27.028 [TRACE] [g.velux.internal.VeluxHandlerFactory] - supportsThingType(zwave:shenzhen_motionsensor_00_000) called and returns false.
2018-06-24 22:18:27.031 [TRACE] [g.velux.internal.VeluxHandlerFactory] - supportsThingType(netatmo:NAMain) called and returns false.
2018-06-24 22:18:27.034 [TRACE] [g.velux.internal.VeluxHandlerFactory] - supportsThingType(mihome:bridge) called and returns false.
2018-06-24 22:18:27.037 [TRACE] [g.velux.internal.VeluxHandlerFactory] - supportsThingType(hue:bridge) called and returns false.
2018-06-24 22:18:27.040 [TRACE] [g.velux.internal.VeluxHandlerFactory] - supportsThingType(lgwebos:WebOSTV) called and returns false.
2018-06-24 22:18:27.044 [TRACE] [g.velux.internal.VeluxHandlerFactory] - supportsThingType(hue:0200) called and returns false.
2018-06-24 22:18:27.047 [TRACE] [g.velux.internal.VeluxHandlerFactory] - supportsThingType(hue:0200) called and returns false.
2018-06-24 22:18:27.050 [TRACE] [g.velux.internal.VeluxHandlerFactory] - supportsThingType(hue:0210) called and returns false.
2018-06-24 22:18:27.053 [TRACE] [g.velux.internal.VeluxHandlerFactory] - supportsThingType(zwave:fibaro_fgd212_00_000) called and returns false.
2018-06-24 22:18:27.055 [TRACE] [g.velux.internal.VeluxHandlerFactory] - supportsThingType(hue:0210) called and returns false.
2018-06-24 22:18:27.058 [TRACE] [g.velux.internal.VeluxHandlerFactory] - supportsThingType(zwave:aeon_zw100_01_007) called and returns false.
2018-06-24 22:18:27.061 [TRACE] [g.velux.internal.VeluxHandlerFactory] - supportsThingType(astro:moon) called and returns false.
2018-06-24 22:18:27.064 [TRACE] [g.velux.internal.VeluxHandlerFactory] - supportsThingType(zwave:everspring_st814_00_000) called and returns false.
2018-06-24 22:18:27.067 [TRACE] [g.velux.internal.VeluxHandlerFactory] - supportsThingType(hue:0200) called and returns false.
2018-06-24 22:18:27.069 [TRACE] [g.velux.internal.VeluxHandlerFactory] - supportsThingType(mihome:sensor_motion) called and returns false.
2018-06-24 22:18:27.072 [TRACE] [g.velux.internal.VeluxHandlerFactory] - supportsThingType(mihome:gateway) called and returns false.

Forgot to mention… Everything seems to work though.

Well, set the log level to DEFAULT or INFO…
in karaf console:

log:set DEFAULT org.openhab.binding.velux

Sorry guys to bother,

May I ask your support in defining the physical layout? I need to understand if the solution with gateway is viable for me or not (as I don’t have any wire from all my 5 velux … as I said, everythings is managed via wireless and remote controllers, one controller for each velux).

thanks for your support, much appreciated

Andrea

Thx @Udo_Hartmann , I had it set for debug, since I couldn´t get the binding to load.
Everything is working now. And the loglevel is back to INFO.

Is there any special reason why I can´t log into the Velux KLF200 web interface. It said it´s beeing occupied by another user (guess thats OpenHab). ? Would I have to stop OpenHab to be able to get into the web interface of the KLF200, or is something wrong?

Guess it just need some patient :slight_smile: Working again.

Hi,
today I have started testing your binding. Works like a charm. Thank you very much!!!
I have only two small problems:

  1. Is it right that there could be only one connection to the klf200 box? It is not possible for me to work on the webinterface when openhab is connected.

  2. Is there any possibility to send a stop command? I could not find any Information about it.
    With a stop command it would be perfect.

Thanks for your effort and your help.

here is my hint:

Ok, that’s right. What about a stop command, is there any possibility?

Thank you!

Not possible with the firmware 0.1.1.0.44.0. The next one is in the queue (but do NOT try to upgrade to 0.2.0.0.71.0 as you’ll loose the networking connectivity on the LAN port).

Hi Günther,
with the new API from Velux, is there any chance to adapt the existing binding to it?
Would be very interesting to handle the Windows with the new posibbilities done by the API.

Have a nice weekend!

Hello Johannes,

the next version of the OH1 binding is ready for review (PR#5690). If you already have

upgraded to the new firmware, you can try it via

https://github.com/gs4711/org.openhab.binding.velux

Just look at the files org.openhab.binding.velux-1.13.0-SNAPSHOT.jar and corresponding README-v1.13.md)

Regards, Guenther

Hi Guenther,

Looks great, thank you for your effort. Why is it a oh1 binding? Can I use it with oh2? What is the difference? Is the last “old” version of your binding, working with the new firmware version?
Question and more question, thank you for your help!

Hi Johannes,

both bindings, the OH1 and the OH2, will be updated for the new protocol.
The OH1 binding is more-or-less ready to use … with the experiences it will
be much easier to integrate the complete stuff into the OH2 binding afterwards.

Regards, Guenther

1 Like

Hi Johannes,
the main difference is the support of generic device settings, i.e. you can use the io-homecontrol devices like normal rollershutters. From the side of bindings - beside the scenes - it will look like:

// Velux Shutters

Rollershutter V_DG_M_W	"Velux DG Window Bathroom [%d]"	{ velux="thing=actuator;channel=serial#01:52:21:3E:26:0C:1B"}
Rollershutter V_DG_M_S	"Velux DG Shutter Bathroom [%d]"{ velux="thing=actuator;channel=serial#01:52:00:21:00:07:00"}