[velux] New OpenHAB2 binding - feedback welcome!

Please show you whole thing file, (rename/blurring your password ofcouse).

Unfortunatelly the reload works fine in my two test scenarios:

14:29:00.385 [INFO ] [smarthome.event.ItemCommandEvent     ] - Item 'velux_klf200_e427ba8c_reload' received command ON
14:29:00.391 [INFO ] [arthome.event.ItemStatePredictedEvent] - velux_klf200_e427ba8c_reload predicted to become ON
14:29:00.396 [INFO ] [smarthome.event.ItemStateChangedEvent] - velux_klf200_e427ba8c_reload changed from OFF to ON
14:29:00.404 [INFO ] [.internal.bridge.slip.SlipVeluxBridge] - Sending command GW_PASSWORD_ENTER_REQ.
14:29:00.906 [INFO ] [.internal.bridge.slip.SlipVeluxBridge] - Received answer GW_PASSWORD_ENTER_CFM.
14:29:00.906 [INFO ] [ng.velux.internal.bridge.slip.SClogin] - velux bridge connection successfully established (login succeeded).
14:29:00.907 [INFO ] [.internal.bridge.slip.SlipVeluxBridge] - Sending command GW_GET_STATE_REQ.
14:29:01.410 [INFO ] [.internal.bridge.slip.SlipVeluxBridge] - Received answer GW_GET_STATE_CFM.
14:29:01.410 [INFO ] [.internal.bridge.slip.SlipVeluxBridge] - Sending command GW_GET_SCENE_LIST_REQ.
14:29:01.911 [INFO ] [.internal.bridge.slip.SlipVeluxBridge] - Received answer GW_GET_SCENE_LIST_CFM.
14:29:01.912 [INFO ] [x.internal.handler.VeluxBridgeHandler] - Found velux scenes:
	
14:29:01.913 [INFO ] [.internal.bridge.slip.SlipVeluxBridge] - Sending command GW_GET_ALL_NODES_INFORMATION_REQ.
14:29:02.415 [INFO ] [.internal.bridge.slip.SlipVeluxBridge] - Received answer GW_GET_ALL_NODES_INFORMATION_CFM.
14:29:02.416 [INFO ] [.internal.bridge.slip.SlipVeluxBridge] - Received answer GW_GET_ALL_NODES_INFORMATION_NTF.
14:29:02.418 [INFO ] [.internal.bridge.slip.SlipVeluxBridge] - Received answer GW_GET_ALL_NODES_INFORMATION_NTF.
14:29:02.419 [INFO ] [.internal.bridge.slip.SlipVeluxBridge] - Received answer GW_GET_ALL_NODES_INFORMATION_NTF.
14:29:02.420 [INFO ] [.internal.bridge.slip.SlipVeluxBridge] - Received answer GW_GET_ALL_NODES_INFORMATION_NTF.
14:29:02.421 [INFO ] [.internal.bridge.slip.SlipVeluxBridge] - Received answer GW_GET_ALL_NODES_INFORMATION_NTF.
14:29:02.422 [INFO ] [.internal.bridge.slip.SlipVeluxBridge] - Received answer GW_GET_ALL_NODES_INFORMATION_FINISHED_NTF.
14:29:02.422 [INFO ] [x.internal.handler.VeluxBridgeHandler] - Found velux actuators:
	Product "#0" / SLIDER_SHUTTER (bridgeIndex=0,serial=56:32:14:5A:12:1C:05:5F,position=0000)
	Product "#4" / SWITCH (bridgeIndex=4,serial=#4,position=0000)
	Product "." / SLIDER_SHUTTER (bridgeIndex=1,serial=53:09:40:5A:0C:23:0A:6E,position=0000)
	Product "DG-M-Window" / SLIDER_WINDOW (bridgeIndex=3,serial=56:23:3E:26:0C:1B:00:10,position=C800)
	Product "#2" / SLIDER_SHUTTER (bridgeIndex=2,serial=53:09:40:5A:0C:2A:05:64,position=0000)	
14:29:02.423 [INFO ] [.internal.bridge.slip.SlipVeluxBridge] - Sending command GW_HOUSE_STATUS_MONITOR_ENABLE_REQ.
14:29:02.925 [INFO ] [.internal.bridge.slip.SlipVeluxBridge] - Received answer GW_HOUSE_STATUS_MONITOR_ENABLE_CFM.
14:29:02.925 [INFO ] [x.internal.handler.VeluxBridgeHandler] - velux Bridge is online with 0 scenes and 5 actuators, now.
14:29:07.548 [DEBUG] [ernal.handler.ChannelActuatorPosition] - handleRefresh(velux:window:e427ba8c:DG_M_Window:position,position,org.openhab.binding.velux.internal.handler.VeluxBridgeHandler@2e68b07b) called.
14:29:07.549 [DEBUG] [lux.internal.bridge.slip.SCgetProduct] - getRequestCommand() returns GW_GET_NODE_INFORMATION_REQ (0x200).
14:29:07.550 [INFO ] [.internal.bridge.slip.SlipVeluxBridge] - Sending command GW_GET_NODE_INFORMATION_REQ.
14:29:08.054 [INFO ] [.internal.bridge.slip.SlipVeluxBridge] - Received answer GW_GET_NODE_INFORMATION_CFM.
14:29:08.054 [DEBUG] [lux.internal.bridge.slip.SCgetProduct] - setResponse(GW_GET_NODE_INFORMATION_CFM with 2 bytes of data) called.
14:29:08.056 [INFO ] [.internal.bridge.slip.SlipVeluxBridge] - Received answer GW_GET_NODE_INFORMATION_NTF.
14:29:08.057 [DEBUG] [lux.internal.bridge.slip.SCgetProduct] - setResponse(GW_GET_NODE_INFORMATION_NTF with 124 bytes of data) called.
14:29:08.062 [DEBUG] [ernal.handler.ChannelActuatorPosition] - handleRefresh(velux:rollershutter:e427ba8c:_:position,position,org.openhab.binding.velux.internal.handler.VeluxBridgeHandler@2e68b07b) called.
14:29:08.063 [DEBUG] [lux.internal.bridge.slip.SCgetProduct] - getRequestCommand() returns GW_GET_NODE_INFORMATION_REQ (0x200).
14:29:08.065 [INFO ] [.internal.bridge.slip.SlipVeluxBridge] - Sending command GW_GET_NODE_INFORMATION_REQ.
14:29:08.570 [INFO ] [.internal.bridge.slip.SlipVeluxBridge] - Received answer GW_GET_NODE_INFORMATION_CFM.
14:29:08.570 [DEBUG] [lux.internal.bridge.slip.SCgetProduct] - setResponse(GW_GET_NODE_INFORMATION_CFM with 2 bytes of data) called.
14:29:08.572 [INFO ] [.internal.bridge.slip.SlipVeluxBridge] - Received answer GW_GET_NODE_INFORMATION_NTF.
14:29:08.573 [DEBUG] [lux.internal.bridge.slip.SCgetProduct] - setResponse(GW_GET_NODE_INFORMATION_NTF with 124 bytes of data) called.
14:29:08.574 [DEBUG] [ernal.handler.ChannelActuatorPosition] - handleRefresh(velux:rollershutter:e427ba8c:_0:position,position,org.openhab.binding.velux.internal.handler.VeluxBridgeHandler@2e68b07b) called.
14:29:08.575 [DEBUG] [lux.internal.bridge.slip.SCgetProduct] - getRequestCommand() returns GW_GET_NODE_INFORMATION_REQ (0x200).
14:29:08.577 [INFO ] [.internal.bridge.slip.SlipVeluxBridge] - Sending command GW_GET_NODE_INFORMATION_REQ.
14:29:09.078 [INFO ] [.internal.bridge.slip.SlipVeluxBridge] - Received answer GW_GET_NODE_INFORMATION_CFM.
14:29:09.078 [DEBUG] [lux.internal.bridge.slip.SCgetProduct] - setResponse(GW_GET_NODE_INFORMATION_CFM with 2 bytes of data) called.
14:29:09.080 [INFO ] [.internal.bridge.slip.SlipVeluxBridge] - Received answer GW_GET_NODE_INFORMATION_NTF.
14:29:09.081 [DEBUG] [lux.internal.bridge.slip.SCgetProduct] - setResponse(GW_GET_NODE_INFORMATION_NTF with 124 bytes of data) called.
14:29:09.081 [DEBUG] [lux.internal.bridge.slip.SCgetProduct] - setResponse(): device provided invalid name, using '#0' instead.
14:29:09.085 [DEBUG] [ernal.handler.ChannelActuatorPosition] - handleRefresh(velux:actuator:e427ba8c:_4:state,state,org.openhab.binding.velux.internal.handler.VeluxBridgeHandler@2e68b07b) called.
14:29:09.085 [DEBUG] [lux.internal.bridge.slip.SCgetProduct] - getRequestCommand() returns GW_GET_NODE_INFORMATION_REQ (0x200).
14:29:09.087 [INFO ] [.internal.bridge.slip.SlipVeluxBridge] - Sending command GW_GET_NODE_INFORMATION_REQ.

No unexpected warnings, ā€¦ :worried:

This is the whole file, lots of outcommented stuff. Should I remove it for better readability?

/**
 * OpenHAB thing definition for velux binding:
 *  define basic Velux bridge parameters
 *
 * This is a definition which corresponds to the output of the Bridge
 * during startup, i.e.
 *
 * [INFO ] [x.internal.handler.VeluxBridgeHandler] - Found velux actuators:
 *      Product "#0" / SLIDER_SHUTTER (bridgeIndex=0,serial=56:32:14:5A:12:1C:05:5F,position=0000)
 *      Product "#1" / SLIDER_SHUTTER (bridgeIndex=1,serial=53:09:40:5A:0C:23:0A:6E,position=0000)
 *      Product "DG-M-Window" / SLIDER_WINDOW (bridgeIndex=3,serial=56:23:3E:26:0C:1B:00:10,position=C800)
 *      Product "#2" / SLIDER_SHUTTER (bridgeIndex=2,serial=53:09:40:5A:0C:2A:05:64,position=0000)
 *      Product "#4" / SWITCH (bridgeIndex=4,serial=Somfy-Switch,position=C800) 
 *      Product "#5" / SWITCH (bridgeIndex=5,serial=Somfy-Switch,position=C800) 
 *
 * @author Guenther Schreiner - Initial contribution
 */

//
// Definition of Velux bridge velux:klf200:home
//
// Wenn der KLF stromlos war wird er bei OH nicht mehr im laufenden Betrieb angemeldet. OH muss neu gestartet werden!!!!!!!!!!!!!!!!!!!!!!!!

Bridge velux:klf200:speicher    [ ipAddress="192.168.133.209", tcpPort=51200, password="removed" ] {

// Velux scenes
/*
    Thing   scene   windowClosed    [ sceneName="V_DG_Window_Mitte_000" ]
    Thing   scene   windowUnlocked  [ sceneName="V_DG_Window_Mitte_005" ]
    Thing   scene   windowOpened    [ sceneName="V_DG_Window_Mitte_100" ]
    Thing   scene   unknownScene    [ sceneName="ThisIsADummySceneName" ]
*/
// Velux IO-homecontrol devices
    Thing   window	VeluxBuero			[ serial="56:36:13:5A:11:28:15:36", inverted="true" ]
    Thing   window	VeluxWesten			[ serial="56:36:13:5A:12:07:04:2E", inverted="true" ]
    Thing   window	VeluxWestenSueden	[ serial="56:36:13:5A:12:07:04:02", inverted="true" ]
    Thing   window	VeluxOsten			[ serial="56:36:13:5A:12:07:04:2C", inverted="true" ]
    Thing   window	VeluxOstenSueden	[ serial="56:36:13:5A:12:07:04:26", inverted="true" ]

/*
    Thing   window              V_DG_M_W    [ serial="56:23:3E:26:0C:1B:00:10" ]
    Thing   rollershutter       V_DG_M_S    [ serial="56:23:3E:26:0C:1B:00:10" ]
    Thing   rollershutter       V_DG_W_S    [ serial="53:09:40:5A:0C:2A:05:64" ]
    Thing   rollershuffer       V_DG_O_S    [ serial="53:09:40:5A:0C:23:0A:6E" ]
    Thing   actuator            V_SWITCH1   [ name="#4" ]
    Thing   actuator            V_SWITCH2   [ name="#5" ]

// Virtual rollershutter

    Thing   vshutter            V_WINDOW    [ sceneLevels="0,V_DG_Window_Mitte_000#5,V_DG_Window_Mitte_005#100,V_DG_Window_Mitte_100" ]
*/
}

I will try clear the cache/tmp and see if this change anything on my systemā€¦

Thanks in advance! Could you perhaps include into the next feedback a view of the recognized things, i.e. with the command smarthome:things list ?

I think the last three things could be issuesā€¦

    Thing   actuator         V_SWITCH1        [ name="#4" ]
    Thing   actuator         V_SWITCH2        [ name="#5" ]
    Thing   vshutter         V_WINDOW        [ sceneLevels="0,V_DG_Window_Mitte_000#5,V_DG_Window_Mitte_005#100,V_DG_Window_Mitte_100" ]

Their syntacs [this part] looks very oddā€¦

These are commented out. Here is a ā€œcleanerā€ version of the file:

Bridge velux:klf200:speicher    [ ipAddress="192.168.133.209", tcpPort=51200, password="removed" ] {

// Velux IO-homecontrol devices
    Thing   window	VeluxBuero			[ serial="56:36:13:5A:11:28:15:36", inverted="true" ]
    Thing   window	VeluxWesten			[ serial="56:36:13:5A:12:07:04:2E", inverted="true" ]
    Thing   window	VeluxWestenSueden	[ serial="56:36:13:5A:12:07:04:02", inverted="true" ]
    Thing   window	VeluxOsten			[ serial="56:36:13:5A:12:07:04:2C", inverted="true" ]
    Thing   window	VeluxOstenSueden	[ serial="56:36:13:5A:12:07:04:26", inverted="true" ]
}

Does this cleaner version give errors as well?
btw I dont think /* */ works as comment out on things fileā€¦ use // always.

Hi there. Not sure, if this is the right place to post but will try anyway :stuck_out_tongue_winking_eye: (feel free to move). First of @gs4711 THANK YOU VERY MUCH. I really appreciate your work and help here with people getting velux things working!!!

This brings me to my issue. Initially I got thinks working like a charm but then one day everything broke no idea why. After upgrading to OH2.5, resetting and re-pairing my two shutters to the klf200 bridge I encounter frequent error messagesā€¦

==> /var/log/openhab2/openhab.log <==

2020-01-05 14:36:21.726 [INFO ] [ing.velux.handler.VeluxBridgeHandler] - handleCommand(velux:rollershutter:dffb1c6e:RollerShutterKidsRoom:limitation,REFRESH): updating of item velux:rollershutter:dffb1c6e:RollerShutterKidsRoom:limitation (type velux:rollershutter/limitation) failed.

==> /var/log/openhab2/events.log <==

2020-01-05 14:36:22.888 [me.event.ThingUpdatedEvent] - Thing 'velux:klf200:dffb1c6e' has been updated.

==> /var/log/openhab2/openhab.log <==

2020-01-05 14:36:22.909 [INFO ] [ing.velux.handler.VeluxBridgeHandler] - handleCommand(velux:rollershutter:dffb1c6e:RollerShutterBedRoom:limitation,REFRESH): updating of item velux:rollershutter:dffb1c6e:RollerShutterBedRoom:limitation (type velux:rollershutter/limitation) failed.

==> /var/log/openhab2/events.log <==

2020-01-05 14:36:22.911 [me.event.ThingUpdatedEvent] - Thing 'velux:klf200:dffb1c6e' has been updated.

2020-01-05 14:36:23.938 [me.event.ThingUpdatedEvent] - Thing 'velux:klf200:dffb1c6e' has been updated.

2020-01-05 14:36:23.953 [me.event.ThingUpdatedEvent] - Thing 'velux:klf200:dffb1c6e' has been updated.

2020-01-05 14:36:25.035 [me.event.ThingUpdatedEvent] - Thing 'velux:klf200:dffb1c6e' has been updated.

2020-01-05 14:36:25.058 [me.event.ThingUpdatedEvent] - Thing 'velux:klf200:dffb1c6e' has been updated. 

Any ideas?? Additional information required?

I tried the clean version. Things appear in Paper-UI, Switch ā€œinvertedā€ ist set correct, but execptions are thrown and Windows are not working. Iā€™m going to play back a backup and use the clean file thenā€¦

Guentherā€¦ I have serious problems here after cleaning the cacheā€¦
First the velux went online fine and found all actuators and scenes. After a few seconds it went offline with a java fault.

2020-01-05 15:09:21.956 [WARN ] [.internal.handler.VeluxBridgeHandler] - Exception occurred during activated refresh scheduler: {}.

java.util.concurrent.RejectedExecutionException: Task java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask@16f1abb rejected from org.eclipse.smarthome.core.internal.common.WrappedScheduledExecutorService@1d082d2[Terminated, pool size = 0, active threads = 0, queued tasks = 0, completed tasks = 15]

	at java.util.concurrent.ThreadPoolExecutor$AbortPolicy.rejectedExecution(ThreadPoolExecutor.java:2063) ~[?:1.8.0_222]

	at java.util.concurrent.ThreadPoolExecutor.reject(ThreadPoolExecutor.java:830) ~[?:1.8.0_222]

	at java.util.concurrent.ScheduledThreadPoolExecutor.delayedExecute(ScheduledThreadPoolExecutor.java:326) ~[?:1.8.0_222]

	at java.util.concurrent.ScheduledThreadPoolExecutor.schedule(ScheduledThreadPoolExecutor.java:533) ~[?:1.8.0_222]

	at java.util.concurrent.ScheduledThreadPoolExecutor.execute(ScheduledThreadPoolExecutor.java:622) ~[?:1.8.0_222]

	at org.openhab.binding.velux.internal.handler.VeluxBridgeHandler.refreshOpenHAB(VeluxBridgeHandler.java:422) ~[?:?]

	at org.openhab.binding.velux.internal.handler.VeluxBridgeHandler.lambda$1(VeluxBridgeHandler.java:273) ~[?:?]

	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:1.8.0_222]

	at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308) [?:1.8.0_222]

	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180) [?:1.8.0_222]

	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294) [?:1.8.0_222]

	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:1.8.0_222]

	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:1.8.0_222]

	at java.lang.Thread.run(Thread.java:748) [?:1.8.0_222]

Right now my system is still struggling getting fully up running. But I see the above issue all the timeā€¦
I dont know if the velux binding will return to normal :frowning:

EDIT - all the actuator and scenes are still online in PaperUI. But the error above still continues. I cant operate any windows though.

EDIT - System up running now, except the Velux which is still showing the errors. Things are still online in PaperUI. IĀ“ll try an restart (without clearing the cache) and see what happens.

@gs4711
My system is up running again after an restart (without clearing cache again). Velux us running fine again, but I get the same warning like first time:

2020-01-05 15:19:15.265 [INFO ] [.binding.velux.internal.VeluxBinding] - veluxConfig[protocol=slip,ipAddress=10.4.28.252,tcpPort=51200,password=********,timeoutMsecs=500,retries=5,refreshMsecs=10000,isBulkRetrievalEnabled=true,isSequentialEnforced=false,isProtocolTraceEnabled=false]
2020-01-05 15:19:15.289 [INFO ] [nternal.bridge.slip.io.SSLconnection] - Starting velux bridge connection.
2020-01-05 15:19:20.612 [INFO ] [g.velux.internal.bridge.slip.SClogin] - velux bridge connection successfully established (login succeeded).
2020-01-05 15:19:21.842 [INFO ] [.internal.handler.VeluxBridgeHandler] - Found velux scenes:
	Scene "AlleVinduer100" (index 1) with non-silent mode and 0 actions
	Scene "Spisestue75" (index 12) with non-silent mode and 0 actions
	Scene "KoekkenLuk" (index 16) with non-silent mode and 0 actions
	Scene "AlleVinduer75" (index 17) with non-silent mode and 0 actions
	Scene "Spisestue50" (index 3) with non-silent mode and 0 actions
	Scene "AlleVinduer50" (index 8) with non-silent mode and 0 actions
	Scene "Koekken75" (index 10) with non-silent mode and 0 actions
	Scene "StueLuk" (index 18) with non-silent mode and 0 actions
	Scene "SpisestueLuk" (index 19) with non-silent mode and 0 actions
	Scene "Koekken50" (index 2) with non-silent mode and 0 actions
	Scene "AlleVinduerLuk" (index 0) with non-silent mode and 0 actions
	Scene "SpisestueVent" (index 9) with non-silent mode and 0 actions
	Scene "Stue75" (index 14) with non-silent mode and 0 actions
	Scene "StueVent" (index 13) with non-silent mode and 0 actions
	Scene "Stue100" (index 7) with non-silent mode and 0 actions
	Scene "Stue50" (index 4) with non-silent mode and 0 actions
	Scene "Spisestue100" (index 6) with non-silent mode and 0 actions
	Scene "AlleVinduerVent" (index 15) with non-silent mode and 0 actions
	Scene "Koekken100" (index 5) with non-silent mode and 0 actions
	Scene "KoekkenVent" (index 11) with non-silent mode and 0 actions	
2020-01-05 15:19:22.688 [INFO ] [.internal.handler.VeluxBridgeHandler] - Found velux actuators:
	Product "Vindue 2" / SLIDER_WINDOW (bridgeIndex=1,serial=56:08:1D:26:06:30:0A:CD,position=C800)
	Product "Vindue 8" / SLIDER_WINDOW (bridgeIndex=7,serial=56:08:1D:26:06:29:14:5C,position=C800)
	Product "Vindue 5" / SLIDER_WINDOW (bridgeIndex=4,serial=56:08:1D:26:06:29:14:5B,position=C800)
	Product "Vindue 7" / SLIDER_WINDOW (bridgeIndex=6,serial=56:08:1D:26:06:29:0D:0D,position=C800)
	Product "Vindue 4" / SLIDER_WINDOW (bridgeIndex=3,serial=56:08:1D:26:06:29:08:7B,position=C800)
	Product "Vindue 6" / SLIDER_WINDOW (bridgeIndex=5,serial=56:08:1D:26:06:30:0C:A1,position=C800)
	Product "Vindue 1" / SLIDER_WINDOW (bridgeIndex=0,serial=56:08:1D:26:06:29:06:C7,position=C800)
	Product "Vindue 3" / SLIDER_WINDOW (bridgeIndex=2,serial=56:08:1D:26:06:29:12:03,position=C800)	
2020-01-05 15:19:23.197 [INFO ] [.internal.handler.VeluxBridgeHandler] - velux Bridge is online with 20 scenes and 8 actuators, now.
2020-01-05 15:19:34.349 [WARN ] [nal.handler.utils.ThingConfiguration] - exists(): Channel velux:klf200:home:check does not belong to a thing.
2020-01-05 15:19:34.354 [WARN ] [nal.handler.utils.ThingConfiguration] - exists(): Channel velux:klf200:home:check does not belong to a thing.
2020-01-05 15:19:34.360 [WARN ] [nal.handler.utils.ThingConfiguration] - exists(): Channel velux:klf200:home:check does not belong to a thing.
2020-01-05 15:19:34.366 [WARN ] [nal.handler.utils.ThingConfiguration] - exists(): Channel velux:klf200:home:check does not belong to a thing.
2020-01-05 15:19:34.371 [WARN ] [nal.handler.utils.ThingConfiguration] - exists(): Channel velux:klf200:home:check does not belong to a thing.
2020-01-05 15:19:34.376 [WARN ] [nal.handler.utils.ThingConfiguration] - exists(): Channel velux:klf200:home:check does not belong to a thing.
2020-01-05 15:19:34.380 [WARN ] [nal.handler.utils.ThingConfiguration] - exists(): Channel velux:klf200:home:check does not belong to a thing.
2020-01-05 15:19:34.385 [WARN ] [nal.handler.utils.ThingConfiguration] - exists(): Channel velux:klf200:home:check does not belong to a thing.
2020-01-05 15:19:34.389 [WARN ] [nal.handler.utils.ThingConfiguration] - exists(): Channel velux:klf200:home:check does not belong to a thing.
2020-01-05 15:19:34.393 [WARN ] [nal.handler.utils.ThingConfiguration] - exists(): Channel velux:klf200:home:check does not belong to a thing.
2020-01-05 15:19:34.399 [WARN ] [nal.handler.utils.ThingConfiguration] - exists(): Channel velux:klf200:home:check does not belong to a thing.
2020-01-05 15:19:34.402 [WARN ] [nal.handler.utils.ThingConfiguration] - exists(): Channel velux:klf200:home:check does not belong to a thing.
2020-01-05 15:19:34.405 [WARN ] [nal.handler.utils.ThingConfiguration] - exists(): Channel velux:klf200:home:check does not belong to a thing.
2020-01-05 15:19:34.411 [WARN ] [nal.handler.utils.ThingConfiguration] - exists(): Channel velux:klf200:home:check does not belong to a thing.
2020-01-05 15:19:34.414 [WARN ] [nal.handler.utils.ThingConfiguration] - exists(): Channel velux:klf200:home:check does not belong to a thing.
2020-01-05 15:19:34.417 [WARN ] [nal.handler.utils.ThingConfiguration] - exists(): Channel velux:klf200:home:check does not belong to a thing.
2020-01-05 15:19:34.419 [WARN ] [nal.handler.utils.ThingConfiguration] - exists(): Channel velux:klf200:home:check does not belong to a thing.
2020-01-05 15:19:34.422 [WARN ] [nal.handler.utils.ThingConfiguration] - exists(): Channel velux:klf200:home:check does not belong to a thing.
2020-01-05 15:19:34.425 [WARN ] [nal.handler.utils.ThingConfiguration] - exists(): Channel velux:klf200:home:check does not belong to a thing.
2020-01-05 15:19:34.427 [WARN ] [nal.handler.utils.ThingConfiguration] - exists(): Channel velux:klf200:home:check does not belong to a thing.
2020-01-05 15:19:34.434 [WARN ] [mmon.WrappedScheduledExecutorService] - Scheduled runnable ended with an exception: 
java.lang.IllegalArgumentException: can't parse argument number: 
	at java.text.MessageFormat.makeFormat(MessageFormat.java:1429) ~[?:1.8.0_222]
	at java.text.MessageFormat.applyPattern(MessageFormat.java:479) ~[?:1.8.0_222]
	at java.text.MessageFormat.<init>(MessageFormat.java:362) ~[?:1.8.0_222]
	at java.text.MessageFormat.format(MessageFormat.java:840) ~[?:1.8.0_222]
	at org.eclipse.smarthome.core.internal.i18n.I18nProviderImpl.getText(I18nProviderImpl.java:315) ~[?:?]
	at org.openhab.binding.velux.internal.utils.Localization.getText(Localization.java:110) ~[?:?]
	at org.openhab.binding.velux.internal.handler.ChannelBridgeCheck.handleRefresh(ChannelBridgeCheck.java:104) ~[?:?]
	at org.openhab.binding.velux.internal.handler.VeluxBridgeHandler.handleCommandScheduled(VeluxBridgeHandler.java:612) ~[?:?]
	at org.openhab.binding.velux.internal.handler.VeluxBridgeHandler.lambda$3(VeluxBridgeHandler.java:524) ~[?:?]
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_222]
	at java.util.concurrent.FutureTask.run(FutureTask.java:266) ~[?:1.8.0_222]
	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180) ~[?:1.8.0_222]
	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) ~[?:1.8.0_222]
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:1.8.0_222]
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:1.8.0_222]
	at java.lang.Thread.run(Thread.java:748) [?:1.8.0_222]
Caused by: java.lang.NumberFormatException: For input string: ""
	at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65) ~[?:1.8.0_222]
	at java.lang.Integer.parseInt(Integer.java:592) ~[?:1.8.0_222]
	at java.lang.Integer.parseInt(Integer.java:615) ~[?:1.8.0_222]
	at java.text.MessageFormat.makeFormat(MessageFormat.java:1427) ~[?:1.8.0_222]
	... 15 more

EDIT - Better view from the logfile showing the same.

Hi @gs4711,

On the other hand, the ā€˜limitMinimumā€™ channel of a roof window now provides information about rainy weather: if it is set internally by the Velux control unit to a value other than zero, it rains.

My item limitMinimum is set by the klf after a reboot of openhab to 100% with definitiv no rain outside.

What is right? 0% or 100% or is it a failure from my system?

best regards

Johannes

I think itā€™s ok. It Minimum will go to 0% when itā€™s raining. Min and Max seems to be inverted

I played the backup back, removed every thing, thing by thing as I did before. Then clean cache, reboot, put .items file (the clean, short one) in. Things appear in Paper UI, Inverted is set, but itā€™s not working.
I play back my backup and stay with this for now, no time left to experiment right now. Will go on the next days.
Thanks for your help,
Ingo

Thanks for the log excerpt.

What is the language the UI is running with? The mentioned line tries to fetch a localized message for this string ā€œIntegrity check failed: The following scenes are unused: {}.ā€

Hi @johannesbonn,

when it starts raining, (with inversed actuator) the limitationMinimum lowers from 100% to about 91%. But thatā€™s only my experience as there is no documentation what really happens.

And to be honest, I see a need for discussion about the inversion in combination with the minimum and maximum limits: In my view, it is totally confusing.

Best regards, Guenther

Ahhh, thank you! Ok than 100% for ā€œno rainā€ is ok on my system. I have also inverted the actuator.

Best regards

Johannes

English (I assume its the PaperUI ?).
But my system is set to dk.

I thought the inversion was only for the windows actuators?

No, it seems that the thread pool is empty. Only a restart of the OH will help.