Soma Smart Shades 2

This would be particularly awesome with the newly announced Bluetooth proxy system.

I have still no response apart from we are working on it, so I must not be alone, panels were working fine before the update with both devices never dropping bellow 80%, but since the update they report not plugged in.

My Tilt 2s are all on solar on 2.3.1 and 100% all the time. If your battery drops to even 80% on solar you don’t have enough light .

Anyway, device issues are a task for the device manufacturer, not Home Assistant :slightly_smiling_face:

I had the same issue when I updated the firmware on a few of them months ago. Even though the solar panels always kept the devices at 100%, I noticed these were continuously dropping as if they weren’t being charged. Seems to be a bug in the firmware - I factory restored the devices that were affected and they immediately started charging again.

@ Bremdan, I specifically asked here to see if anyone else had the problem, why this is home assistant, this is hardware/soma shades 2 post. So yes this is the right place to discuss this.

thanks for the suggestion Robert, ill have a try when I have time on sunday.

@brendan I haven’t tried the new BLE features in HA yet. But if that is something that could work reasonably well then I think we could do some sort of direct integration. Unfortunately the way BLE works with devices that have to make actual connections this will likely be a lot slower than through Connect. From what I’ve read it seems that at the moment all this new BLE thing is meant for is mostly tracking. Meaning that active connections are probably not well supported if at all. We could get motor position and battery levels with just scanning ADV packets but for motor control you would need active connections for sure. We are just about to release a new version of Connect based on the ESP32. That new version could be better than the one based on Raspberry Pi available now. What were the issues you were having specifically? I would very much like to see if we can fix those in both the old and the new Connect.

This solar panel not charging issue is new to me. I don’t personally handle support much any more so maybe it is so rare that support hasn’t brought the issue up with me. But if more than one person here has seen it then it can’t be that rare. If you could tell me the hardware you have (Tilt, Shades 1 or 2) and what version you upgraded from I would like to take a look at possibly recreating that issue here. I’m not sure how that would even happen since we don’t really disable charging in firmware ever in any version. It should be possible in theory on newer hardware but we’ve never seen a reason to even try that.

Ooh, I like the sound of this. Will it be something we can flash onto an ESP32 ourselves?

@ratsept
The bluetooth Integration supports active connections, so this would definitely work. It works with locks as well so if you need secure connection that also works.
If you could look at it, that would be amazing as Bluetooth Proxy is being worked on for active connections too, meaning any ESPHome device will work like a Bluetooth adaptor once completed.
I am no good at coding, but more than happy to be a guinea pig for testing it.
Switchbot and many others already work well with Bluetooth Integration as well as many lights and Xiaomi Bluetooth devices.
As the blinds have to make a direct connection to the connect anyway, it shouldn’t be too much slower. Using the app is painfully slow though admittedly.

@Dullage At the moment we haven’t made the binary nor the code publicly available. I think what I could do is make public the part of code that implements the HTTP API. That is the part HA users (and most integrators) need anyway. We are still talking to Apple about HomeKit and we also want to implement Matter in this codebase which probably makes publishing binaries and code impossible. But honestly there are already awesome projects out there that would have almost the same functionality. https://github.com/shmuelzon/esp32-ble2mqtt works quite well - I have tested that myself and while it does sometimes have crashes it recovers quickly and with HA it was perfectly usable.

@brendan I will have to look into that. A direct integration would be very nice but it would also be a lot of work to make that. While the Connect integration is already mostly done and working. I would like to add MDNS autodiscovery to the current integration and maybe a few other small changes but with the number of users we currently have on HA I can’t really justify spending too much time on this. We are working on a bigger motor that will be based on all new hardware and since that will run on the newer nRF52840 chip we’ll probably rewrite parts of the BLE connection code to make direct integrations easier as well. The new chip should also support Zigbee and Thread so in time it will most likely be possible to just use our motors with any standard hub/gateway supported by HA.

1 Like

@ratsept
If you are looking at the current integration, there is an issue with position for tilt motors. It reports 50% open when the blind is 100% open and at 100% it is actually fully closed in the opposite direction to 0%. This is not how the App works and is not how the Homekit Integration sees it, so must be a bug in the current Soma integration.
This issue started about 6 months ago. Expected behaviour is 100% to be fully open. Actual behaviour is if 0% is closed up, 100% is closed down, but HA registers 100% as an open position. This needs addressing also

I haven’t tried this since we were troubleshooting issues back in Feb 2021. I’m ok with it restarting occasionally but at the time it would often lock up and wouldn’t recover until I restarted the ESP. Perhaps things have improved, I’ll give it another go on the latest versions.

@brendan Unfortunately I think that Tilt issue is not something that can be fixed easily. Last time I checked HA (and also HomeApp for HomeKit) don’t have good support for tilting blinds in two directions. Cover - Home Assistant seems to suggest that there is some support for tilt position but that is still just 0…100 which is ambiguous as to what these numbers should map to. HomeKit does support tilting to specific angles in degrees and in both directions (if I remember correctly) BUT that feature is not supported in HomeApp (which is what most people use). I’ve had to implement the controls in a way that would be flexible but still cover the most use cases possible with what is currently available to most people today. I’m not sure if any integration in HA handles tilting blinds better but if there is I would be more than happy to try and implement whatever changes to improve this. Currently I feel like it would be an uphill battle trying to change the core handling of blinds in HA as a whole just for this (even if the end result would be something much more correct in my opinion). Hacktoberfest is coming - maybe this is something that could be done by volunteers from that event. Once the core support is there I think changing SOMA integration to support that would be very easy.

@Dullage I actually don’t remember if I had to change anything to make esp32-ble2mqtt work better or if I just used the latest version. If you still find that it locks up send me a message or contact our support and tell then to involve me (Tiit) and I will try to find my branch of that project. MQTT control would be so nice for my own home as well. I have most of my sensors and custom integrations built with MQTT because stuff inside HA often breaks with updates. I don’t really want to come home to my wife all angry because she can’t turn on the fan in the bathroom because I updated HA again. So most of my critical stuff just works locally over MQTT and will continue to work if HA is completely down. Windows covers is something I would still consider critical enough to want them to work whenever HA is down again.

@ratsept
If it helps any, connecting the blinds using the Homekit Integration in Home Assistant does give the expected results. Just no battery level via Homekit in HA.
I’ll leave it in your hands as I am not a programmer. Any improvement is welcomed :slightly_smiling_face:

I’ve read through this post and I’m a bit at a loss on how to go about setting things up.

I originally thought to go with @dullage’s approach, but as I’m using HAOS it’s not possible to install the soma-connect package (without possible conflict with HA). I was hoping to find an add-on that contains it, but it doesn’t look like there is one.

devbis/ble2mqtt looks interesting (and I already use MQTT for ZigBee) but I can’t figure out how to get it up and running either (again, I’d assume I can’t pop that on my HA install as it’s unsupported software).

What’s the best approach here? Should I run a dedicated Pi for it (I could probably pop it on my Pi-Hole) or should I get an esp32 with Bluetooth and try and get esp32-ble2mqtt working (which I’m not sure where to start on that, only just getting into esp devices).

1 Like

I retried the ble2mqtt route recently but unfortunately had the same problems as last time. Half the time I issued a command through Home Assistant it didn’t work.

I currently don’t have the blind integrated with HA at all, I just use the on-device automation (via the Soma app).

Now that ESPHome can do active Bluetooth proxying, I do wonder if that could be a solution here.

Yeah, I’m starting to feel like the Soma might not be the right device for me. I really like the look of the device, but I really want it integrated into HA, and it’s seeming like a lot of work compared to some other options on the market

If anybody still have any questions on the soma connect and HA let me know. I have some soma blinds running through a pi zero as the gateway. Zero (see what I did) problems with HA to date. I can open & close manually or run them through an automation. Running the latest firmware for the pi and HA.

@Dullage
It might be worth revisiting this with the latest updates. Bluetooth has received a lot of love from the developers and works quite well.

Soma may not be the ideal solution though. I would consider looking at the Switchbot (or similar) alternatives if people are looking to buy but have not purchased yet. Soma is good, don’t get me wrong, but it does limit your ability to manual control your blinds/curtains and you really do have to rely on the Soma Connect as a bridge between the blinds and the automation hub. There are other solutions where you can fully retain the manual control, and also directly integrate to bluetooth (or ble) rather than relying on another “hub”

1 Like

I’ve been tinkering with a new custom integration for the SOMA Connect device: GitHub - Djelibeybi/hass-soma-connect: Custom SOMA Connect integration with async support and better connectivity resilience

It provides far more reliable/robust connectivity with exponential backoff for requests. It also exposes as much of the API as is available. However, it only supports SOMA Shades not Tilt yet, because I don’t have a Tilt so I can’t test it.

2 Likes

Do you (or anyone else here) have any experience with any alternatives to the Soma blinds?