Tahoma Binding compatible with OH2

Same today, but also with red light indicator on Tahoma…

Same for me. And tahomalink.com is unavailable.

I have a connexoon and same problem.

It’s 8pm and the bridge start again with connection problems.
Looks like I have to start searching for alternatives for my somfy products as I cannot automatically control my shutters and switches anymore in the evening since some days.
On official somfy websites there is a comment about server problems, but it doesn’t look like they find a solution…

1 Like

I’m using a Somfy Telis io remote in this case.

https://www.systems4you.eu/p/2550/Remote-transmitter-Somfy-Telis-Composio-io-Silver-mat

Although I spoke with Somfy today and they said that the problem on their server fixed yesterday local Greece time and the truth is that I don’t have any connection problem since yesterday midnight.

1 Like

This is exactly the downside of all cloud-only based home automation devices. I also have some awnings controlled by Somfy devices but the rest of my home ist only equipped with locally controllable devices and that is by far the better choice.

1 Like

I still have connection problems with my connexoon.
Last connection loss was at 5.23 German time.

Belgium time :slight_smile:

2020-04-01 12:44:21.606 [hingStatusInfoChangedEvent] - ‘somfytahoma:bridge:2f25acb7’ changed from ONLINE to OFFLINE (COMMUNICATION_ERROR): Authentication challenge

2020-04-01 12:48:22.413 [hingStatusInfoChangedEvent] - ‘somfytahoma:bridge:2f25acb7’ changed from OFFLINE (COMMUNICATION_ERROR): Authentication challenge to ONLINE

2020-04-01 12:51:06.439 [hingStatusInfoChangedEvent] - ‘somfytahoma:bridge:2f25acb7’ changed from ONLINE to OFFLINE (COMMUNICATION_ERROR): Authentication challenge

Same shit different day! There is no connection via App or Browser - what a bad provider!

The first entry in my event.log:

2020-04-01 20:18:58.216 [hingStatusInfoChangedEvent] - ‘somfytahoma:bridge:xxx’ changed from ONLINE to OFFLINE (COMMUNICATION_ERROR): Received invalid data

Is there a SLA from Somfy or is there a non-cloud alternative to the Tahoma-Box?

I have a connexoon box to control 8 awnings on my house and I have no problems at all. I can control the awnings and there are nor errors in the log. I am running OH 2.5.1 stable release with version 2.5.3 of the SomfyTahoma Binding.

I also had communication errors again today.
They always start in the evening. There were no errors at all during the day.

There has certainly been more problems with the gateway today than usual, but I’ve noticed for the last few weeks that blind open/close commands triggered on a cron are very unreliable, but clicking the open/close button in Paper UI usually works fine. I wondered whether it could be something threading or socket lifecycle related that is causing a problem?
My events log is full of:

'somfytahoma:bridge:c01604b4' changed from ONLINE to OFFLINE (COMMUNICATION_ERROR): Received invalid data

Actually, to be fair it does look like the server was down for most of the afternoon today, this is in my openhab log:

2020-04-01 19:09:09.420 [DEBUG] [nal.handler.SomfyTahomaBridgeHandler] - Getting Tahoma Updates...
2020-04-01 19:09:09.420 [DEBUG] [nal.handler.SomfyTahomaBridgeHandler] - Doing relogin
2020-04-01 19:09:10.138 [DEBUG] [nal.handler.SomfyTahomaBridgeHandler] - SomfyTahoma version: 
2020-04-01 19:09:10.161 [DEBUG] [nal.handler.SomfyTahomaBridgeHandler] - Events id: 3725b487-ac10-3401-371c-283488c35645
2020-04-01 19:10:10.184 [DEBUG] [nal.handler.SomfyTahomaBridgeHandler] - Getting Tahoma Updates...
2020-04-01 19:10:10.280 [DEBUG] [nal.handler.SomfyTahomaBridgeHandler] - Received unexpected status code: 503
2020-04-01 19:10:10.280 [DEBUG] [nal.handler.SomfyTahomaBridgeHandler] - Received data: <html>
<head>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  <title>Overkiz - Universal HomeControl</title>
  <!-- PROD1 -->
  <style>
   body {
        font-family: Arial, Verdana, Helvetica, sans-serif;
        font-size: 10pt;
        color: black;
   } 
  </style>
</head>
<body>
<div align="center">
<br/><br/><br/><br/>
<table border="0" width="90%">
  <tr>
    <td width="50%" align="center"><img src="/error/overkiz_logo.gif"/></td>
    <td>
      <p class="intro">
        <b>Server is down for maintenance</b><br/>
        <br/>
        We are sorry for the inconvenience.<br/>
        Please try again in a few minutes.
      </p>
    </td>
  </tr>
</table>
</div>
</body>

</html>

 is not JSON
com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: Expected BEGIN_ARRAY but was STRING at line 1 column 1 path $
        at com.google.gson.Gson.fromJson(Gson.java:900) ~[?:?]
        at com.google.gson.Gson.fromJson(Gson.java:853) ~[?:?]
        at com.google.gson.Gson.fromJson(Gson.java:802) ~[?:?]
        at com.google.gson.Gson.fromJson(Gson.java:774) ~[?:?]
        at org.openhab.binding.somfytahoma.internal.handler.SomfyTahomaBridgeHandler.getEvents(SomfyTahomaBridgeHandler.java:275) ~[?:?]
        at org.openhab.binding.somfytahoma.internal.handler.SomfyTahomaBridgeHandler.getTahomaUpdates(SomfyTahomaBridgeHandler.java:460) ~[?:?]
        at org.openhab.binding.somfytahoma.internal.handler.SomfyTahomaBridgeHandler.lambda$1(SomfyTahomaBridgeHandler.java:139) ~[?:?]
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:1.8.0_242]
        at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308) [?:1.8.0_242]
        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180) [?:1.8.0_242]
        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294) [?:1.8.0_242]
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:1.8.0_242]
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:1.8.0_242]
        at java.lang.Thread.run(Thread.java:748) [?:1.8.0_242]
Caused by: java.lang.IllegalStateException: Expected BEGIN_ARRAY but was STRING at line 1 column 1 path $
        at com.google.gson.stream.JsonReader.beginArray(JsonReader.java:350) ~[?:?]
        at com.google.gson.internal.bind.ArrayTypeAdapter.read(ArrayTypeAdapter.java:70) ~[?:?]
        at com.google.gson.Gson.fromJson(Gson.java:888) ~[?:?]
        ... 13 more
2020-04-01 19:10:41.682 [DEBUG] [nal.handler.SomfyTahomaBridgeHandler] - Enabling reconciliation

Hi,

Is there a chance to set orientation and position of a venetian blind in one command?
I can set position and orientation is two separate commands but need to add a Thread::sleep in between to avoid warnings from Tahoma…

When looking at Tahoma Official API there seems to be a way to implement it:

I am using Tahoma-Binding v2.5.4 in OpenHab v2.5.4.

Thank you!

Andreas

I have the same since 2 Days. OpenHAB2 2.5.4, Binding 2.5.4

Yes, it is possible. But I cannot imagine, how to control it from the OH2 UI.
But a new String channel expecting two numbers e.g. “50,50” will make the trick…

Please let me know how do you want to control it.
Thanks.
Ondrej

Setup is as follows:

  • When sun is shining I want to set position and slope together. A new string channel would be perfect.
  • Later I want to adjust the slope only. Therefore I would use the “orientation” channel.

So when updating the string channel the state of other channels must be updated, too.

Another idea - don’t know if it is possible with OpenHab:
Add a dedicated function to thing “venetian blind” called “updateChannelsSeparately()” or “updateChannelsAtOnce” to switch the behavior.

But again: A new string channel would be great to implement the desired behavior.
Thank you!

Andreas

ok,

please try this snapshot
https://www.dropbox.com/s/ix5y4lqy2bjcoud/org.openhab.binding.somfytahoma-2.5.5-SNAPSHOT.jar?dl=1

most probably you need to remove your blind and let it autodiscover once more, so the new channel “closure_orientation” appears.

You can send a comma separated string consisting of closure (0-100) and orientation (0-100) to this channel. E.g. sendCommand(CHANNEL, “50,50”)
Please let me know if it works or what error it reports in the debug log.
Regards,
Ondrej

Hi Ondrej,
Works perfectly :slight_smile: I don’t get any error message in TaHoma.
The only annotation is the version number which is still shown as 2.5.4 in PaperUI. Don’t know if it’s a caching phenomenon.

Can you release it officially?

Best regards,
Andreas

sure, thanks for testing.
I’ll create a pull request with this functionality soon.
Regards
Ondrej

Hi Ondrej

Great binding - I use it & love it with Velux roof windows, roof windows roller shutters and Somfy roller shutters.

However I run into the following problem with one special Somfy motor “LS40” and a IO Receiver “RS Slim Receiver io” - in Openhab this motors is shown as “Somfy Roller Shutter Uno”. Whenever I move that Roller Shutter I get the usual log-entry in events.log:

2020-05-23 23:41:52.195 [me.event.ThingUpdatedEvent] - Thing 'somfytahoma:rollershutter_uno:47176f84:17c84a81-6d13-4dde-83b0-af57192ad917' has been updated.

But in the openhab.log I get the following warning and after that the Tahoma-Binding does no longer update the status of any of the other items:

2020-05-23 23:41:52.209 [WARN ] [mmon.WrappedScheduledExecutorService] - Scheduled runnable ended with an exception: 
java.lang.IllegalArgumentException: Value must be between 0 and 100
	at org.eclipse.smarthome.core.library.types.PercentType.validateValue(PercentType.java:57) ~[?:?]
	at org.eclipse.smarthome.core.library.types.PercentType.<init>(PercentType.java:42) ~[?:?]
	at org.openhab.binding.somfytahoma.internal.handler.SomfyTahomaBaseThingHandler.parseTahomaState(SomfyTahomaBaseThingHandler.java:208) ~[?:?]
	at org.openhab.binding.somfytahoma.internal.handler.SomfyTahomaBaseThingHandler.lambda$0(SomfyTahomaBaseThingHandler.java:326) ~[?:?]
	at java.util.HashMap.forEach(HashMap.java:1289) ~[?:1.8.0_252]
	at org.openhab.binding.somfytahoma.internal.handler.SomfyTahomaBaseThingHandler.updateThingChannels(SomfyTahomaBaseThingHandler.java:321) ~[?:?]
	at org.openhab.binding.somfytahoma.internal.handler.SomfyTahomaBaseThingHandler.updateThingChannels(SomfyTahomaBaseThingHandler.java:302) ~[?:?]
	at org.openhab.binding.somfytahoma.internal.handler.SomfyTahomaBridgeHandler.processStateChangedEvent(SomfyTahomaBridgeHandler.java:596) ~[?:?]
	at org.openhab.binding.somfytahoma.internal.handler.SomfyTahomaBridgeHandler.processEvent(SomfyTahomaBridgeHandler.java:482) ~[?:?]
	at org.openhab.binding.somfytahoma.internal.handler.SomfyTahomaBridgeHandler.getTahomaUpdates(SomfyTahomaBridgeHandler.java:468) ~[?:?]
	at org.openhab.binding.somfytahoma.internal.handler.SomfyTahomaBridgeHandler.lambda$1(SomfyTahomaBridgeHandler.java:140) ~[?:?]
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_252]
	at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308) ~[?:1.8.0_252]
	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180) ~[?:1.8.0_252]
	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294) ~[?:1.8.0_252]
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:1.8.0_252]
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:1.8.0_252]
	at java.lang.Thread.run(Thread.java:748) [?:1.8.0_252]

It only happens when I move this special Somfy motor. With all other Somfy Oximo 40 io it works just fine?

Any ideas? Can you make the binding more robust so that it does not stop working after receiving a value outside 0 and 100 (the waring starts with “Value must be between 0 and 100”). Interestingly, with the one update for that thing, OpenHab shows also for that Somfy Roller Shutter Uno the correct percentage value (e.g. 45%) before it stops receiving updates for any Tahoma item. Could it be, that this Somfy Roller Shutter Uno returns a negative percentage value (e.g. "-45%)?
If you need more details / infos just let me know - I can reproduce that behaviour. As a work-around I have now deleted the item and thing for that motor and the binding is working again normally.

And one more wish:
Can you realise a channel with reverse orientation for Velux roof windows (shown as “Somfy Window”)? With the current version of your binding I have the following behaviour:
0%: roof window fully open
100%: roof window fully closed

However I would prefer the following:
0%: roof window fully closed (0% open)
100% roof window fully open (100% open)

Thank you for your great work!
Michael

Ps. Sending a command for setting a percentage value for that Somfy Roller Shutter Uno works also perfectly. Even after receiving any updates, the motor moves to the sent percentage-value.