## Send Complex Remote Commands Code Snippet Code snippets to send complex Remote Commands. ### Send S2F41 ```typescript const remoteCommandSuccessCode = "0x00,0x04"; let commandParameters: any[] = []; const sendMessage: Object = { type: "S2F41" , item: { //replace with Stream and function intended type: "L", value: [ { type: "A", value: "COMMAND ID" }, //remote command name { type: "L", value: commandParameters} ]} } const reply = await this.framework.driver.sendRaw("connect.iot.driver.secsgem.sendMessage", sendMessage); let successFound = false; for (const successCode of remoteCommandSuccessCode.split(",")) { if (reply && reply.item && parseInt(reply.item.value[0].value.data) === parseInt(successCode.trim())) { successFound = true; break; } ``` !!! note Command parameters can be added by using the following code snippet: ```typescript const commandParameter = type: "L", value: [ { type: "A", value: "Parameter Name" }, //parameter name { type: "A", value: "Parameter Value" } //set the corresponding value and type ] commandParameters.push(commandParameter); ``` ### Send S2F49 ```typescript const remoteCommandSuccessCode = "0x00,0x04"; let commandParameters: any[] = []; const sendMessage: Object = { type: "S2F49" , item: { //replace with Stream and function intended type: "L", value: [ { type: "U4", value: "DATA ID" }, //data id, use expected Data Id value { type: "A", value: "OBJEC SPEC" }, //object spec { type: "A", value: "COMMAND ID" }, //remote command name { type: "L", value: commandParameters} ]} } const reply = await this.framework.driver.sendRaw("connect.iot.driver.secsgem.sendMessage", sendMessage); let successFound = false; for (const successCode of remoteCommandSuccessCode.split(",")) { if (reply && reply.item && parseInt(reply.item.value[0].value.data) === parseInt(successCode.trim())) { successFound = true; break; } ``` !!! note Command parameters can be added by using the following code snippet: ```typescript const commandParameter = type: "L", value: [ { type: "A", value: "Parameter Name" }, //parameter name { type: "A", value: "Parameter Value" } //set the corresponding value and type ] commandParameters.push(commandParameter); ```