I use sendHttpGetRequest in a rule to open my Nuki Smartlock.
sendHttpGetRequest("http://192.168.xx.xx:8080/lockaction?token=xxx&nukiid=xxx&action=3")
This works fine, as the Smartlock is opening the door, but almost everytime I get this error in the openhab.log:
You can see, that the ekey fingerprint fires and then the rule would immediately open the Nuki Smartlock, but the 20s timeout defined in the http.cfg isn’t met yet.
2016-11-25 11:27:28.953 [INFO ] [ab.binding.ekey.internal.EKeyBinding] - new packet arrived: RarePacket [version=3, terminalid=xxxxxxx, relayid=2, action=136, userid=0, fingerid=6(right index),
name=0, personalid=0, serial=xxxxxxx, reserved=0, event=, terminalSerial=, time=]
2016-11-25 11:27:33.025 [INFO ] [.eclipse.smarthome.model.script.Nuki] - Der Zustand von Nuki wurde ge�ndert: OFF
2016-11-25 11:27:36.791 [ERROR] [.smarthome.model.script.actions.HTTP] - Fatal transport error: {}
java.io.IOException: java.util.concurrent.TimeoutException
at org.eclipse.smarthome.io.net.http.HttpUtil.executeUrl(HttpUtil.java:236)
at org.eclipse.smarthome.io.net.http.HttpUtil.executeUrl(HttpUtil.java:130)
at org.eclipse.smarthome.io.net.http.HttpUtil.executeUrl(HttpUtil.java:86)
at org.eclipse.smarthome.io.net.http.HttpUtil.executeUrl(HttpUtil.java:65)
at org.eclipse.smarthome.model.script.actions.HTTP.sendHttpGetRequest(HTTP.java:40)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)[:1.8.0_111]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)[:1.8.0_111]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)[:1.8.0_111]
at java.lang.reflect.Method.invoke(Method.java:498)[:1.8.0_111]
at org.eclipse.xtext.xbase.interpreter.impl.XbaseInterpreter.invokeOperation(XbaseInterpreter.java:1085)[143:org.eclipse.xtext.xbase:2.9.2.v20160428-1452]
at org.eclipse.xtext.xbase.interpreter.impl.XbaseInterpreter.invokeOperation(XbaseInterpreter.java:1060)[143:org.eclipse.xtext.xbase:2.9.2.v20160428-1452]
at org.eclipse.xtext.xbase.interpreter.impl.XbaseInterpreter._invokeFeature(XbaseInterpreter.java:1046)[143:org.eclipse.xtext.xbase:2.9.2.v20160428-1452]
at org.eclipse.xtext.xbase.interpreter.impl.XbaseInterpreter.invokeFeature(XbaseInterpreter.java:991)[143:org.eclipse.xtext.xbase:2.9.2.v20160428-1452]
at org.eclipse.smarthome.model.script.interpreter.ScriptInterpreter.invokeFeature(ScriptInterpreter.java:114)[127:org.eclipse.smarthome.model.script:0.9.0.201611191809]
at org.eclipse.xtext.xbase.interpreter.impl.XbaseInterpreter._doEvaluate(XbaseInterpreter.java:901)[143:org.eclipse.xtext.xbase:2.9.2.v20160428-1452]
at org.eclipse.xtext.xbase.interpreter.impl.XbaseInterpreter._doEvaluate(XbaseInterpreter.java:864)[143:org.eclipse.xtext.xbase:2.9.2.v20160428-1452]
at org.eclipse.xtext.xbase.interpreter.impl.XbaseInterpreter.doEvaluate(XbaseInterpreter.java:223)[143:org.eclipse.xtext.xbase:2.9.2.v20160428-1452]
at org.eclipse.xtext.xbase.interpreter.impl.XbaseInterpreter.internalEvaluate(XbaseInterpreter.java:203)[143:org.eclipse.xtext.xbase:2.9.2.v20160428-1452]
at org.eclipse.xtext.xbase.interpreter.impl.XbaseInterpreter._doEvaluate(XbaseInterpreter.java:446)[143:org.eclipse.xtext.xbase:2.9.2.v20160428-1452]
at org.eclipse.xtext.xbase.interpreter.impl.XbaseInterpreter.doEvaluate(XbaseInterpreter.java:227)[143:org.eclipse.xtext.xbase:2.9.2.v20160428-1452]
at org.eclipse.xtext.xbase.interpreter.impl.XbaseInterpreter.internalEvaluate(XbaseInterpreter.java:203)[143:org.eclipse.xtext.xbase:2.9.2.v20160428-1452]
at org.eclipse.xtext.xbase.interpreter.impl.XbaseInterpreter._doEvaluate(XbaseInterpreter.java:459)[143:org.eclipse.xtext.xbase:2.9.2.v20160428-1452]
at org.eclipse.xtext.xbase.interpreter.impl.XbaseInterpreter.doEvaluate(XbaseInterpreter.java:243)[143:org.eclipse.xtext.xbase:2.9.2.v20160428-1452]
at org.eclipse.xtext.xbase.interpreter.impl.XbaseInterpreter.internalEvaluate(XbaseInterpreter.java:203)[143:org.eclipse.xtext.xbase:2.9.2.v20160428-1452]
at org.eclipse.xtext.xbase.interpreter.impl.XbaseInterpreter._doEvaluate(XbaseInterpreter.java:446)[143:org.eclipse.xtext.xbase:2.9.2.v20160428-1452]
at org.eclipse.xtext.xbase.interpreter.impl.XbaseInterpreter.doEvaluate(XbaseInterpreter.java:227)[143:org.eclipse.xtext.xbase:2.9.2.v20160428-1452]
at org.eclipse.xtext.xbase.interpreter.impl.XbaseInterpreter.internalEvaluate(XbaseInterpreter.java:203)[143:org.eclipse.xtext.xbase:2.9.2.v20160428-1452]
at org.eclipse.xtext.xbase.interpreter.impl.XbaseInterpreter._doEvaluate(XbaseInterpreter.java:463)[143:org.eclipse.xtext.xbase:2.9.2.v20160428-1452]
at org.eclipse.xtext.xbase.interpreter.impl.XbaseInterpreter.doEvaluate(XbaseInterpreter.java:243)[143:org.eclipse.xtext.xbase:2.9.2.v20160428-1452]
at org.eclipse.xtext.xbase.interpreter.impl.XbaseInterpreter.internalEvaluate(XbaseInterpreter.java:203)[143:org.eclipse.xtext.xbase:2.9.2.v20160428-1452]
at org.eclipse.xtext.xbase.interpreter.impl.XbaseInterpreter._doEvaluate(XbaseInterpreter.java:446)[143:org.eclipse.xtext.xbase:2.9.2.v20160428-1452]
at org.eclipse.xtext.xbase.interpreter.impl.XbaseInterpreter.doEvaluate(XbaseInterpreter.java:227)[143:org.eclipse.xtext.xbase:2.9.2.v20160428-1452]
at org.eclipse.xtext.xbase.interpreter.impl.XbaseInterpreter.internalEvaluate(XbaseInterpreter.java:203)[143:org.eclipse.xtext.xbase:2.9.2.v20160428-1452]
at org.eclipse.xtext.xbase.interpreter.impl.XbaseInterpreter.evaluate(XbaseInterpreter.java:189)[143:org.eclipse.xtext.xbase:2.9.2.v20160428-1452]
at org.eclipse.smarthome.model.script.runtime.internal.engine.ScriptImpl.execute(ScriptImpl.java:77)[128:org.eclipse.smarthome.model.script.runtime:0.9.0.201611191809]
at org.eclipse.smarthome.model.script.engine.ScriptExecutionThread.run(ScriptExecutionThread.java:42)[127:org.eclipse.smarthome.model.script:0.9.0.201611191809]
Caused by: java.util.concurrent.TimeoutException
at org.eclipse.jetty.client.util.FutureResponseListener.get(FutureResponseListener.java:109)
at org.eclipse.jetty.client.HttpRequest.send(HttpRequest.java:655)
at org.eclipse.smarthome.io.net.http.HttpUtil.executeUrl(HttpUtil.java:219)
... 35 more
in the http.cfg, I did set the timeout from 5000ms to 20000ms, because the Smartlock opens the door and holds the latch for a few seconds:
# timeout in milliseconds for the http requests (optional, defaults to 5000)
timeout=20000
That’s the rule:
postUpdate(Nuki_EG_door_locked, OFF)
sendHttpGetRequest("http://192.168.xx.xx:8080/lockaction?token=xx&nukiid=xx&action=3")
Is there another config for the sendHttpGetRequest-method?