[RELEASE] Somfy Z-Wave to RTS Interface II driver

Thanks, I will do all of these things at some point this afternoon. When it was working, I had it set at 1. I put it all the way up to 5 and it didn't seem to make a difference. I'll get back to you as soon as I get through troubleshooting. Really appreciate your help.

Happy to help

There is definitely a bug. Will have it fixed momentarily...

1 Like

I pushed a fix. Please let me know this addresses the null exception.

Looks to be working now, thanks!

Thanks for confirming, and sorry for the inconvenience.

Any chance of adding a preference to the node to reverse the open and close?

The direction of travel is set in the RTS receiver.
See, e.g.,

1 Like

As noted by @672southmain, configuring the RTS direction correctly in the receiver would be the desirable solution as then it will then work correctly with any RTS transmitter. Is there any reason this would not work?

I programmed the Z-Wave to RTS Interface using the existing remote. The existing remote works as expected: up arrow corresponds to up and down corresponds to down. My thought is that I would need to correct this in the ZWave To RTS interface. However, I checked the manual for the Z-Wave to RTS Interface and the option to reverse doesn't exist (at least that I could find).

So I'm not sure where to go from here. I don't want to reprogram the original remote as it's issuing the correct commands. The only two options I can think of is (1) figuring out how to use a virtual device as a wrapper which flips/services the inputs from the Virtual Node or (2) request the reversal feature here.

This is just a little hard to understand. The ZRTSI II is sending the same UP/DOWN/STOP RTS commands as the remote. The response direction for the motor is set in the RTS receiver. All that's programmed in the ZRTSI II is the channel number on which to send the command.

I believe you when you say it's operating the way you say it is. It's just hard to understand how the same UP/DOWN command sent by the remote is being treated as DOWN/UP when sent by the ZRTSI II interface. I've never seen this behavior in any of our SOMFY Glydea drapes, Somfy remotes, Somfy myLink, or Somfy ZRTSI II.

What you seem to be saying is that the remote is sending the DOWN command when the UP button is pressed, and the UP command when the DOWN button is pressed. I've never taken one of the remotes apart, not sure if it's possible to install the circuit board upside down so that the wrong button is associated with the UP switch.

There are two community ZRTSI II drivers - this one and the one by Justin Walker (@augoisms). I happen to be using the one by Justin Walker. I can't imagine why the two drivers would behave differently on this point, but you might try switching drivers. Justin Walker's driver is here:
https://raw.githubusercontent.com/augoisms/hubitat/master/somfy-zrtsi/somfy-zrtsi.driver.groovy

See:

1 Like

I did a little testing directly on the ZRTS II in RTS test mode and both the up and down commands work just like the remote. Then it hit me. What we're probably talking past each other on is the definition of "open" and "closed" because while Somfy ZRTS uses the nomenclature "up" and "down" the windowShade state uses "open" and "closed", respectively.

I can totally see that for a window shade application: up = open and down = closed

However, in my case, I am using the ZRTS to control an awning motor. An awning is open when it's down and closed when it's up.

In my particular application, I would still need to reverse the states somehow.

1 Like

Ok, well, you should be able to use a virtual switch (for open/close), reverse sense, to control the ZRTSI device (or a particular child, if the other channels have drapes or shades). Or, if you are determined to do it in the ZRTSI driver, you’ve got the diver code, just switch the operation of the open/close.

If it were me, I would use the virtual switch/buttons so the driver stays standard.

1 Like

I tried using a Virtual Device but unfortunately couldn't keep everything in-sync w.r.t. all the statuses and position.

I modified the driver to include the reverse direction option. Much easier that way.

@dennypage. I added the code to github and created a pull request in case you'd like to include it.

The node driver has been updated to version 1.2.0. This version adds support for reversing the motor direction.

@joehuntley, I appreciate the PR, but in the end I felt a simplistic approach would suffice. Please let me know if this works for you.

@joehuntley, did you have a chance to test the motor reverse in 1.2.0?

I was able to test it today. It works as expected. Thank you.

One more item. I also included the device into homebridge. For some reason, homebridge homebridge sends setPosition(null) instead of setPosition(0) as you would normally expect. In this case, it throws a java exception. Would it make sense to interpret null as zero in this instance?

That's strange. I have my shades, draperies, and a door controller set up in Homebridge. When I do a close from Home I receive a set of position of 0, and when I do an open in Home I receive a set position 100.

Are you using danTapps' Maker API for Homebridge? What version of Homebridge are you running? I'm running Homebridge 1.2.3 with 0.4.11 of the Homebridge Hubitat Makerapi.

Also, are you running the current Somfy version that has the switch removed? If not, you may want to exclude the switch capabilities and properties using the Homebridge configuration.

The driver has been updated to support Somfy's "My Position." My Position allows you to set a favorite position between fully open and fully closed that can be returned to with high accuracy.

To use this feature, first set the desired position using the Somfy handheld controller (google "Somfy My Position" for instructions). Once the position has been set, go to device Preferences and enter the corresponding percentage in the Somfy My Position field.

To access My Position, you use Stop while the shades are not moving, just like the Somfy handheld controller. Alternatively if Set Position is used with the value set in Preferences, My Position will be used as an optimization for high accuracy.

1 Like

@672southmain, I want to thank you for the education on Somfy My Position. Incredibly helpful. Greatly appreciated.