New openHAB2 Binding for Nuki Smart Locks

  • battery-life should be better
    but i have to say, that i only use akkus, not normal batteries, i have to re-charge them every two weeks

  • after first installation, i got a ‘motor blocked’ message every 2 days
    after re-adjusting the plate (that you have to put on your door) and a few hardware-resets, i only get this message when
    my akkus getting empty

  • auto unlock works (we only use iphone’s, it’s different on android i read)
    geo-fence is enabled
    my wife parks in the garage which gives enough time for auto-unlock
    i park direct in front of the door (sometimes i have to wait 1-2 seconds in front of until its open)
    auto-unlock is the function i like most

i would by it again!

i bought it last year and was also looking into dana-lock, (because i mainly use z-wave devices)
but i read about not solved auto-unlock problems and long unlock times)
nuki is an austrian startup and i’m from austria too, so the decision between nuki and dana-lock was easy :wink:

BUT dana-lock V3 (z-wave) is announced for jun/jul 2017!

PS: locking works 100%
PSPS: after reading my own post i would give it an 8, not 6/7… :wink:

2 weeks battery power is a deal breaker for me. I want to have power for 1/2 year or 1 year. But only 2 weeks is much much much to short. Do you use eneloops? They have about 1800-2000 mAh.

-> Duracell Recharge Ultra Akku AA (HR06) 2.500 mAh

Since nuki is a key-turner i think batteries won’t last 6 months…

maybe i could make a re-charge inverval of 4 weeks, when i turn off auto-lock…
which is a very nice feature too…

Do other users have the same short time?

Maybe i can mod the lock somehow. I have flush mounts near the door, so i can wire the lock with power and no need anymore for batteries. I´ve seen this for the Homematic Keymatic (same product was is sold from ABUS and ELV).

should be doable!

Nuki says, battery will last 6 to 8 months with about 6-8 closings/openings per day.

How many openings do you have when it only lasts 2-4 weeks?

I don´t think that simple common batterys (no akkus) have more capacity than eneloops or your duracell akkus?

I would say about minimum 14…

Of course it’s different with akkus, but never tried batteries.
(the voltage is different 1.2V akku and 1,5V batteries)

I’ve akkus in my 20+ zwave devices to…

Does the Nuki have a sensor (magnetic or other) to detect if the door is latched? (meaning closed/open, not locked/unlocked)

no
i have sensative stripe for that

Would be nice if other users of a nuki smartlock could provide us their battery changing intervall too.

What about using more than one nuki with a bridge? Can i use one bridge and controll all nukis in my house? Even if they are on different floors and different sides of the house? Maybe 10-15m distance between the locations?

Nuki is communicating to the bridge with Bluetooth LE, which has no big coverage i think. In this case i have to use more than one bridge? Maybe for each nuki a separate bridge (this woul be very expensive…).

1 Like

Ok… I think that I will start a new thread about this…
I checked it out and it seems that it is really worth the wait… :slight_smile:

@mkatter I now installed the latest .jar (as of 2017-05-11) on openHAB snapshot 2.1.1 and implemented everything as per your manual config in Readme.md
I added my reverse rule for Alexa switching and everything works except for the
Lock State which shows the state-change event but does not update to the final state once reached.
So it constantly shows “Unlocking” never changing to final state “Unlocked”.

My Log reads as follows:

openhab> log:tail org.openhab.binding.nuki
14:29:25.403 [DEBUG] [ng.nuki.handler.NukiSmartLockHandler] - NukiSmartLockHandler:handleCommandOnOffType(nuki:smartlock:NB1:SL1:unlock, ON, 1234567)
14:29:25.415 [DEBUG] [internal.dataexchange.NukiHttpClient] - NukiHttpClient:getBridgeLockAction(1234567, 2)
14:29:25.416 [TRACE] [internal.dataexchange.NukiHttpClient] - URI[http://10.82.1.210:8080/lockAction?token=ABCDEF&nukiId=1234567&action=2]
14:29:41.598 [TRACE] [internal.dataexchange.NukiHttpClient] - contentResponseAsString[{"success": true, "batteryCritical": false}]
14:29:41.601 [DEBUG] [ng.nuki.handler.NukiSmartLockHandler] - Command[ON] succeeded for channelUID[nuki:smartlock:NB1:SL1:unlock]
14:30:17.478 [DEBUG] [ng.nuki.handler.NukiSmartLockHandler] - NukiSmartLockHandler:handleCommandOnOffType(nuki:smartlock:NB1:SL1:unlock, OFF, 1234567)
14:30:17.491 [DEBUG] [internal.dataexchange.NukiHttpClient] - NukiHttpClient:getBridgeLockAction(1234567, 1)
14:30:17.501 [TRACE] [internal.dataexchange.NukiHttpClient] - URI[http://10.82.1.210:8080/lockAction?token=ABCDEF&nukiId=1234567&action=1]
14:30:34.511 [TRACE] [internal.dataexchange.NukiHttpClient] - contentResponseAsString[{"success": true, "batteryCritical": false}]
14:30:34.512 [DEBUG] [ng.nuki.handler.NukiSmartLockHandler] - Command[OFF] succeeded for channelUID[nuki:smartlock:NB1:SL1:unlock]

BR

Uwe

@uweb It seems that you did not configure a callback URL on the Nuki Bridge

@mkatter you were right. My callback URL was not complete, the /bcb/ was missing.
First test successfull but more testing required.

Thx

Uwe

@mkatter Thank you so much for this Binding.
I can lock and unlock and so on, thats very good BUT:
I have a problem with update the items. Igot no callback informations.
I integrated the following both callback adresses in NUKI Bridge:

{"callbacks": [{"id": 0, "url": "http://192.168.0.101:8080/nuki/bcb/"},{"id": 1, "url": "http://192.168.0.101:8080/nuki/bcb"}]}

I also try both seperatly
But it does not work.
192.168.0.101 is my openhabian.
I use openhabian in this Version openHAB 2.2.0~20170801032953-1 (Build #999)
And also your latest Binding

THX

Stefan

@mkatter Today I tried also to change the API Callback switch another Port like 4499 or 8081.
But it also doesn´t work.
When I call directly the following Http request: http://192.168.0.101:8080/nuki/bcb/
I got the following anwser: {“status”:“OK”}

But in the logfile I see:

2017-08-02 19:03:53.737 [WARN ] [internal.dataexchange.NukiApiServlet] - Could not handle request! Message[null]
java.lang.NullPointerException
	at org.openhab.binding.nuki.internal.dataexchange.NukiApiServlet.service(NukiApiServlet.java:112)[195:org.openhab.binding.nuki:2.1.0.201705112100]
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)[18:javax.servlet-api:3.1.0]
	at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:812)[79:org.eclipse.jetty.servlet:9.2.19.v20160908]
	at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:587)[79:org.eclipse.jetty.servlet:9.2.19.v20160908]
	at org.ops4j.pax.web.service.jetty.internal.HttpServiceServletHandler.doHandle(HttpServiceServletHandler.java:71)[170:org.ops4j.pax.web.pax-web-jetty:4.3.0]
	at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)[78:org.eclipse.jetty.server:9.2.19.v20160908]
	at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:577)[77:org.eclipse.jetty.security:9.2.19.v20160908]
	at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:223)[78:org.eclipse.jetty.server:9.2.19.v20160908]
	at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1127)[78:org.eclipse.jetty.server:9.2.19.v20160908]
	at org.ops4j.pax.web.service.jetty.internal.HttpServiceContext.doHandle(HttpServiceContext.java:287)[170:org.ops4j.pax.web.pax-web-jetty:4.3.0]
	at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:515)[79:org.eclipse.jetty.servlet:9.2.19.v20160908]
	at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185)[78:org.eclipse.jetty.server:9.2.19.v20160908]
	at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1061)[78:org.eclipse.jetty.server:9.2.19.v20160908]
	at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)[78:org.eclipse.jetty.server:9.2.19.v20160908]
	at org.ops4j.pax.web.service.jetty.internal.JettyServerHandlerCollection.handle(JettyServerHandlerCollection.java:80)[170:org.ops4j.pax.web.pax-web-jetty:4.3.0]
	at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:97)[78:org.eclipse.jetty.server:9.2.19.v20160908]
	at org.eclipse.jetty.server.Server.handle(Server.java:499)[78:org.eclipse.jetty.server:9.2.19.v20160908]
	at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:311)[78:org.eclipse.jetty.server:9.2.19.v20160908]
	at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:257)[78:org.eclipse.jetty.server:9.2.19.v20160908]
	at org.eclipse.jetty.io.AbstractConnection$2.run(AbstractConnection.java:544)[69:org.eclipse.jetty.io:9.2.19.v20160908]
	at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:635)[81:org.eclipse.jetty.util:9.2.19.v20160908]
	at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:555)[81:org.eclipse.jetty.util:9.2.19.v20160908]
	at java.lang.Thread.run(Thread.java:745)[:1.8.0_121]

I think it should say, the request is working??

Do you have any ideas for my problem?

Now I reorganized my Items, and I could see following:

When I updated the nuki.items, the correct Status is setting.
So now I know the callback API works!

But how can I update the items automaticlly?
I will try a workarround with a rule that update the nuki.items every 30sec?

Anybody have an idea?

@The-Elk Check the log on the bridge if the callback succeeded. Without a successful callback from the bridge the items will not get updated.

@mkatter Thanks for your anwser.

I had a look in the Nuki Bridge Log by following http Request:
http://192.168.0.21:8080/log?token=XXXXXXX

but I got only the following informations:

{"timestamp": "2017-08-03T06:12:49+00:00", "type": "HTTP-Log"}, 
{"timestamp": "2017-08-03T06:12:49+00:00", "type": "WLAN-SocketConnected", "connection": 0}, 
{"timestamp": "2017-08-03T06:12:29+00:00", "type": "WLAN-SocketDisconnected", "connection": 0}, 
{"timestamp": "2017-08-03T06:12:29+00:00", "type": "HTTP-List"}, 
{"timestamp": "2017-08-03T06:12:29+00:00", "type": "WLAN-SocketConnected", "connection": 0}, 
{"timestamp": "2017-08-03T06:12:29+00:00", "type": "WLAN-SocketDisconnected", "connection": 0}, 
{"timestamp": "2017-08-03T06:12:29+00:00", "type": "HTTP-List"}, 
{"timestamp": "2017-08-03T06:12:29+00:00", "type": "WLAN-SocketConnected", "connection": 0}, 
{"timestamp": "2017-08-03T06:11:59+00:00", "type": "WLAN-SocketDisconnected", "connection": 0}, 
{"timestamp": "2017-08-03T06:11:59+00:00", "type": "HTTP-List"}, 
{"timestamp": "2017-08-03T06:11:59+00:00", "type": "WLAN-SocketConnected", "connection": 0}, 
{"timestamp": "2017-08-03T06:11:59+00:00", "type": "WLAN-SocketDisconnected", "connection": 0},
{"timestamp": "2017-08-03T06:11:59+00:00", "type": "HTTP-List"}, 
{"timestamp": "2017-08-03T06:11:59+00:00", "type": "WLAN-SocketConnected", "connection": 0},
........

All these logs looks like my workaround with an http Request rule:

rule "Nuki abholen"
  when 
    Time cron "0/30 * * * * ?"   // every 30 sec
  then
		var String var1= sendHttpGetRequest("http://xxx:8080/list?token=yyy")
		var String value = transform("JSONPATH", "$[0].lastKnownState.state", var1)
		postUpdate(nuki_status, value)
end

EDIT: Is there any special http request to see logs about the callback?
It was my false, with the Log File. --> see in next Post

@mkatter sorry the logfile storage is not so much :wink:
now I sent “open” and 1 minute later “close”:

[ 
{"timestamp": "2017-08-03T06:42:50+00:00", "type": "HTTP-Log"}, 
{"timestamp": "2017-08-03T06:42:50+00:00", "type": "WLAN-SocketConnected", "connection": 0}, 
{"timestamp": "2017-08-03T06:42:45+00:00", "type": "WLAN-SocketDisconnected", "connection": 0}, 
{"timestamp": "2017-08-03T06:42:44+00:00", "type": "HTTP-Log"}, 
{"timestamp": "2017-08-03T06:42:44+00:00", "type": "WLAN-SocketConnected", "connection": 0}, 
{"timestamp": "2017-08-03T06:42:41+00:00", "type": "WLAN-SocketDisconnected", "connection": 0}, 
{"timestamp": "2017-08-03T06:42:40+00:00", "type": "WLAN-TxAborted"}, 
{"timestamp": "2017-08-03T06:42:34+00:00", "type": "WLAN-TxAborted"}, 
{"timestamp": "2017-08-03T06:42:28+00:00", "type": "HTTP-Log"}, 
{"timestamp": "2017-08-03T06:42:28+00:00", "type": "WLAN-SocketConnected", "connection": 0}, 
{"timestamp": "2017-08-03T06:42:23+00:00", "type": "WLAN-SocketDisconnected", "connection": 3}, 
{"timestamp": "2017-08-03T06:42:23+00:00", "type": "HTTP-PostDone", "responseCode": 200}, 
{"timestamp": "2017-08-03T06:42:23+00:00", "type": "HTTP-Post", "nukiId": "XXXXXXX", "urlId": 0}, 
{"timestamp": "2017-08-03T06:42:22+00:00", "type": "BLE-Disconnected", "nukiId": "XXXXXXX"}, 
{"timestamp": "2017-08-03T06:42:22+00:00", "type": "BLE-Disconnect", "nukiId": "XXXXXXX"}, 
{"timestamp": "2017-08-03T06:42:22+00:00", "type": "BLE-ReceivingMsg", "nukiId": "XXXXXXX", "cmdId": "000E"}, 
{"timestamp": "2017-08-03T06:42:22+00:00", "type": "SSE-KeyturnerResponse", "nukiId": "XXXXXXX", "bytes": 188}, 
{"timestamp": "2017-08-03T06:42:22+00:00", "type": "BLE-ReceivingSSE", "bytes": 55, "auth": "00000107"}, 
{"timestamp": "2017-08-03T06:42:22+00:00", "type": "SSE-KeyturnerResponse", "nukiId": "XXXXXXX", "bytes": 256}, 
{"timestamp": "2017-08-03T06:42:22+00:00", "type": "BLE-ReceivingSSE", "bytes": 106, "auth": "00000107"}, 
{"timestamp": "2017-08-03T06:42:22+00:00", "type": "WLAN-SocketDisconnected", "connection": 0}, 
{"timestamp": "2017-08-03T06:42:21+00:00", "type": "BLE-SendingSSE", "bytes": 96, "auth": "00000107"}, 
{"timestamp": "2017-08-03T06:42:21+00:00", "type": "BLE-Connect", "handles": [24, 25]}, 
{"timestamp": "2017-08-03T06:42:21+00:00", "type": "BLE-Connected", "nukiId": "XXXXXXX"}, 
{"timestamp": "2017-08-03T06:42:21+00:00", "type": "BLE-Connect", "macAddr": "XXXXXXXXXXX"}, 
{"timestamp": "2017-08-03T06:42:21+00:00", "type": "BLE-Connect", "nukiId": "XXXXXXX"}, 
{"timestamp": "2017-08-03T06:42:21+00:00", "type": "SSE-KeyturnerRequest", "nukiId": "XXXXXXX", "bytes": 96}, 
{"timestamp": "2017-08-03T06:42:20+00:00", "type": "HTTP-Log"}, 
{"timestamp": "2017-08-03T06:42:20+00:00", "type": "BLE-Disconnected", "nukiId": "XXXXXXX"}, 
{"timestamp": "2017-08-03T06:42:20+00:00", "type": "BLE-Disconnect", "nukiId": "XXXXXXX"}, 
{"timestamp": "2017-08-03T06:42:20+00:00", "type": "BLE-ReceivingMsg", "nukiId": "XXXXXXX", "cmdId": "000E"}, 
{"timestamp": "2017-08-03T06:42:20+00:00", "type": "SSE-KeyturnerResponse", "nukiId": "XXXXXXX", "bytes": 228}, 
{"timestamp": "2017-08-03T06:42:20+00:00", "type": "BLE-ReceivingSSE", "bytes": 86, "auth": "00000107"}, 
{"timestamp": "2017-08-03T06:42:20+00:00", "type": "WLAN-SocketConnected", "connection": 0}, 
{"timestamp": "2017-08-03T06:42:19+00:00", "type": "BLE-SendingSSE", "bytes": 56, "auth": "00000107"}, {"timestamp": "2017-08-03T06:42:19+00:00", "type": "BLE-Connect", "handles": [24, 25]}, 
{"timestamp": "2017-08-03T06:42:19+00:00", "type": "BLE-Connected", "nukiId": "XXXXXXX"}, 
{"timestamp": "2017-08-03T06:42:19+00:00", "type": "WLAN-SocketConnected", "connection": 3}, 
{"timestamp": "2017-08-03T06:42:19+00:00", "type": "BLE-Connect", "macAddr": "XXXXXXXXXXX"}, 
{"timestamp": "2017-08-03T06:42:19+00:00", "type": "BLE-Connect", "nukiId": "XXXXXXX"}, 
{"timestamp": "2017-08-03T06:42:19+00:00", "type": "SSE-KeyturnerRequest", "nukiId": "XXXXXXX", "bytes": 56}, {"timestamp": "2017-08-03T06:42:19+00:00", "type": "BLE-Disconnected", "nukiId": "XXXXXXX"}, 
{"timestamp": "2017-08-03T06:42:19+00:00", "type": "BLE-Disconnect", "nukiId": "XXXXXXX"}, 
{"timestamp": "2017-08-03T06:42:19+00:00", "type": "BLE-ReceivingMsg", "nukiId": "XXXXXXX", "cmdId": "000E"}, 
{"timestamp": "2017-08-03T06:42:18+00:00", "type": "SSE-KeyturnerResponse", "nukiId": "XXXXXXX", "bytes": 204}, 
{"timestamp": "2017-08-03T06:42:18+00:00", "type": "BLE-ReceivingSSE", "bytes": 69, "auth": "00000107"}, 
{"timestamp": "2017-08-03T06:42:18+00:00", "type": "BLE-SendingSSE", "bytes": 56, "auth": "00000107"}, 
{"timestamp": "2017-08-03T06:42:18+00:00", "type": "BLE-Connect", "handles": [24, 25]}, 
{"timestamp": "2017-08-03T06:42:18+00:00", "type": "BLE-Connected", "nukiId": "XXXXXXX"}, 
{"timestamp": "2017-08-03T06:42:18+00:00", "type": "BLE-Connect", "macAddr": "XXXXXXXXXXX"}, 
{"timestamp": "2017-08-03T06:42:18+00:00", "type": "BLE-Connect", "nukiId": "XXXXXXX"}, 
{"timestamp": "2017-08-03T06:42:18+00:00", "type": "SSE-KeyturnerRequest", "nukiId": "XXXXXXX", "bytes": 56}, {"timestamp": "2017-08-03T06:42:18+00:00", "type": "SSE-KeyturnerEventResp", "nukiId": "XXXXXXX"}, 
{"timestamp": "2017-08-03T06:42:18+00:00", "type": "HTTP-PostStart"}, 
{"timestamp": "2017-08-03T06:42:18+00:00", "type": "BLE-Disconnected", "nukiId": "XXXXXXX"}, 
{"timestamp": "2017-08-03T06:42:17+00:00", "type": "BLE-Disconnect", "nukiId": "XXXXXXX"}, 
{"timestamp": "2017-08-03T06:42:17+00:00", "type": "SSE-KeyturnerEventReq", "nukiId": "XXXXXXX"}, 
{"timestamp": "2017-08-03T06:42:17+00:00", "type": "BLE-ReceivingMsg", "nukiId": "XXXXXXX", "cmdId": "000C"}, 
{"timestamp": "2017-08-03T06:42:16+00:00", "type": "BLE-SendingMsg", "nukiId": "XXXXXXX", "cmdId": "0001"}, 
{"timestamp": "2017-08-03T06:42:16+00:00", "type": "BLE-Connect", "handles": [24, 25]}, 
{"timestamp": "2017-08-03T06:42:16+00:00", "type": "BLE-Connected", "nukiId": "XXXXXXX"}, 
{"timestamp": "2017-08-03T06:42:16+00:00", "type": "BLE-Connect", "macAddr": "XXXXXXXXXXX"}, 
{"timestamp": "2017-08-03T06:42:16+00:00", "type": "BLE-Connect", "nukiId": "XXXXXXX"}, 
{"timestamp": "2017-08-03T06:42:16+00:00", "type": "BLE-StatusUpdate", "nukiId": "XXXXXXX"}, 
{"timestamp": "2017-08-03T06:42:16+00:00", "type": "WLAN-SocketDisconnected", "connection": 0}, 
{"timestamp": "2017-08-03T06:42:16+00:00", "type": "BLE-Disconnected", "nukiId": "XXXXXXX"}, 
{"timestamp": "2017-08-03T06:42:16+00:00", "type": "BLE-Disconnect", "nukiId": "XXXXXXX"}, 
{"timestamp": "2017-08-03T06:42:15+00:00", "type": "BLE-ReceivingMsg", "nukiId": "XXXXXXX", "cmdId": "000E"}, 
{"timestamp": "2017-08-03T06:42:14+00:00", "type": "BLE-ReceivingMsg", "nukiId": "XXXXXXX", "cmdId": "000C"}, 
{"timestamp": "2017-08-03T06:42:09+00:00", "type": "BLE-ReceivingMsg", "nukiId": "XXXXXXX", "cmdId": "000C"}, 
{"timestamp": "2017-08-03T06:42:08+00:00", "type": "BLE-ReceivingMsg", "nukiId": "XXXXXXX", "cmdId": "000E"}, 
{"timestamp": "2017-08-03T06:42:07+00:00", "type": "BLE-SendingMsg", "nukiId": "XXXXXXX", "cmdId": "000D"}, 
{"timestamp": "2017-08-03T06:42:07+00:00", "type": "BLE-ReceivingMsg", "nukiId": "XXXXXXX", "cmdId": "0004"}, 
{"timestamp": "2017-08-03T06:42:07+00:00", "type": "BLE-SendingMsg", "nukiId": "XXXXXXX", "cmdId": "0001"}, 
{"timestamp": "2017-08-03T06:42:07+00:00", "type": "BLE-Connect", "handles": [24, 25]}, 
{"timestamp": "2017-08-03T06:42:07+00:00", "type": "BLE-Connected", "nukiId": "XXXXXXX"}, 
{"timestamp": "2017-08-03T06:42:07+00:00", "type": "BLE-Connect", "macAddr": "XXXXXXXXXXX"}, 
{"timestamp": "2017-08-03T06:42:07+00:00", "type": "BLE-Connect", "nukiId": "XXXXXXX"}, 
{"timestamp": "2017-08-03T06:42:06+00:00", "type": "HTTP-LockAction", "nukiId": "XXXXXXX"}, 
{"timestamp": "2017-08-03T06:42:06+00:00", "type": "WLAN-SocketConnected", "connection": 0}, 
{"timestamp": "2017-08-03T06:41:59+00:00", "type": "WLAN-SocketDisconnected", "connection": 0}, 
{"timestamp": "2017-08-03T06:41:59+00:00", "type": "HTTP-List"}, 
{"timestamp": "2017-08-03T06:41:59+00:00", "type": "WLAN-SocketConnected", "connection": 0}, 
{"timestamp": "2017-08-03T06:41:59+00:00", "type": "WLAN-SocketDisconnected", "connection": 0}, 
{"timestamp": "2017-08-03T06:41:59+00:00", "type": "HTTP-List"}, 
{"timestamp": "2017-08-03T06:41:59+00:00", "type": "WLAN-SocketConnected", "connection": 0}, 
{"timestamp": "2017-08-03T06:41:50+00:00", "type": "WLAN-SocketDisconnected", "connection": 3}, 
{"timestamp": "2017-08-03T06:41:50+00:00", "type": "HTTP-PostDone", "responseCode": 200}, 
{"timestamp": "2017-08-03T06:41:50+00:00", "type": "BLE-Disconnected", "nukiId": "XXXXXXX"}, 
{"timestamp": "2017-08-03T06:41:49+00:00", "type": "HTTP-Post", "nukiId": "XXXXXXX", "urlId": 0}, 
{"timestamp": "2017-08-03T06:41:49+00:00", "type": "BLE-Disconnect", "nukiId": "XXXXXXX"}, 
{"timestamp": "2017-08-03T06:41:49+00:00", "type": "BLE-ReceivingMsg", "nukiId": "XXXXXXX", "cmdId": "000E"}, 
{"timestamp": "2017-08-03T06:41:49+00:00", "type": "SSE-KeyturnerResponse", "nukiId": "XXXXXXX", "bytes": 188}, 
{"timestamp": "2017-08-03T06:41:49+00:00", "type": "BLE-ReceivingSSE", "bytes": 55, "auth": "00000107"}, 
{"timestamp": "2017-08-03T06:41:49+00:00", "type": "WLAN-SocketDisconnected", "connection": 0}, 
{"timestamp": "2017-08-03T06:41:49+00:00", "type": "SSE-KeyturnerResponse", "nukiId": "XXXXXXX", "bytes": 256}, 
{"timestamp": "2017-08-03T06:41:49+00:00", "type": "BLE-ReceivingSSE", "bytes": 106, "auth": "00000107"} ]

Here is the logfile MAC Adress and NukiID anonymoused

Is it right that you are looking for this?

{"timestamp": "2017-08-03T06:41:50+00:00", "type": "HTTP-PostDone", "responseCode": 200}, 
{"timestamp": "2017-08-03T06:41:50+00:00", "type": "BLE-Disconnected", "nukiId": "XXXXXXX"}, 
{"timestamp": "2017-08-03T06:41:49+00:00", "type": "HTTP-Post", "nukiId": "XXXXXXX", "urlId": 0},