Testers for Verisure openHAB 2 binding

No help. Instead of generating a type error it is now just stuck in Initializing.

Note that the OpenHAB discovery service finds the lock without the underscore, and identifies it as a smartLock


ID: 2AQSxxxx, Location: Huvudentré UNINITIALIZED - HANDLER_INITIALIZING_ERROR
Yale Doorman SmartLock
verisure:smartLock:1:2AQSxxxx

Edit - stack trace:

2019-01-22 00:01:58.645 [ERROR] [nal.common.AbstractInvocationHandler] - An error occurred while calling method 'ThingHandler.initialize()' on 'org.openhab.binding.verisure.handler.VerisureThingHandler@17bb773': org.openhab.binding.verisure.internal.VerisureAlarmJSON cannot be cast to org.openhab.binding.verisure.internal.VerisureSmartLockJSON

java.lang.ClassCastException: org.openhab.binding.verisure.internal.VerisureAlarmJSON cannot be cast to org.openhab.binding.verisure.internal.VerisureSmartLockJSON
	at org.openhab.binding.verisure.handler.VerisureThingHandler.update(VerisureThingHandler.java:387) ~[?:?]
	at org.openhab.binding.verisure.handler.VerisureThingHandler.bridgeStatusChanged(VerisureThingHandler.java:348) ~[?:?]
	at org.openhab.binding.verisure.handler.VerisureThingHandler.initialize(VerisureThingHandler.java:318) ~[?:?]
	at sun.reflect.GeneratedMethodAccessor56.invoke(Unknown Source) ~[?:?]
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
	at java.lang.reflect.Method.invoke(Method.java:498) ~[?:?]
	at org.eclipse.smarthome.core.internal.common.AbstractInvocationHandler.invokeDirect(AbstractInvocationHandler.java:153) [102:org.eclipse.smarthome.core:0.10.0.oh240]
	at org.eclipse.smarthome.core.internal.common.Invocation.call(Invocation.java:53) [102:org.eclipse.smarthome.core:0.10.0.oh240]
	at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:?]
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:?]
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:?]
	at java.lang.Thread.run(Thread.java:748) [?:?]

Commit used for the build: a5a989fdbdc7ea3c7a179024c7f0cc7bd6362de3
Also tried with the precompiled version above - no dice there either.

Interesting, are you testing in an IDE or in a production system?

Commit used for the build: a5a989fdbdc7ea3c7a179024c7f0cc7bd6362de3

That is correct commit.

The ID for the Yale Doorman Smartlock does not contain an _ as you’ve noted, but all other IDs for Verisure things does, hence to generate similar IDs when using auto detetction I decided to add an _ to have a uniform ID for all detected things (that has an ID visible in Verisure homepage).’
Hence it is necessary to add an _ if you define the smartLock in a things-file.

Since I use auto detection for all things, I’ve not tested to actually define things in a things-file before, just the Bridge. However, Mike has done that and I’ve now tested in my IDE and it works fine, so something must be fooling us.

I’ve tested both with and without pin, and it works to see status for both configurations, example of my verisure.things file without specifying pin:

Bridge verisure:bridge:1 "Versiure Bridge" [ username="test@gmail.com", password="mysecret", refresh="300", numberOfInstallations="2"] {
 	Thing smartLock 2XYZ_8XYZ "Verisure Entrance Yale Doorman"  [ ID="2XYZ_8XYZ" ]    
 }

Running in the IDE both Bridge and thing gets online, and when I link channel in Paper UI, I see the values populated under Control.

If you test in an IDE, could you try to remove the folder:
Your path/openhab2-master/git/openhab-distro/launch/home/userdata

so that we make sure to start clean, and then only define the bridge in the verisure.things file:

Bridge verisure:bridge:1 "Versiure Bridge" [ username="test@gmail.com", password="mysecret", refresh="300", numberOfInstallations="1"]

The make sure that the Bridge comes online and then let auto discovery find all the Verisure things.

If you run in a production system, I would like to see what the following command sequence using the Karaf console gives:

openhab@openhab2:~ $ openhab-cli console

Logging in as openhab

                          __  _____    ____      
  ____  ____  ___  ____  / / / /   |  / __ )     
 / __ \/ __ \/ _ \/ __ \/ /_/ / /| | / __  | 
/ /_/ / /_/ /  __/ / / / __  / ___ |/ /_/ /      
\____/ .___/\___/_/ /_/_/ /_/_/  |_/_____/     
    /_/                        2.4.0
                               Release Build   

Hit '<tab>' for a list of available commands
and '[cmd] --help' for help on a specific command.
Hit '<ctrl-d>' or type 'system:shutdown' or 'logout' to shutdown openHAB.

openhab> bundle:list -s |grep verisure                                                                                                                                                                      
259 │ Active   │  80 │ 2.5.0.201901131614     │ org.openhab.binding.verisure

If this shows more that one bundle installed, then that old bundle must be stopped and uninstalled.
Use Karaf console and the ID and the following commands to stop and uninstall:

openhab> bundle:stop 257
openhab> bundle:uninstall 257

if the ID is 257 for the old binding that should be uninstalled.
Note that the version of the listed binding, it shall be 2.5.0.201901131614.

If you want to restart the binding in the production environment to make sure you run the correct jar-file, you can also do that using Karaf console. If I would to do it with my example above with ID 259 I would use the following commands:

openhab> bundle:stop 259
openhab> bundle:uninstall 259
openhab> bundle:install -s file:/usr/share/openhab2/addons/org.openhab.binding.verisure-2.5.0-SNAPSHOT.jar
Bundle ID: 263
openhab> bundle:list -s |grep verisure
263 │ Active   │  80 │ 2.5.0.201901131614     │ org.openhab.binding.verisure

The log (with log level DEBUG) will then contain (NOTE: Since I have 2 instances, your log will be slightly deifferent):

2019-01-22 20:42:22.641 [DEBUG] [risure.handler.VerisureBridgeHandler] - Stop immediate refresh for job java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask@f61f78
2019-01-22 20:42:22.644 [DEBUG] [ng.verisure.internal.VerisureSession] - Should dispose allocated stuff here in session
2019-01-22 20:42:22.659 [DEBUG] [sure.internal.VerisureHandlerFactory] - unsetHttpClientFactory this: org.openhab.binding.verisure.internal.VerisureHandlerFactory@13d24cf
2019-01-22 20:42:22.668 [DEBUG] [org.openhab.binding.verisure        ] - ServiceEvent UNREGISTERING - {org.eclipse.smarthome.core.thing.binding.ThingHandlerFactory}={service.id=446, service.bundleid=259, 
service.scope=bundle, component.name=org.openhab.binding.verisure.internal.VerisureHandlerFactory, component.id=270} - org.openhab.binding.verisure
2019-01-22 20:42:22.719 [DEBUG] [org.openhab.binding.verisure        ] - BundleEvent STOPPING - org.openhab.binding.verisure
2019-01-22 20:42:22.741 [DEBUG] [org.openhab.binding.verisure        ] - ServiceEvent UNREGISTERING - {org.eclipse.smarthome.config.discovery.DiscoveryService}={service.id=447, service.bundleid=259, servi
ce.scope=singleton} - org.openhab.binding.verisure
2019-01-22 20:42:22.748 [DEBUG] [org.openhab.binding.verisure        ] - BundleEvent STOPPED - org.openhab.binding.verisure
2019-01-22 20:42:33.664 [DEBUG] [org.openhab.binding.verisure        ] - BundleEvent UNRESOLVED - org.openhab.binding.verisure
2019-01-22 20:42:34.699 [DEBUG] [org.openhab.binding.verisure        ] - BundleEvent UNINSTALLED - org.openhab.binding.verisure
2019-01-22 20:42:50.569 [DEBUG] [org.openhab.binding.verisure        ] - BundleEvent INSTALLED - org.openhab.binding.verisure
2019-01-22 20:42:50.888 [DEBUG] [org.openhab.binding.verisure        ] - BundleEvent RESOLVED - org.openhab.binding.verisure
2019-01-22 20:42:50.894 [DEBUG] [org.openhab.binding.verisure        ] - BundleEvent STARTING - org.openhab.binding.verisure
2019-01-22 20:42:51.062 [DEBUG] [sure.internal.VerisureHandlerFactory] - setHttpClientFactory this: org.openhab.binding.verisure.internal.VerisureHandlerFactory@10e498c
2019-01-22 20:42:51.092 [DEBUG] [org.openhab.binding.verisure        ] - ServiceEvent REGISTERED - {org.eclipse.smarthome.core.thing.binding.ThingHandlerFactory}={service.id=461, service.bundleid=263, ser
vice.scope=bundle, component.name=org.openhab.binding.verisure.internal.VerisureHandlerFactory, component.id=275} - org.openhab.binding.verisure
2019-01-22 20:42:51.094 [DEBUG] [org.openhab.binding.verisure        ] - BundleEvent STARTED - org.openhab.binding.verisure
2019-01-22 20:42:51.419 [DEBUG] [sure.internal.VerisureHandlerFactory] - createHandler this: org.eclipse.smarthome.core.thing.internal.BridgeImpl@9dd770e5
2019-01-22 20:42:51.423 [DEBUG] [sure.internal.VerisureHandlerFactory] - Create VerisureBridgeHandler
2019-01-22 20:42:51.529 [DEBUG] [org.openhab.binding.verisure        ] - ServiceEvent REGISTERED - {org.eclipse.smarthome.config.discovery.DiscoveryService}={service.id=462, service.bundleid=263, service.
scope=singleton} - org.openhab.binding.verisure
2019-01-22 20:42:51.591 [DEBUG] [risure.handler.VerisureBridgeHandler] - Initializing Verisure Binding
2019-01-22 20:42:51.599 [DEBUG] [ng.verisure.internal.VerisureSession] - VerisureSession:initialize
2019-01-22 20:42:51.601 [DEBUG] [ng.verisure.internal.VerisureSession] - Attempting to log in to mypages.verisure.com
2019-01-22 20:42:52.509 [DEBUG] [ng.verisure.internal.VerisureSession] - HTTP Response (200) Body:{"status":"ok","redirectUrl":"/","message":null}
2019-01-22 20:42:52.510 [DEBUG] [ng.verisure.internal.VerisureSession] - Login URL: https://mypages.verisure.com/j_spring_security_check?locale=en_GB
2019-01-22 20:42:52.511 [DEBUG] [ng.verisure.internal.VerisureSession] - Login result: {}{"status":"ok","redirectUrl":"/","message":null}
2019-01-22 20:42:52.512 [DEBUG] [ng.verisure.internal.VerisureSession] - VerisureSession:handleInstallations
2019-01-22 20:42:52.513 [DEBUG] [ng.verisure.internal.VerisureSession] - Attempting to configure installation instance
2019-01-22 20:42:52.514 [DEBUG] [ng.verisure.internal.VerisureSession] - Start URL: https://mypages.verisure.com/uk/start.html?inst=1
2019-01-22 20:42:53.745 [DEBUG] [ng.verisure.internal.VerisureSession] - Got CSRF: 7826379bb2d21b34cc49ccff794c72bf9b358621d1686473c73161d4d8a1002e
2019-01-22 20:42:53.910 [DEBUG] [ng.verisure.internal.VerisureSession] - Attempting to configure installation instance
2019-01-22 20:42:53.911 [DEBUG] [ng.verisure.internal.VerisureSession] - Start URL: https://mypages.verisure.com/uk/start.html?inst=2
2019-01-22 20:42:54.476 [DEBUG] [ng.verisure.internal.VerisureSession] - Got CSRF: 7826379bb2d21b34cc49ccff794c72bf9b358621d1686473c73161d4d8a1002e
2019-01-22 20:42:54.525 [DEBUG] [risure.handler.VerisureBridgeHandler] - Start automatic refresh null
2019-01-22 20:42:54.528 [DEBUG] [risure.handler.VerisureBridgeHandler] - Scheduling at fixed delay refreshjob java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask@100e04c
2019-01-22 20:43:04.528 [DEBUG] [risure.handler.VerisureBridgeHandler] - VerisureBridgeHandler - Polling thread is up'n running!
2019-01-22 20:43:06.538 [DEBUG] [ng.verisure.internal.VerisureSession] - Attempting to log in to mypages.verisure.com
2019-01-22 20:43:07.129 [DEBUG] [ng.verisure.internal.VerisureSession] - HTTP Response (200) Body:{"status":"ok","redirectUrl":"/","message":null}
2019-01-22 20:43:07.131 [DEBUG] [ng.verisure.internal.VerisureSession] - Login URL: https://mypages.verisure.com/j_spring_security_check?locale=en_GB
2019-01-22 20:43:07.133 [DEBUG] [ng.verisure.internal.VerisureSession] - Login result: {}{"status":"ok","redirectUrl":"/","message":null}
2019-01-22 20:43:07.134 [DEBUG] [ng.verisure.internal.VerisureSession] - areWeLoggedIn() - Checking if we are logged in
2019-01-22 20:43:07.405 [DEBUG] [ng.verisure.internal.VerisureSession] - HTTP HEAD response: 
2019-01-22 20:43:07.406 [DEBUG] [ng.verisure.internal.VerisureSession] - Status code 200. Probably logged in
2019-01-22 20:43:07.817 [DEBUG] [ng.verisure.internal.VerisureSession] - Page type: start-page no-js
2019-01-22 20:43:07.820 [DEBUG] [ng.verisure.internal.VerisureSession] - VerisureSession:updateStatus
2019-01-22 20:43:07.820 [DEBUG] [ng.verisure.internal.VerisureSession] - Attempting to configure installation instance
2019-01-22 20:43:07.822 [DEBUG] [ng.verisure.internal.VerisureSession] - Start URL: https://mypages.verisure.com/uk/start.html?inst=1
2019-01-22 20:43:08.177 [DEBUG] [ng.verisure.internal.VerisureSession] - Got CSRF: 5b79193176d71122b624f99ef1b91bb04526536a585300e2aecfae5e17d79909
2019-01-22 20:43:08.186 [DEBUG] [ng.verisure.internal.VerisureSession] - HTTP GET: https://mypages.verisure.com/remotecontrol

The last row contains the URL used for quering the Alarm and SmartLock status, if you still have problems it would be great if you could log into Verisures webpage with your credentials, and the paste:

https://mypages.verisure.com/remotecontrol

in your web browser. You should then see a JSON containing two objects:

[
{
date: "Idag 19:26",
disarmed: true,
notAllowedReason: "",
image: "locked",
operational: true,
changeAllowed: true,
label: "Låst",
type: "DOOR_LOCK",
name: "",
location: "Ytterdörr",
id: "2XYZ8XYZ",
secureMode: false,
status: "locked"
},
{
date: "Igår 08:40",
notAllowedReason: "",
name: "John Doe",
changeAllowed: true,
id: 1,
label: "Avlarmat",
type: "ARM_STATE",
status: "unarmed"
}

The Verisure binding uses the first object for SmartLock and the second for Alarm things status.

That was a long post, bear with me, but I am eager to find out what the root-cause for your problem is. :slight_smile:

BR,

/Janne

1 Like

OK, here goes. My setup and testing are both done in a production system.

First I tried to uninstall all old bundles (I had one renamed to org.openhab.binding.verisure-2.5.0-SNAPSHOT.jar.bak which I thought would be enough to remove the binding - it was not).
The bundle I am using now is the one downloaded from the original post above.

252 ¦ Active   ¦  80 ¦ 2.5.0.201901151930     ¦ org.openhab.binding.verisure

The error remains.

Second, I added debugging info for that binding and got the following HTTP-response (confirmed this in my browser as well).

2019-01-22 23:48:15.959 [DEBUG] [ng.verisure.internal.VerisureSession] - HTTP GET: https://mypages.verisure.com/remotecontrol

2019-01-22 23:48:16.028 [DEBUG] [ng.verisure.internal.VerisureSession] - HTTP Response (200) Body:
[{
"date":"19/01/19 15:21",
"disarmed":false,
"notAllowedReason":"",
"image":"locked",
"operational":true,
"changeAllowed":true,
"label":"Locked",
"type":"DOOR_LOCK",
"name":"",
"location":"Huvudentré",
"id":"2AQSxxxx",
"secureMode":false,
"status":"locked"
},{
"date":"Today 16:05",
"disarmed":false,
"notAllowedReason":"",
"image":"locked",
"operational":true,
"changeAllowed":true,
"label":"Locked",
"type":"DOOR_LOCK",
"name":"",
"location":"Sidoentré",
"id":"2AXDxxxx",
"secureMode":false,
"status":"locked"
}]

These are correctly my two locks (connected via a “Microenhet”). I don’t have an actual alarm connected to this setup.

Oh, and I am using only discovery from now on. Skipping the definitions of anything except the bridge in the things-files.

Thanks for the info! :slight_smile:
This is a setup that I’ve not tested, the new design assumes you have an alarm.

I need to look into this and it will be hard for me to test since I only have one SmartLock and also an alarm.
Is it possible that you can test new jar-builds for me?

I will look into this use-case during the week-end.

BR,

/Janne

I can be a guinea pig :slight_smile: no worries.

Robin

I cannot reproduce the problem in my IDE :frowning: , I’ve used the JSON posted above with 2 SmartLocks and no alarm and simulated your environment.
I’ve sent you a PM asking for JSONs for the following queries:

https://mypages.verisure.com/overview/climatedevice
https://mypages.verisure.com/settings/smartplug
https://mypages.verisure.com/settings/doorwindow
https://mypages.verisure.com/overview/doorlock/2AQSxxxx use your real ID)
https://mypages.verisure.com/overview/doorlock/2AXDxxxx (use your real ID)
https://mypages.verisure.com/overview/usertrackingcontacts
https://mypages.verisure.com/overview/ethernetstatus

BR,

/Janne

Hi, regarding the refresh/polling of 10 minutes. I took a very quick look at the decompiled Android app, and it is certainly using Google Cloud Messaging (retired and being replaced by Firebase Cloud Messaging this spring). Have you tried to write a small client registering at GCM for push messages?

Regards, Arne

Have you tried to write a small client registering at GCM for push messages?

No, I have not tested that.

There is a decompiled API for Apps that the binding in the future probably should use. If we should make an attempt to get the binding official in OH2.5, I think we will stick with the current implementation.

Using 10 minutes refresh time seems to be acceptable.

I have a fix for @RobinS configuration that works acceptable, code is pushed and I’ve created a new jar-file for test, and updated the link in my original post.

BR,

/Janne

I’ve created an Issue and a PR for the updated verisure binding.

BR,

/Janne

1 Like

Big thanks for updating and getting the binding up an running again.

I installed 2.5.0.201903031210 on my testsystem and it seems to work alright. After installing in my production system (2.5.0.M1) initially it looked like working but now all readings are null and my smartlocks does not respond to commands.

I should also note that i only have the bridge statement in my things file and explicit define my items in an item file.

Debug logs looks like the actual get correct readings, but the state of the items does not reflect that.

/t

Thank you for testing the binding! :slight_smile:

I’m in a process of trying to get this binding official so I’ve done some changes to the logic and modelling after a couple of code reviews.
However, if the previous jar-file worked in one installation but not in another, that seems strange.

Do you run 2.5.0.M1 in both installations? I’m still running on 2.4.0 in my production, I will probably upgrade to a 2.5.0 milestone build soon.

I’ve updated my post above with a new jar-file and an updated README, it you got the time it would be interesting for me to get your test results from the new published jar-file.

The biggest change is that each Thing now has a mandatory property called deviceId. If you’re using autodiscovery the deviceId will be automatically set to the corresponding Verisure Id for that particular device (besides for alarm, broadband connection and user presence that lacks a Verisure Id).
Since you are configuring things in a .things file, you must adapt to this change.

The README file is updated to reflect the change.

BR,

/Janne

Jan,
It looks like the same behaviour to mee.
I really don’t understand your comment regarding deviceId. I configure my stuff in an items file, not .things.

I get debug responses like these:
2019-03-13 14:59:27.328 [DEBUG] [ng.verisure.internal.VerisureSession] - HTTP GET: https://mypages.verisure.com/overview/doorlock/2AXABCDE
2019-03-13 14:59:27.378 [DEBUG] [ng.verisure.internal.VerisureSession] - HTTP Response (200) Body:
2019-03-13 14:59:27.382 [DEBUG] [ng.verisure.internal.VerisureSession] - REST Response (null)

The items i describe in my items file looks like this:
Switch LF_VS_BoilerRoom_DoorLock_Set “Pannrum dörrlås” { channel=“verisure:smartLock:1:2AXA_BCDE:setSmartLockStatus” }
as the things I see in the inbox after autodiscovery has the underscore in its name.
Is that a problem?

/t

I really don’t understand your comment regarding deviceId. I configure my stuff in an items file, not .things.

NP, in OpenHAB 2.x you have a choice to either configure Verisure Bridge/Things via PaperUI as you have done and then use autodiscovery to detect your Verisure devices, or you can configure Bridge/Things manually in a .things file.

If you use autodiscovery as you have done, deviceId is set automatically so you do not need to bother about it. DeviceId is the same as Verisure Id for most things, except for alarm, user presence and broadband connection.

The items i describe in my items file looks like this:
Switch LF_VS_BoilerRoom_DoorLock_Set “Pannrum dörrlås” { channel=“verisure:smartLock:1:2AXA_BCDE:setSmartLockStatus” }
as the things I see in the inbox after autodiscovery has the underscore in its name.
Is that a problem?

No, it is not a problem. For some reason the Verisure DeviceId for SmartLock does not contain a space in the API, the binding currently adds a “_” between the group of 4 characters so that all DeviceIds looks the same.

Have you configured pin when you configured the Verisure Bridge in PaperUI?

I think I need more Debug info to know what goes wrong, I’ll send a private message to you so that we don’t expose your DeviceIds in public.

The root-cause to the problem mention in previous post was that the Verisure user used when configuring the Bridge did not have sysadmin rights.

I’ve now updated the binding to support users not being sysadmins, however you will then loose some SmartLock functionality but you will be able to lock/unlock the door.

Jan,

It works great with lower privileges, thanks!
What kind of functionality would be missing not using admin rights?

/t

It works great with lower privileges, thanks!

Gr8 to hear, thanks for testing! :slight_smile:

What kind of functionality would be missing not using admin rights?

From the updated README:

Using an older version of the binding on OH2.4 a while back and PaperUI I had a working configuration.
I recently installed a fresh 2.5.0.M1 system and now with the latest binding from this post, I am unable to get the bridge to initialize using .things and .items files. There must be something wrong with my configuration files. The log shows:

[.ItemChannelLinkAddedEvent] - Link 'VS_AlarmStatus-verisure:alarm:myverisure:alarm_1:alarmStatus' has been added.
[.ItemChannelLinkAddedEvent] - Link 'VS_AlarmTime-verisure:alarm:myverisure:alarm_1:timestamp' has been added.
[hingStatusInfoChangedEvent] - 'verisure:bridge:myverisure' changed from UNINITIALIZED to INITIALIZING
[hingStatusInfoChangedEvent] - 'verisure:alarm:myverisure:alarm_1' changed from UNINITIALIZED to UNINITIALIZED (BRIDGE_UNINITIALIZED)
[hingStatusInfoChangedEvent] - 'verisure:bridge:myverisure' changed from INITIALIZING to OFFLINE (COMMUNICATION_ERROR)
[hingStatusInfoChangedEvent] - 'verisure:alarm:myverisure:alarm_1' changed from UNINITIALIZED (BRIDGE_UNINITIALIZED) to INITIALIZING
[hingStatusInfoChangedEvent] - 'verisure:alarm:myverisure:alarm_1' changed from INITIALIZING to OFFLINE (BRIDGE_OFFLINE)

The thing definition is:

Bridge verisure:bridge:myverisure "VeriSure Bridge" [username=<redacted>, password=<redacted>, refresh="600", pin=<redacted>, numberOfInstallations="1"]
{
    Thing alarm alarm_1 "Verisure Alarm" [ deviceId="alarm_1" ]
}

And a few items:

String VS_AlarmStatus "Alarm Status" {channel="verisure:alarm:myverisure:alarm_1:alarmStatus"}
String VS_AlarmTime   "Alarm Update" {channel="verisure:alarm:myverisure:alarm_1:lastUpdate"}

I double-checked the login credentials (copied them from the .things file into a new incognito browser session to login to mypages.verisure.com).

What am I missing?

UPDATE: I noticed two things so far:

  1. The URL to access the mypages site has en_GB as locale. Not sure yet if it matters…
[DEBUG] [ng.verisure.internal.VerisureSession] - Login URL: https://mypages.verisure.com/j_spring_security_check?locale=en_GB
  1. The password is placed in the URL without quotes or encouding of special characters like ‘!’ or ‘&’. I guess that could cause an issue as I have these type of characters in my password. Will try with a changed password to be (veri😁)sure…

UPDATE 2: I can confirm that the special characters - as expected - in the password cause issues with the URL. After changing it to something without those characters, the login succeeds!
@jannegpriv Would it be possible for you to implement encoding of these characters (like described on Wikipedia)?

UPDATE 3: By putting the encoded characters in the bridge definition, the login succeeds (e.g. use %21 instead of ! in the password text). Now I get the alarm status again.

Hi!

Thanks for testing the binding and a nice finding with special characters in the password. :slight_smile:
I’ll try to fix that ASAP!

1 Like

@jannegpriv: One more question, if I may. From the README I concluded that motion sensors are not yet supported in the binding. Correct?
FYI, I have two types of motion sensors (so called Photo Sensors and simple Motion Sensors):

I have the same photo sensor as you do, however I’ve never been able to receive any motion detection status from it. The binding uses the same API as the webpage, is it possible to get information from the motion sensors on the webpage?