This app connects to the the Soma hub which is different from the Soma app produced by Gerard Ricart which connects directly to the blinds via Bluetooth. The advantage is that Homey does not have to be within Bluetooth range of the blinds, but the disadvantage is that you will need the hub or a Raspberry Pi running the Soma image. Gerard’s app also provides an MQTT interface but I didn’t think it necessary on mine as it is already talking to the hub over the WiFi.
Version 2.0.0 onwards support multiple hubs to make it possible to reach devices that are far apart.
I wrote the app to solve my requirements but thought it would be good to share it. If there are any feature requests then feel free to ask and I will do my best to accommodate them.
Using the app
The app detects “Connect bridges” on the network using mDNS so there is no longer a need to find and enter the IP address.
You just go through the normal add devices procedure to select the blinds you want to control.
Note (updated 30th Oct 2020)
The Soma Connect Hub version 2.2.0 changes the Tilt position value. It used to be 0 to 100 but is now -100 to +100. Therefore, if you update the hub firmware make sure you install version 1.1.1 or later of this app.
There is also a new device setting to specify if it is a Shade or a Tilt so the app knows if it should apply the fix.
I have discussed the issue with Soma and they have said they will add more information to the data that is available via the API so the type can be automatically detected. However, they have not specified when that will be available.
Note (updated 29th July 2021)
Connect firmware 2.2.6 now provides the type (shade or tilt) via the API so all settings are automatic.
The Tilt also has a new parameter for tilt up or down to define the direction which the latest app version uses.
Version 1.1.4
Fixed a memory leak.
Version 1.1.5
Spaces are now trimmed from the entered IP address.
Yes. The app talks to the Connect box via the WiFi and the Connect box talks to the blind motors via Bluetooth.
I think Soma also provide a download for a Raspberry-Pi image so you can build your own Connect box if you have a spare Pi around.
If you want to try connecting directly to the blind motors then you can use the other Soma app by Gerard Ricart:
His version didn’t work for me because my blinds are too far away from Homey and if I moved Homey closer it would be too far away from my other devices.
Some has created a diagnostics report but they don’t include any identifying information so I have no way to know who you are or how to contact you so i hope you read this message.
The report says:
User Message:
Hi it will not work on my side
I have inkludet the IP adress fromm my soma connect
If I will connect to him, it will not create a divice the Name had a problem
It also includes the cause of the problem:
sendMessage: get list_devices
2019-12-19 11:54:49 [log] [SomaConnectApp] Connection Failed: FetchError: request to http://192.168.1.105:3000/list_devices failed, reason: connect ECONNREFUSED 192.168.1.105:3000
The ECONNREFUSED is the key to the problem as it means the request for information was rejected. One possible cause of this is the Connect box is running an old version of the firmware that does not support the API. I have now included information in the first post of this topic about this with a link to the Soma page that provides instruction on how to update the box free of charge.
Also double check the IP address is correct just in case the app is talking to the wrong device.
If that doesn’t help then please get back to me so I can work this out for you.
It fixes the battery percentage so it reads the same as the Soma App.
It has hysteresis on the battery alarm so you don’t get many warnings on the time line when the battery is low and the shades move.
I have added the Up / Stop / Down buttons. If you have Venetian blinds the blinds will stop at the centre position on the first press if the slats arrive at that position.
The latest Athom guide lines state that if a cover device has the option to set a position then that should be used and not any other control. Also a device should have battery level if possible else it should have battery alarm as the next alternative, but not both. I am considering simplifying the app by removing the options to:
Turn the blind On/Off (e.g. one tap open / close),
Move Up/Stop/Down,
Batter Alarm
So all that will be left is:
a. Set position,
b. Battery Level
Could you let me know if you are using any of the features (1, 2 or 3) so I know if it will cause any problems. I think any flows that use those features can be adapted to use the remaining features quite easily.
I am also investigating if Homey still provides a low battery message if the alarm feature is removed.
Hi ! Thanks for the hard work.
I am still waiting for my device, but meantime I am trying to set up the soma connect software on a raspberry pi. At first boot the pi is asking for a login/password : which one is it ?
Thanks a lot
I’m not sure. I purchased the Soma Connect box as I don’t think they had the code available for a Pi at the time. Also it was nearly a year ago when I set that up and my memory is not so good these days.
Where are you seeing the request?
Is it in the Soma app or do you have a screen attached to the Pi?
I don’t think I have ever connected a screen to the Soma Connect box as it is all configured through the Soma app as far as I can remember.
Edit: by Soma app I am talking about their Android app.
OK, then I would suggest you ignore that and run the Soma Smart Shades app on your phone and use that to connect to the Pi. It uses BlueTooth to select the WiFi, etc.
Edit: You will need the app once you get your devices to set them up. Once setup my app will control them.
Are you saying that it is asking for the details on the monitor attached to the Pi still?
If so then that is normal. Once you have installed their image on the Pi it is not intended to use the Pi for anything else.
Just to ensure you are aware, the Pi code is property of Soma and I have no control over it accept via their API.
So to setup it up you use the Soma Android/iOS app and follow the instructions provided by Soma.
Obviously if I have misunderstood the please correct me.
Thanks a lot. I did not get it. It works perfectly !
A little question : is there any way to invert the up/down buttons & slider) ?
When I hit up it goes down
In the advanced settings you can set the % value for open and close (if I remember correctly).
The new test version has removed all except for the position slider as Athom have set guidelines for window covers. It makes the interface much simpler.