Evohome binding 2.0

This is what I tested and have configured

String EvoMode     "Test system"         { channel="evohome:display:somename:xxxxxxx:SystemMode" }

Number TempLiving    "Living Cur [%.1f °C]"  { channel="evohome:heatingzone:somename:xxxxxxx:Temperature" }
Number TempTest      "Test Cur [%.1f °C]"    { channel="evohome:heatingzone:somename:xxxxxxx:Temperature" }

Number SetLiving     "Living Set [%.1f °C]"  { channel="evohome:heatingzone:somename:xxxxxxx:CurrentSetPoint" }
Number SetTest       "Test Set [%.1f °C]"    { channel="evohome:heatingzone:somename:xxxxxxx:CurrentSetPoint" }

String StatusLiving  "Living [%s]"       { channel="evohome:heatingzone:somename:xxxxxxx:SetPointStatus" }
String StatusTest    "Test [%s]"         { channel="evohome:heatingzone:somename:xxxxxxx:SetPointStatus" }

Number SetOverLiving "Living Over [%.1f °C]"  { channel="evohome:heatingzone:somename:xxxxxxx:PermanentSetPoint" }
Number SetOverTest   "Test Over [%.1f °C]"    { channel="evohome:heatingzone:somename:xxxxxxx:PermanentSetPoint" }

Switch CancelLiving  "Living"                 { channel="evohome:heatingzone:somename:xxxxxxx:CancelSetPoint" }
Switch CancelTest    "Test"                   { channel="evohome:heatingzone:somename:xxxxxxx:CancelSetPoint" }

Then indeed, when sending an ON command should cancel the override set via PermanentSetPoint. Your assumptions are correct with the addition that the switch item should reset to OFF automatically. Does your switch item get reset to OFF when you set it?

Adding: have you tried using zone_lounge_CancelSetPoint.sendCommand("ON")?

Not nitpicking at all. Awesome piece of work - thank you.

So, I had 6 zones all working in evoHome and in OH2. I then wanted to add two more.

  1. In evoHome controller (white unit) I added one more zone, did the binding etc. All ok.
  2. I then went to OH2 and was expecting to see them pop up in the Inbox. Nudda.
  3. I stopped and started the binding (as above) and they appeared in the Inbox.

The wait between adding them in evoHome and stopping and starting was around 10 minutes or so IIRC.
Adding the second did actually pop up in the inbox after a while so not sure if there was a comms issue or not.

You’ve bigger fish to fry than this :slight_smile:

Cheers,

Gotcha, and indeed that will not work. I only check for the zones when I start up the binding. I never really though about zones being added after, but it’s a very valid use case. I added it as a bug on github.

So I’ve finally found some time to try again with the temperature override and I’m still not getting anywhere. Using PaperUI to set a new PermanentSetPoint I get the following error:

2018-04-06 16:28:02.536 [ERROR] [nding.evohome.internal.api.ApiAccess] - Error in handling request
java.util.concurrent.ExecutionException: java.io.EOFException: HttpConnectionOverHTTP@168169c(l:/192.168.1.154:38066 <-> r:tccna.honeywell.com/199.62.84.94:443,closed=false)[HttpChannelOverHTTP@1afea81(exchange=HttpExchange@1907dec req=PENDING/null@null res=PENDING/null@null)[send=HttpSenderOverHTTP@92e0ba(req=HEADERS,snd=SENDING,failure=null)[HttpGenerator@11dd142{s=COMPLETING}],recv=HttpReceiverOverHTTP@104d9c2(rsp=IDLE,failure=null)[HttpParser{s=CLOSED,0 of 0}]]]
	at org.eclipse.jetty.client.util.FutureResponseListener.getResult(FutureResponseListener.java:118) [75:org.eclipse.jetty.client:9.3.22.v20171030]
	at org.eclipse.jetty.client.util.FutureResponseListener.get(FutureResponseListener.java:101) [75:org.eclipse.jetty.client:9.3.22.v20171030]
	at org.eclipse.jetty.client.HttpRequest.send(HttpRequest.java:674) [75:org.eclipse.jetty.client:9.3.22.v20171030]
	at org.openhab.binding.evohome.internal.api.ApiAccess.doRequest(ApiAccess.java:103) [202:org.openhab.binding.evohome:2.2.0.201803070810]
	at org.openhab.binding.evohome.internal.api.ApiAccess.doRequest(ApiAccess.java:145) [202:org.openhab.binding.evohome:2.2.0.201803070810]
	at org.openhab.binding.evohome.internal.api.ApiAccess.doAuthenticatedRequest(ApiAccess.java:174) [202:org.openhab.binding.evohome:2.2.0.201803070810]
	at org.openhab.binding.evohome.internal.api.EvohomeApiClientV2.setHeatingZoneOverride(EvohomeApiClientV2.java:143) [202:org.openhab.binding.evohome:2.2.0.201803070810]
	at org.openhab.binding.evohome.internal.api.EvohomeApiClientV2.setHeatingZoneOverride(EvohomeApiClientV2.java:132) [202:org.openhab.binding.evohome:2.2.0.201803070810]
	at org.openhab.binding.evohome.handler.EvohomeAccountBridgeHandler.setPermanentSetPoint(EvohomeAccountBridgeHandler.java:130) [202:org.openhab.binding.evohome:2.2.0.201803070810]
	at org.openhab.binding.evohome.handler.EvohomeHeatingZoneHandler.handleCommand(EvohomeHeatingZoneHandler.java:81) [202:org.openhab.binding.evohome:2.2.0.201803070810]
	at sun.reflect.GeneratedMethodAccessor164.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.InvocationHandlerSync.invoke(InvocationHandlerSync.java:59) [109:org.eclipse.smarthome.core:0.10.0.b1]
	at com.sun.proxy.$Proxy191.handleCommand(Unknown Source) [202:org.openhab.binding.evohome:2.2.0.201803070810]
	at org.eclipse.smarthome.core.thing.internal.profiles.ProfileCallbackImpl.handleCommand(ProfileCallbackImpl.java:72) [116:org.eclipse.smarthome.core.thing:0.10.0.b1]
	at org.eclipse.smarthome.core.thing.internal.profiles.SystemDefaultProfile.onCommandFromItem(SystemDefaultProfile.java:49) [116:org.eclipse.smarthome.core.thing:0.10.0.b1]
	at sun.reflect.GeneratedMethodAccessor163.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) [?:?]
Caused by: java.io.EOFException: HttpConnectionOverHTTP@168169c(l:/192.168.1.154:38066 <-> r:tccna.honeywell.com/199.62.84.94:443,closed=false)[HttpChannelOverHTTP@1afea81(exchange=HttpExchange@1907dec req=PENDING/null@null res=PENDING/null@null)[send=HttpSenderOverHTTP@92e0ba(req=HEADERS,snd=SENDING,failure=null)[HttpGenerator@11dd142{s=COMPLETING}],recv=HttpReceiverOverHTTP@104d9c2(rsp=IDLE,failure=null)[HttpParser{s=CLOSED,0 of 0}]]]
	at org.eclipse.jetty.client.http.HttpReceiverOverHTTP.earlyEOF(HttpReceiverOverHTTP.java:300) ~[?:?]
	at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:1392) ~[?:?]
	at org.eclipse.jetty.client.http.HttpReceiverOverHTTP.shutdown(HttpReceiverOverHTTP.java:185) ~[?:?]
	at org.eclipse.jetty.client.http.HttpReceiverOverHTTP.process(HttpReceiverOverHTTP.java:132) ~[?:?]
	at org.eclipse.jetty.client.http.HttpReceiverOverHTTP.receive(HttpReceiverOverHTTP.java:70) ~[?:?]
	at org.eclipse.jetty.client.http.HttpChannelOverHTTP.receive(HttpChannelOverHTTP.java:90) ~[?:?]
	at org.eclipse.jetty.client.http.HttpConnectionOverHTTP.onFillable(HttpConnectionOverHTTP.java:115) ~[?:?]
	at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:283) ~[?:?]
	at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:108) ~[?:?]
	at org.eclipse.jetty.io.ssl.SslConnection.onFillable(SslConnection.java:251) ~[?:?]
	at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:283) ~[?:?]
	at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:108) ~[?:?]
	at org.eclipse.jetty.io.SelectChannelEndPoint$2.run(SelectChannelEndPoint.java:93) ~[?:?]
	at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.executeProduceConsume(ExecuteProduceConsume.java:303) ~[?:?]
	at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.produceConsume(ExecuteProduceConsume.java:148) ~[?:?]
	at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.run(ExecuteProduceConsume.java:136) ~[?:?]
	at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:671) ~[?:?]
	at org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:589) ~[?:?]
	... 1 more

PaperUI shows the EvoHome account is online. I can also see the various zones and their statuses and they all match the values on the wall controller.

I’ve restarted the bundle via karaf before but I didn’t see any errors, but I’m not sure I was actually passing the value to the override correctly! I’ve not* restarted OH or rebooted the RPi. That’ll be the next attempts.

** UPDATE **
I’ve restarted OpenHAB via systemctl and the override now works via the Paper UI without errors. Looking back over the post, it looks like my error is the same as reported by @911rgt, so hopefully the new issue will address this.

** UPDATE 2 **
My rules run when the permanent override value is set using:

    NewSetPointValue_GF_Hall.sendCommand(20.0)
    NewSetPointValue_GF_Toilet.sendCommand(20.0)

But don’t run when I use:

    NewSetPointValue_GF_Utility.postUpdate(20.0)

Not a complaint - just for other users trying to implement!

Hi Nick, thanks again for a thorough test and analysis. I’m happy that it ended up working for you.
I’m less happy with the fact that you could only mitigate the EOF stuff when you fully resetted the system. I take it restarting the binding or OH didn’t do the trick.

I have no idea what is means of how to solve it yet, but it feels like a show stopper. Maybe I should open up a bug report on OH for this…

BTW, are you using Astro binding as well? And do you sometimes see an error in that binding?

Hiya - if it’s any consolation I didn’t do a total restart, I used the systemctl command to just restart OpenHAB, the rest of the system was still running!

I’ll wait until tomorrow afternoon (24hrs) and see if I get the same errors, if I do I’ll try a bundle restart in Karaf and see what happens.

I am using the Astro binding, and I used to get errors in an earlier version of the binding, but none since the upgrade to 2.2.0.

had the same, restart bundle in karaf works.

So I waited a couple of days and re-ran my test rules. The same error occurred.

2018-04-08 19:17:04.820 [ERROR] [nding.evohome.internal.api.ApiAccess] - Error in handling request
java.util.concurrent.ExecutionException: org.eclipse.jetty.client.HttpResponseException: HTTP protocol violation: Authentication challenge without WWW-Authenticate header
	at org.eclipse.jetty.client.util.FutureResponseListener.getResult(FutureResponseListener.java:118) [75:org.eclipse.jetty.client:9.3.22.v20171030]
	at org.eclipse.jetty.client.util.FutureResponseListener.get(FutureResponseListener.java:101) [75:org.eclipse.jetty.client:9.3.22.v20171030]
	at org.eclipse.jetty.client.HttpRequest.send(HttpRequest.java:674) [75:org.eclipse.jetty.client:9.3.22.v20171030]
	at org.openhab.binding.evohome.internal.api.ApiAccess.doRequest(ApiAccess.java:103) [202:org.openhab.binding.evohome:2.2.0.201803070810]
	at org.openhab.binding.evohome.internal.api.ApiAccess.doRequest(ApiAccess.java:145) [202:org.openhab.binding.evohome:2.2.0.201803070810]
	at org.openhab.binding.evohome.internal.api.ApiAccess.doAuthenticatedRequest(ApiAccess.java:174) [202:org.openhab.binding.evohome:2.2.0.201803070810]
	at org.openhab.binding.evohome.internal.api.EvohomeApiClientV2.setHeatingZoneOverride(EvohomeApiClientV2.java:143) [202:org.openhab.binding.evohome:2.2.0.201803070810]
	at org.openhab.binding.evohome.internal.api.EvohomeApiClientV2.setHeatingZoneOverride(EvohomeApiClientV2.java:132) [202:org.openhab.binding.evohome:2.2.0.201803070810]
	at org.openhab.binding.evohome.handler.EvohomeAccountBridgeHandler.setPermanentSetPoint(EvohomeAccountBridgeHandler.java:130) [202:org.openhab.binding.evohome:2.2.0.201803070810]
	at org.openhab.binding.evohome.handler.EvohomeHeatingZoneHandler.handleCommand(EvohomeHeatingZoneHandler.java:81) [202:org.openhab.binding.evohome:2.2.0.201803070810]
	at sun.reflect.GeneratedMethodAccessor258.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.InvocationHandlerSync.invoke(InvocationHandlerSync.java:59) [109:org.eclipse.smarthome.core:0.10.0.b1]
	at com.sun.proxy.$Proxy195.handleCommand(Unknown Source) [202:org.openhab.binding.evohome:2.2.0.201803070810]
	at org.eclipse.smarthome.core.thing.internal.profiles.ProfileCallbackImpl.handleCommand(ProfileCallbackImpl.java:72) [116:org.eclipse.smarthome.core.thing:0.10.0.b1]
	at org.eclipse.smarthome.core.thing.internal.profiles.SystemDefaultProfile.onCommandFromItem(SystemDefaultProfile.java:49) [116:org.eclipse.smarthome.core.thing:0.10.0.b1]
	at sun.reflect.GeneratedMethodAccessor257.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) [?:?]
Caused by: org.eclipse.jetty.client.HttpResponseException: HTTP protocol violation: Authentication challenge without WWW-Authenticate header
	at org.eclipse.jetty.client.AuthenticationProtocolHandler$AuthenticationListener.onComplete(AuthenticationProtocolHandler.java:114) ~[?:?]
	at org.eclipse.jetty.client.ResponseNotifier.notifyComplete(ResponseNotifier.java:193) ~[?:?]
	at org.eclipse.jetty.client.ResponseNotifier.notifyComplete(ResponseNotifier.java:185) ~[?:?]
	at org.eclipse.jetty.client.HttpReceiver.terminateResponse(HttpReceiver.java:458) ~[?:?]
	at org.eclipse.jetty.client.HttpReceiver.responseSuccess(HttpReceiver.java:405) ~[?:?]
	at org.eclipse.jetty.client.http.HttpReceiverOverHTTP.messageComplete(HttpReceiverOverHTTP.java:277) ~[?:?]
	at org.eclipse.jetty.http.HttpParser.handleContentMessage(HttpParser.java:599) ~[?:?]
	at org.eclipse.jetty.http.HttpParser.parseContent(HttpParser.java:1526) ~[?:?]
	at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:1350) ~[?:?]
	at org.eclipse.jetty.client.http.HttpReceiverOverHTTP.parse(HttpReceiverOverHTTP.java:159) ~[?:?]
	at org.eclipse.jetty.client.http.HttpReceiverOverHTTP.process(HttpReceiverOverHTTP.java:120) ~[?:?]
	at org.eclipse.jetty.client.http.HttpReceiverOverHTTP.receive(HttpReceiverOverHTTP.java:70) ~[?:?]
	at org.eclipse.jetty.client.http.HttpChannelOverHTTP.receive(HttpChannelOverHTTP.java:90) ~[?:?]
	at org.eclipse.jetty.client.http.HttpConnectionOverHTTP.onFillable(HttpConnectionOverHTTP.java:115) ~[?:?]
	at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:283) ~[?:?]
	at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:108) ~[?:?]
	at org.eclipse.jetty.io.ssl.SslConnection.onFillable(SslConnection.java:251) ~[?:?]
	at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:283) ~[?:?]
	at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:108) ~[?:?]
	at org.eclipse.jetty.io.SelectChannelEndPoint$2.run(SelectChannelEndPoint.java:93) ~[?:?]
	at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.executeProduceConsume(ExecuteProduceConsume.java:303) ~[?:?]
	at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.produceConsume(ExecuteProduceConsume.java:148) ~[?:?]
	at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.run(ExecuteProduceConsume.java:136) ~[?:?]
	at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:671) ~[?:?]
	at org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:589) ~[?:?]
	... 1 more

I’m going to run the test again now, then re-start the bundle in karaf and run it again.

Rules triggered and threw same error:

2018-04-09 14:47:21.987 [INFO ] [.eclipse.smarthome.model.script.Test] - RunScript switch was turned on
2018-04-09 14:47:22.645 [ERROR] [nding.evohome.internal.api.ApiAccess] - Error in handling request
java.util.concurrent.ExecutionException: org.eclipse.jetty.client.HttpResponseException: HTTP protocol violation: Authentication challenge without WWW-Authenticate header
	at org.eclipse.jetty.client.util.FutureResponseListener.getResult(FutureResponseListener.java:118) [75:org.eclipse.jetty.client:9.3.22.v20171030]
	at org.eclipse.jetty.client.util.FutureResponseListener.get(FutureResponseListener.java:101) [75:org.eclipse.jetty.client:9.3.22.v20171030]
	at org.eclipse.jetty.client.HttpRequest.send(HttpRequest.java:674) [75:org.eclipse.jetty.client:9.3.22.v20171030]
	at org.openhab.binding.evohome.internal.api.ApiAccess.doRequest(ApiAccess.java:103) [202:org.openhab.binding.evohome:2.2.0.201803070810]
	at org.openhab.binding.evohome.internal.api.ApiAccess.doRequest(ApiAccess.java:145) [202:org.openhab.binding.evohome:2.2.0.201803070810]
	at org.openhab.binding.evohome.internal.api.ApiAccess.doAuthenticatedRequest(ApiAccess.java:174) [202:org.openhab.binding.evohome:2.2.0.201803070810]
	at org.openhab.binding.evohome.internal.api.EvohomeApiClientV2.setHeatingZoneOverride(EvohomeApiClientV2.java:143) [202:org.openhab.binding.evohome:2.2.0.201803070810]
	at org.openhab.binding.evohome.internal.api.EvohomeApiClientV2.setHeatingZoneOverride(EvohomeApiClientV2.java:132) [202:org.openhab.binding.evohome:2.2.0.201803070810]
	at org.openhab.binding.evohome.handler.EvohomeAccountBridgeHandler.setPermanentSetPoint(EvohomeAccountBridgeHandler.java:130) [202:org.openhab.binding.evohome:2.2.0.201803070810]
	at org.openhab.binding.evohome.handler.EvohomeHeatingZoneHandler.handleCommand(EvohomeHeatingZoneHandler.java:81) [202:org.openhab.binding.evohome:2.2.0.201803070810]
	at sun.reflect.GeneratedMethodAccessor258.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.InvocationHandlerSync.invoke(InvocationHandlerSync.java:59) [109:org.eclipse.smarthome.core:0.10.0.b1]
	at com.sun.proxy.$Proxy195.handleCommand(Unknown Source) [202:org.openhab.binding.evohome:2.2.0.201803070810]
	at org.eclipse.smarthome.core.thing.internal.profiles.ProfileCallbackImpl.handleCommand(ProfileCallbackImpl.java:72) [116:org.eclipse.smarthome.core.thing:0.10.0.b1]
	at org.eclipse.smarthome.core.thing.internal.profiles.SystemDefaultProfile.onCommandFromItem(SystemDefaultProfile.java:49) [116:org.eclipse.smarthome.core.thing:0.10.0.b1]
	at sun.reflect.GeneratedMethodAccessor257.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) [?:?]
Caused by: org.eclipse.jetty.client.HttpResponseException: HTTP protocol violation: Authentication challenge without WWW-Authenticate header
	at org.eclipse.jetty.client.AuthenticationProtocolHandler$AuthenticationListener.onComplete(AuthenticationProtocolHandler.java:114) ~[?:?]
	at org.eclipse.jetty.client.ResponseNotifier.notifyComplete(ResponseNotifier.java:193) ~[?:?]
	at org.eclipse.jetty.client.ResponseNotifier.notifyComplete(ResponseNotifier.java:185) ~[?:?]
	at org.eclipse.jetty.client.HttpReceiver.terminateResponse(HttpReceiver.java:458) ~[?:?]
	at org.eclipse.jetty.client.HttpReceiver.responseSuccess(HttpReceiver.java:405) ~[?:?]
	at org.eclipse.jetty.client.http.HttpReceiverOverHTTP.messageComplete(HttpReceiverOverHTTP.java:277) ~[?:?]
	at org.eclipse.jetty.http.HttpParser.handleContentMessage(HttpParser.java:599) ~[?:?]
	at org.eclipse.jetty.http.HttpParser.parseContent(HttpParser.java:1526) ~[?:?]
	at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:1350) ~[?:?]
	at org.eclipse.jetty.client.http.HttpReceiverOverHTTP.parse(HttpReceiverOverHTTP.java:159) ~[?:?]
	at org.eclipse.jetty.client.http.HttpReceiverOverHTTP.process(HttpReceiverOverHTTP.java:120) ~[?:?]
	at org.eclipse.jetty.client.http.HttpReceiverOverHTTP.receive(HttpReceiverOverHTTP.java:70) ~[?:?]
	at org.eclipse.jetty.client.http.HttpChannelOverHTTP.receive(HttpChannelOverHTTP.java:90) ~[?:?]
	at org.eclipse.jetty.client.http.HttpConnectionOverHTTP.onFillable(HttpConnectionOverHTTP.java:115) ~[?:?]
	at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:283) ~[?:?]
	at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:108) ~[?:?]
	at org.eclipse.jetty.io.ssl.SslConnection.onFillable(SslConnection.java:251) ~[?:?]
	at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:283) ~[?:?]
	at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:108) ~[?:?]
	at org.eclipse.jetty.io.SelectChannelEndPoint$2.run(SelectChannelEndPoint.java:93) ~[?:?]
	at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.executeProduceConsume(ExecuteProduceConsume.java:303) ~[?:?]
	at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.produceConsume(ExecuteProduceConsume.java:148) ~[?:?]
	at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.run(ExecuteProduceConsume.java:136) ~[?:?]
	at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:671) ~[?:?]
	at org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:589) ~[?:?]
	... 1 more
2018-04-09 14:47:22.679 [ERROR] [nding.evohome.internal.api.ApiAccess] - Error in handling request
java.util.concurrent.ExecutionException: org.eclipse.jetty.client.HttpResponseException: HTTP protocol violation: Authentication challenge without WWW-Authenticate header
	at org.eclipse.jetty.client.util.FutureResponseListener.getResult(FutureResponseListener.java:118) [75:org.eclipse.jetty.client:9.3.22.v20171030]
	at org.eclipse.jetty.client.util.FutureResponseListener.get(FutureResponseListener.java:101) [75:org.eclipse.jetty.client:9.3.22.v20171030]
	at org.eclipse.jetty.client.HttpRequest.send(HttpRequest.java:674) [75:org.eclipse.jetty.client:9.3.22.v20171030]
	at org.openhab.binding.evohome.internal.api.ApiAccess.doRequest(ApiAccess.java:103) [202:org.openhab.binding.evohome:2.2.0.201803070810]
	at org.openhab.binding.evohome.internal.api.ApiAccess.doRequest(ApiAccess.java:145) [202:org.openhab.binding.evohome:2.2.0.201803070810]
	at org.openhab.binding.evohome.internal.api.ApiAccess.doAuthenticatedRequest(ApiAccess.java:174) [202:org.openhab.binding.evohome:2.2.0.201803070810]
	at org.openhab.binding.evohome.internal.api.EvohomeApiClientV2.setHeatingZoneOverride(EvohomeApiClientV2.java:143) [202:org.openhab.binding.evohome:2.2.0.201803070810]
	at org.openhab.binding.evohome.internal.api.EvohomeApiClientV2.setHeatingZoneOverride(EvohomeApiClientV2.java:132) [202:org.openhab.binding.evohome:2.2.0.201803070810]
	at org.openhab.binding.evohome.handler.EvohomeAccountBridgeHandler.setPermanentSetPoint(EvohomeAccountBridgeHandler.java:130) [202:org.openhab.binding.evohome:2.2.0.201803070810]
	at org.openhab.binding.evohome.handler.EvohomeHeatingZoneHandler.handleCommand(EvohomeHeatingZoneHandler.java:81) [202:org.openhab.binding.evohome:2.2.0.201803070810]
	at sun.reflect.GeneratedMethodAccessor258.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.InvocationHandlerSync.invoke(InvocationHandlerSync.java:59) [109:org.eclipse.smarthome.core:0.10.0.b1]
	at com.sun.proxy.$Proxy195.handleCommand(Unknown Source) [202:org.openhab.binding.evohome:2.2.0.201803070810]
	at org.eclipse.smarthome.core.thing.internal.profiles.ProfileCallbackImpl.handleCommand(ProfileCallbackImpl.java:72) [116:org.eclipse.smarthome.core.thing:0.10.0.b1]
	at org.eclipse.smarthome.core.thing.internal.profiles.SystemDefaultProfile.onCommandFromItem(SystemDefaultProfile.java:49) [116:org.eclipse.smarthome.core.thing:0.10.0.b1]
	at sun.reflect.GeneratedMethodAccessor257.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) [?:?]
Caused by: org.eclipse.jetty.client.HttpResponseException: HTTP protocol violation: Authentication challenge without WWW-Authenticate header
	at org.eclipse.jetty.client.AuthenticationProtocolHandler$AuthenticationListener.onComplete(AuthenticationProtocolHandler.java:114) ~[?:?]
	at org.eclipse.jetty.client.ResponseNotifier.notifyComplete(ResponseNotifier.java:193) ~[?:?]
	at org.eclipse.jetty.client.ResponseNotifier.notifyComplete(ResponseNotifier.java:185) ~[?:?]
	at org.eclipse.jetty.client.HttpReceiver.terminateResponse(HttpReceiver.java:458) ~[?:?]
	at org.eclipse.jetty.client.HttpReceiver.responseSuccess(HttpReceiver.java:405) ~[?:?]
	at org.eclipse.jetty.client.http.HttpReceiverOverHTTP.messageComplete(HttpReceiverOverHTTP.java:277) ~[?:?]
	at org.eclipse.jetty.http.HttpParser.handleContentMessage(HttpParser.java:599) ~[?:?]
	at org.eclipse.jetty.http.HttpParser.parseContent(HttpParser.java:1526) ~[?:?]
	at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:1350) ~[?:?]
	at org.eclipse.jetty.client.http.HttpReceiverOverHTTP.parse(HttpReceiverOverHTTP.java:159) ~[?:?]
	at org.eclipse.jetty.client.http.HttpReceiverOverHTTP.process(HttpReceiverOverHTTP.java:120) ~[?:?]
	at org.eclipse.jetty.client.http.HttpReceiverOverHTTP.receive(HttpReceiverOverHTTP.java:70) ~[?:?]
	at org.eclipse.jetty.client.http.HttpChannelOverHTTP.receive(HttpChannelOverHTTP.java:90) ~[?:?]
	at org.eclipse.jetty.client.http.HttpConnectionOverHTTP.onFillable(HttpConnectionOverHTTP.java:115) ~[?:?]
	at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:283) ~[?:?]
	at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:108) ~[?:?]
	at org.eclipse.jetty.io.ssl.SslConnection.onFillable(SslConnection.java:251) ~[?:?]
	at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:283) ~[?:?]
	at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:108) ~[?:?]
	at org.eclipse.jetty.io.SelectChannelEndPoint$2.run(SelectChannelEndPoint.java:93) ~[?:?]
	at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.executeProduceConsume(ExecuteProduceConsume.java:303) ~[?:?]
	at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.produceConsume(ExecuteProduceConsume.java:148) ~[?:?]
	at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.run(ExecuteProduceConsume.java:136) ~[?:?]
	at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:671) ~[?:?]
	at org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:589) ~[?:?]
	... 1 more

Re-starting bundle in karaf.

bundle:list
bundle:stop 202
bundle:list
bundle:start 202
bundle:list

EvoHome bundle goes from active -> resolved -> active again.

Re-run test script - all 3 zones are now showing new temperature setpoint.

2018-04-09 14:52:46.664 [INFO ] [.eclipse.smarthome.model.script.Test] - RunScript switch was turned on

No errors in log.

Using Cancel switch also stopped the three zones from having a ‘permanent’ temperature.

Hi @nick_wootton, thanks for the analysis! And thanks @Mickroz for confirming. I do, however, see two seemingly different errors in nick’s logs:

2018-04-06 16:28:02.536 [ERROR] [nding.evohome.internal.api.ApiAccess] - Error in handling request java.util.concurrent.ExecutionException: java.io.EOFException: HttpConnectionOverHTTP

2018-04-08 19:17:04.820 [ERROR] [nding.evohome.internal.api.ApiAccess] - Error in handling request java.util.concurrent.ExecutionException: org.eclipse.jetty.client.HttpResponseException: HTTP protocol violation: Authentication challenge without WWW-Authenticate header

The second one I am now able to reproduce. It seems as though the heartbeat stops after some time. I restarted my local binding after enabling TRACE logging. (log:set TRACE org.openhab.binding.evohome). I’ll closely monitor the logs the coming days and try to figure out what is the cause of the heartbeat to stop.

I was able to reproduce at least the Authentication challenge without WWW-Authenticate header exception by pulling the ethernet connection. I see no errors in the logging but the effect is that the polling stops. When that happens, the authentication token expires after a short while and it is no longer possible to send or receive updates.

I haven’t investigated the cause yet, but reproducing the issue is half of the work :smile:

I’ll try to fix the issue and, when I do, I will release a new test version.

Next to that I’ve processed most of the review comments so I hope the binding will be available in 2.3.0.

Good work, you’re right, figuring out the problem is half the issue.

Fingers crossed!

Folks,

Got something weird with this binding but not sure if it is the binding?

I have a rule (below) which turns on the heating to the bathroom when someone is home

rule "Wetroom towel rail"
when 
        Time cron "0 0 5 ? * MON-FRI *" 
    or  Time cron "0 0 7 ? * MON-FRI *" 
    or  Time cron "0 0 8 ? * SAT,SUN *" 
    or  Time cron "0 0/1 * 1/1 * ? *" 
    
then
    logWarn("HHHHHHH", "heating cron fired")

    if (PresenceState.state == 0 || PresenceState.state == 2){
        logInfo("Heating - Wetroom towel rail", "Turning on towel rail")
        evohome_Wetroom_Temperature_setpoint_override.postUpdate(28)//make hot.
    }
    else{
        logInfo("Heating - Wetroom towel rail", "No one is home so not turning on")
    }
    logWarn("HHHHHHH", "heating cron fired - finished")
end

The minute cron and logwarn are for debugging :slight_smile:

I see this in the logs though. I can see it fires, it turns it on but then a couple of seconds later, it reverts it.

19:34:00.006 [WARN ] [clipse.smarthome.model.script.HHHHHHH] - heating cron fired
19:34:00.048 [INFO ] [l.script.Heating - Wetroom towel rail] - Turning on towel rail
19:34:00.095 [WARN ] [clipse.smarthome.model.script.HHHHHHH] - heating cron fired - finished
19:34:00.098 [INFO ] [smarthome.event.ItemStateChangedEvent] - evohome_Wetroom_Temperature_setpoint_override changed from 23.0 to 28
19:34:01.211 [INFO ] [ghtwaverf.internal.LightwaveRfBinding] - Update from LightwaveRf ItemName[Power_Main], State[989]
19:34:01.315 [INFO ] [smarthome.event.ItemStateChangedEvent] - Power_Main changed from 936 to 989
19:34:05.270 [INFO ] [ghtwaverf.internal.LightwaveRfBinding] - Update from LightwaveRf ItemName[Power_Solar], State[66]
19:34:09.022 [INFO ] [smarthome.event.ItemStateChangedEvent] - evohome_Wetroom_Temperature_setpoint_override changed from 28 to 23.0

If I do this through karaf smarthome:send evohome_Wetroom_Temperature_setpoint_override 26 it works and sticks. The rule fires and then reverts to this value and not 28…

I’ve no groups on the item and nothing else interacts with it (that I know of…)

Any help diagnosing?

thanks

ok, so if I comment out the channel mapping from the item this does not happen.
when I put the channel mapping back in, it reverts again if called from a rule… Does something in the binding write back to the item?

well, it’s a week of learning.

postUpdate(28) will cause it to change but revert.
sendCommand(28) will cause it to change and stay.

Why would it change back?

Hate to say it, but I’ve just realised a side effect of the not being able to adjust temperatures is that I’m not actually getting ANY updates from the zones. Of course this might be obvious to others, but I only noticed last night :weary:

Anyway for full context, it appears that OH stopped receiving updates about 20:00 on 9 April.

Checking the logs for this time gives the following:

2018-04-09 19:58:03.786 [ERROR] [nding.evohome.internal.api.ApiAccess] - Error in handling request
java.util.concurrent.ExecutionException: java.io.EOFException: HttpConnectionOverHTTP@1f82834(l:/192.168.1.154:45938 <-> r:tccna.honeywell.com/199.62.84.94:443,closed=false)[HttpChannelOverHTTP@13fce3b(exchange=HttpExchange@1004344 req=TERMINATED/null@null res=PENDING/null@null)[send=HttpSenderOverHTTP@2c400(req=QUEUED,snd=COMPLETED,failure=null)[HttpGenerator@b9f43c{s=START}],recv=HttpReceiverOverHTTP@144adc6(rsp=IDLE,failure=null)[HttpParser{s=CLOSED,0 of -1}]]]
	at org.eclipse.jetty.client.util.FutureResponseListener.getResult(FutureResponseListener.java:118) [75:org.eclipse.jetty.client:9.3.22.v20171030]
	at org.eclipse.jetty.client.util.FutureResponseListener.get(FutureResponseListener.java:101) [75:org.eclipse.jetty.client:9.3.22.v20171030]
	at org.eclipse.jetty.client.HttpRequest.send(HttpRequest.java:674) [75:org.eclipse.jetty.client:9.3.22.v20171030]
	at org.openhab.binding.evohome.internal.api.ApiAccess.doRequest(ApiAccess.java:103) [202:org.openhab.binding.evohome:2.2.0.201803070810]
	at org.openhab.binding.evohome.internal.api.ApiAccess.doRequest(ApiAccess.java:145) [202:org.openhab.binding.evohome:2.2.0.201803070810]
	at org.openhab.binding.evohome.internal.api.ApiAccess.doAuthenticatedRequest(ApiAccess.java:174) [202:org.openhab.binding.evohome:2.2.0.201803070810]
	at org.openhab.binding.evohome.internal.api.EvohomeApiClientV2.requestLocationsStatus(EvohomeApiClientV2.java:178) [202:org.openhab.binding.evohome:2.2.0.201803070810]
	at org.openhab.binding.evohome.internal.api.EvohomeApiClientV2.update(EvohomeApiClientV2.java:110) [202:org.openhab.binding.evohome:2.2.0.201803070810]
	at org.openhab.binding.evohome.handler.EvohomeAccountBridgeHandler.update(EvohomeAccountBridgeHandler.java:210) [202:org.openhab.binding.evohome:2.2.0.201803070810]
	at org.openhab.binding.evohome.handler.EvohomeAccountBridgeHandler.access$4(EvohomeAccountBridgeHandler.java:209) [202:org.openhab.binding.evohome:2.2.0.201803070810]
	at org.openhab.binding.evohome.handler.EvohomeAccountBridgeHandler$2.run(EvohomeAccountBridgeHandler.java:204) [202:org.openhab.binding.evohome:2.2.0.201803070810]
	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) [?:?]
Caused by: java.io.EOFException: HttpConnectionOverHTTP@1f82834(l:/192.168.1.154:45938 <-> r:tccna.honeywell.com/199.62.84.94:443,closed=false)[HttpChannelOverHTTP@13fce3b(exchange=HttpExchange@1004344 req=TERMINATED/null@null res=PENDING/null@null)[send=HttpSenderOverHTTP@2c400(req=QUEUED,snd=COMPLETED,failure=null)[HttpGenerator@b9f43c{s=START}],recv=HttpReceiverOverHTTP@144adc6(rsp=IDLE,failure=null)[HttpParser{s=CLOSED,0 of -1}]]]
	at org.eclipse.jetty.client.http.HttpReceiverOverHTTP.earlyEOF(HttpReceiverOverHTTP.java:300) ~[?:?]
	at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:1392) ~[?:?]
	at org.eclipse.jetty.client.http.HttpReceiverOverHTTP.shutdown(HttpReceiverOverHTTP.java:185) ~[?:?]
	at org.eclipse.jetty.client.http.HttpReceiverOverHTTP.process(HttpReceiverOverHTTP.java:132) ~[?:?]
	at org.eclipse.jetty.client.http.HttpReceiverOverHTTP.receive(HttpReceiverOverHTTP.java:70) ~[?:?]
	at org.eclipse.jetty.client.http.HttpChannelOverHTTP.receive(HttpChannelOverHTTP.java:90) ~[?:?]
	at org.eclipse.jetty.client.http.HttpConnectionOverHTTP.onFillable(HttpConnectionOverHTTP.java:115) ~[?:?]
	at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:283) ~[?:?]
	at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:108) ~[?:?]
	at org.eclipse.jetty.io.ssl.SslConnection.onFillable(SslConnection.java:251) ~[?:?]
	at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:283) ~[?:?]
	at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:108) ~[?:?]
	at org.eclipse.jetty.io.SelectChannelEndPoint$2.run(SelectChannelEndPoint.java:93) ~[?:?]
	at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.executeProduceConsume(ExecuteProduceConsume.java:303) ~[?:?]
	at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.produceConsume(ExecuteProduceConsume.java:148) ~[?:?]
	at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.run(ExecuteProduceConsume.java:136) ~[?:?]
	at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:671) ~[?:?]
	at org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:589) ~[?:?]
	... 1 more

There may be logs earlier, but this was about the time Influx stopped getting data.

So this morning I’ve checked the UI:

Restarted the bundle via Karaf and now everything is back showing the correct data again

And just for completeness - binding is shown in Karaf as v2.2.0.201803070810

@CDriver I’ve noticed that there was a slight difference in the behaviour before, but the issues occurred while I was testing the complete loss of connection (see above stuff) so it wasn’t a point of concern.

One thing I remember was that doing things one way I’d see a setpoint value change only until the next scheduled event, while doing it the other way made the setpoint change permanent. BUT I was throwing test rules and different methods around trying to understand a larger problem, so I’ve not followed up to see if it was reproducible/consistent.

Is anyone else getting exceptions?
For the last few days nothing seems to work.

Setting the override will always induce this.

21:23:31.452 [INFO ] [smarthome.event.ItemCommandEvent     ] - Item 'evohome_Bathroom_Temperature_setpoint_override' received command 13
21:23:31.486 [INFO ] [smarthome.event.ItemStateChangedEvent] - evohome_Bathroom_Temperature_setpoint_override changed from 28 to 13
21:23:32.029 [ERROR] [inding.evohome.internal.api.ApiAccess] - Error in handling request
java.util.concurrent.ExecutionException: org.eclipse.jetty.client.HttpResponseException: HTTP protocol violation: Authentication challenge without WWW-Authenticate header
        at org.eclipse.jetty.client.util.FutureResponseListener.getResult(FutureResponseListener.java:118) [75:org.eclipse.jetty.client:9.3.22.v20171030]
        at org.eclipse.jetty.client.util.FutureResponseListener.get(FutureResponseListener.java:101) [75:org.eclipse.jetty.client:9.3.22.v20171030]
        at org.eclipse.jetty.client.HttpRequest.send(HttpRequest.java:674) [75:org.eclipse.jetty.client:9.3.22.v20171030]
        at org.openhab.binding.evohome.internal.api.ApiAccess.doRequest(ApiAccess.java:103) [255:org.openhab.binding.evohome:2.2.0.201803070810]
        at org.openhab.binding.evohome.internal.api.ApiAccess.doRequest(ApiAccess.java:145) [255:org.openhab.binding.evohome:2.2.0.201803070810]
        at org.openhab.binding.evohome.internal.api.ApiAccess.doAuthenticatedRequest(ApiAccess.java:174) [255:org.openhab.binding.evohome:2.2.0.201803070810]
        at org.openhab.binding.evohome.internal.api.EvohomeApiClientV2.setHeatingZoneOverride(EvohomeApiClientV2.java:143) [255:org.openhab.binding.evohome:2.2.0.201803070810]
        at org.openhab.binding.evohome.internal.api.EvohomeApiClientV2.setHeatingZoneOverride(EvohomeApiClientV2.java:132) [255:org.openhab.binding.evohome:2.2.0.201803070810]
        at org.openhab.binding.evohome.handler.EvohomeAccountBridgeHandler.setPermanentSetPoint(EvohomeAccountBridgeHandler.java:130) [255:org.openhab.binding.evohome:2.2.0.201803070810]
        at org.openhab.binding.evohome.handler.EvohomeHeatingZoneHandler.handleCommand(EvohomeHeatingZoneHandler.java:81) [255:org.openhab.binding.evohome:2.2.0.201803070810]
        at sun.reflect.GeneratedMethodAccessor128.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.InvocationHandlerSync.invoke(InvocationHandlerSync.java:59) [109:org.eclipse.smarthome.core:0.10.0.b1]
        at com.sun.proxy.$Proxy180.handleCommand(Unknown Source) [255:org.openhab.binding.evohome:2.2.0.201803070810]
        at org.eclipse.smarthome.core.thing.internal.profiles.ProfileCallbackImpl.handleCommand(ProfileCallbackImpl.java:72) [116:org.eclipse.smarthome.core.thing:0.10.0.b1]
        at org.eclipse.smarthome.core.thing.internal.profiles.SystemDefaultProfile.onCommandFromItem(SystemDefaultProfile.java:49) [116:org.eclipse.smarthome.core.thing:0.10.0.b1]
        at sun.reflect.GeneratedMethodAccessor127.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) [?:?]
Caused by: org.eclipse.jetty.client.HttpResponseException: HTTP protocol violation: Authentication challenge without WWW-Authenticate header
        at org.eclipse.jetty.client.AuthenticationProtocolHandler$AuthenticationListener.onComplete(AuthenticationProtocolHandler.java:114) ~[?:?]
        at org.eclipse.jetty.client.ResponseNotifier.notifyComplete(ResponseNotifier.java:193) ~[?:?]
        at org.eclipse.jetty.client.ResponseNotifier.notifyComplete(ResponseNotifier.java:185) ~[?:?]
        at org.eclipse.jetty.client.HttpReceiver.terminateResponse(HttpReceiver.java:458) ~[?:?]
        at org.eclipse.jetty.client.HttpReceiver.responseSuccess(HttpReceiver.java:405) ~[?:?]
        at org.eclipse.jetty.client.http.HttpReceiverOverHTTP.messageComplete(HttpReceiverOverHTTP.java:277) ~[?:?]
        at org.eclipse.jetty.http.HttpParser.handleContentMessage(HttpParser.java:599) ~[?:?]
        at org.eclipse.jetty.http.HttpParser.parseContent(HttpParser.java:1526) ~[?:?]
        at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:1350) ~[?:?]
        at org.eclipse.jetty.client.http.HttpReceiverOverHTTP.parse(HttpReceiverOverHTTP.java:159) ~[?:?]
        at org.eclipse.jetty.client.http.HttpReceiverOverHTTP.process(HttpReceiverOverHTTP.java:120) ~[?:?]
        at org.eclipse.jetty.client.http.HttpReceiverOverHTTP.receive(HttpReceiverOverHTTP.java:70) ~[?:?]
        at org.eclipse.jetty.client.http.HttpChannelOverHTTP.receive(HttpChannelOverHTTP.java:90) ~[?:?]
        at org.eclipse.jetty.client.http.HttpConnectionOverHTTP.onFillable(HttpConnectionOverHTTP.java:115) ~[?:?]
        at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:283) ~[?:?]
        at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:108) ~[?:?]
        at org.eclipse.jetty.io.ssl.SslConnection.onFillable(SslConnection.java:251) ~[?:?]
        at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:283) ~[?:?]
        at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:108) ~[?:?]
        at org.eclipse.jetty.io.SelectChannelEndPoint$2.run(SelectChannelEndPoint.java:93) ~[?:?]
        at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.executeProduceConsume(ExecuteProduceConsume.java:303) ~[?:?]
        at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.produceConsume(ExecuteProduceConsume.java:148) ~[?:?]
        at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.run(ExecuteProduceConsume.java:136) ~[?:?]
        at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:671) ~[?:?]
        at org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:589) ~[?:?]
        ... 1 more

Hi @CDriver, that is the issue @nick_wootton was referring to. I’m trying to make some time available to look into this. But with a busy period at work and at home and a new laptop which doesn’t want to start eclipse, it’s been difficult :wink:

The workaround is to log into karaf and issue a bundle:restart on the binding. Let me know if that works for you.

Yup, that works for us so. All good goods nowhere :smile:

Actually, what worked was making my password in the thing files wrong then right. Seems to its thing related?

I don’t use the thing setup for evohome, so i think that’s not the case, but editing a things file would refresh all data, so it soft restarts the bundle maybe?