Just installed a new NUKI Smart Lock and NUKI Bridge in our home.
NUKI App is working but not the OpenHab integration.
API-URL is working, have tried it with curl http://192.168.184.109:8080/list?token=******* on the server:
[{“nukiId”: *******, “name”: “Test”, “lastKnownState”: {“state”: 1, “stateName”: “locked”, “batteryCritical”: false, “timestamp”: “2019-07-04T20:32:45+00:00”}}]
But the OpenHAB part will not work:
2019-07-04 23:15:59.825 [INFO ] [el.core.internal.ModelRepositoryImpl] - Loading model 'nuki.things'
2019-07-04 23:15:59.959 [.ItemChannelLinkAddedEvent] - Link 'Frontdoor_State-nuki:smartlock:NB1:SL1:lockState' has been added.
2019-07-04 23:15:59.960 [.ItemChannelLinkAddedEvent] - Link 'Frontdoor_LowBattery-nuki:smartlock:NB1:SL1:lowBattery' has been added.
2019-07-04 23:15:59.962 [.ItemChannelLinkAddedEvent] - Link 'Frontdoor_Lock-nuki:smartlock:NB1:SL1:lock' has been added.
2019-07-04 23:16:00.030 [hingStatusInfoChangedEvent] - 'nuki:smartlock:NB1:SL1' changed from UNINITIALIZED to UNINITIALIZED (BRIDGE_UNINITIALIZED)
2019-07-04 23:16:00.088 [hingStatusInfoChangedEvent] - 'nuki:bridge:NB1' changed from UNINITIALIZED to INITIALIZING
2019-07-04 23:17:29.794 [ERROR] [internal.dataexchange.NukiHttpClient] - Could not handle Exception! Exception[java.io.EOFException: HttpConnectionOverHTTP@23a2996(l:/192.168.184.170:33524 <-> r:/192.168.184.109:8080,closed=false)=>HttpChannelOverHTTP@473958c0(exchange=HttpExchange@49febe57 req=TERMINATED/null@null res=PENDING/null@null)[send=HttpSenderOverHTTP@4dc133b0(req=QUEUED,snd=COMPLETED,failure=null)[HttpGenerator@8c3b46c{s=START}],recv=HttpReceiverOverHTTP@53112ec(rsp=IDLE,failure=null)[HttpParser{s=CLOSED,0 of -1}]]<-SocketChannelEndPoint@3981181b{/192.168.184.109:8080<->/192.168.184.170:33524,ISHUT,fill=-,flush=-,to=89346/0}{io=0/0,kio=0,kro=1}->HttpConnectionOverHTTP@23a2996(l:/192.168.184.170:33524 <-> r:/192.168.184.109:8080,closed=false)=>HttpChannelOverHTTP@473958c0(exchange=HttpExchange@49febe57 req=TERMINATED/null@null res=PENDING/null@null)[send=HttpSenderOverHTTP@4dc133b0(req=QUEUED,snd=COMPLETED,failure=null)[HttpGenerator@8c3b46c{s=START}],recv=HttpReceiverOverHTTP@53112ec(rsp=IDLE,failure=null)[HttpParser{s=CLOSED,0 of -1}]]]
at org.openhab.binding.nuki.internal.dataexchange.NukiHttpClient.executeRequest(NukiHttpClient.java:79) ~[?:?]
at org.openhab.binding.nuki.internal.dataexchange.NukiHttpClient.getBridgeCallbackList(NukiHttpClient.java:205) ~[?:?]
at org.openhab.binding.nuki.handler.NukiBridgeHandler.manageNukiBridgeCallbacks(NukiBridgeHandler.java:134) ~[?:?]
at org.openhab.binding.nuki.handler.NukiBridgeHandler.initializeHandler(NukiBridgeHandler.java:103) ~[?:?]
at org.openhab.binding.nuki.handler.NukiBridgeHandler.lambda$0(NukiBridgeHandler.java:79) ~[?:?]
at org.openhab.binding.nuki.handler.NukiBridgeHandler.manageNukiBridgeCallbacks(NukiBridgeHandler.java:137) ~[?:?]
at org.openhab.binding.nuki.handler.NukiBridgeHandler.initializeHandler(NukiBridgeHandler.java:103) ~[?:?]
at org.openhab.binding.nuki.handler.NukiBridgeHandler.lambda$0(NukiBridgeHandler.java:79) ~[?:?]
I have a working solution, but I added the thing(s) in PaperUI.
And finally I have 2 things, you have only defined (Nuki Bridge, Nuki SmartLock)
I set manageCallbacks=false -> I set this directly on the bridge via API (http://10.0.1.53:8080/callback/add?nukiId={{NukiId}}&url=http%3A%2F%2FMY_IP%3A8082%2Fnuki%2Fbcb&token={{NukiToken}})
The thing “Nuki Bride” I set the API Token directly in PaperUI.
The thing “Nuki Smart Lock” I got the nukiID via the web API (http://10.0.1.53:8080/list?token={{NukiToken}}) and set it also in PaperUI.
You are right, the same should be possible in openHAB.
But try removing the things definitions from yout file and add the bridge and the smartlock via PaperUI.
If both things came online this way, then the documentation is probably wrong.
2019-07-15 22:01:39.415 [ERROR] [internal.dataexchange.NukiApiServlet] - Could not create BridgeApiLockStateRequestDto from BCB-Request! Message[null]
2019-07-15 22:01:39.417 [ERROR] [internal.dataexchange.NukiApiServlet] - requestContent[]
2019-07-15 22:01:39.417 [ERROR] [internal.dataexchange.NukiApiServlet] - Could not handle Bridge CallBack Request - Discarding!
2019-07-15 22:01:39.418 [ERROR] [internal.dataexchange.NukiApiServlet] - Please report a bug, if this request was done by the Nuki Bridge!
At the moment I have tried to delete the files, reinstall the nuki binding and using PaperUI to add the NUKI Bridge:
2019-07-17 18:30:23.109 [hingStatusInfoChangedEvent] - 'nuki:bridge:9e3a4cce' changed from UNINITIALIZED to INITIALIZING
2019-07-17 18:31:53.242 [ERROR] [internal.dataexchange.NukiHttpClient] - Could not handle Exception! Exception[java.io.EOFException: HttpConnectionOverHTTP@1f25397b(l:/192.168.184.170:60314 <-> r:/192.168.184.109:8080,closed=false)=>HttpChannelOverHTTP@4aab9ce4(exchange=HttpExchange@446c7bc1 req=TERMINATED/null@null res=PENDING/null@null)[send=HttpSenderOverHTTP@4053f794(req=QUEUED,snd=COMPLETED,failure=null)[HttpGenerator@55171fa{s=START}],recv=HttpReceiverOverHTTP@138b8108(rsp=IDLE,failure=null)[HttpParser{s=CLOSED,0 of -1}]]<-SocketChannelEndPoint@341e52cb{/192.168.184.109:8080<->/192.168.184.170:60314,ISHUT,fill=-,flush=-,to=89764/0}{io=0/0,kio=0,kro=1}->HttpConnectionOverHTTP@1f25397b(l:/192.168.184.170:60314 <-> r:/192.168.184.109:8080,closed=false)=>HttpChannelOverHTTP@4aab9ce4(exchange=HttpExchange@446c7bc1 req=TERMINATED/null@null res=PENDING/null@null)[send=HttpSenderOverHTTP@4053f794(req=QUEUED,snd=COMPLETED,failure=null)[HttpGenerator@55171fa{s=START}],recv=HttpReceiverOverHTTP@138b8108(rsp=IDLE,failure=null)[HttpParser{s=CLOSED,0 of -1}]]]
at org.openhab.binding.nuki.internal.dataexchange.NukiHttpClient.executeRequest(NukiHttpClient.java:79) ~[?:?]
at org.openhab.binding.nuki.internal.dataexchange.NukiHttpClient.getBridgeCallbackList(NukiHttpClient.java:205) ~[?:?]
at org.openhab.binding.nuki.handler.NukiBridgeHandler.manageNukiBridgeCallbacks(NukiBridgeHandler.java:134) ~[?:?]
at org.openhab.binding.nuki.handler.NukiBridgeHandler.initializeHandler(NukiBridgeHandler.java:103) ~[?:?]
at org.openhab.binding.nuki.handler.NukiBridgeHandler.lambda$0(NukiBridgeHandler.java:79) ~[?:?]
at org.openhab.binding.nuki.handler.NukiBridgeHandler.manageNukiBridgeCallbacks(NukiBridgeHandler.java:137) ~[?:?]
at org.openhab.binding.nuki.handler.NukiBridgeHandler.initializeHandler(NukiBridgeHandler.java:103) ~[?:?]
at org.openhab.binding.nuki.handler.NukiBridgeHandler.lambda$0(NukiBridgeHandler.java:79) ~[?:?]
I think I fixed the bug with the bridge remaining in INITIALIZING state. It could happen when manageCallbacks setting was true due to a forgotten null check leading to a potential NPE.