Warema WMS WebControl PRO integration

Hi Marc, I made already a comment via github. Do you think you also have the time to add awning with electric volants/valances? Thanks!!

Hi Rouven, support for volants/valances is on the way: Add support for valance shades / volants to WMS WebControl pro by mback2k ¡ Pull Request #150882 ¡ home-assistant/core ¡ GitHub

Thank you so much!!

Hi everyone, any news about the Venetian blinds?
I can only identify them, but I can’t raise or lower them. Unfortunately, the weather station isn’t recognized either.

GUI would be less important for me now. From what I understand, I can make predefined slat tilts, but won’t be able to check in which exact tilt state the slat is, right? One way to overcome it is to always move it to an endposition, and from there I can move it to a certain angle. Would this work?

Hi Markus, true for me as well with the newest pull from #145005 does not work for me either. I compared and sequentially added the changes from an earlier version (I guess somewhen from May’25). However, changed all “hasAction” to “action” as well as removed the two “async” commands in class “WebControlProSlatDriveRotate” from line 145 to 155. Thereafter, it worked as usual and expected. See also my comment on git.

PS.: if diagnostics are needed, please let me know.

And by the way, does anyone experience losing connection to the blinds or shutters every now and then so the devices and entities? Especially cover controls but not so much identification gets unavailable. I saw in the Warema Webcontrol App that there also a refresh is necessary rather iften so controls ate available. Thus, I expect more a Warema Webcontrol hub problem than Home Assistant related. But just out of curiosity if its just me.

Perhaps your Webcontrol is too far away from your blinds?

First I had my Webcontrol in the basement next to all my other IT-Stuff. When the window and door was closed, I had all the time connection issues with my blinds. Now I moved it into the living room (where it sits directly next to a blind) and now I have perfect connection without any (noticed) connection loss.

Now „only“ the entities/actions for controlling the (Venetien) blinds from HA are missing. :slight_smile:
But no pressure @mback2k :wink: I just moved in and I plan to stay here some decades. If you can make it work a month earlier or later doesn’t matter.

Thanks anyway for providing this integration, even if there aren’t a lot people actually using it.

1 Like

Thanks @zomtec you’re probably right. My Webcontrol sits for now in the electrical cabinet (DE Schaltschrank) made of steel. So not the best placement as you mentioned, I will think of a better location. Thanks for sharing! :+1: Anyway, besides that the custom integration works fine for me und except the known issues. :grinning: :raised_hands:

The Warema Support told me to absolutely NOT put the WebControl in the basement into the server rack made of steel. :slight_smile:

I have now overwritten the WMS Core Integration with the current state of @mback2k ‘s Repo and forwarded it with the HomeKit Bridge. Works so far, except the point with the slat tilting. (Home App tells me -52° to 54° while the Warema App tells me -75° to 75°.) But that’s just a detail.

1 Like

Ok, I played a bit with the cover.py file and made some changes myself.

The functions current_cover_tilt_position and async_set_cover_tilt_position: these use a function to convert the raw value from the WebControl to a percentage value. Currently they are set to calculate with the raw values „action.minValue“ and „action.maxValue“ which, according to @mback2k, represent „-127 to 127“. I assume, warema simply uses a signed int8 here as it covers the needed range. But in the implementation only the values „-75 to 75“ are used - as displayed in the original Warema WebControl App. I set these two values in the cover.py in these two functions. Et voilá, the HA Interface shows me perfectly the slat positions correctly from 0% (closed upwards) and 100% (closed downwards) or 50% (open horizontally).

Also I noticed that when opening or closing the cover without wanting to rotate the slats, the final rotation mostly was never what it was before. The reason seamed to be in the functions async_open_cover_tilt, async_close_cover_tilt: here the target rotation was also set to the theoretically min/max values (-127, 127) which doesn’t make sense as these are probably no valid target rotations which the slat drive can set. I replaced it by just querying the current tilt position via self.current_cover_tilt_position so it keeps the previous rotation angle.

Furthermore I’m thinking about adding a check if the current cover position is „fully opened“, to set the target angle to „75“ which would meen „full closed rotation“. From the logic: mostly when I want to close the cover, I want the slats closed too. Only when it is already not fully opened, then keep the current angle.

I’ll try to provide my cover.py tomorrow, as I’m just on the phone currently. :slight_smile:

1 Like

Ok, needed some time longer than expected, as the “move and tilt” seems really tricky. I noticed that it seems a second command from HA to the WMSPro aborts the first command. So if first sending a “move” and immediately after that sending a “rotate” command, the move is aborted. Which leads to just rotating.

I made a workaround by first rotating, then waiting for 1.5s and then moving. The 1.5s is about the worst case rotating time (-75° → 75°). Not perfectly beautiful (it’s not a fluent movement due to the waiting time between the commands), but it seems to work.

I also added a functionality, then when moving from “fully open” or to “fully open” via the “async_set_cover_position” method instead of “async_open_cover” and “async_close_cover”, the desired rotation angle is also set correctly.

Perhaps this helps to develop a better function. :slight_smile:

2 Likes

Great development! Does this mean it is fully usable now for slats? Or it requires some further work?

@tvl9ops It depends… the current existing implementation in the home assistant core does not support the Venetian blinds yet. Under the commit I posted some weeks ago, I built a workaround solution which works not perfectly, but works. You have to install this modified wmspro integration manually as a custom integration to be able to use it.

As I found some problems with the current implementation (second command aborts the first command), I also found the possibility in the WebControl Pro API to send multiple commands with the same request. But this is something which must be integrated in the basic wms python package which is used by the HA integration.

The next problem is, the maintainer (@mback2k) has no Venetian blinds himself (so he cannot test) and also limited time for development.
—> we have to be patient. :slight_smile:

But as I said: as a temporary solution, you can use my workaround posted above in a custom integration. It works for my needs fine enough.

2 Likes

Hello everyone, this is my first post/comment!

I have been following @mback2k 's integration since over a year now and I would like to start by saying thank you for the amazing work!

I have a setup with over 15 Venetian blinds from Warema with the WMS Web control Pro module. My final goal is to be able to control my blinds with Siri / the Home app

I would love to test this integration and provide feedback!

@zomtec How can I add your code as a custom integration within my homeassistant instance?

In your HA Installation (on file system Level), you simply have to add your „own“ integration in the folder „custom_components“. In this case: „custom_components/wmspro“
On startup, if HA detects an integration in the custom_components folder with the same name as a built-in integration, the built-in will be „overwritten“ (not overwritten, but not used).

The only thing is, you have to give your custom integration an version number as the built-in integration does not have one: just add this line to the manifest.json file:

„version“: „0.0.1“

For everyone interested in support for slat-based covers, we are making progress here: https://github.com/home-assistant/core/pull/145005#issuecomment-3730690645

2 Likes