[APP][Cloud & Pro] Somfy Tahoma & Connexoon (v4.0.81, test v4.0.84)

I have published another test version (2.0.16).
This one has a rate limit on the login to try and prevent an account lockout.
The system will try a maximum of 5 times in a 10 seconds period. For example, that could be 5 times in 1 second and be blocked for 9 seconds.
If the system is blocked three times in a row then the lockout is extended to 5 minutes to allow the server to recover.

Hopefully, this should sort of simulate what @Eternity did but with a shorter ‘switch off’ time.
I have only guessed at the numbers so they may need some tweaking.

@rvdeijk Thanks for the translations and good catch on the change to the device log procedure. I just missed your message before publishing 2.0.16 so they will be in the next update.
The save preferences message should appear in green at the top of the page (same place as the successful login message). It works in the simulator in the developer web page but not in the app for some reason. So I have made it show a popup now.

Also, as so many people have asked, I have added a PayPal link to the store. Although I still don’t expect any donations but it’s there if it makes you feel better :wink:

Am I correct in assuming that this link will only become visible as soon as the new version is released as stable?
I for one don’t see the option (yet).

Since I’ve been only lurking thusfar… I also want to take the oppurtunity to express my thanks for all the work you’re putting into this!
You may not expect donations, but you will have them, I’m sure.

1 Like

It should be on the test version page. It appears in the lower information panel as Contribute - Donate.

Yes, but the question is, will it also appear on the normal version page?

The same question applies to the community store:
image

Yes to both.

Just invited you for a :beers:. Its not a donation :grinning:

1 Like

So, for us that are not programming geniuses, what are the preferred settings now, when it comes to sync speed and login method?
And, how do we do this?

I updated to 2.09, and I got my sensor values back, but my IO wall plugs are still dead …

Thanks :slight_smile:

Off course, its my Scenarios that dont’t work, not my wall plugs.
Any idea as how to get those back?

If you update to 2.0.16 they should come back.
As far as the settings go, lowest value on sync speed is currently 10 seconds. I can’t say what Somfy will allow as they haven’t got back to me (and possibly won’t say anything). We might just have to wait and see if they start limiting us.
If you don’t need fast responses then make the setting higher to be safe.
As for login method it’s the one that works :wink:.

Hi Adrian,
As for login, the old one is the only one that works, so I go with that.
Since I don’t know what the sync speed does for me and my experience with the app, I can set it as high as you want. I read something about “30 sec”, why not 60? what will be the difference in user experience?
And last, where do I find 2.016, is that some developer mode or something?
Hahahaa, thanks :slight_smile: :grin: :sweat_smile:

2.0.16 is on the official test homey store
@Adrian_Rockall maybe you can update the community store as well to 2.0.16 (Current version is 2.0.9).

For me as well. Some accounts need another login. But if it works then it works :smile:

About the sync speed. That’s how often the homey app will poll (fetch) for a status update from the Somfy servers (to synchronise). So for example when you move an IO cover with your remote or tahoma/connexoon (not homey) and sync speed is set to 30 seconds. That would mean that in the worst case scenario 30 seconds later the new position is known/visible in Homey.

1 Like

Hi Remco,
Found the 2.016, and my scenarios are back, juhuuu :slight_smile: Thanks :slight_smile:

Thanks for the sync speed info, now its clear!
I’ll keep mine at 30 sec, hope Somfy does’nt trip :slight_smile: :rofl:

1 Like

I have had a reply from Somfy. It’s not totally bad but not good either. They have said that the API is designed to be used by an app when it is open / being viewed and not for supplying 24/7 triggers to other systems. If we use it in designed way (only active while viewing) then there will be no problem and we can poll the events every 3 seconds. However:

  1. An app has no way to know when a device is being viewed.
  2. Flow triggers would not work.

So I have replied back asking if polling every 10 seconds when sensor devices are detected and 30 seconds when just covers ae use would be acceptable.

The message also mentioned that they only sent emails to the to ~1200 heaviest users.

I for one would hate to lose Somfy IO Shutter support (via my Connexoon) in Homey.
So, if that means we can only poll once every 60 seconds using the new (and less server straining) endpoint, then I’d be okay with that.

And thanks again Adrian. I donated “a beverage of your choice” via Paypal earlier today, cheers! :beers:

2 Likes

I could probably change the app so it does not poll unless a cover has been moved. E.g.

  1. A cover is requested to moved either via a flow or manually,
  2. The app logs in,
  3. Sends the command,
  4. Waits for the movement to stop,
  5. Finally logs out again.

The downside is that Sunis, Opening and presence sensor, etc would be useless. Also Homey wouldn’t know if a cover has been moved by a remote or by Tahoma / Connexoon.

If that is the case then I guess I will be dumping all my Somfy sensors and replacing them with z-wave or ZigBee sensors. But then all I have left is RTS blinds and curtains so I could go back to controlling them with the Homey RTS app and dump my Tahoma box as well.

Thank you everyone for the donations. If things don’t work out and I have to pull the app I will repay everyone that has donated.

Maybe more options are possible:

  • optional time slot configuration, like a start/end time when homey will poll frequently. Then the server can breath at night :laughing: when people are sleeping. And we don’t poll 24/7 :speak_no_evil:
    I could already do that with some flow by shutting down the app late in the evening and start it early in morning.
  • Does Homey knows when the homey app is open? Or even when a device is open, then somehow in cooperation with athom the poll frequency could be increased during that time to 3 seconds like Somfy mentions. When app is not open then 5 minutes or so.
  • maybe some devices need a higher poll frequency than others for example a sunscreen vs roller shutter. To generate less load per device.

I agree, I think it’s not a nice marketing for Somfy and people will think twice when buying Somfy IO stuff. But come on, tahoma costs 270 euro and Connexoon cost 150? You would expect a decent api / server. Without bothering the poll frequency or better receive push events from Somfy server.

Also I don’t get it, you have changed so much in benefit to their server load. No get /setup anymore and only fetch the stuff needed (less data?). We could of course also decrease the poll activity, but saying we can’t use it 24/7 is lame.

Not needed to repay, but I think Athom should talk to Somfy like they mentioned some days ago.

OK, I’m not going to be beaten until the police arrive :joy:
So published 2.0.17 with the updated Dutch translations.

Has anyone tested 2.0.16 with the login rate limit?
If that all seems good then I will request the app is moved to stable.

I have send Somfy this mail

Thank you very much for your suggestion, but as a current satisfied Somfy user I unfortunately cannot agree with this. In case of a block, I am forced to block Somfy products and to call on every (future) Somfy user to do the same. As a satisfied Homey user, I expect many to meet this requirement. I assume that Somfy will find an internal solution.

I tried 2.0.17, no issues or whatsoever.
And @MortenTob1 tried 2.0.16 :+1:

1 Like

I need to be careful with this and salt it as one of the big things they frowned upon was using cron to do things at set times. To quote the email I got:

Last but not least, the most inacceptable behavior that we currently face is the one of plugins (I am not saying that yours behave this way) which poll our API through crons that are synchronized with the clock. Because of the peak load they generate, those scripts are the ones we will chase first.

I haven’t found a way to do this and I did look for one of my other apps a while back. Not sure if SDK 3 has anything new there but that would make the app incompatible with most Homeys.

Unfortunately, their event system is not that flexible. Only one event can be registered per session and it has no parameters / filters. So, events are generated for everything that happens, even if Homey is not interested in it.

All my other apps use official API’s and every one of them can be polled 24/7, even if they are rate limited like WeatherUnderground. The LightWave API has callbacks that trigger when a device state changes. So no polling required and instant response to something happening, and I mean instant.
My Soma app (also for blinds :wink: ) has a local API so not even issue when internet go down. I can poll that as often as I like but the more frequent the polling the quicker the batteries discharge. My Onvif camera app supports both push and pull events. The nice thing about their pull evets is the request will delay responding for up to a minute or until an event happens. So, if nothing is happening then it is only polling once every minute but responds immediately when something does happen. The only nasty bit is it uses XML instead of JSON.
So there is no real excuse for their server performance with the new events and could be improved a lot more.

I am still in contact with Boaz from Athom and I have copied the email from Somfy to him. So at some point they might make a call to Somfy to see if there is anything that can done if my Somfy contact can’t help.

1 Like