RTS (Radio Technology Somfy) is the protocol used by some (but not all) Somfy motorized blinds. It is supported by some propriatory home automation controlers such as the « Somfy box », zibase, and HomeWizard.
The new RFXtrx433E supports the RTS protocol in firmware (in writing mode only).
Nice features are now available :
- close/open screens on daylight times,
- close/open blinds depending on home temperature and weather conditions (passive regulation of home temperature),
- close/open screens on arm/disarm
- open blinds on a smoke alarm
It comes with support for the Domoticz software, which allowed me to test the solution before trying it in FHEM.
FHEM and the RTS protocol
The protocol is called RFY in the RFCOM SDK for whatever reason. It is supported in write mode only for security reasons (so you cannot open the neighbors’ blinds sniffing their remotes’ codes).
In order to support it in FHEM, here is a modified 46_TRX_LIGHT.pm module, which I hope will be integrated by Willi in the main code when tested by users. Support for this is included in the official FHEM code (module 46_TRX_LIGHT). All feedbacks are welcome.
To define the blinds, you must first choose a device ID (4 bytes) composed :
- unit-id : 00000001 – 0FFFFFFF
- unit-code : 01-04
define MyBlind TRX_LIGHT RFY 0F1F1F01 light attr MyBlind IODev TRX_2 attr MyBlind devStateIcon down:fts_shutter_down:stop stop:fts_shutter_manual:up up:fts_shutter_up:down attr MyBlind icon fts_shutter attr MyBlind room My Room attr MyBlind webCmd up:down:stop attr MyBlind verbose 5
In order to make it work with the blinds, you need to associate it using the following procedure :
- press and hold the PROGRAM BUTTON on the original transmitter until the blind jogs.
- in FHEM send the program command, either with the command line set MyBlinds program or using the GUI . The blind should jog again
Same procedure applied a second time will remove the association on the Somfy motor
Tips and tricks
The « My » feature from the original command works fine with this software remote (stop command = « My » button). The only thing is you have to define the favorite position using the original remote (Once the desired intermediate position is reached, press and hold (STOP) until the window covering jogs.)
It is only the matter of a word in the code to define a set-MY command in order to be able to set this position with FHEM because it is in the RFXCOM SDK. I do not know if it is desirable because in the SDK it is recommanded not to define the « advanced » commands which allow to setup a blind (probably because you may cause injury to the motor, but that’s not the case with this command)
To be done
- on-till and on-for-timer commands are available for the device in FHEM but need to be implemented. It is a general issue with TRX_LIGHT devices which do not support on and off commands. I would suggest to test on/off existence and use up for on and down for off
- let commands appear in the GUI without needing attr MyBlinds webCmd up:down:stop
- Convince Bert to implement in firmware a secured way of having a feedback on user-known remotes (partial read mode)
- Somfy FAQ for motors
- RFXtrx – FHEMWiki
- thread related to this in the FHEM forum : Somfy RTS support with the RFXtrx433
- An open implementation is now available in FHEM since June 30th, 2014, using the CUL family of hardware : Implemented Somfy RTS support as FHEM module. See also support thread in the FHEM forum and command reference.