Somfy blinds, serial connections and parity bits

cestor

Active Member
I am trying to control Somfy RTS blinds from the OP2 using this Somfy RTS485 transmitter. I can successfully send commands to them from a pc connected to the transmitter but not from the OP2. 
 
I have set PC access with a Pro-link 4800 baud serial connection, changed the link type on the board to RS485 and...nothing.
 
As the 0101 type codes (and in fact the Somfy integrations) described in the HAI knowledge base are for the ILT motors, not RTS, the frames that I am sending to the serial port are those generated by the somfy frame generator tool here .
 
1. One thing I did notice is that the Prolink is an 8N1 serial protocol but according to the Somfy spec above, it actually uses Odd parity (8O1). Is there a way of getting OP2 to generate serial commands using 8O1?
 
 
2. The way that I am sending the frame to the serial port is by defining it in an OP2 message, e.g.
Name: All up
Description: 7FF2FA0100004955FAFB
 
Does this look right?
 
You should put the command string into message name, not description. Also ^M is needed at the end of the message for CR.
 
picta said:
You should put the command string into message name, not description. Also ^M is needed at the end of the message for CR.
I have swapped them around and note that the command string is now limited to 15 characters while the frame being sent is 20 - I notice that this also seems to be a limitation of the pro-link protocol . I have tried breaking it into 2 messages and running them in succession through a button.. Also there should be no need for a ^m if there is a 100ms delay
 
 Still no result. Any suggestions?
 
Yes, the 15 char limitation makes it difficult to use messages for many 3d party protocols, but some times breaking the message into parts will work. In your case it seems to have a much stricter time out between characters. The only other suggestion I  have is to try to set the port to Somfy SDN instead of Pro-link. I cannot tell if the messages are the same between your controller and LS30 motors, but there is a chance that they are. And for this method to work you will need to configure a bank of HAI codes as Somfy SDN and set the address for each shade to its HEX id.
 
No, Somfy SDN codes are different. 
Can't believe that the OP2 is so restricted over serial... even 1980s terminals allowed you to change stop bits, parity, etc...
Am I missing something really obvious here?
 
Did you ever get a solution?  I'm about to tackle this same project.
 
I just did a similar one sending serial messages to an ELK voice board that has 400 words it can output.  Had to break the message into THREE pieces, including the "^M^J" at the end of the third piece.
 
Such a capable controller, I too am surprised at the very short message length limit.
 
Did you try ^M^J at the end?
 
I also need an easy way to put a *short* delay between outgoing messages, as I lose some of the words if I try to do a few in a row.
 
This has been covered. The Omni can not control this transmitter, nor does this transmitter work with Somfy blinds available in the U.S.
 
You could probably build an Arduino that could convert it. It is also possible someone makes a converter. I have my Omni connected to a Betabrite display, which has a very complex protocol, but I found a company that makes a converter, and it works great. 
 
Will the model Somfy transmitter that does connect to the Omni work for you? The Universal RTS interface II transmitter works fine with an Omni.
 
Oops.  Sorry for wasting your time on this.  I in fact have the Universal one you mention.
 
I still wish outgoing serial messages could be LONGER for controlling devices. 
 
Thanks for taking the time to set me straight on the Somfy issue though!
 
I almost have a solution using a USB-RS485 adaptor in the minimac running Haikuhelper...just trying to work out some last driver issues
 
I use USB-RS485 adapter with my old Homeseer computer to control Somfy blinds. The reason is that HAI protocol does not implement a Stop command, so when I want to control my shades manually I have to use Homeseer to stop the moving when I like. Homeseer 2 allows use of VB scripts, and VB has great support for character manipulation, so that was easy to implement. HS3 does not make it that easy. I plan to migrate the code to Haikuhelper when I get the time, would you be willing to share your script when you are done?
 
Originally, I was trying through PC Access. Then I tried through an Arduino. Now I am trying HaikuHelper!
 
picta said:
The reason is that HAI protocol does not implement a Stop command, so when I want to control my shades manually I have to use Homeseer to stop the moving when I like.
A stop is S, which is the same as the MY command. U for up, D for down, S for stop (or MY)
 
ano said:
A stop is S, which is the same as the MY command. U for up, D for down, S for stop (or MY)
This would be for serial interface, I am using RS485 with HAI. The protocol is very different but allows for more commands and status requests, it is just HAI did not implement the Stop for some reason
 
Back
Top