Home AMX User Forum AMX General Discussion

AMX to somfy.

Hi All,

I am integrating AMX with Somfy using CI-Somfy-RTS transmitter . The Somfy software can control the Somfy blinds via the CI-Somfy-RTS transmitter but not via AMX.
2. Using hex commands generated via Somfy Software. I am also not able to use the Hex commands directly via hyperterminal through any pc.


Please guide me in resolving this site.

Comments

  • viningvining Posts: 4,368
    Have you tried any of the existing Somfy modules? Spefically the RS485 RTS module.
  • If you read in the manual the hex codes are inverted before doing the checksum calculations, and being sent. Also be aware of setting the correct somfy device id (Receiver ID) and the sender ID is between FF FF 00 to FF FF FE for an AMX NI.
  • If you read in the manual the hex codes are inverted before doing the checksum calculations, and being sent. Also be aware of setting the correct somfy device id (Receiver ID) and the sender ID is between FF FF 00 to FF FF FE for an AMX NI.
    Also, the sender and receiver IDs should be used in byte-reversed order. So, for example, if the sender ID is FF FF 00 and the receiver ID is 05 92 D2, the SET_CHANNEL command for channel 1 would be as follows:

    97 0C 05 00 FF FF D2 92 05 01

    This is then inverted to give 68 F3 FA FF 00 00 2D 6D FA FE, then summed to give a 2-byte checksum 05 E6 which is appended to the end of the HEX sequence.

    Andy
  • Hey guys,

    I'm also trying to communicate with the RTS Transmitter via RS485 but I get no response back.
    I double checked the code, the cable, the data to send, and I have no clue about what's wrong here.

    DATA_EVENT [dvSomfy] {
    ONLINE:
    {
    SEND_COMMAND dvSomfy, "'SET BAUD 4800,O,8,1 485 ENABLE'"
    }
    }
    ...
    BUTTON_EVENT[dvTP,BtnSet_Somfy] {
    PUSH: {
    SWITCH(BUTTON.INPUT.CHANNEL)
    {
    //Control_Position, UP, Channel 3
    case 545:{ SEND_STRING dvSomfy,"$7F,$F2,$FA,$FF,$00,$00,$FA,$6D,$28,$FC,$FE,$06,$F3" }

    //Get_Channel_Mode, Channel 3
    case 547:{ SEND_STRING dvSomfy,"$5F,$F3,$FA,$FF,$00,$00,$FA,$6D,$28,$FC,$05,$D6" }
    }
    }
    }
    //
    Command Description:
    (Host@: 00 FF FF ; Slave@: 05 92 D7)

    //Control_Position, UP, Channel 3
    RAW: 80 0D 05 00 FF FF 05 92 D7 03 01
    ACTUAL DATA: 7F F2 FA FF 00 00 FA 6D 28 FC FE
    DATA TO SEND: 7F F2 FA FF 00 00 FA 6D 28 FC FE 06 F3

    //Get_Channel_Mode, Channel 3
    RAW: A0 0C 05 00 FF FF 05 92 D7 03
    ACTUAL DATA: 5F F3 FA FF 00 00 FA 6D 28 FC
    DATA TO SEND: 5F F3 FA FF 00 00 FA 6D 28 FC 05 D6
    //

    Do I have to set a specific ID for the sender(NI-2100) somewhere?

    Have you guys been into a similar problem working with this Somfy RTS?
  • Hi cristopherz,

    It looks like you might have flipped the byte order of the source (host) node ID but not the destination (slave) node ID. In my experience, the destination node ID is likely to start with $05 so in your case the ID is $05 $92 $D7 which should be sent as $D7 $92 $05. Your code would then be
    BUTTON_EVENT[dvTP,BtnSet_Somfy] {
        PUSH: {
            SWITCH(BUTTON.INPUT.CHANNEL) {
                case 545: { //Control_Position, UP, Channel 3
                    SEND_STRING dvSomfy, "$7F, $F2, $FA, $FF, $00, $00, [B]$28, $6D, $FA[/B], $FC, $FE, $06, $F3"
                }
    
                case 547: { //Get_Channel_Mode, Channel 3
                    SEND_STRING dvSomfy, "$5F, $F3, $FA, $FF, $00, $00, [B]$28, $6D, $FA[/B], $FC, $05, $D6"
                }
            }
        }
    }
    
    Andy
  • Oh, indeed! You were right PsyenceFact, I flipped the byte order as you said and it worked just fine! (I just checked the manual again and it doesn't mention anything about swapping the bytes, only about inverting them. Even the exemples seems to be "wrong")

    Well, thanks very much, and sorry for taking so long... This project was in the fridge for a few days.
  • I remember I had quite a few problems putting my Somfy module together and this was just one of the issues I ran in to.

    I found two pdf versions of the programming manual: one called "RS485 RTS Transmitter.pdf" which is entirely in English, and the other called "RS485 RTS Transmitter_Manual.pdf" which has installation instructions in several languages. This second document does mention that the node IDs are Least Significant Byte First, but only as a very small footnote! ;)

    Glad it's working for you now.

    Andy
Sign In or Register to comment.