Testers for Verisure openHAB 2 binding

I am playing around with this now.
Is it possible to have a switch to force update.

I have an Android with tasker that capture all notifies from verisure and want to trigger an update when receiving an notify.

/Mike

Please see post 52, it should explain what you need

The latest 2.3.0 works for me now, but says it is offline “communications error” but it updates fine.

I only use the climate part, can I change the set temperature or other climate settings ?

I am not sure what you are asking about ? My devices are read only,however it can probably be done if you can get the request/responses When you update these value on the webpages.

Is there a solution for:

2017-12-31 21:11:21.648 [WARN ] [.smarthome.config.core.Configuration] - Could not set field value for field 'pin': Can not set java.lang.String field org.openhab.binding.verisure.internal.VerisureBridgeConfiguration.pin to java.math.BigDecimal
java.lang.IllegalArgumentException: Can not set java.lang.String field org.openhab.binding.verisure.internal.VerisureBridgeConfiguration.pin to java.math.BigDecimal
        at sun.reflect.UnsafeFieldAccessorImpl.throwSetIllegalArgumentException(UnsafeFieldAccessorImpl.java:167) [?:?]
        at sun.reflect.UnsafeFieldAccessorImpl.throwSetIllegalArgumentException(UnsafeFieldAccessorImpl.java:171) [?:?]
        at sun.reflect.UnsafeObjectFieldAccessorImpl.set(UnsafeObjectFieldAccessorImpl.java:81) [?:?]
        at java.lang.reflect.Field.set(Field.java:764) [?:?]
        at org.apache.commons.lang.reflect.FieldUtils.writeField(FieldUtils.java:523) [41:org.apache.commons.lang:2.6.0]
        at org.apache.commons.lang.reflect.FieldUtils.writeField(FieldUtils.java:500) [41:org.apache.commons.lang:2.6.0]
        at org.apache.commons.lang.reflect.FieldUtils.writeField(FieldUtils.java:560) [41:org.apache.commons.lang:2.6.0]
        at org.eclipse.smarthome.config.core.Configuration.as(Configuration.java:106) [103:org.eclipse.smarthome.config.core:0.10.0.b1]
        at org.eclipse.smarthome.core.thing.binding.BaseThingHandler.getConfigAs(BaseThingHandler.java:284) [116:org.eclipse.smarthome.core.thing:0.10.0.b1]
        at org.openhab.binding.verisure.handler.VerisureBridgeHandler.initialize(VerisureBridgeHandler.java:150) [266:org.openhab.binding.verisure:2.3.0.201712220952]
        at sun.reflect.GeneratedMethodAccessor72.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) [109:org.eclipse.smarthome.core:0.10.0.b1]
        at org.eclipse.smarthome.core.internal.common.Invocation.call(Invocation.java:53) [109:org.eclipse.smarthome.core:0.10.0.b1]
        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) [?:?]

/Mike

Is it possible to also get a switch for presence HOME = ON.

/Mike

If i have this

	sendCommand(Verisure_CurrentStatus, RefreshType.REFRESH)

i get

2018-01-02 23:00:10.432 [ERROR] [ntime.internal.engine.ExecuteRuleJob] - Error during the execution of rule 'Verisure update': The name 'RefreshType' cannot be resolved to an item or type;

/mike

Add this to the top of your rules file
import org.eclipse.smarthome.core.types.RefreshType

@jarlebh Is it the item linked to Current Status i should use?

/Mike

That is what I use, try to enable debug for the binding and see what
happens when you send the refresh command.

Hi

The binding status remains UNINITIALIZED on my OpenHAB 2.2.0-1…

I’ve got a few Yale Doorman locks with the Verisure module running, so I’m trying to integrate this binding to get updates about the lock status.
I’ve installed the latest build posted here (2.3.0) and added a verisure.things file containing the following:

Bridge verisure:bridge:myverisure "Verisure Bridge" [authstring="j_username=myuser,j_password=mypw", refresh="600"]

In Karaf I’ve added Debug to the binding by typing:
log:set DEBUG org.openhab.binding.verisure

After saving the things file I see the following in openhab.log:

2018-01-05 08:37:34.566 [INFO ] [el.core.internal.ModelRepositoryImpl] - Refreshing model 'verisure.things'
2018-01-05 08:37:34.645 [WARN ] [el.core.internal.ModelRepositoryImpl] - Configuration model 'verisure.things' is either empty or cannot be parsed correctly!
2018-01-05 08:37:34.794 [INFO ] [el.core.internal.ModelRepositoryImpl] - Loading model 'verisure.things'

In events.log I see:

2018-01-05 08:52:57.920 [me.event.ThingUpdatedEvent] - Thing 'verisure:bridge:myverisure' has been updated.

The Verisure Bridge exists in PaperUI, but the status is:
UNINITIALIZED - HANDLER_CONFIGURATION_PENDING

I tried changing the values directly in the PaperUI and in Habmin but with no luck.

What might I have forgotten to do?

Thanks for putting your time into making bindings for the rest of us :slight_smile:

/Thomas

The latest version of the binding takes and username and password arguments, not the authstring.
Bridge verisure:bridge:1 “My Versirue” [pin=“XXXX”, username=“YYYYY”, password=“ZZZZZZ”]

Try this, should fix both issues

Changing to username and password did the trick - now I see the status in json format coming in through Karaf as a HTTP Response (200) in DEBUG :slight_smile:

But as you can see I get a new error with the latest build though:

2018-01-08 09:53:18.906 [DEBUG] [risure.handler.VerisureBridgeHandler] - VerisureBridgeHandler - Thread is up and running!
2018-01-08 09:53:18.911 [DEBUG] [ng.verisure.internal.VerisureSession] - areWeLoggedIn() - Checking if we are logged in
2018-01-08 09:53:19.461 [DEBUG] [ng.verisure.internal.VerisureSession] - areWeLoggedIn(200) - 
2018-01-08 09:53:19.464 [DEBUG] [ng.verisure.internal.VerisureSession] - Status code 200. Probably logged in
2018-01-08 09:53:19.467 [DEBUG] [ng.verisure.internal.VerisureSession] - VerisureSession:updateStatus
2018-01-08 09:53:19.557 [DEBUG] [ng.verisure.internal.VerisureSession] - HTTP Response (200) Body:[{"date":"Today 08:26","disarmed":false,"notAllowedReason":"","image":"locked","operational":true,"changeAllowed":true,"label":"Locked","type":"DOOR_LOCK","name":"","location":"Hoveddør","id":"XXXXXXXX","secureMode":false,"status":"locked"},{"date":"03/01/18 21:50","disarmed":false,"notAllowedReason":"","image":"locked","operational":true,"changeAllowed":true,"label":"Locked","type":"DOOR_LOCK","name":"","location":"KÌlder","id":"XXXXXXX1","secureMode":false,"status":"locked"},{"date":"Today 08:35","disarmed":false,"notAllowedReason":"","image":"locked","operational":true,"changeAllowed":true,"label":"Locked","type":"DOOR_LOCK","name":"","location":"Terrassedør","id":"XXXXXXX2","secureMode":false,"status":"locked"}]
2018-01-08 09:53:19.662 [DEBUG] [ng.verisure.internal.VerisureSession] - HTTP Response (200) Body:[]
2018-01-08 09:53:19.666 [DEBUG] [ng.verisure.internal.VerisureSession] - REST Response ({})
2018-01-08 09:53:19.748 [DEBUG] [ng.verisure.internal.VerisureSession] - HTTP Response (200) Body:
2018-01-08 09:53:19.752 [INFO ] [ng.verisure.internal.VerisureSession] - Failed to get all /settings/doorwindow?_=
java.lang.NullPointerException: null
	at org.openhab.binding.verisure.internal.VerisureSession.callJSONRest(VerisureSession.java:198) [235:org.openhab.binding.verisure:2.3.0.201801072131]
	at org.openhab.binding.verisure.internal.VerisureSession.updateVerisureObjects(VerisureSession.java:83) [235:org.openhab.binding.verisure:2.3.0.201801072131]
	at org.openhab.binding.verisure.internal.VerisureSession.updateStatus(VerisureSession.java:72) [235:org.openhab.binding.verisure:2.3.0.201801072131]
	at org.openhab.binding.verisure.internal.VerisureSession.refresh(VerisureSession.java:297) [235:org.openhab.binding.verisure:2.3.0.201801072131]
	at org.openhab.binding.verisure.handler.VerisureBridgeHandler$1.run(VerisureBridgeHandler.java:75) [235:org.openhab.binding.verisure:2.3.0.201801072131]
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:?]
	at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308) [?:?]
	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180) [?:?]
	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294) [?:?]
	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) [?:?]
2018-01-08 09:53:19.860 [DEBUG] [ng.verisure.internal.VerisureSession] - HTTP Response (200) Body:[]
2018-01-08 09:53:19.864 [DEBUG] [ng.verisure.internal.VerisureSession] - REST Response ({})
2018-01-08 09:53:19.939 [DEBUG] [ng.verisure.internal.VerisureSession] - HTTP Response (200) Body:[]
2018-01-08 09:53:19.942 [DEBUG] [ng.verisure.internal.VerisureSession] - REST Response ({})

Also - Am I supposed to get the actual values of my door locks through the channels or do I need to parse the json to get them? They all return UNDEF:

2018-01-08 09:43:19.816 [hingStatusInfoChangedEvent] - 'verisure:bridge:1' changed from INITIALIZING to ONLINE
2018-01-08 09:43:19.843 [vent.ItemStateChangedEvent] - alarm_current_status changed from NULL to UNDEF
2018-01-08 09:43:19.856 [vent.ItemStateChangedEvent] - verisure_bridge_1_status changed from NULL to UNDEF
2018-01-08 09:43:20.034 [vent.ItemStateChangedEvent] - verisure_bridge_1_statusnumeric changed from NULL to UNDEF
2018-01-08 09:43:20.085 [hingStatusInfoChangedEvent] - 'verisure:bridge:1' changed from ONLINE to OFFLINE (COMMUNICATION_ERROR)
2018-01-08 09:43:20.107 [vent.ItemStateChangedEvent] - verisure_bridge_1_changername changed from NULL to UNDEF
2018-01-08 09:43:20.118 [vent.ItemStateChangedEvent] - verisure_bridge_1_timestamp changed from NULL to UNDEF

Thanks!

I am not using a thing file i have just configured it in PaperUi.

/Mike

Strange, I use the UI for testing and it works well. Do you have an old version in addtion ?

I fixed the nullpointer

Can it be that my pin is 6 numbers?

/Mike

It would also be nice with a contact channel for door items (save some rules).

/mike

I now get this message on every refresh with the latest build:

2018-01-18 10:28:12.043 [INFO ] [ng.verisure.internal.VerisureSession] - Wrong response type null for call to https://mypages.verisure.com/settings/doorwindow?_=1516267691988