############################################################################################################# ##### Substitute your Orvibo device MAC Address for 'ac cf 23 24 19 c0' in all commands ##### ############################################################################################################# ================================================================================================================================================================ GLOBAL DISCOVERY DATA: Only needed to find IP Address and MAC Address of Unknown sockets, All configured sockets on network will reply. SEND: UDP 255.255.255.255:10000 ASCII: hd\00\06qa HEX: 68 64 00 06 71 61 RECEIVE: UDP x.x.x.x:10000 ASCII: hd\00*qa\00\ac\cf#$\t\88 \88\t$#\cf\ac SOC002(\cal\d7\01 HEX: 68 64 00 2A 71 61 00 AC CF 23 24 19 C0 20 20 20 20 20 20 C0 19 24 23 CF AC 20 20 20 20 20 20 53 4F 43 30 30 32 28 CA 6C D7 01 BREAKDOWN: 68 64 - Magic Key 00 2A - Full Message Length = 42bytes 71 61 00 - Command ID ? AC CF 23 24 19 C0 - Mac Address (Max Length = 12 = 24bytes) 20 20 20 20 20 20 - Mac Address Padding (spaces) C0 19 24 23 CF AC - Mac Address Little Endian 20 20 20 20 20 20 - Mac Address Little Endian Padding 53 4F 43 30 30 32 - = SOC002 (sometimes SOC001? Don't know what it means?) SOC005 90 32 6A D7 - time_t with 70-year offset (seconds since 1900-01-01)? (0xd76a3290 = 3614061200) 01 - Power state = off (00 = off, 01 = on) ================================================================================================================================================================ DISCOVERY DATA: Only needed to find IP Address of known sockets. SEND: UDP 255.255.255.255:10000 ASCII: hd\00\12qg\ac\cf#$\19\c0 HEX: 68 64 00 12 71 67 ac cf 23 24 19 c0 20 20 20 20 20 20 RECEIVE: UDP x.x.x.x:10000 ASCII: hd\00*qg\00\ac\cf#$\19\c0 \c0\19$#\cf\ac SOC001\902j\d7\00 HEX: 68 64 00 2A 71 67 00 AC CF 23 24 19 C0 20 20 20 20 20 20 C0 19 24 23 CF AC 20 20 20 20 20 20 53 4F 43 30 30 31 90 32 6A D7 00 BREAKDOWN: 68 64 - Magic Key 00 2A - Full Message Length = 42bytes 71 67 00 - Command ID ? AC CF 23 24 19 C0 - Mac Address (Max Length = 12 = 24bytes) 20 20 20 20 20 20 - Mac Address Padding (spaces) C0 19 24 23 CF AC - Mac Address Little Endian 20 20 20 20 20 20 - Mac Address Little Endian Padding 53 4F 43 30 30 31 - = SOC001 (sometimes SOC002? Don't know what it means?) SOC005 90 32 6A D7 - time_t with 70-year offset (seconds since 1900-01-01)? (0xd76a3290 = 3614061200) 00 - Power state = off (00 = off, 01 = on) ================================================================================================================================================================ SUBSCRIBE DATA: All Commands apart from discovery require a subscription first! (Note: Subscription expires after a few minutes) SEND: UDP x.x.x.x:10000 ASCII: hd\00\1ecl\ac\cf#$\19\c0 \c0\19$#\cf\ac HEX: 68 64 00 1e 63 6c ac cf 23 24 19 c0 20 20 20 20 20 20 c0 19 24 23 cf ac 20 20 20 20 20 20 RECEIVE: UDP x.x.x.x:10000 ASCII: hd\00\18cl\ac\cf#$\19\c0 \00\00\00\00\00\00 HEX: 68 64 00 18 63 6C AC CF 23 24 19 C0 20 20 20 20 20 20 00 00 00 00 00 00 BREAKDOWN: 68 64 - Magic Key 00 18 - Full Message Length = 24bytes 63 6C - Command ID ? AC CF 23 24 19 C0 - Mac Address (Max Length = 12 = 24bytes) 20 20 20 20 20 20 - Mac Address Padding (spaces) 00 00 00 00 00 - ??? Unknown ??? 00 - Power state = off (00 = off, 01 = on) ================================================================================================================================================================ TABLE DATA: (Table 1) SEND: UDP x.x.x.x:10000 ASCII: hd\00\1drt\ac\cf#$\19\c0 \00\00\00\00\04\00\03\00\00\00\00 Hex: 68 64 00 1D 72 74 ac cf 23 24 19 c0 20 20 20 20 20 20 00 00 00 00 01 00 00 00 00 00 00 RECEIVE: UDP x.x.x.x:10000 ASCII: hd\00,rt\ac\cf#$\19\c0 \02\00\00\00\00\01\00\01\00\00\06\00\04\00\04\00\17\00\06\00\03\00\03\00\02\00 HEX: 68 64 00 2C 72 74 AC CF 23 24 19 C0 20 20 20 20 20 20 02 00 00 00 00 01 00 01 00 00 06 00 04 00 04 00 17 00 06 00 03 00 03 00 02 00 BREAKDOWN: 68 64 - Magic Key 00 2C - Full Message Length = 44bytes 72 74 - Command ID ? AC CF 23 24 19 C0 - Mac Address (Max Length = 12 = 24bytes) 20 20 20 20 20 20 - Mac Address Padding (spaces) 00 00 00 00 - ??? Unknown ??? 01 - Table Number 00 01 00 00 - ??? Unknown ??? 06 00 - Record Length Little Endian? = 6bytes 04 00 - Version Number Little Endian = 4 04 00 - Table Number Little Endian = 4 (Table 4 contains the Socket Data) 17 00 - Version Flag Little Endian = 23 06 00 - Record Length Little Endian? = 6bytes 03 00 - Version Number Little Endian = 3 03 00 - Table Number Little Endian = 3 (Table 3 contains Timing data) 02 00 - Version Flag Little Endian = 2 ..... - This repeats for all tables that need to be requested in sequence by the next function ================================================================================================================================================================ SOCKET DATA: (Table 4) SEND: UDP x.x.x.x:10000 ASCII: hd\00\1drt\ac\cf#$\19\c0 \00\00\00\00\04\00\03\00\00\00\00 Hex: 68 64 00 1D 72 74 ac cf 23 24 19 c0 20 20 20 20 20 20 00 00 00 00 AA 00 BB 00 00 00 00 (Note: AA = Table Number = 04, BB = Version Flag = 17) RECEIVE: UDP x.x.x.x:10000 ASCII: hd\00\a8rt\ac\cf#$\19\c0 \00\00\00\00\00\04\00\01\00\00\8a\00\01\00C%\ac\cf#$\19\c0 \c0\19$#\cf\ac 888888 Office \05\00\10\00\00\00\n\00\00\00\05\00\00\00\10'*yo\d0\10'vicenter.orvibo.com \c0\a8\01\c8\c0\a8\01\01\ff\ff\ff\00\01\01\00\08\00\00\0c\00 HEX: 68 64 00 A8 72 74 AC CF 23 24 19 C0 20 20 20 20 20 20 02 00 00 00 00 04 00 01 00 00 8A 00 01 00 43 25 AC CF 23 24 19 C0 20 20 20 20 20 20 C0 19 24 23 CF AC 20 20 20 20 20 20 38 38 38 38 38 38 20 20 20 20 20 20 4F 66 66 69 63 65 20 20 20 20 20 20 20 20 20 20 05 00 10 00 00 00 0A 00 00 00 05 00 00 00 10 27 2A 79 6F D0 10 27 76 69 63 65 6E 74 65 72 2E 6F 72 76 69 62 6F 2E 63 6F 6D 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 C0 A8 01 C8 C0 A8 01 01 FF FF FF 00 01 01 00 08 00 00 0C 00 BREAKDOWN: 68 64 - Magic Key 00 A8 - Full Message Length = 168bytes 72 74 - Command ID ? AC CF 23 24 19 C0 - Mac Address (Max Length = 12 = 24bytes) 20 20 20 20 20 20 - Mac Address Padding (spaces) 02 00 - Record ID Little Endian = 02 00 00 00 - ??? Unknown ??? 04 - Table Number 00 01 00 00 - ??? Unknown ??? 8A 00 - Record Length Little Endian = 138bytes 01 00 - Record Number Little Endian = 1 43 25 - VersionID Little Endian = 9539 AC CF 23 24 19 C0 - UID (Max Length = 12 = 24bytes) 20 20 20 20 20 20 - UID Padding C0 19 24 23 CF AC - Mac Address Little Endian 20 20 20 20 20 20 - Mac Address Little Endian Padding (spaces) 38 38 38 38 38 38 - Remote Password = 888888 (max Length = 12 = 24bytes) 20 20 20 20 20 20 - Remote Password Padding (spaces) 4F 66 66 69 63 65 - Socket Name = Office (Max Length = 16 = 32bytes) 20 20 20 20 20 20 20 20 20 20 - Socket Name Padding (spaces) 05 00 - Icon Little Endian = 5 (0 = Light bulb, 1 = Fan , 2 = Thermostat , 3 = Double Switch , 4 = American Power Point , 5 = Aus Power Point) 10 00 00 00 - Hardware Version = 16 0A 00 00 00 - Firmware Version = 10 05 00 00 00 - CC3000 Firmware Version = 5 (ti wifi chipset) 10 27 - Static Server Port Little Endian = 10000 2A 79 6F D0 - Static Server IP = 42.121.111.208 10 27 - Domain Server Port Little Endian = 10000 76 69 63 65 6E 74 65 72 2E 6F 72 76 69 62 6F 2E 63 6F 6D - Domain Server Name = vicenter.orvibo.com (Max Length = 40 = 80bytes) 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 - Domain Server Name Padding (spaces) C0 A8 01 C8 - Local Static IP = 192.168.1.200 C0 A8 01 01 - Local Gateway IP = 192.168.1.1 FF FF FF 00 - Local Net Mask = 255.255.255.0 01 - DHCP Mode = yes (00 = no, 01 = yes) 01 - Discoverable = yes (00 = no, 01 = yes) 00 - Time Zone Set 08 - Time Zone (hours offset ftom UTC (signed)) 00 00 - ??? Unknown ??? 0C 00 - Countdown Seconds = 12 ================================================================================================================================================================ Timing DATA: (Table 3) SEND: UDP x.x.x.x:10000 ASCII: hd\00\1drt\ac\cf#$\19\c0 \00\00\00\00\04\00\03\00\00\00\00 Hex: 68 64 00 1D 72 74 ac cf 23 24 19 c0 20 20 20 20 20 20 00 00 00 00 AA 00 BB 00 00 00 00 (Note: AA = Table Number = 03, BB = Version Flag = 02) RECEIVE: ASCII: hd\00Xrt\ac\cf#$\t\88 \02\00\00\00\00\03\00\01\00\00\1c\00\01\00\e2r\80\00c\0e\00\00\00\\\de\16\00\a0\19\00\01\00\de\07\07\r\10\00\00\ff\1c\00\02\00\e2r\80\00q\0f\00\00Pr\d2\16\00\a0\19\00\00\00\de\07\07\r\13\00\00\ff HEX: 68 64 00 58 72 74 AC CF 23 24 19 C0 20 20 20 20 20 20 02 00 00 00 00 03 00 01 00 00 1C 00 01 00 E2 72 80 00 63 0E 00 00 00 5C DE 16 00 A0 19 00 01 00 DE 07 07 0D 10 00 00 FF 1C 00 02 00 E2 72 80 00 71 0F 00 00 50 72 D2 16 00 A0 19 00 00 00 DE 07 07 0D 13 00 00 FF BREAKDOWN: 68 64 - Magic Key 00 58 - Full Message Length = 88bytes 72 74 - Command ID ? AC CF 23 24 19 C0 - Mac Address (Max Length = 12 = 24bytes) 20 20 20 20 20 20 - Mac Address Padding (spaces) 02 00 - Record ID Little Endian = 02 00 00 00 - ??? Unknown ??? 03 - Table Number 00 01 00 00 - ??? Unknown ??? 1C 00 - Record Length Little Endian = 28bytes 01 00 - Record Number Little Endian = 1 E2 72 80 00 63 0E 00 00 00 5C DE 16 00 A0 19 00 - ??? Unknown ??? 01 00 - Power state = on (00 = off, 01 = on) DE 07 - Year Little Endian = 2014 07 - Month = 7 0D - Day = 13 10 - Hour - 2? = 18 = 6pm 00 - Minute = 00 00 - Second = 00 FF - Repeat = 255 = Repeat Everyday (Bits: 128 = Repeat, 64 = Sunday, 32 = Monday, 16 = Tuesday, 8 = Wednesday, 4 = Thursday, 2 = Friday, 1 = Saturday)? 1C 00 - Record Length Little Endian = 28bytes 02 00 - Record Number Little Endian = 2 E2 72 80 00 71 0F 00 00 50 72 D2 16 00 A0 19 00 - ??? Unknown ??? 00 00 - Power state = off (00 = off, 01 = on) DE 07 - Year Little Endian = 2014 07 - Month = 7 0D - Day = 13 13 - Hour - 2? = 21 = 9pm 00 - Minute = 00 00 - Second = 00 FF - Repeat = 255 = Repeat Everyday (Bits: 128 = Repeat, 64 = Sunday, 32 = Monday, 16 = Tuesday, 8 = Wednesday, 4 = Thursday, 2 = Friday, 1 = Saturday)? ================================================================================================================================================================ POWER ON DATA: SEND: UDP x.x.x.x:10000 ASCII: hd\00\17dc\ac\cf#$\19\c0 \00\00\00\00\01 HEX: 68 64 00 17 64 63 ac cf 23 24 19 c0 20 20 20 20 20 20 00 00 00 00 01 RECEIVE: UDP x.x.x.x:10000 ASCII: hd\00\17sf\ac\cf#$\19\c0 \00\00\00\00\01 HEX: 68 64 00 17 73 66 AC CF 23 24 19 C0 20 20 20 20 20 20 00 00 00 00 01 BREAKDOWN: 68 64 - Magic Key 00 17 - Full Message Length = 23bytes 73 66 - Command ID ? AC CF 23 24 19 C0 - Mac Address (Max Length = 12 = 24bytes) 20 20 20 20 20 20 - Mac Address Padding (spaces) 00 00 00 00 - ??? Unknown ??? 01 - Power state = on (00 = off, 01 = on) ================================================================================================================================================================ POWER OFF DATA: SEND: UDP x.x.x.x:10000 ASCII: hd\00\17dc\ac\cf#$\19\c0 \00\00\00\00\00 HEX: 68 64 00 17 64 63 ac cf 23 24 19 c0 20 20 20 20 20 20 00 00 00 00 00 RECEIVE: UDP x.x.x.x:10000 ASCII: hd\00\17sf\ac\cf#$\19\c0 \00\00\00\00\01 HEX: 68 64 00 17 73 66 AC CF 23 24 19 C0 20 20 20 20 20 20 00 00 00 00 00 BREAKDOWN: 68 64 - Magic Key 00 17 - Full Message Length = 23bytes 73 66 - Command ID ? AC CF 23 24 19 C0 - Mac Address (Max Length = 12 = 24bytes) 20 20 20 20 20 20 - Mac Address Padding (spaces) 00 00 00 00 - ??? Unknown ??? 00 - Power state = off (00 = off, 01 = on)