Verisure Binding: HANDLER_REGISTERING_ERROR

OpenHAB 3.1.0, raspberry pi 4

Since about 2 weeks ago, maybe coincident with upgrading to 3.1.0, but maybe not (I don’t think 3.1.0 had any upgrades to Verisure binding), the Verisure binding is not working consistently. The Verisure bridge fails to connect to mypages.verisure.com and gives “HANDLER_REGISTERING_ERROR: Failed to login to Verisure, please check your credentials!”.

To try to understand it I have done the following:

  1. Checked my credentials (obviously). No problems …as proven by point 2 below.
  2. Repeatedly disable / enable / save the Thing. It connects eventually (Thing goes Online) if I Disable / Enable a few times then Save quickly before the error appears. However, when it is online, it does not keep the Channels updated. The Channels update immediately when it connects, but then stay at constant values until I do the same again, sometimes for days at a time.
  3. Checked if something changed in mypages.verisure.com. Indeed it has…Verisure introduced two factor authentication very recently (not sure when). I disabled TFA to test as described above. Until I did that, it did not work at all. Not sure if Verisure did something else as well which is causing the problem.

Log output from a time when I was doing the above, is below.

2021-07-02 12:36:22.907 [WARN ] [ng.verisure.internal.VerisureSession] - Failed to set session cookie and auth login, HTTP result code: 503
2021-07-02 12:36:22.909 [WARN ] [ternal.handler.VerisureBridgeHandler] - Failed to initialize bridge, please check your credentials!
2021-07-02 12:36:30.840 [WARN ] [nternal.handler.VerisureThingHandler] - Please check that you have configured correct deviceId for thing!
2021-07-02 12:36:30.840 [WARN ] [nternal.handler.VerisureThingHandler] - Please check that you have configured correct deviceId for thing!
2021-07-02 12:36:30.841 [WARN ] [nternal.handler.VerisureThingHandler] - Please check that you have configured correct deviceId for thing!
2021-07-02 12:36:30.842 [WARN ] [nternal.handler.VerisureThingHandler] - Please check that you have configured correct deviceId for thing!
2021-07-02 12:36:30.842 [WARN ] [nternal.handler.VerisureThingHandler] - Please check that you have configured correct deviceId for thing!
2021-07-02 12:36:30.844 [WARN ] [nternal.handler.VerisureThingHandler] - Please check that you have configured correct deviceId for thing!
2021-07-02 12:36:30.846 [WARN ] [nternal.handler.VerisureThingHandler] - Please check that you have configured correct deviceId for thing!
2021-07-02 12:36:30.847 [WARN ] [nternal.handler.VerisureThingHandler] - Please check that you have configured correct deviceId for thing!
2021-07-02 12:36:30.847 [WARN ] [nternal.handler.VerisureThingHandler] - Please check that you have configured correct deviceId for thing!
2021-07-02 12:36:30.849 [WARN ] [nternal.handler.VerisureThingHandler] - Please check that you have configured correct deviceId for thing!
2021-07-02 12:36:30.850 [WARN ] [nternal.handler.VerisureThingHandler] - Please check that you have configured correct deviceId for thing!
2021-07-02 12:36:30.850 [WARN ] [nternal.handler.VerisureThingHandler] - Please check that you have configured correct deviceId for thing!
2021-07-02 12:36:30.850 [WARN ] [nternal.handler.VerisureThingHandler] - Please check that you have configured correct deviceId for thing!
2021-07-02 12:36:30.852 [WARN ] [nternal.handler.VerisureThingHandler] - Please check that you have configured correct deviceId for thing!
2021-07-02 12:36:32.407 [WARN ] [ng.verisure.internal.VerisureSession] - Failed to query for smartlock status: java.lang.IllegalStateException: Expected BEGIN_ARRAY but was STRING at line 1 column 1 path $
2021-07-02 12:36:32.493 [WARN ] [ng.verisure.internal.VerisureSession] - Failed to query for smartlock status: java.lang.IllegalStateException: Expected BEGIN_ARRAY but was STRING at line 1 column 1 path $
2021-07-02 12:36:32.659 [WARN ] [ng.verisure.internal.VerisureSession] - Failed to query for smartlock status: java.lang.IllegalStateException: Expected BEGIN_ARRAY but was STRING at line 1 column 1 path $
2021-07-02 12:36:32.737 [WARN ] [ng.verisure.internal.VerisureSession] - Failed to query for smartlock status: java.lang.IllegalStateException: Expected BEGIN_ARRAY but was STRING at line 1 column 1 path $
2021-07-02 12:36:32.823 [WARN ] [ng.verisure.internal.VerisureSession] - Failed to query for smartlock status: java.lang.IllegalStateException: Expected BEGIN_ARRAY but was STRING at line 1 column 1 path $
2021-07-02 12:36:32.958 [WARN ] [mmon.WrappedScheduledExecutorService] - Scheduled runnable ended with an exception: 
java.lang.NullPointerException: null
	at org.openhab.binding.verisure.internal.VerisureSession.updateDoorWindowStatus(VerisureSession.java:757) ~[?:?]
	at org.openhab.binding.verisure.internal.VerisureSession.lambda$2(VerisureSession.java:529) ~[?:?]
	at java.util.concurrent.ConcurrentHashMap.forEach(ConcurrentHashMap.java:1603) ~[?:?]
	at org.openhab.binding.verisure.internal.VerisureSession.updateStatus(VerisureSession.java:520) ~[?:?]
	at org.openhab.binding.verisure.internal.VerisureSession.refresh(VerisureSession.java:120) ~[?:?]
	at org.openhab.binding.verisure.internal.handler.VerisureBridgeHandler.refreshAndUpdateStatus(VerisureBridgeHandler.java:181) ~[?:?]
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515) ~[?:?]
	at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) ~[?:?]
	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) ~[?:?]
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) [?:?]
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) [?:?]
	at java.lang.Thread.run(Thread.java:829) [?:?]
2021-07-02 12:41:50.801 [WARN ] [.ZWaveThermostatSetpointCommandClass] - Reached max tries to init the setpont Furnace, this will be our last attempt 
2021-07-03 20:27:18.739 [INFO ] [io.openhabcloud.internal.CloudClient] - Disconnected from the openHAB Cloud service (UUID = 98f4e7a8-8c0b-4290-9323-a715a5df24fc, base URL = http://localhost:8080)
2021-07-03 20:27:20.203 [ERROR] [io.openhabcloud.internal.CloudClient] - Error connecting to the openHAB Cloud instance
2021-07-04 21:42:25.389 [WARN ] [ng.verisure.internal.VerisureSession] - Failed to set session cookie and auth login, HTTP result code: 503
2021-07-04 21:42:25.391 [WARN ] [ternal.handler.VerisureBridgeHandler] - Failed to initialize bridge, please check your credentials!
2021-07-04 21:42:27.730 [WARN ] [ng.verisure.internal.VerisureSession] - Failed to send a POST to the API null
2021-07-04 21:42:29.671 [WARN ] [ng.verisure.internal.VerisureSession] - Failed to query for smartlock status: java.lang.IllegalStateException: Expected BEGIN_ARRAY but was STRING at line 1 column 1 path $
2021-07-04 21:42:29.751 [WARN ] [ng.verisure.internal.VerisureSession] - Failed to query for smartlock status: java.lang.IllegalStateException: Expected BEGIN_ARRAY but was STRING at line 1 column 1 path $
2021-07-04 21:42:29.816 [WARN ] [ng.verisure.internal.VerisureSession] - Failed to query for smartlock status: java.lang.IllegalStateException: Expected BEGIN_ARRAY but was STRING at line 1 column 1 path $
2021-07-04 21:42:29.971 [WARN ] [ng.verisure.internal.VerisureSession] - Failed to query for smartlock status: java.lang.IllegalStateException: Expected BEGIN_ARRAY but was STRING at line 1 column 1 path $
2021-07-04 21:42:30.083 [WARN ] [ng.verisure.internal.VerisureSession] - Failed to query for smartlock status: java.lang.IllegalStateException: Expected BEGIN_ARRAY but was STRING at line 1 column 1 path $
2021-07-04 21:42:30.208 [WARN ] [ng.verisure.internal.VerisureSession] - Failed to send a POST to the API org.eclipse.jetty.client.HttpResponseException: HTTP protocol violation: Authentication challenge without WWW-Authenticate header
2021-07-04 21:42:30.805 [WARN ] [ng.verisure.internal.VerisureSession] - Failed to send a POST to the API org.eclipse.jetty.client.HttpResponseException: HTTP protocol violation: Authentication challenge without WWW-Authenticate header
2021-07-04 21:42:30.811 [WARN ] [ng.verisure.internal.VerisureSession] - Failed to set session cookie and auth login, HTTP result code: 503
2021-07-04 21:42:30.813 [WARN ] [ternal.handler.VerisureBridgeHandler] - Failed to initialize bridge, please check your credentials!
2021-07-04 21:42:31.465 [WARN ] [ng.verisure.internal.VerisureSession] - Failed to set session cookie and auth login, HTTP result code: 503
2021-07-04 21:42:31.467 [WARN ] [ternal.handler.VerisureBridgeHandler] - Failed to initialize bridge, please check your credentials!
2021-07-04 21:42:34.115 [WARN ] [ng.verisure.internal.VerisureSession] - Failed to login null
2021-07-04 21:42:35.838 [WARN ] [ng.verisure.internal.VerisureSession] - Failed to send a POST to the API null
2021-07-04 21:42:36.834 [WARN ] [nternal.handler.VerisureThingHandler] - Please check that you have configured correct deviceId for thing!
2021-07-04 21:42:36.834 [WARN ] [nternal.handler.VerisureThingHandler] - Please check that you have configured correct deviceId for thing!
2021-07-04 21:42:36.834 [WARN ] [nternal.handler.VerisureThingHandler] - Please check that you have configured correct deviceId for thing!
2021-07-04 21:42:36.834 [WARN ] [nternal.handler.VerisureThingHandler] - Please check that you have configured correct deviceId for thing!
2021-07-04 21:42:36.836 [WARN ] [nternal.handler.VerisureThingHandler] - Please check that you have configured correct deviceId for thing!
2021-07-04 21:42:36.837 [WARN ] [nternal.handler.VerisureThingHandler] - Please check that you have configured correct deviceId for thing!
2021-07-04 21:42:36.838 [WARN ] [nternal.handler.VerisureThingHandler] - Please check that you have configured correct deviceId for thing!
2021-07-04 21:42:36.838 [WARN ] [nternal.handler.VerisureThingHandler] - Please check that you have configured correct deviceId for thing!
2021-07-04 21:42:36.838 [WARN ] [nternal.handler.VerisureThingHandler] - Please check that you have configured correct deviceId for thing!
2021-07-04 21:42:36.839 [WARN ] [nternal.handler.VerisureThingHandler] - Please check that you have configured correct deviceId for thing!
2021-07-04 21:42:36.840 [WARN ] [nternal.handler.VerisureThingHandler] - Please check that you have configured correct deviceId for thing!
2021-07-04 21:42:36.841 [WARN ] [nternal.handler.VerisureThingHandler] - Please check that you have configured correct deviceId for thing!
2021-07-04 21:42:36.841 [WARN ] [nternal.handler.VerisureThingHandler] - Please check that you have configured correct deviceId for thing!
2021-07-04 21:42:36.841 [WARN ] [nternal.handler.VerisureThingHandler] - Please check that you have configured correct deviceId for thing!
2021-07-04 21:42:36.842 [WARN ] [nternal.handler.VerisureThingHandler] - Please check that you have configured correct deviceId for thing!
2021-07-04 21:42:37.228 [WARN ] [ng.verisure.internal.VerisureSession] - Failed to set session cookie and auth login, HTTP result code: 503
2021-07-04 21:42:37.230 [WARN ] [ternal.handler.VerisureBridgeHandler] - Failed to initialize bridge, please check your credentials!
2021-07-04 21:42:38.915 [WARN ] [ng.verisure.internal.VerisureSession] - Failed to query for smartlock status: java.lang.IllegalStateException: Expected BEGIN_ARRAY but was STRING at line 1 column 1 path $
2021-07-04 21:42:39.119 [WARN ] [ng.verisure.internal.VerisureSession] - Failed to query for smartlock status: java.lang.IllegalStateException: Expected BEGIN_ARRAY but was STRING at line 1 column 1 path $
2021-07-04 21:42:39.442 [WARN ] [ng.verisure.internal.VerisureSession] - Failed to query for smartlock status: java.lang.IllegalStateException: Expected BEGIN_ARRAY but was STRING at line 1 column 1 path $
2021-07-04 21:42:39.645 [WARN ] [ng.verisure.internal.VerisureSession] - Failed to query for smartlock status: java.lang.IllegalStateException: Expected BEGIN_ARRAY but was STRING at line 1 column 1 path $
2021-07-04 21:42:39.967 [WARN ] [ng.verisure.internal.VerisureSession] - Failed to query for smartlock status: java.lang.IllegalStateException: Expected BEGIN_ARRAY but was STRING at line 1 column 1 path $
2021-07-04 21:42:41.235 [WARN ] [ng.verisure.internal.VerisureSession] - Failed to set session cookie and auth login, HTTP result code: 503
2021-07-04 21:42:41.236 [WARN ] [ternal.handler.VerisureBridgeHandler] - Failed to initialize bridge, please check your credentials!
2021-07-04 21:42:42.938 [WARN ] [ng.verisure.internal.VerisureSession] - Failed to query for smartlock status: null
2021-07-04 21:42:43.542 [WARN ] [nternal.handler.VerisureThingHandler] - Please check that you have configured correct deviceId for thing!
2021-07-04 21:42:43.545 [WARN ] [nternal.handler.VerisureThingHandler] - Please check that you have configured correct deviceId for thing!
2021-07-04 21:42:43.545 [WARN ] [nternal.handler.VerisureThingHandler] - Please check that you have configured correct deviceId for thing!
2021-07-04 21:42:43.546 [WARN ] [nternal.handler.VerisureThingHandler] - Please check that you have configured correct deviceId for thing!
2021-07-04 21:42:43.546 [WARN ] [nternal.handler.VerisureThingHandler] - Please check that you have configured correct deviceId for thing!
2021-07-04 21:42:43.546 [WARN ] [nternal.handler.VerisureThingHandler] - Please check that you have configured correct deviceId for thing!
2021-07-04 21:42:43.547 [WARN ] [nternal.handler.VerisureThingHandler] - Please check that you have configured correct deviceId for thing!
2021-07-04 21:42:43.547 [WARN ] [nternal.handler.VerisureThingHandler] - Please check that you have configured correct deviceId for thing!
2021-07-04 21:42:43.548 [WARN ] [nternal.handler.VerisureThingHandler] - Please check that you have configured correct deviceId for thing!
2021-07-04 21:42:43.551 [WARN ] [nternal.handler.VerisureThingHandler] - Please check that you have configured correct deviceId for thing!
2021-07-04 21:42:43.548 [WARN ] [nternal.handler.VerisureThingHandler] - Please check that you have configured correct deviceId for thing!
2021-07-04 21:42:43.554 [WARN ] [nternal.handler.VerisureThingHandler] - Please check that you have configured correct deviceId for thing!
2021-07-04 21:42:43.555 [WARN ] [nternal.handler.VerisureThingHandler] - Please check that you have configured correct deviceId for thing!
2021-07-04 21:42:43.552 [WARN ] [nternal.handler.VerisureThingHandler] - Please check that you have configured correct deviceId for thing!
2021-07-04 21:42:43.551 [WARN ] [nternal.handler.VerisureThingHandler] - Please check that you have configured correct deviceId for thing!
2021-07-04 21:42:44.484 [WARN ] [ng.verisure.internal.VerisureSession] - Failed to query for smartlock status: java.lang.IllegalStateException: Expected BEGIN_ARRAY but was STRING at line 1 column 1 path $
2021-07-04 21:42:44.561 [WARN ] [ng.verisure.internal.VerisureSession] - Failed to query for smartlock status: java.lang.IllegalStateException: Expected BEGIN_ARRAY but was STRING at line 1 column 1 path $
2021-07-04 21:42:44.638 [WARN ] [ng.verisure.internal.VerisureSession] - Failed to query for smartlock status: java.lang.IllegalStateException: Expected BEGIN_ARRAY but was STRING at line 1 column 1 path $
2021-07-04 21:42:44.713 [WARN ] [ng.verisure.internal.VerisureSession] - Failed to query for smartlock status: java.lang.IllegalStateException: Expected BEGIN_ARRAY but was STRING at line 1 column 1 path $
2021-07-04 21:42:44.789 [WARN ] [ng.verisure.internal.VerisureSession] - Failed to query for smartlock status: java.lang.IllegalStateException: Expected BEGIN_ARRAY but was STRING at line 1 column 1 path $
2021-07-04 21:43:17.510 [WARN ] [ng.verisure.internal.VerisureSession] - Failed to set session cookie and auth login, HTTP result code: 503
2021-07-04 21:43:17.514 [WARN ] [ternal.handler.VerisureBridgeHandler] - Failed to initialize bridge, please check your credentials!
2021-07-04 21:43:24.081 [WARN ] [nternal.handler.VerisureThingHandler] - Please check that you have configured correct deviceId for thing!
2021-07-04 21:43:24.082 [WARN ] [nternal.handler.VerisureThingHandler] - Please check that you have configured correct deviceId for thing!
2021-07-04 21:43:24.082 [WARN ] [nternal.handler.VerisureThingHandler] - Please check that you have configured correct deviceId for thing!
2021-07-04 21:43:24.081 [WARN ] [nternal.handler.VerisureThingHandler] - Please check that you have configured correct deviceId for thing!
2021-07-04 21:43:24.082 [WARN ] [nternal.handler.VerisureThingHandler] - Please check that you have configured correct deviceId for thing!
2021-07-04 21:43:24.086 [WARN ] [nternal.handler.VerisureThingHandler] - Please check that you have configured correct deviceId for thing!
2021-07-04 21:43:24.087 [WARN ] [nternal.handler.VerisureThingHandler] - Please check that you have configured correct deviceId for thing!
2021-07-04 21:43:24.088 [WARN ] [nternal.handler.VerisureThingHandler] - Please check that you have configured correct deviceId for thing!
2021-07-04 21:43:24.086 [WARN ] [nternal.handler.VerisureThingHandler] - Please check that you have configured correct deviceId for thing!
2021-07-04 21:43:24.089 [WARN ] [nternal.handler.VerisureThingHandler] - Please check that you have configured correct deviceId for thing!
2021-07-04 21:43:24.090 [WARN ] [nternal.handler.VerisureThingHandler] - Please check that you have configured correct deviceId for thing!
2021-07-04 21:43:24.090 [WARN ] [nternal.handler.VerisureThingHandler] - Please check that you have configured correct deviceId for thing!
2021-07-04 21:43:24.091 [WARN ] [nternal.handler.VerisureThingHandler] - Please check that you have configured correct deviceId for thing!
2021-07-04 21:43:24.090 [WARN ] [nternal.handler.VerisureThingHandler] - Please check that you have configured correct deviceId for thing!
2021-07-04 21:43:25.766 [WARN ] [ng.verisure.internal.VerisureSession] - Failed to query for smartlock status: java.lang.IllegalStateException: Expected BEGIN_ARRAY but was STRING at line 1 column 1 path $
2021-07-04 21:43:25.886 [WARN ] [ng.verisure.internal.VerisureSession] - Failed to query for smartlock status: java.lang.IllegalStateException: Expected BEGIN_ARRAY but was STRING at line 1 column 1 path $
2021-07-04 21:43:25.966 [WARN ] [ng.verisure.internal.VerisureSession] - Failed to query for smartlock status: java.lang.IllegalStateException: Expected BEGIN_ARRAY but was STRING at line 1 column 1 path $
2021-07-04 21:43:26.042 [WARN ] [ng.verisure.internal.VerisureSession] - Failed to query for smartlock status: java.lang.IllegalStateException: Expected BEGIN_ARRAY but was STRING at line 1 column 1 path $
2021-07-04 21:43:26.119 [WARN ] [ng.verisure.internal.VerisureSession] - Failed to query for smartlock status: java.lang.IllegalStateException: Expected BEGIN_ARRAY but was STRING at line 1 column 1 path $
2021-07-04 21:43:26.291 [WARN ] [mmon.WrappedScheduledExecutorService] - Scheduled runnable ended with an exception: 
java.lang.NullPointerException: null
	at org.openhab.binding.verisure.internal.VerisureSession.updateDoorWindowStatus(VerisureSession.java:757) ~[?:?]
	at org.openhab.binding.verisure.internal.VerisureSession.lambda$2(VerisureSession.java:529) ~[?:?]
	at java.util.concurrent.ConcurrentHashMap.forEach(ConcurrentHashMap.java:1603) ~[?:?]
	at org.openhab.binding.verisure.internal.VerisureSession.updateStatus(VerisureSession.java:520) ~[?:?]
	at org.openhab.binding.verisure.internal.VerisureSession.refresh(VerisureSession.java:120) ~[?:?]
	at org.openhab.binding.verisure.internal.handler.VerisureBridgeHandler.refreshAndUpdateStatus(VerisureBridgeHandler.java:181) ~[?:?]
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515) ~[?:?]
	at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) ~[?:?]
	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) ~[?:?]
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) [?:?]
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) [?:?]
	at java.lang.Thread.run(Thread.java:829) [?:?]

I experience similar issues. It started when 2FA was introduced, so my best guess is that it has something to do with that. If I open the Verisure bridge thing and press “save” s couple of times, it comes online again. However, it goes offline in a couple of days or so.
I called Verisure Sweden to check if it is possible to disable 2FA. It was not an option for Swedish subscribers.

Hence I ended my Verisure Subscription.

Update 22/7. It IS possible to disable 2FA even for Swedish subscribers, at “my pages”. Their tech support was wrong…

I was wondering if anyone has any ideas about this?