Possible OPII serial issue?

Frunple

Active Member
Hoping Fred from HAI will see this. If not, I will post on their forum. Just thought more people may have an experience here from reading old posts on the subject.
 
I send some commands (messages) from the OPII panel, actually activating buttons that send the messages.
I also activate the same buttons from Elve.
The messages I'm referring to are going to a Somfy URTSI II but I'm 'thinking' it's not related to the URTSI.
So the automation is as follows:
 
 

 

WHEN Dining Room Up
THEN SEND Somfy Ch 1 OUT SERIAL 5
THEN SEND Somfy Up OUT SERIAL 5
THEN SEND Somfy <cr> OUT SERIAL 5


WHEN Dining Room Down
THEN SEND Somfy Ch 1 OUT SERIAL 5
THEN SEND Somfy Down OUT SERIAL 5
THEN SEND Somfy <cr> OUT SERIAL 5


WHEN Dining Room Stop
THEN SEND Somfy Ch 1 OUT SERIAL 5
THEN SEND Somfy Stop/My OUT SERIAL 5
THEN SEND Somfy <cr> OUT SERIAL 5
 
The messages are:
 
 

Somfy <cr> = ^M
Somfy Up = U
Somfy Ch 1 = 0101
 
I also have the down command and some incremental but you get the picture I hope. The channel commands are 0101 - 0116.
 
Activating these buttons works perfectly. I have 6 channels currently and all work when called for.
I can activate these buttons from the panel or from Elve, 100% functioning either way.
 
I have an "all close" command:
 
 

 

WHEN Somfy All Close
THEN RUN Dining Room Down
THEN RUN Living Room Down
THEN RUN Master Bedroom Down
THEN RUN Middle Bedroom Down
THEN RUN Corner Bedroom Down
THEN RUN Bonus Room Down
 
It just 'presses' the buttons. Works from the panel or Elve 100%.

The problem is the "all open" command. If I just change the buttons in the 'all close' to all the channels "stop" commands, sometimes one channel works, sometimes 3 but never all of them. Even sending them from Elve didn't work all the time. I ended up putting in a one second pause between each button and it works perfectly from Elve:
 
 
 

omni.ActivateTask(5);
System.Sleep((1) * 1000);
omni.ActivateTask(14);
System.Sleep((1) * 1000);
omni.ActivateTask(23);
System.Sleep((1) * 1000);
omni.ActivateTask(32);
System.Sleep((1) * 1000);
omni.ActivateTask(41);
System.Sleep((1) * 1000);
omni.ActivateTask(50);
 
The above just 'presses' each channels "stop" button with a second in between.
I tried this from the panel with both a 1 second and a 3 second pause (shouldn't there be a native 'pause' command in the panel???), using flags for pauses which was a huge pain, and it didn't work.
I then took all buttons out of the "all open" automation block except one channel and it worked, I then added a second channel and it failed. I tried sending the Somfy sequential commands, with the 5 limit, it failed.
 
So to sum up, every morning Elve sends the "all open" command and all the blinds open. I cannot get the panel to do this.
Elve or the panel can send the "all close" command successfully. Also, and incrementals that I've tried work from both sources.
 
So is this a serial port bug or is there some other reason these won't work?

 
 
Back
Top