Homey Community Forum

Somfy Tahoma & Connexoon (v2.1.7)

First I would like to thank Lennart Kuijs for making this app many years ago. I have found it very useful and it inspired me to write some of my own apps. However, Lennart no longer has the spare time to maintain the app so he has handed the reins over to me.

I hope to bring the app up-to-date with Athoms and Node.js latest standards plus add support for new devices that users have connected to their hub.

I have released my first version of the app to the Athom store at version 2.0.0 to make it easier to see the transition point.
This version has support for new devices plus it uses a more modern communication library that is smaller and faster.
The currently supported devices are:

  • IO vertical exterior blinds
  • IO roller shutters
  • IO horizontal awnings
  • IO exterior venetian blinds
  • Velux IO roof windows
  • Velux IO blinds
  • Velux IO roller shutters
  • Sunis wirefree IO sensor
  • Thermis wirefree IO sensor
  • Opening Detector IO sensor
  • TaHoma scenarios
  • Somfy One Alarm
  • Outdoor Camera Light Controller
  • Enocean Window Handle (requires Enocean USB module)
  • Somfy receiver IZYMO io shutter
  • IO motion sensor
  • IO vertical interior blind
  • IO garage door
  • IO horizontal awnings with silent mode
  • RTS interior curtains
  • RTS interior vertical blind
  • RTS interior venetian blind
  • IO Pergola
  • IO Dimmable Light
  • Several Hue Lights

Getting Started
Once you have installed the app you will need to open the Configure App page to enter your Somfy username and password so the app is able to connect to your account.

Enter your credentials and tap on Save Credentials and the app will attempt to log into your Somfy account. If the login is successful your details will be saved and you will see a green successful message.
If there is a problem the message will appear in red. First double check the details have been entered in correctly. If you still have problems the try changing to a different Connection URL.
If they all fail then set it back to the Default option and try again later. Somfy often have issues with logging in.

Further down the page you will see an option for polling:

Polling is the method used to get updates about the status of you devices. When polling is enabled the app will request updated from the server every ‘Sync Speed’ seconds.
If only have covers that you want to operate but don’t need to keep in sync with the app then switch off the polling.
If you have sensors such as the Sunis, presence detector or opening detectors that will trigger flows then you will need to have polling switched on. The lower the Sync Speed value the faster the app will respond to state changes.

Keep the server request low
Somfy don’t like having their servers polled. So turn off polling if you don’t need to poll or if you do need it then try to select the highest Sync Speed value that allows you to just do what you want.

There are flow action cards that can change the speed and switch polling on and off. To reduce the traffic between the app and the servers even more you might want to setup flows to reduce the speed when you are not home or when you are in bed. If you just have a Sunis then turn polling off after sunset and back on just before sunset.

Requesting new features / devices
I have also added features that make it easier for user to collect the information required for new devices and locate any problems. These features are found in the Apps section for the Somfy Tahoma & Conexoon app by taping on the Configure Application, Which is the same place that you o to log into your Somfy Tahoma or Connexoon account.

The main feature there is the Device Log tab.

This is where you can gather the information form your system that contains the data I need to add new devices. I have been very careful to ensure that any personal information has been removed so it is safe to post the information.

To capture the data, tap on the Get Log button and wait for the list below it to fill with data.
Then copy the data from the list box and send it to me in a PM on here.
There is also a Send Log button that emails the data you see directly to me, however the information I receive dose not identify you so I will not be able to reply. Therefore, please follow up with a message on here or in GitHub (https://github.com/AdyRock/com.somfy.tahoma/issues)
The main advantage of sending me the log is I can feed that back in to a simulator page which allows me to do some basic testing.

Device Settings
Another feature that I have just added to version 2.0.2 is the option to reverse the direction of the controls. This is per device and is access by taping on the gear in the top right corner of the device screens and then tap on Advanced Settings.

The Invert Up / Down settings changes the direction of the Up / Stop / Down buttons so I you covers move up when you press down and down when you press up then toggle this option. This also changes the flows so they match the buttons.

The Invert Position setting changes the direction of the slider control and the move to position flow cards.

If you have any requests for new features or have found a bug please let me know by either a PM, posting below or create an issue on GitHub. I will do my best to help you but please remember I do this in my spare time for fun so I might not be able to respond straight away.

One of the new features is the tile goes dark when the covers are closed and taping on the tile moves the cover to the opposite position to provide quick open / close control.

Version 2.0.2.

  • Urgent: Fixed an issue that could prevent a new access token being obtained.
  • Added options to invert the position and Up / Down functions.

Version 2.0.3

  • This fixes an issue with the reverse direction of Up / Down buttons option.
  • It also has an option to invert the logic of the tile action / display.

Version 2.0.5

  • Added option to select Somfy server.
  • Added option to select OAuth login method
  • Big rewrite of network functions to convert to async so it is easier to track operations.

Version 2.0.6

  • Fixed checks for login failure.
  • Converted more functions to async
  • Fixed Logout button.
  • Clear out cookies and headers when logging out.
  • Prevent race condition with data sync and logout.
  • Display a more appropriate message when adding devices before logging in.
  • The login information is now displayed in the ‘Error’ log even though it’s not an error. I probably need to rename that now :slight_smile:

Version 2.0.7

  • Changed \setup endpoint to individual fetches of states in compliance with the email from Somfy.

Version 2.0.8

  • implemented Event method of refreshing capabilities.

Version 2.0.9 * Added more logging for the events to try and see why they are not working.

Version 2.0.10

  • Fixed missing return data after reauthenticating.

Version 2.0.11

  • Added flags to control startup sequence.

Version 2.0.12

  • Fixed variable name error in app init that prevented full initialisation.

Version 2.0.13

  • changed global exception handler output to hopefully show more information.

Version 2.0.14

  • Fixed erroneous conversion of Open / Closed state from event to an integer.

Version 2.0.15

  • Fixed event value issue with opening sensor and light controller.
  • Add option to toggle Information log off/on (default is off).

Version 2.0.16

  • Now prevents excessive login attempts. Maximum 5 attempts in 10 seconds. If blocked more than 3 times in a row then login is blocked for 5 minutes. Hopefully this should prevent the account being temporarily blocked and if it does get blocked it will allow time to recover. These figures are just a guess so they might need tweaking.

Version 2.0.17

  • Updated Dutch translations.

Version 2.1.0

  • Version number aligned to show a bigger updated and submitted for release to stable.

Version 2.1.1

  • Fixes a crash on Homey version 4.1.0 and lower.

Version 2.1.2
*Fixed an issue with renewing expired access token.

Version 2.1.3
*Login method is now selected automatically.

Version 2.1.4
*Added a flow card to switch the polling on and off.

Version 2.1.5

  • Added flow card to change sync speed.
  • Forced refresh of status if login token expires.
  • Fix for idle state when cover is partially open

Version 2.1.6

  • Added setting to switch off polling.
  • Changes to polling mode and sync speed now show in app settings.
  • Added Boost mode to temporarily increase polling speed when a cover command is sent.
  • Added support for io:SimpleBioclimaticPergolaIOComponent

Version 2.1.7
Added support for

  • hue:GenericExtendedColorLightHUEComponent,
  • hue:HueLuxHUEComponent,
  • hue:ExtendedColorLightCandleHUEComponent,
  • hue:LightStripsPlusHUEComponent,
  • hue:ColorTemperatureLightBulbHUEComponent,
  • io:DimmableLightIOComponent

Please report any problems via PM on here


Tested on 2.0.2 and works! Really nice app and glad you are there to maintain it.

1 Like

For my screens the invertion is great.
It works great for invert position.
But, the invert up/down does not do anything.

But, thank you for your effort.
Great work!

I tested invert up/down with IO roller shutters (quiet) and that works. Maybe you can mention what kind of screens you have, so Adrian can have a look.

He already knows.
We have talked-about this.
And i send him my devices logfile.
I only put it here so everybody knows it is work in progress.

Version 2.0.3 is now in https://homey.app/a/com.somfy.tahoma/test/

This fixes an issue with the reverse direction of Up / Down buttons option. When I discovered the refresh token bug, that could prevent users accessing their devices, I rushed the update with that fix in. Unfortunately, I hadn’t finished testing the reverse option.

It also has an option to invert the logic of the tile action / display.

As I don’t have the devices required to fully verify these reverse features I will leave this version in test until I get confirmation that it is working.

I just want to apologise for the access token issue, in version 2.0.0. Obviously it’s not the best start and very embarrassing.

The problem occurred if a new access token was required when sending an action command.
As the app spends most of its time polling for information, which could refresh the token correctly, and a token last for many hours, so the odds of it failing were low. Therefore it only showed up once more users started to use the app and more specifically, users that have more flows controlling devices were more likely to come across it.

I would like to thank the users that provided information about the problem that help me track down the cause and fix it quickly.


Great work Adrian,

With my equipment everything works now.
These last changes did the trick for me!


1 Like

Hi Adrian, after the day with 2.0.0. test app I recognized problem with my flows. It triggers correct. But the scenario wont run. If I look into the flow card, but there is only circle turning and never get the green :white_check_mark: i have relogin tahoma credentials, i have restarted app.

If by live icons you mean displaying values on the tiles then there’s nothing I can do about that as Athom decided what is displayed there. So a thermostat will show temperature setpoint, alarms will show a !, etc.

Sorry about the late reply above. I had written the the message but forgot to press send.

I haven’t looked at scenarios at all as I don’t use them so I will need to investigate. It’s possibly the change to axios has broken something.

I have been playing with scenarios this morning and they seem to be working fine for me.
Could you have a look in the app - Configure app - Error Log tab to see if any errors are being generated?
Do your scenarios take a long time to run?

Hi, i am getting bunch of these. In my house I use quite advanced blinds automation and i hope it could be resolved. I will try to create new flow to se if its only problem for old flows when migrated to 2.0.0.

I tested more. I created new flow and it worked. After i again tested the old ones and now started work. I will let you know if the problem comes back.

EDIT: only after few minutes the scenarios again do not run :thinking::thinking: even the newly created.

Very strange. The flows I created this morning are still working. One of them runs two scenarios, close upstairs blinds and close downstairs blinds. Then I have two other flows to run the scenarios to open the blinds again.
When I run the flows the tick comes up straight away but Tahoma runs the scenarios sequentially. So the second scenario doesn’t run on tahoma until the first one has finished.
If I press the test button several times, I still get the tick every time but Tahoma queues them up. My poor blinds don’t know what is going on :wink:
If you go back to v1.6.24 in the community store (prior to the axios update) do you have the problem?
If you clear the error log, do the errors come back when you have problems with the flows?

I rolled back to 1.6.24 and working. Updated to 1.6.25 working and now from official store 2.0.0. working. No error so far. Will let you know if problem comes back. Many thanks for your support.

1 Like

Can you check the ‘position’ code of IO horizontal awnings, I read on Facebook that someone did the update to 2.0.0 and the position is reversed. 100% is closed and 0% is open, this should be the opposite.

So in his case his horizontal awnings went open, when it started to rain (flow) :frowning:


Since the update my roller blinds connected to a connexoon don’t work at all anymore.
I use io roller blinds
Any possibility to downgrade the app?

Since the Somfy app doesn’t work with ios 14, I have no more ways to use the rollerblinds…

Do you have IO roller shutters with the option to move in slow speed (discrete mode). If so then probably you have to re-add the devices as roller shutter quiet instead of the normal one.

Ok loging out and in again and re-adding my blinds did the trick.
Maybe because the names don’t match?

Anyway it works, I only have to modify all the flows again

I might have found the issue causing those errors. It seems that if the token expires at a certain point then the check was still using an old variable that I had missed during the change to axios.
I will publish a test version very soon.