Tahoma Binding compatible with OH2

Hi, thanks for support!
I hope it will be merged soon - currently it is under 3rd round of review and I need to implement a few last comments.
It needs a bit testing too, I have had to rewrite all the communication stuff…

Hi,

I am using this binding to full satisfaction. Great stuff, keep it up!

Have a question though. My awning has a Somfy Wirefree IO windsensor linked to it. Now, I can’t connect this sensor to my Connexoon but, if the awning closes due to high winds, I do get a warning flag on my Somfy app on my phone (little windsock icon). So something is send to the Connexoon I guess to make it produce this flag/icon. Would there be a way to catch this and have it communicate to openHAB too?

Thank you in advance.

Hello Arjan,

the wind sensor is not supported right now. Of course I can add the support, but I need a bit cooperation from your side. I do not know which version of binding you are using, if the vesion provided by the Eclipse marketplace, you can search openhab.log for a line similar to "Detected a new unsupported device: " with some additional info that I need.

If you have the latest 2.4.0-SNAPSHOT, this information has lower severity (It is close to “production” version), you need to enable the debug level for this binding and search for the same information in openhab.log.

thanks
Ondrej

Hi Ondrej,

I am using the 2.4.0-SNAPSHOT binding so I have to dive into the bits as where and how to set the Debug mode for logs. Ideally, I would like all the somfy stuff to go into a different log other than the main one. I have done this in the past for Zwave but have no clue as to how I did that. To be continued!

Let me know what you need from the log or I can just sens you the whole lot. I can trigger the windsesnor manually so we at least know the time when it reports itself :slight_smile:

Best regards,
Arjan

this should be sufficient

  1. ssh to your running OH2 instance
    e.g. from your localhost do
ssh openhab@localhost -p8101

with password “habopen”

  1. once logged in type
log:set debug org.openhab.binding.somfytahoma.handler.SomfyTahomaBridgeHandler
  1. do manual discover of Somfy things in PaperUI

you will see the information about unsupported devices in openhab.log including commands and states they have.
Thanks.
Ondrej

Deleted

Can I send you the logfile?

Best regards

Is the Somfy smoke detector IO supported by the binding? Does anybode have experiences with these devices?

I encountered a couple of problems with the Tahoma binding in the last days. It stopps working after 1-2 days operation. Today again suddenly the things (bridge and 8 awnings) went offline and I cannot control them anymore via OH (my Somfy remote control still works perfectly but OH is out). Here is the Openhab Log:

2018-07-14 13:12:55.126 [ERROR] [oma.handler.SomfyTahomaBridgeHandler] - Cannot send getCurrentExecutions command!
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) [72:org.eclipse.jetty.client:9.3.21.v20170918]
	at org.eclipse.jetty.client.util.FutureResponseListener.get(FutureResponseListener.java:101) [72:org.eclipse.jetty.client:9.3.21.v20170918]
	at org.eclipse.jetty.client.HttpRequest.send(HttpRequest.java:674) [72:org.eclipse.jetty.client:9.3.21.v20170918]
	at org.openhab.binding.somfytahoma.handler.SomfyTahomaBridgeHandler.sendDataToTahomaWithCookie(SomfyTahomaBridgeHandler.java:399) [251:org.openhab.binding.somfytahoma:2.4.0.201806111934]
	at org.openhab.binding.somfytahoma.handler.SomfyTahomaBridgeHandler.getCurrentExecutionsInternal(SomfyTahomaBridgeHandler.java:500) [251:org.openhab.binding.somfytahoma:2.4.0.201806111934]
	at org.openhab.binding.somfytahoma.handler.SomfyTahomaBridgeHandler.getCurrentExecutions(SomfyTahomaBridgeHandler.java:484) [251:org.openhab.binding.somfytahoma:2.4.0.201806111934]
	at org.openhab.binding.somfytahoma.handler.SomfyTahomaBaseThingHandler.getCurrentExecutions(SomfyTahomaBaseThingHandler.java:114) [251:org.openhab.binding.somfytahoma:2.4.0.201806111934]
	at org.openhab.binding.somfytahoma.handler.SomfyTahomaAwningHandler.handleCommand(SomfyTahomaAwningHandler.java:55) [251:org.openhab.binding.somfytahoma:2.4.0.201806111934]
	at sun.reflect.GeneratedMethodAccessor133.invoke(Unknown Source) ~[?:?]
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:?]
	at java.lang.reflect.Method.invoke(Unknown Source) ~[?:?]
	at org.eclipse.smarthome.core.internal.common.AbstractInvocationHandler.invokeDirect(AbstractInvocationHandler.java:153) [101:org.eclipse.smarthome.core:0.10.0.201805241348]
	at org.eclipse.smarthome.core.internal.common.InvocationHandlerSync.invoke(InvocationHandlerSync.java:59) [101:org.eclipse.smarthome.core:0.10.0.201805241348]
	at com.sun.proxy.$Proxy167.handleCommand(Unknown Source) [251:org.openhab.binding.somfytahoma:2.4.0.201806111934]
	at org.eclipse.smarthome.core.thing.internal.profiles.ProfileCallbackImpl.handleCommand(ProfileCallbackImpl.java:75) [108:org.eclipse.smarthome.core.thing:0.10.0.201805241348]
	at org.eclipse.smarthome.core.thing.internal.profiles.SystemDefaultProfile.onCommandFromItem(SystemDefaultProfile.java:49) [108:org.eclipse.smarthome.core.thing:0.10.0.201805241348]
	at sun.reflect.GeneratedMethodAccessor132.invoke(Unknown Source) ~[?:?]
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:?]
	at java.lang.reflect.Method.invoke(Unknown Source) ~[?:?]
	at org.eclipse.smarthome.core.internal.common.AbstractInvocationHandler.invokeDirect(AbstractInvocationHandler.java:153) [101:org.eclipse.smarthome.core:0.10.0.201805241348]
	at org.eclipse.smarthome.core.internal.common.Invocation.call(Invocation.java:53) [101:org.eclipse.smarthome.core:0.10.0.201805241348]
	at java.util.concurrent.FutureTask.run(Unknown Source) [?:?]
	at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) [?:?]
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) [?:?]
	at java.lang.Thread.run(Unknown Source) [?:?]
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-07-14 13:12:55.202 [ERROR] [oma.handler.SomfyTahomaBridgeHandler] - Cannot send apply command setDeployment with params [100]!
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) [72:org.eclipse.jetty.client:9.3.21.v20170918]
	at org.eclipse.jetty.client.util.FutureResponseListener.get(FutureResponseListener.java:101) [72:org.eclipse.jetty.client:9.3.21.v20170918]
	at org.eclipse.jetty.client.HttpRequest.send(HttpRequest.java:674) [72:org.eclipse.jetty.client:9.3.21.v20170918]
	at org.openhab.binding.somfytahoma.handler.SomfyTahomaBridgeHandler.sendDataToTahomaWithCookie(SomfyTahomaBridgeHandler.java:399) [251:org.openhab.binding.somfytahoma:2.4.0.201806111934]
	at org.openhab.binding.somfytahoma.handler.SomfyTahomaBridgeHandler.sendCommandInternal(SomfyTahomaBridgeHandler.java:449) [251:org.openhab.binding.somfytahoma:2.4.0.201806111934]
	at org.openhab.binding.somfytahoma.handler.SomfyTahomaBridgeHandler.sendCommand(SomfyTahomaBridgeHandler.java:431) [251:org.openhab.binding.somfytahoma:2.4.0.201806111934]
	at org.openhab.binding.somfytahoma.handler.SomfyTahomaBaseThingHandler.sendCommand(SomfyTahomaBaseThingHandler.java:102) [251:org.openhab.binding.somfytahoma:2.4.0.201806111934]
	at org.openhab.binding.somfytahoma.handler.SomfyTahomaAwningHandler.handleCommand(SomfyTahomaAwningHandler.java:64) [251:org.openhab.binding.somfytahoma:2.4.0.201806111934]
	at sun.reflect.GeneratedMethodAccessor133.invoke(Unknown Source) ~[?:?]
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:?]
	at java.lang.reflect.Method.invoke(Unknown Source) ~[?:?]
	at org.eclipse.smarthome.core.internal.common.AbstractInvocationHandler.invokeDirect(AbstractInvocationHandler.java:153) [101:org.eclipse.smarthome.core:0.10.0.201805241348]
	at org.eclipse.smarthome.core.internal.common.InvocationHandlerSync.invoke(InvocationHandlerSync.java:59) [101:org.eclipse.smarthome.core:0.10.0.201805241348]
	at com.sun.proxy.$Proxy167.handleCommand(Unknown Source) [251:org.openhab.binding.somfytahoma:2.4.0.201806111934]
	at org.eclipse.smarthome.core.thing.internal.profiles.ProfileCallbackImpl.handleCommand(ProfileCallbackImpl.java:75) [108:org.eclipse.smarthome.core.thing:0.10.0.201805241348]
	at org.eclipse.smarthome.core.thing.internal.profiles.SystemDefaultProfile.onCommandFromItem(SystemDefaultProfile.java:49) [108:org.eclipse.smarthome.core.thing:0.10.0.201805241348]
	at sun.reflect.GeneratedMethodAccessor132.invoke(Unknown Source) ~[?:?]
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:?]
	at java.lang.reflect.Method.invoke(Unknown Source) ~[?:?]
	at org.eclipse.smarthome.core.internal.common.AbstractInvocationHandler.invokeDirect(AbstractInvocationHandler.java:153) [101:org.eclipse.smarthome.core:0.10.0.201805241348]
	at org.eclipse.smarthome.core.internal.common.Invocation.call(Invocation.java:53) [101:org.eclipse.smarthome.core:0.10.0.201805241348]
	at java.util.concurrent.FutureTask.run(Unknown Source) [?:?]
	at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) [?:?]
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) [?:?]
	at java.lang.Thread.run(Unknown Source) [?:?]
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-07-14 13:12:56.058 [ERROR] [oma.handler.SomfyTahomaBridgeHandler] - Cannot send getCurrentExecutions command!
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) [72:org.eclipse.jetty.client:9.3.21.v20170918]
	at org.eclipse.jetty.client.util.FutureResponseListener.get(FutureResponseListener.java:101) [72:org.eclipse.jetty.client:9.3.21.v20170918]
	at org.eclipse.jetty.client.HttpRequest.send(HttpRequest.java:674) [72:org.eclipse.jetty.client:9.3.21.v20170918]
	at org.openhab.binding.somfytahoma.handler.SomfyTahomaBridgeHandler.sendDataToTahomaWithCookie(SomfyTahomaBridgeHandler.java:399) [251:org.openhab.binding.somfytahoma:2.4.0.201806111934]
	at org.openhab.binding.somfytahoma.handler.SomfyTahomaBridgeHandler.getCurrentExecutionsInternal(SomfyTahomaBridgeHandler.java:500) [251:org.openhab.binding.somfytahoma:2.4.0.201806111934]
	at org.openhab.binding.somfytahoma.handler.SomfyTahomaBridgeHandler.getCurrentExecutions(SomfyTahomaBridgeHandler.java:484) [251:org.openhab.binding.somfytahoma:2.4.0.201806111934]
	at org.openhab.binding.somfytahoma.handler.SomfyTahomaBaseThingHandler.getCurrentExecutions(SomfyTahomaBaseThingHandler.java:114) [251:org.openhab.binding.somfytahoma:2.4.0.201806111934]
	at org.openhab.binding.somfytahoma.handler.SomfyTahomaAwningHandler.handleCommand(SomfyTahomaAwningHandler.java:55) [251:org.openhab.binding.somfytahoma:2.4.0.201806111934]
	at sun.reflect.GeneratedMethodAccessor133.invoke(Unknown Source) ~[?:?]
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:?]
	at java.lang.reflect.Method.invoke(Unknown Source) ~[?:?]
	at org.eclipse.smarthome.core.internal.common.AbstractInvocationHandler.invokeDirect(AbstractInvocationHandler.java:153) [101:org.eclipse.smarthome.core:0.10.0.201805241348]
	at org.eclipse.smarthome.core.internal.common.InvocationHandlerSync.invoke(InvocationHandlerSync.java:59) [101:org.eclipse.smarthome.core:0.10.0.201805241348]
	at com.sun.proxy.$Proxy167.handleCommand(Unknown Source) [251:org.openhab.binding.somfytahoma:2.4.0.201806111934]
	at org.eclipse.smarthome.core.thing.internal.profiles.ProfileCallbackImpl.handleCommand(ProfileCallbackImpl.java:75) [108:org.eclipse.smarthome.core.thing:0.10.0.201805241348]
	at org.eclipse.smarthome.core.thing.internal.profiles.SystemDefaultProfile.onCommandFromItem(SystemDefaultProfile.java:49) [108:org.eclipse.smarthome.core.thing:0.10.0.201805241348]
	at sun.reflect.GeneratedMethodAccessor132.invoke(Unknown Source) ~[?:?]
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:?]
	at java.lang.reflect.Method.invoke(Unknown Source) ~[?:?]
	at org.eclipse.smarthome.core.internal.common.AbstractInvocationHandler.invokeDirect(AbstractInvocationHandler.java:153) [101:org.eclipse.smarthome.core:0.10.0.201805241348]
	at org.eclipse.smarthome.core.internal.common.Invocation.call(Invocation.java:53) [101:org.eclipse.smarthome.core:0.10.0.201805241348]
	at java.util.concurrent.FutureTask.run(Unknown Source) [?:?]
	at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) [?:?]
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) [?:?]
	at java.lang.Thread.run(Unknown Source) [?:?]
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-07-14 13:12:56.132 [ERROR] [oma.handler.SomfyTahomaBridgeHandler] - Cannot send apply command setDeployment with params [0]!
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) [72:org.eclipse.jetty.client:9.3.21.v20170918]
	at org.eclipse.jetty.client.util.FutureResponseListener.get(FutureResponseListener.java:101) [72:org.eclipse.jetty.client:9.3.21.v20170918]
	at org.eclipse.jetty.client.HttpRequest.send(HttpRequest.java:674) [72:org.eclipse.jetty.client:9.3.21.v20170918]
	at org.openhab.binding.somfytahoma.handler.SomfyTahomaBridgeHandler.sendDataToTahomaWithCookie(SomfyTahomaBridgeHandler.java:399) [251:org.openhab.binding.somfytahoma:2.4.0.201806111934]
	at org.openhab.binding.somfytahoma.handler.SomfyTahomaBridgeHandler.sendCommandInternal(SomfyTahomaBridgeHandler.java:449) [251:org.openhab.binding.somfytahoma:2.4.0.201806111934]
	at org.openhab.binding.somfytahoma.handler.SomfyTahomaBridgeHandler.sendCommand(SomfyTahomaBridgeHandler.java:431) [251:org.openhab.binding.somfytahoma:2.4.0.201806111934]
	at org.openhab.binding.somfytahoma.handler.SomfyTahomaBaseThingHandler.sendCommand(SomfyTahomaBaseThingHandler.java:102) [251:org.openhab.binding.somfytahoma:2.4.0.201806111934]
	at org.openhab.binding.somfytahoma.handler.SomfyTahomaAwningHandler.handleCommand(SomfyTahomaAwningHandler.java:64) [251:org.openhab.binding.somfytahoma:2.4.0.201806111934]
	at sun.reflect.GeneratedMethodAccessor133.invoke(Unknown Source) ~[?:?]
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:?]
	at java.lang.reflect.Method.invoke(Unknown Source) ~[?:?]
	at org.eclipse.smarthome.core.internal.common.AbstractInvocationHandler.invokeDirect(AbstractInvocationHandler.java:153) [101:org.eclipse.smarthome.core:0.10.0.201805241348]
	at org.eclipse.smarthome.core.internal.common.InvocationHandlerSync.invoke(InvocationHandlerSync.java:59) [101:org.eclipse.smarthome.core:0.10.0.201805241348]
	at com.sun.proxy.$Proxy167.handleCommand(Unknown Source) [251:org.openhab.binding.somfytahoma:2.4.0.201806111934]
	at org.eclipse.smarthome.core.thing.internal.profiles.ProfileCallbackImpl.handleCommand(ProfileCallbackImpl.java:75) [108:org.eclipse.smarthome.core.thing:0.10.0.201805241348]
	at org.eclipse.smarthome.core.thing.internal.profiles.SystemDefaultProfile.onCommandFromItem(SystemDefaultProfile.java:49) [108:org.eclipse.smarthome.core.thing:0.10.0.201805241348]
	at sun.reflect.GeneratedMethodAccessor132.invoke(Unknown Source) ~[?:?]
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:?]
	at java.lang.reflect.Method.invoke(Unknown Source) ~[?:?]
	at org.eclipse.smarthome.core.internal.common.AbstractInvocationHandler.invokeDirect(AbstractInvocationHandler.java:153) [101:org.eclipse.smarthome.core:0.10.0.201805241348]
	at org.eclipse.smarthome.core.internal.common.Invocation.call(Invocation.java:53) [101:org.eclipse.smarthome.core:0.10.0.201805241348]
	at java.util.concurrent.FutureTask.run(Unknown Source) [?:?]
	at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) [?:?]
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) [?:?]
	at java.lang.Thread.run(Unknown Source) [?:?]
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-07-14 13:13:01.833 [ERROR] [oma.handler.SomfyTahomaBridgeHandler] - Cannot send getCurrentExecutions command!
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) [72:org.eclipse.jetty.client:9.3.21.v20170918]
	at org.eclipse.jetty.client.util.FutureResponseListener.get(FutureResponseListener.java:101) [72:org.eclipse.jetty.client:9.3.21.v20170918]
	at org.eclipse.jetty.client.HttpRequest.send(HttpRequest.java:674) [72:org.eclipse.jetty.client:9.3.21.v20170918]
	at org.openhab.binding.somfytahoma.handler.SomfyTahomaBridgeHandler.sendDataToTahomaWithCookie(SomfyTahomaBridgeHandler.java:399) [251:org.openhab.binding.somfytahoma:2.4.0.201806111934]
	at org.openhab.binding.somfytahoma.handler.SomfyTahomaBridgeHandler.getCurrentExecutionsInternal(SomfyTahomaBridgeHandler.java:500) [251:org.openhab.binding.somfytahoma:2.4.0.201806111934]
	at org.openhab.binding.somfytahoma.handler.SomfyTahomaBridgeHandler.getCurrentExecutions(SomfyTahomaBridgeHandler.java:484) [251:org.openhab.binding.somfytahoma:2.4.0.201806111934]
	at org.openhab.binding.somfytahoma.handler.SomfyTahomaBaseThingHandler.getCurrentExecutions(SomfyTahomaBaseThingHandler.java:114) [251:org.openhab.binding.somfytahoma:2.4.0.201806111934]
	at org.openhab.binding.somfytahoma.handler.SomfyTahomaAwningHandler.handleCommand(SomfyTahomaAwningHandler.java:55) [251:org.openhab.binding.somfytahoma:2.4.0.201806111934]
	at sun.reflect.GeneratedMethodAccessor133.invoke(Unknown Source) ~[?:?]
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:?]
	at java.lang.reflect.Method.invoke(Unknown Source) ~[?:?]
	at org.eclipse.smarthome.core.internal.common.AbstractInvocationHandler.invokeDirect(AbstractInvocationHandler.java:153) [101:org.eclipse.smarthome.core:0.10.0.201805241348]
	at org.eclipse.smarthome.core.internal.common.InvocationHandlerSync.invoke(InvocationHandlerSync.java:59) [101:org.eclipse.smarthome.core:0.10.0.201805241348]
	at com.sun.proxy.$Proxy167.handleCommand(Unknown Source) [251:org.openhab.binding.somfytahoma:2.4.0.201806111934]
	at org.eclipse.smarthome.core.thing.internal.profiles.ProfileCallbackImpl.handleCommand(ProfileCallbackImpl.java:75) [108:org.eclipse.smarthome.core.thing:0.10.0.201805241348]
	at org.eclipse.smarthome.core.thing.internal.profiles.SystemDefaultProfile.onCommandFromItem(SystemDefaultProfile.java:49) [108:org.eclipse.smarthome.core.thing:0.10.0.201805241348]
	at sun.reflect.GeneratedMethodAccessor132.invoke(Unknown Source) ~[?:?]
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:?]
	at java.lang.reflect.Method.invoke(Unknown Source) ~[?:?]
	at org.eclipse.smarthome.core.internal.common.AbstractInvocationHandler.invokeDirect(AbstractInvocationHandler.java:153) [101:org.eclipse.smarthome.core:0.10.0.201805241348]
	at org.eclipse.smarthome.core.internal.common.Invocation.call(Invocation.java:53) [101:org.eclipse.smarthome.core:0.10.0.201805241348]
	at java.util.concurrent.FutureTask.run(Unknown Source) [?:?]
	at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) [?:?]
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) [?:?]
	at java.lang.Thread.run(Unknown Source) [?:?]
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-07-14 13:13:01.906 [ERROR] [oma.handler.SomfyTahomaBridgeHandler] - Cannot send apply command setDeployment with params [0]!

@Ondrej_Pecta : Could you have a look at this? Thank you very much!

Edit: I am using Version 2.4.0.20180611193 at the moment.

Edit2: A restart of the binding via Karaf Console brought it back to life. However it should not happen that this is necessary.

Hi,

I have already fixed this problem (which relates to the changing of the communication layer required by code review), please try the newer version at
https://openhab.jfrog.io/openhab/libs-pullrequest-local/org/openhab/binding/org.openhab.binding.somfytahoma/2.4.0-SNAPSHOT/org.openhab.binding.somfytahoma-2.4.0-SNAPSHOT.jar

thanks
Ondrej

Yes, the smoke sensor is supported. It exposes only one channel “contact” of type contact. (it might be a subject of change to type switch because of code review comments)
Thanks.
Ondrej

Hi Ondrej and community,
First of all I would like to thank you for this great binding. I’m using it with my somfy and velux io rollershutters together with connexxoon. I can UP, DOWN and set the exact position of the shutter.

However, when I STOP the execution the state (position) of the roller shutter is unclear. For example when I DOWN the rollershutter and STOP it in the middle the state of the rollershutter still returns 100. This is of course wrong in this case.

Is there a possibility to read back the current (exact) postion of the io rollershutter?

Any help is wellcome.

Best regards,
Thomas

Hi Thomas,

Not the dev but it’s very unlikely because it’s not reported back on the tahomalink website if actuated with another remote.

I am using the binding with Conexxoon and 8 Somfy IO awnings. The position is always reported back correctly to OH regardless of the device I used to change the position (OH or separate remote control from Somfy).
However it is indeed not possible with OH to stop a command before it is executed completely. Example: When I want to roll down the awning by 100% and in the middle I change my mind to put it back up then a change in the OH UI will result in nothing. Only after the awning has reached 100% I can command it to any new position with OH. The separate Somfy IO remote control however is able to stop operations in the middle.

Thanks for your answers. I can stop the awning by pressing the stop button in the paper ui or by sending the STOP command in a rule. I just now played a little bit with the refresh intervall in the Configuration->Thing setting of the Somfy Tahoma Bridge. I reduced the refresh cycle below 30s and it seems that it is now getting updated.

  • Which refresh cycle is recommended to get a reliable update?
  • Is there additionally any possibility to manually trigger a refresh to directly update the position? I’m thinking to put this into a rule when moving or stopping the rollershutter.

hi there,

i am newbee in openHAB an bindings, an need some help by configuring the tahoma-binding.

i have some login-problem with the latest somfytahoma-binding. here the log info:
11:14:03.362 [DEBUG] [homa.handler.SomfyTahomaBridgeHandler] - Login response: {“error”:“Bad credentials”}
11:14:03.366 [DEBUG] [homa.handler.SomfyTahomaBridgeHandler] - Initialize done…
11:14:03.369 [INFO ] [ome.event.ThingStatusInfoChangedEvent] - ‘somfytahoma:bridge:xxxxxxxx’ changed from INITIALIZING to OFFLINE (COMMUNICATION_ERROR): Error logging in
11:14:03.371 [INFO ] [ome.event.ThingStatusInfoChangedEvent] - ‘somfytahoma:bridge:xxxxxxxx’ changed from OFFLINE (COMMUNICATION_ERROR): Error logging in to OFFLINE (CONFIGURATION_ERROR): Unauthorized. Please check credentials

the login and pass are right, with the same login and pass i logged in several times on the website: https://www.tahomalink.com/enduser-mobile-web/steer-html5-client/tahoma/

can someone give me a hint ?

thanx

Hi,
it reports it can’t login to Tahomalink cloud. If you are sure the login/password is OK, what about some special characters in your password? Please PM me, if so. Maybe there’s an error in this binding…
Thanks

Hi Ondrej,

yes there is one special characters in my password. Thank you for your support.

Hi, Ondrej,

you are right, i changed the password to one without special characters and it works. So a special character in a password produces the error.
Thanks for your support

Hi,

refresh cycle of 15s seems to be OK for me.
The latest version also introduces a new parameter you can set for a bridge device (statusTimeout). This results in an automation refresh forcing when device (thing) doesn’t report any event for a long time.
Please try this version
https://openhab.jfrog.io/openhab/libs-pullrequest-local/org/openhab/binding/org.openhab.binding.somfytahoma/2.4.0-SNAPSHOT/org.openhab.binding.somfytahoma-2.4.0-SNAPSHOT.jar

back to your question, if you want to force status update manually, I would try sending REFRESH command to your thing - e.g. sendCommand(SomfyDevice, REFRESH)

Thanks Ondrej

Hi Ondrej,

Thank you for this wonderful binding. Would it be possible to add the Pergola IO devices as well, seems to be of type io:PergolaHorizontalUnoIOComponent.

2018-08-15 21:04:16.326 [WARN ] [very.SomfyTahomaItemDiscoveryService] - Detected a new unsupported device: Pergola
2018-08-15 21:04:16.327 [WARN ] [very.SomfyTahomaItemDiscoveryService] - Supported commands: { close (params: 0); delayedStopIdentify (params: 1); deploy (params: 0); down (params: 0); getName (params: 0); identify (params: 0); my (params: 0); open (params: 0); refreshMe
morized1Position (params: 0); setClosure (params: 1); setDeployment (params: 1); setMemorized1Position (params: 1); setName (params: 1); setPosition (params: 1); setSecuredPosition (params: 1); startIdentify (params: 0); stop (params: 0); stopIdentify (params: 0); undepl
oy (params: 0); up (params: 0); wink (params: 1); }
2018-08-15 21:04:16.328 [WARN ] [very.SomfyTahomaItemDiscoveryService] - Device states:  
{name=‘core:NameState’, type=3, value=Pergola Front}
{name=‘core:PriorityLockTimerState’, type=1, value=0.0}
{name=‘core:TargetClosureState’, type=1, value=0.0}
{name=‘core:StatusState’, type=3, value=available}
{name=‘core:RSSILevelState’, type=2, value=56.0}

I am not a dev but if I can assist you with logs or anything else, please let me know. Thank you in advance for considering, regards
Raphael