[velux] New OpenHAB2 binding - feedback welcome!

If neither this python script nor the binding works, there might be a problem with the KLF200. I suggest to try a factory reset and start with the default password, again.

Hi Guenther,
sorry to disturb you but i have the same error in the log msg about the bundle but can login to the klf200 and it and it shows the products and scenes in the log msg.
But what about the error ?
i received the error after upgrading from openhabian 2.3 to 2.4 with openhabian-config.

org.osgi.framework.BundleException: The bundle class path entry “lib/gson-2.2.4.jar” could not be found for the bundle “osgi.identity; type=“osgi.bundle”; version:Version=“1.13.0.201811051916”; osgi.identity=“org.openhab.binding.velux””

also my shutters seems to work in the habpanel en basic ui, classic ui, but not on my windows, i asume that there is a problem in the items or sitemap files wich i created with the demo homebuilder.
i have searched for item and sitemap files but cannot find some where the velux shutters are used, maybe you have something as reference ?

Hi John, what firmware version do you use on the KLF200? The JSON library is only necessary for the firmware v1 being contacted via the webinterface with JSON/HTTP.

What is the exact issue if the items work with basicUI and classicUI?

Hi Guenther,
i am running the new firmware 0.2.0.0.71.0 on the klf200 .
The problem is that i see below msg in the log
[2018-12-26 19:17:37.719 [INFO ] [.core.internal.i18n.I18nProviderImpl] - Time zone set to ‘Europe/Amsterdam’.

2018-12-26 19:17:37.735 [INFO ] [.core.internal.i18n.I18nProviderImpl] - Locale set to ‘nl_NL’.

2018-12-26 19:17:37.799 [INFO ] [ebuilder.internal.HomeBuilderServlet] - Started Home Builder at /homebuilder

2018-12-26 19:17:37.865 [INFO ] [panel.internal.HABPanelDashboardTile] - Started HABPanel at /habpanel

2018-12-26 19:17:46.653 [INFO ] [el.core.internal.ModelRepositoryImpl] - Loading model ‘Onshuis.items’

2018-12-26 19:17:46.909 [INFO ] [el.core.internal.ModelRepositoryImpl] - Loading model ‘Velux.items’

2018-12-26 19:17:50.241 [INFO ] [thome.model.lsp.internal.ModelServer] - Started Language Server Protocol (LSP) service on port 5007

2018-12-26 19:17:51.416 [INFO ] [el.core.internal.ModelRepositoryImpl] - Loading model ‘Onshuis.sitemap’

2018-12-26 19:17:51.839 [INFO ] [el.core.internal.ModelRepositoryImpl] - Loading model ‘Velux.things’

2018-12-26 19:17:52.936 [INFO ] [inding.velux.internal.VeluxActivator] - velux binding has been started.

2018-12-26 19:17:53.070 [INFO ] [.dashboard.internal.DashboardService] - Started Dashboard at http://192.168.0.29:8080

2018-12-26 19:17:53.074 [INFO ] [.dashboard.internal.DashboardService] - Started Dashboard at https://192.168.0.29:8443

2018-12-26 19:17:53.708 [INFO ] [.binding.velux.internal.VeluxBinding] - Active items are: [V_FIRMWARE, V_CHECK, V_STATUS].

2018-12-26 19:17:53.717 [INFO ] [.binding.velux.internal.VeluxBinding] - velux refresh interval set to 15000 milliseconds.

2018-12-26 19:17:53.739 [INFO ] [.binding.velux.internal.VeluxBinding] - veluxConfig[bridgeProtocol=slip,bridgeIPAddress=192.168.0.6,bridgeTCPPort=51200,bridgePassword=********,timeoutMsecs=15000,retries=15,refreshMsecs=15000,isBulkRetrievalEnabled=true]

2018-12-26 19:17:53.745 [INFO ] [b.core.service.AbstractActiveService] - velux Refresh Service has been started

2018-12-26 19:17:53.778 [INFO ] [g.velux.bridge.slip.io.SSLconnection] - Starting velux bridge connection.

2018-12-26 19:17:55.063 [INFO ] [arthome.ui.paper.internal.PaperUIApp] - Started Paper UI at /paperui

2018-12-26 19:17:55.826 [INFO ] [ui.habmin.internal.servlet.HABminApp] - Started HABmin servlet at /habmin

2018-12-26 19:18:13.435 [INFO ] [ab.binding.velux.bridge.slip.SClogin] - velux bridge connection successfully established (login succeeded).

2018-12-26 19:18:58.591 [INFO ] [.velux.handler.VeluxBridgeHandlerOH1] - Found velux scenes:

Scene "slaapkamer sluiten" (index 0) with non-silent mode and 0 actions

Scene "Keuken openen" (index 3) with non-silent mode and 0 actions

Scene "Slaapkamer openen" (index 1) with non-silent mode and 0 actions

Scene "Keuken sluiten" (index 2) with non-silent mode and 0 actions	.

2018-12-26 19:19:13.660 [INFO ] [.velux.handler.VeluxBridgeHandlerOH1] - Found velux actuators:

Product "Keuken" / ROLLER_SHUTTER (bridgeIndex=1,serial=00:00:00:00:00:00:00,position=C800)

Product "Slaapkamer" / ROLLER_SHUTTER (bridgeIndex=0,serial=53:2A:5D:5A:12:10:3A,position=9D10)	.

2018-12-26 19:19:13.663 [INFO ] [.velux.handler.VeluxBridgeHandlerOH1] - velux Bridge is online,]

I have controls for the shutters on the habpanel and Basic ui and the Classic ui, but fysical there is nothing moving only the shutter icons on the panels are changing but the shutters self are not.
And i dont know where to put trhe scenes and the actuators, now the scenesare in the velux.things and actuators in the velux.items

Hi John,

just try this configuration. For convenience, the items are split into a generic bridge part and the device specific part:

// Velux Bridge channels

String	V_FIRMWARE	"Firmware [%s]"				 	{ velux="thing=bridge;channel=firmware" }
String	V_STATUS	"Status [%s]"				 	{ velux="thing=bridge;channel=status" }
String	V_CHECK		"Velux Config Check [%s]"			{ velux="thing=bridge;channel=check" }

// Velux IO-homecontrol devices

Rollershutter V_Keuken	"Keuken [%d]"					{ velux="thing=actuator;channel=serial#00:00:00:00:00:00:00" }
Rollershutter V_Slaapkamer "Slaapkamer [%d]"				{ velux="thing=actuator;channel=serial#53:2A:5D:5A:12:10:3A" }

//
// end-of-items/velux.items
//

For using it with classicUI, just define a sitemap like:

sitemap default label="MySweetHome"
{
	Frame label="IO-Homecontrol" {
		Switch	item=V_Keuken
		Switch	item=V_Slaapkamer
		Text	item=V_STATUS
	}	
}

Then, the both shutters should be managable.

BTW the serial number of 00:00:00:00:00:00 sounds strange to me - is this an original velux device?

Hi Guenther,
your right, they move now but it looks that when i pushed up they go down, any idea how to change that ?
and also the serial with the zeros thats correct it isnt a Velux but a shutter that has a Somfy io motor in it.
when i started with the shutters on my home i just tryed if the KLF200 wich was on the old firmware could find it and it did, so that is why the serial is only zeros i think.
I asume that if i would change it to a real Somfy binding i also need a bridge from them ?

Thanks for your help sofar, i am afraid that i have more questions later because i am just a starter in this.

Thanks, John, for the feedback. In general, the somfy devices should work as well as expected.

In fact, I’d like to dig deeper whether there is an issue with the values returned and expected from the somfy devices. Could you please turn on the debugging with level TRACE and share the output for a sequence of opening or closing the shutters? For your convenience you could send the logfile via PM to avoid much noise within this topic.

Hi Guenther,

I did install the Velux 1.13 binding and I can confirm that some Rollo’s moved at least up and down but not all at once. Somehow stored scene were not discovered. But I have an other problem with the items configuration. Binding discovered all products, but ID was no unique.

2018-12-29 22:54:30.111 [DEBUG] [ng.velux.bridge.VeluxBridgeActuators] - getProducts() storing new product Product "Rollo 1" / SOLAR_SLIDER (bridgeIndex=0,serial=53:14:1E:26:11:26:00,position=C800).
2018-12-29 22:54:30.112 [DEBUG] [ng.velux.bridge.VeluxBridgeActuators] - getProducts() storing new product Product "Rollo 2" / SOLAR_SLIDER (bridgeIndex=1,serial=53:14:1E:26:12:03:02,position=0000).
2018-12-29 22:54:30.112 [DEBUG] [ng.velux.bridge.VeluxBridgeActuators] - getProducts() storing new product Product "Rollo 3" / SOLAR_SLIDER (bridgeIndex=2,serial=53:14:1E:26:12:03:02,position=0000).
2018-12-29 22:54:30.112 [DEBUG] [ng.velux.bridge.VeluxBridgeActuators] - getProducts() storing new product Product "Fenster 1" / WINDOW_OPENER (bridgeIndex=3,serial=56:24:5C:26:11:2D:00,position=C800).
2018-12-29 22:54:30.113 [DEBUG] [ng.velux.bridge.VeluxBridgeActuators] - getProducts() storing new product Product "Fenster 2" / WINDOW_OPENER (bridgeIndex=4,serial=56:24:5C:26:11:2D:00,position=C800).
2018-12-29 22:54:30.113 [DEBUG] [ng.velux.bridge.VeluxBridgeActuators] - getProducts() storing new product Product "Fenster 3" / WINDOW_OPENER (bridgeIndex=5,serial=56:24:5C:26:12:03:00,position=C800).
2018-12-29 22:54:30.114 [DEBUG] [ng.velux.bridge.VeluxBridgeActuators] - getProducts() storing new product Product "Rollo 4" / SOLAR_SLIDER (bridgeIndex=6,serial=53:14:1E:26:12:0A:09,position=C800). 

Configuring them in my common.items I need not just to declare products serial but also the bridge ID.
Do you have any idea how to solve the situation.

Hi Marcel,

the log output looks as if the gateway recognizes seven devices (three closed windows, two closed shutters and two open shutters) but - you’re right - there might be an issue with the serial numbers.

According to the prefix of the serial numbers, all of them are coming from Velux (original ones!). I have has a similar strange situation when I had deleted and re-learned one shutter. Could you please confirm that you are having seven different active devices? If so, could you please increase the debugging for org.openhab.binding.velux to level DEBUG and org.openhab.binding.velux.bridge.slip.io.SSLconnection to level TRACE ?

Thanks in advance, Guenther

Hi Guenther,

Yes, confirmed. There are 7 different Velux devices active. DEBUG was enabled on binding.velux, but not on SSLconnection. I removed all my configs VELUX related configs in Items and Things, enabled logging and added Velux related items again (without the ones with duplicated serial). Attached, please find the log output with VELUX only lines. It starts ~9:34

Velux.log (246.5 KB)

Hi Guenther,
maybe a simple question, when i installed the binding i did put the jar file in the addons folder and indtalled it via paper ui.
But what is the manual way for uninstalling if the uninstall with paper ui is not working ?

Hello John,

simply remove the jar file from the add-on directory, i.e. on a *nix that is /usr/share/openhab2/addons/org.openhab.binding.velux-1.13.0-SNAPSHOT.jar

After a few seconds the openHAB framework recognizes the removal and eliminates the binding in a safe way on-the-fly without the need of restarting openHAB.

Regards, Guenther

1 Like

Marcel,

thanks for this valuable feedback esp. the log information. Attached you’ll find the significant decoding:
2018-12-31 09:33:50.125 [DEBUG] [ding.velux.bridge.slip.SCgetProducts] - getRequestCommand() returns GW_GET_ALL_NODES_INFORMATION_REQ (0x202).

2018-12-31 09:33:52.128 [TRACE] [g.velux.bridge.slip.io.SSLconnection] - receive() finished after having read 9 bytes: C0 00 05 02 03 00 07 03 C0 
0203 = GW_GET_ALL_NODES_INFORMATION_CFM
Status 		:= OK - Request accepted
TotalNumberOfNodes :=	7

2018-12-31 09:33:52.131 [TRACE] [g.velux.bridge.slip.io.SSLconnection] - receive() finished after having read 131 bytes: C0 00 7F 02 04 00 00 00 00 52 6F 6C 6C 6F 20 31 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 80 D5 07 00 01 06 53 14 1E 26 11 26 00 C4 05 C8 00 C8 00 F7 FF F7 FF F7 FF F7 FF 00 00 4F 02 39 1F 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 8F C0 

119dw
vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv
0204 = GW_GET_ALL_NODES_INFORMATION_NTF
NodeID  	:= 00
Order		:= 00 00
Placement	:= 00
Name		:= Rollo 1
Velocity 	:= 00
NodeTypeSubType := 02 80
ProductGroup	:= D5
ProductType	:= 07
NodeVariation	:= 00
PowerMode	:= 01
BuildNumber	:= 06
SerialNumber	:= 53 14 1E 26 11 26 00 C4
State		:= 00
CurrentPosition := C800
Target		:= C800

2018-12-31 09:33:52.138 [TRACE] [g.velux.bridge.slip.io.SSLconnection] - receive() finished after having read 131 bytes: C0 00 7F 02 04 01 00 01 00 52 6F 6C 6C 6F 20 32 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 80 D5 07 00 01 06 53 14 1E 26 12 03 02 EC 05 C8 00 C8 00 F7 FF F7 FF F7 FF F7 FF 00 00 4F 02 39 1F 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 80 C0 
NodeID  	:= 01
SerialNumber	:= 53 14 1E 26 12 03 02 EC
State		:= 05
CurrentPosition := C800
Target		:= C800

2018-12-31 09:33:52.144 [TRACE] [g.velux.bridge.slip.io.SSLconnection] - receive() finished after having read 131 bytes: C0 00 7F 02 04 02 00 02 00 52 6F 6C 6C 6F 20 33 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 80 D5 07 00 01 06 53 14 1E 26 12 03 02 D6 05 00 00 00 00 F7 FF F7 FF F7 FF F7 FF 00 00 4F 02 39 1F 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 BB C0 
53 14 1E 26 12 03 02 D6 05 00 00 00 00 F7 FF F7 FF F7 FF F7 FF 00 00 4F 02 39 1F 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 BB C0 
NodeID  	:= 02
SerialNumber	:= 53 14 1E 26 12 03 02 D6
State		:= 05
CurrentPosition := 0000
Target		:= 0000

2018-12-31 09:33:52.151 [TRACE] [g.velux.bridge.slip.io.SSLconnection] - receive() finished after having read 131 bytes: C0 00 7F 02 04 03 00 03 00 46 65 6E 73 74 65 72 20 31 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 01 01 D5 07 00 01 16 56 24 5C 26 11 2D 00 96 05 C8 00 C8 00 F7 FF F7 FF F7 FF F7 FF 00 00 4F 02 39 1F 01 D8 03 B2 1C 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 49 C0 
NodeID  	:= 03
SerialNumber	:= 56 24 5C 26 11 2D 00 96
State		:= 05
CurrentPosition := C800
Target		:= C800

2018-12-31 09:33:52.158 [TRACE] [g.velux.bridge.slip.io.SSLconnection] - receive() finished after having read 131 bytes: C0 00 7F 02 04 04 00 04 00 46 65 6E 73 74 65 72 20 32 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 01 01 D5 07 00 01 16 56 24 5C 26 11 2D 00 8A 05 C8 00 C8 00 F7 FF F7 FF F7 FF F7 FF 00 00 4F 02 39 1F 01 D8 03 B2 1C 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 56 C0 
NodeID  	:= 04
SerialNumber	:= 56 24 5C 26 11 2D 00 8A
State		:= 05
CurrentPosition := C800
Target		:= C800

2018-12-31 09:33:52.163 [TRACE] [g.velux.bridge.slip.io.SSLconnection] - receive() finished after having read 131 bytes: C0 00 7F 02 04 05 00 05 00 46 65 6E 73 74 65 72 20 33 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 01 01 D5 07 00 01 16 56 24 5C 26 12 03 00 99 05 C8 00 C8 00 F7 FF F7 FF F7 FF F7 FF 00 00 4F 02 39 1F 01 D8 03 B2 1C 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 69 C0 
56 24 5C 26 12 03 00 99 05 C8 00 C8 00 F7 FF F7 FF F7 FF F7 FF 00 00 4F 02 39 1F 01 D8 03 B2 1C 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 69 C0 
NodeID  	:= 05
SerialNumber	:= 56 24 5C 26 12 03 00 99
State		:= 05
CurrentPosition := C800
Target		:= C800

2018-12-31 09:33:52.168 [TRACE] [g.velux.bridge.slip.io.SSLconnection] - receive() finished after having read 131 bytes: C0 00 7F 02 04 06 00 06 00 52 6F 6C 6C 6F 20 34 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 80 D5 07 00 01 06 53 14 1E 26 12 0A 09 B4 05 C8 00 C8 00 F7 FF F7 FF F7 FF F7 FF 00 00 4F 02 39 1F 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 DC C0 
NodeID  	:= 06
SerialNumber	:= 53 14 1E 26 12 0A 09 B4
State		:= 05
CurrentPosition := C800
Target		:= C800

2018-12-31 09:33:52.173 [TRACE] [g.velux.bridge.slip.io.SSLconnection] - receive() finished after having read 7 bytes: C0 00 03 02 05 04 C0 
0205 = GW_GET_ALL_NODES_INFORMATION_FINISHED_NTF

2018-12-31 09:33:52.174 [DEBUG] [ng.velux.bridge.VeluxBridgeActuators] - getProducts() storing new product Product "Rollo 1" / SOLAR_SLIDER (bridgeIndex=0,serial=53:14:1E:26:11:26:00,position=C800).
2018-12-31 09:33:52.175 [DEBUG] [ng.velux.bridge.VeluxBridgeActuators] - getProducts() storing new product Product "Rollo 2" / SOLAR_SLIDER (bridgeIndex=1,serial=53:14:1E:26:12:03:02,position=C800).
2018-12-31 09:33:52.175 [DEBUG] [ng.velux.bridge.VeluxBridgeActuators] - getProducts() storing new product Product "Rollo 3" / SOLAR_SLIDER (bridgeIndex=2,serial=53:14:1E:26:12:03:02,position=0000).
2018-12-31 09:33:52.175 [DEBUG] [ng.velux.bridge.VeluxBridgeActuators] - getProducts() storing new product Product "Fenster 1" / WINDOW_OPENER (bridgeIndex=3,serial=56:24:5C:26:11:2D:00,position=C800).
2018-12-31 09:33:52.175 [DEBUG] [ng.velux.bridge.VeluxBridgeActuators] - getProducts() storing new product Product "Fenster 2" / WINDOW_OPENER (bridgeIndex=4,serial=56:24:5C:26:11:2D:00,position=C800).
2018-12-31 09:33:52.176 [DEBUG] [ng.velux.bridge.VeluxBridgeActuators] - getProducts() storing new product Product "Fenster 3" / WINDOW_OPENER (bridgeIndex=5,serial=56:24:5C:26:12:03:00,position=C800).
2018-12-31 09:33:52.176 [DEBUG] [ng.velux.bridge.VeluxBridgeActuators] - getProducts() storing new product Product "Rollo 4" / SOLAR_SLIDER (bridgeIndex=6,serial=53:14:1E:26:12:0A:09,position=C800).
2018-12-31 09:33:52.176 [DEBUG] [ng.velux.bridge.VeluxBridgeActuators] - getProducts() finally has found products 19138 members: Product "Rollo 1" / SOLAR_SLIDER (bridgeIndex=0,serial=53:14:1E:26:11:26:00,position=C800),Product "Fenster 2" / WINDOW_OPENER (bridgeIndex=4,serial=56:24:5C:26:11:2D:00,position=C800),Product "Rollo 4" / SOLAR_SLIDER (bridgeIndex=6,serial=53:14:1E:26:12:0A:09,position=C800),Product "Rollo 3" / SOLAR_SLIDER (bridgeIndex=2,serial=53:14:1E:26:12:03:02,position=0000),Product "Fenster 3" / WINDOW_OPENER (bridgeIndex=5,serial=56:24:5C:26:12:03:00,position=C800).

And, with this, you should have won a bug bounty: the serial number was decoded as eight bytes bit only seven bytes are passed to the generic openHAB layer. Therefore, you have got duplicate actuators. It’s a simple change … let me see whether I can fix it this year :wink:

Hi Guenther,

Thanks for the feedback. Look forward to test the new version. :grinning:

Cheers Marcel

Marcel,

just finished the QA testing and it can be found at BetaTest-Github-Storage as org.openhab.binding.velux-1.14.0-SNAPSHOT.jar.

Note that you have to adapt your items configuration according to the eight-hex-byte serial numbers.

Now, it’s integrated into PR5690 which waits for review.

Regards, Guenther

2 Likes

Hi Guenther,
thanks for the new version 1.14.0 of velux binding!

i have two questions regarding things and cfg files (firmware version 2.0.0.71)

  • must the interface be configured in \services\velux.cfg or in \services\openhab.cfg?
  • is the file velux.things needed?

Quick question @antares2001: Did you ever solve your problem? I am in exactly the same situation as you. The python script also produces the same output. I’ve rebooted the KLF frequently and I’m positive the password is correct.

yes the problem with the connection to klf200 is solved. i had use the wrong password in the binding. you must use the password thats printed on the klf200, not the weblogin password “velux123”.

But i have another problem since i had install the velux klf200.

this message is show at every system start.

2019-02-25 23:35:34.898 [INFO ] [org.openhab.binding.velux           ] - FrameworkEvent INFO - org.openhab.binding.velux

org.osgi.framework.BundleException: The bundle class path entry "lib/gson-2.2.4.jar" could not be found for the bundle "osgi.identity; type="osgi.bundle"; version:Version="1.14.0.201902161749"; osgi.identity="org.openhab.binding.velux""

the response time of the velux actuators is very long. a command call need over 5s to start execution.

does anyone have any idea what that might be?

version 1.14.0 of velux binding
firmware version 2.0.0.71

Hello Marcel @Kellermeister,
the error message mentions a missing library (only used for recent firmware v1.*) which could
be ignored.
Regarding the delay between button press and action, I’d like to review the debug logging. Five seconds are far to long. Could you please share the log file (i.e. by PM) or anonymized within is forum?

The password. That’s printed. On the KLF200. :man_facepalming:

Thank you!

1 Like