Homey Community Forum

[APP][Pro] Somfy Tahoma & Connexoon (v2.1.71, test v3.0.10)

First, I would like to thank Lennart Kuijs for making this app many years ago. I have found it extremely 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 include:

  • 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 vertical blind
  • RTS interior venetian blind
  • IO Pergola
  • IO Dimmable Light
  • Several Hue Lights
  • Pilot Wire Programmer
  • Atlanta Heating System
  • RTS Exterior Blind
  • KeyGo remote
  • Atlantic Main Zone Controller
  • Atlantic Electric Heater
  • Radiator Valve
  • RTDS Water Sensor
  • Sliding Gate
  • RTS Horzontal Awning

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 (Issues · AdyRock/com.somfy.tahoma · GitHub)
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.

You will also see the Information tab here. If you are having problems with the app then switch Information the on, wait for a few minutes until the log has gathered some data and then tap on the Send log button to send the information to me.

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

Version 2.1.8

  • Changed Sync Speed to Sync Interval.
  • Limited size of Information log.
  • Added io:DiscreteGarageOpenerWithPartialPositionIOComponent
  • My position value in Device and flow tag if reported by the device.

Version 2.1.9

  • Added io:AwningReceiverUnoIOComponent.
  • Added rts:GarageDoor4TRTSComponent.
  • Added rts:SlidingGateOpener4TRTSComponent.

Version 2.1.10

  • Fixed crash when adding new rts:GarageDoor4TRTSComponent or rts:SlidingGateOpener4TRTSComponent device.

Version 2.1.11

  • Added io:LightMicroModuleSomfyIOComponent,.
  • Added rts:LightRTSComponent.
  • Fixed dim and on/off cancelling each other.
  • Improved boost sync to capture new command events when session had timed out / disconnected.

Version 2.1.12

  • Delay sync flow actions if sync is currently boosted.
  • Auto login method is now active all the time and not just when the credentials are saved

Version 2.1.14

  • Updated node.js libraries to latest versions.

Version 2.1.15

  • Major changes to login with a different way of passing data to axios.
  • Other changes to the way the app retries failed log in.
  • Auto login method back to only detecting the best method when the credentials are saved.
  • Log in attempts restricted to 2 in 20 seconds and 6 in 5 minutes.

Version 2.1.16

  • Fix rts:LightRTSComponent and io:LightMicroModuleSomfyIOComponent controllable names.

Version 2.1.17

  • Stopped rts:LightRTSComponent and io:LightMicroModuleSomfyIOComponent devices form send On command when dim set.
  • Added ovp:SomfyPilotWireHeatingInterfaceOVPComponent and ovp:SomfyPilotWireTemperatureSensorOVPComponent.

Version 2.1.18

  • Added rts:RollerShutterRTSComponent.

Version 2.1.19

  • Potential fix for failed login at start up.
  • Added logout when app closed (during app update, etc).

Version 2.1.20

  • Fixed an error during OAuth login

Version 2.1.21

  • Added support for rts:CurtainRTSComponent

Version 2.1.22

  • Fix for the recently added rts:RollerShutterRTSComponent and rts:CurtainRTSComponent

Version 2.1.23

  • Added io:OnOffIOComponent and myfox:HomeKeeperProAlarmController.
  • Provides success feedback when sending logs.

Version 2.1.24

  • Failed to upload due to as sever issue.

Version 2.1.25

  • Added rtds:RTDSSmokeSensor, rtds:RTDSContactSensor and rtds:RTDSMotionSensor

Version 2.1.26

  • Added rts:ExteriorVenetianBlindRTSComponent and set tilt position for exterior venetian blind

Version 2.1.27

  • Added trigger and action flow cards for tilt function of the exterior venetian blind.

Version 2.1.28

  • Increased minimum polling interval to 30 seconds to comply with Somfy’s new conditions of use.
  • Added an ‘Is Moving’ condition card to IO window cover devices. This only works when the move command was sent by Homey.

Version 2.1.30

  • Fix Is Moving condition for other IO covers.

Version 2.1.31

  • The Poll for status updates action card will now start the polling immediately if possible, without breaking the 30 second rule.
  • Added ‘Once’ option to the Poll for status updates action card.
  • Changed lower limit on Polling Interval action card to 30 seconds.

Version 2.1.32

  • Added the flow ID to the error message in the log.

Version 2.1.33

  • Fixed Motion has changed trigger.

Version 2.1.34

  • Added support for io smoke detectors and remote control.

Version 2.1.35

  • Added support for EnOceanOnOffLight.

Version 2.1.36

  • Added support for hue:GenericDimmableLightHUEComponent and hue:ColorTemperatureLightSpotHUEComponent.

Version 2.1.37 & 38

  • Added Atlanta Heating System components.

Version 2.1.39

  • Added rts:ExteriorBlindRTSComponent and renamed ‘Interior Blind (RTS)’ to ‘Blind (RTS)’.

Version 2.1.40

  • Fix tilt flow trigger issue.

Version 2.1.41

  • Added a watchdog to the alarm type capabilities to check if they switched off with notifying.
  • Added ‘io:AtlanticPassAPCZoneControlZoneComponent’,
  • Added ‘io:CumulatedElectricalEnergyConsumptionIOSystemDeviceSensor’
  • Added ‘io:TemperatureInCelciusIOSystemDeviceSensor’"

Version 2.1.42

  • Add KeyGo remote.
  • Added MY position to io:RollerShutterGenericIOComponent.
  • Fixed a typo in io:IORemoteController that would stop the initial state being set"

Version 2.1.43

  • Fix ‘stop’ button sending null as the command.

Version 2.1.44

  • Added Atlantic Main Zone Controller and Atlantic Hot Water Production

Version 2.1.45

  • Added Atlantic Electric Heater

Version 2.1.46

  • Added Radiator Valve

Version 2.1.47

  • Added Somfy RTDS Water Sensor

Version 2.1.48

  • Added io sliding gate.
  • Fixed a potential lock up of the event registration process.
  • When polling is switched back on, it now refreshes all the capabilities as they might have changed while not polling.

Version 2.1.49

  • Fixes for Radiator valve.

Version 2.1.50

  • Fixes to clear Lockstate when it no longer appears in the state data.

Version 2.1.51

  • Another attempt to fix the lock state.

Version 2.1.52

  • Fixed inconsistent naming of a function that was introduced in version 2.1.50.

Version 2.1.53

  • Fixed an issue that prevent some controls from completing a command if polling is disabled.

Version 2.1.54

  • Added RTS horizontal awning.

Version 2.1.55

  • Added dirty and battery alarms to smoke detectors.
  • Changed login screen text to make it clearer that the details are for both Tahoma and Connexoon.
  • Fixed error when clearing login details.

Version 2.1.56

  • Fix for potential issue when polling is dissabled that could prevent starting it again…

Version 2.1.57

  • Extended lockout period after a failed authentication to prevent re-triggering Somfy’s temporary account lock out.

Version 2.1.58 to 2.1.62

  • Added RTS Gate Opener

Version 2.1.63

  • Added Velux external sunscreen (io:VerticalExteriorAwningVeluxIOComponent)

Version 2.1.64

  • Added Lock State to the Exterior blind (io) covers

Version 2.1.65

  • Added Lock State to the Velux Roof Window

Version 2.1.66

  • Added support for the io:RollerShutterUnoIOComponent to the Roller shutter (io) device"

Version 2.1.67

  • Added Command Complete flow trigger.
  • Optimized logging.
  • Fixed an error when event data had no value.

Version 2.1.68

  • Fixed completely skipping event data if a duplicate exists

Version 2.1.69

  • Added retry to failed commands.
  • Abort previous shutter command when a new command arrives before previous one is complete.
  • Deprecates global command complete and replaced it with device command complete.

Version 2.1.70

  • Added Contact sensor (io:SomfyBasicContactIOSystemSensor)
  • Added Siren (io:SomfyIndoorSimpleSirenIOComponent).

Version 2.1.71

  • Added Gate Opener (io:DiscreteGateOpenerIOComponent).

Version 2.1.72

  • Added Uno Screen Receiver (io:ScreenReceiverUnoIOComponent).

Version 2.1.73

  • Added Siren IO (io:SomfyIndoorSimpleSirenIOComponent).
  • Added Tahoma / Connexoon hub (internal:PodV2Component and internal:PodMiniComponent) for switch schedule / timer on and off.
  • Added Tahoma Alarm (internal:TSKAlarmComponent)

Version 2.1.74

  • Added Heater (io:DiscreteExteriorHeatingIOComponent).
  • Fixed an issue with the io valve temperature limits.

Version 2.1.75

  • Fix a bug introduced in the last version.

Version 2.1.76

  • Fix Hub > Timer / Schedule action cards…

Version 2.1.76

  • Fix Heater Valve.

Version 3.0.0

  • Updated to SDK 3 and made cloud ready.

Version 3.0.2

  • Fix login issues

Version 3.0.3

  • Fixed re-authentication issues after a session timeout.

Version 3.0.4

  • Fix contact changed flow trigger.
  • Added extra checks for validating objects

Version 3.0.5

  • Fixed crash due to a missed SDK3 conversion

Version 3.0.6

  • Fixed Heat On / Off command.
  • Added rts:SwingingShutterRTSComponent
  • Added rts:OnOffRTSComponent

Version 3.0.7

  • Updated images for publishing

Version 3.0.8

  • Enhanced login failure messages

Version 3.0.9

  • Fixed Invert setting for window covers.

Version 3.0.10 Somfy TaHoma & Connexoon | Homey

  • Added extra parameter validation and error handling

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.