Warema WMS Integration

@Stephan4711 Thanks for the tips. I tried playing around with it a bit, but only get this response:

With limited understanding of German and much less when it comes to XML, I guess I flunked somehow. Since, as I mentioned, I only have one blind, I tried with room and shutter values at 00 00 and 01 01 and 00 01, kept changing the counter, but same same. Any suggestions?

<response>
<befehlszaehler>8</befehlszaehler>
<responseID>36</responseID>
<raumindex>0</raumindex>
<kanalindex>0</kanalindex>
<fahrt>0</fahrt>
<position>0</position>
<winkel>255</winkel>
<positionvolant1>255</positionvolant1>
<positionvolant2>255</positionvolant2>
</response> 

actually I got the integration @cornim made to work!

If you have any updates to the library or the integration that you would like to contribute, feel free to create a pull request. I canā€™t really extended the library as Iā€™ve only vertical blinds and thus canā€™t reverse engineer the protocol.

@cornim @siggy, is it possible, to get the status back? (position)

@Stephan4711 Cornimā€™s integration with HA provides the status (current_position in HA). However, it is not real time when you change the position in the UI, so typically the status updates after the shade has reached its set point. Cornim would be able to explain this better with regards to polling intervalls or delays

OK. Thank you for your prompt reply.
Some time ago, I tried to integrate Warema through Cornimā€™s integration. But unfortunately I didnā€™t manage to do it. (Warema WMS and Home Assistant Ā· Issue #1 Ā· cornim/wms_webcontrol Ā· GitHub).
@siggy, do you have another tip for me, or how did you do it?
I have roller shutters and external venetian blinds

Iā€™ve got it going. Since I also have external venetian blinds where I can also adjust the angle of the slats, is it possible to control them? Iā€™ve tried to understand it, but I donā€™t see it.
it should go with this:
SHADE_POSITION = '03 {} ffffff ā€™
where {} is the angle?

I just replied in the issue log, but assume from below it is working. Good for you!
As to the angle, i have no idea as I only have a horizontal blind.

Hello Giuseppe,

unfortunately I am getting error messages in the log and do not see any of the blinds. I have tried a lot of different things, but am at the point where I might need your help.

I was able to get the integration to the point where the WMS stick gets successfully recognized and I can see MQTT messages for temperature and illuminance from the Warema weather station.

Scanning finds all 19 actuators, labelling them as ā€œType 21 Plug receiversā€ in the log file. Registering gives the error message ā€œUnrecognized device type: 21ā€ for each actuator.

Each blind is actually driven by a ā€œWMS Actuator UPā€ (Art. Nr. 1002880) rather than a ā€œPlug receiverā€, but Type 21 seems correct. Based on the following link it looks like ā€œType 20ā€ should be marked as a ā€œPlug receiverā€ and Type 21 should be an ā€œActuator UPā€: warema-wms-venetian-blinds - npm.

But otherwise the two device types might be very similar in communicating with the WMS stick.

Would you have any idea on what is not working here? Is Type 21 currently not supported / recognized by the Add-on? Or is something else wrong in my setup?

P.S.
(I did not want to post the whole log file here, hoping the sections below are enough. Please let me know if you need more info)

Add-on version: dev
You are running the latest version of this add-on.
System: Home Assistant OS 5.13 (aarch64 / raspberrypi4-64)
Home Assistant Core: 2021.6.3
Home Assistant Supervisor: 2021.05.4

Scanningā€¦
10 21:30:28.380 I Interval for position update: 30 seconds.
10 21:30:28.500 I /dev/ttyUSB0 Scanned device: 444E08 Type 21 Plug receiver
10 21:30:28.505 I /dev/ttyUSB0 Scanned device: AC5108 Type 21 Plug receiver
10 21:30:28.508 I /dev/ttyUSB0 Scanned device: CC5108 Type 21 Plug receiver
10 21:30:28.510 I /dev/ttyUSB0 Scanned device: CF5108 Type 21 Plug receiver
10 21:30:28.513 I /dev/ttyUSB0 Scanned device: F94507 Type 21 Plug receiver
10 21:30:28.515 I /dev/ttyUSB0 Scanned device: B12B09 Type 21 Plug receiver
10 21:30:28.516 I /dev/ttyUSB0 Scanned device: 6DF00A Type 06 Weather station
10 21:30:28.517 I /dev/ttyUSB0 Scanned device: 125008 Type 21 Plug receiver
10 21:30:28.569 I /dev/ttyUSB0 Scanned device: 315008 Type 21 Plug receiver
10 21:30:28.571 I /dev/ttyUSB0 Scanned device: 574D08 Type 21 Plug receiver
10 21:30:28.573 I /dev/ttyUSB0 Scanned device: FB4F08 Type 21 Plug receiver
10 21:30:28.575 I /dev/ttyUSB0 Scanned device: 764E08 Type 21 Plug receiver

Scanned devices.
Registering 716909
Adding device 716909 (type 06)
Registering 468442
Unrecognized device type: 21
Registering 476665
Unrecognized device type: 21
Registering 476881
Unrecognized device type: 21
Registering 525475
Unrecognized device type: 21
Registering 544087
Unrecognized device type: 21

Hello Giuseppe,

I took the liberty to look at the code in ā€œbridge.jsā€ to see what might be causing the error messages in the log file. Am I correct with my assumption that the add-on currently only handles devices of type 20 and 25?

Would you consider adding the handling of type 21 devices (element.type = 21) in the function ā€œregisterDevice()ā€, by expanding the switch statement?

If I can be so bold, I would like to propose augmenting the code in ā€œregisterDevice()ā€ with the following ā€œcaseā€ to also support ā€œWMS Actuator UPā€ devices. Please let me know if I can help in any way.

    case 21:
      model = 'Actuator UP'
      payload = {
        ...base_payload,
        device: {
          ...base_device,
          model: model
        },
        position_open: 0,
        position_closed: 100,
        command_topic: 'warema/' + element.snr + '/set',
        position_topic: 'warema/' + element.snr + '/position',
        tilt_status_topic: 'warema/' + element.snr + '/tilt',
        set_position_topic: 'warema/' + element.snr + '/set_position',
        tilt_command_topic: 'warema/' + element.snr + '/set_tilt',
        tilt_closed_value: -100,
        tilt_opened_value: 100,
        tilt_min: -100,
        tilt_max: 100,
      }
      break

Greetings from Bavaria, Germany
Surfdoggie

Hey,

Yes, the type 21 is currently not handled, as I donā€™t have devices to test. Feel free to open a PR - I really have to focus on getting that add-on back on track and have automated builds/releasesā€¦

Hi Guys,

Unfortunately it looks like that the problem with the unavailable entities after a HA-restart is back.
Commented on GitHub again (GitHub)

Cheers Florian

Hi guys,

I want to thank you all for your remarks and contributions in this thread, and especially kudos to Giuseppe!

With my setup (Raspberry Pi, HomeAssisant via Docker, WMS stick, Warema awnings + LED stripes) I finally got everything to work and had to use all of your suggetions in this thread :wink: The USB extension and the force_devices option did the trick.

I might have found a solution for the unavilability of the devices in home assistant: It seems that the will message published on the warme/bridge/ topic somehow interfered with the availability of the devices themselves. When I added an explicit message to report the bridge as ā€œonlineā€ on connect, all devices were fully available in HomeAssistant.

Also, I have Warema LED stripes installed that I can steer the same way as the cover itself with the remote. Since I always found that a bit clumsy, I did some more modifications to the bridge.js code, some of wich you might also call a hack:

  • Added the possibility to register force_devices of a different type (via optional syntax passed via docker, snr:type. If no type is given, 25 stays default)
  • Added a ā€œfakeā€ type ā€œ1000ā€ for LED stripes that register in HomeAssistant as light and can be managed as such
  • Updated to latest version of warema-venetian-blinds, which gets rid of some unwanted confirmation messages in the logs and updates the other dependencies

I have not done much programming since my education, and I am a Git and .js noob, but I will try do create a pull request so Giuseppe can review my changes and add them to the ā€œofficialā€ version if he likes to.

Regards,
Stefan

Glad to see that this is gaining traction. I have recently switched jobs, so my time for personal projects is quite limited, but Iā€™ll try to go through the open PRs as soon as I can.

1 Like

After reading all the posts on this integration, I came to the conclusion that a Warema USB stick is needed. I have a Warema controller ā€œWebControl Proā€, is it possible to integrate it with Home Assistant? Thanks.

Hi @cassisn ,
Since i were not able to find any documentation about a official (open) API to WebControl Pro (I had the same problem) I guess it would not be easily possible to integrate this. But the integration works very well with the stick.

Cheers

Hi @florianmulatz
I have a warema slat roof lamaxa L60, and three motorized screens. Can the integration act on the slat roof and screens?
Does the USB stick have a good range? Does it have the same range as WebControl Pro? My HA installation is a VM in proxmox, will I have difficulty installing the USB stick?
Thank you very much for the clarifications.

Hi Guys,

for me the Topic Home Assistant/ Home Automation startet a few Days ago :slight_smile:
Is it Possible to get a Step by Step Instruction for the integration of Warema WMS?
Or maby Some One how hooks me up on Discord? (Maby in German, my English is ok butā€¦ :slight_smile: )

Thanks
Willi

Maybe take a look at my thread as I managed to get the undocumented integration without the need of a stick going: Custom template cover for WAREMA blinds

Could try to assist you in German.

Does the USB stick have a good range?

Hard to tell. Itā€™s working in the 2.4GHz frequency range, but the antenna in the stick limits the range. My apartment spans around 120sqm, with a few concrete walls in the middle, and by placing it in the center of the flat I get to talk to all the shades. I am considering adding an external antenna tho, as I see quite some query timeouts in the logs.
Oh, and donā€™t forget to keep it distant from USB3 ports :smiley:

Does it have the same range as WebControl Pro?

Havenā€™t had the chance to compare. I assume they use similar hardware (or at least thatā€™s with WebControl - have only seen one from my neighbours, and it looks like a rpi in a custom case)

My HA installation is a VM in proxmox, will I have difficulty installing the USB stick?

No, as long as you pass-through the USB port to the VM, it will work. Itā€™s detected as a normal usb->serial adapter. Again, if you have any USB3 port around, use a USB extension cord!

1 Like