How to automate Crestron control via IP

Applies to the following product:

- 4x4 HDMI Matrix + Video-Wall Processor (part # CE-H24C11-S1)

Solution:

SERVER_PORT    9760
Software command TYPE [Hex mode]
len 0x4d 0x41 0x52 0x44 0x43 0x48 0xff cmd cm1 cm2 cm3 cm4 cm5 cm6 cm7 … cm* checksum
0x52 0x44 for 4x4 matrix
len is the length from len to checksum
cmd is command index
cm1 to cm* is  setting value
checksum = sum from len to cm*
4x4 example:
Set four output mapping
0x0e 0x4d 0x41 0x52 0x44 0x43 0x48 0xff 0x02 0x01 0x01 0x01 0x01  0xc2
Len:0x0e
Cmd = 2 for set port mapping
Port1 1 port 2 1 port3 1 port4 1   
Check sum 0xc2
Echo 0xaa  

1.>
Cmd =0  power on or idle
0x0b 0x4d 0x41 0x52 0x44 0x43 0x48 0xff 0x00 cm1 checksum
Cmd1: 0x55  idle 0xaa power on
0x0b 0x4d 0x41 0x52 0x44 0x43 0x48 0xff 0x00 0x55 0x0e [power off]
0x0b 0x4d 0x41 0x52 0x44 0x43 0x48 0xff 0x00 0xaa 0x63 [power oon]


2.>
Cmd =1  get port mapping
0x0a 0x4d 0x41 0x52 0x44 0x43 0x48 0xff 0x01 0xfd
Echo :
0xaa  0x0b p1 p2 p3 p4 s1 s2 s3 s4 pwd checksum
0xaa is the echo for receive command
0x0b is the data length [p1 to checksum]
p1~p4 is the port mapping. 1~4 or 0[port off]
s1~s4 is the source status. 1: source exist 0: source off
pwd is the matrix status. 1: power on. 0: idle
example
0xaa 0x0b 0x01 0x02 0x03 0x04 0x00 0x00 0x00 0x00 0x01 0x16


3.>
Cmd = 2 for set four ports mapping
0x12 0x4d 0x41 0x52 0x44 0x43 0x48 0xff 0x02 Port1  port 2   port3  port4   + checksum
Port1~port4: source value from 1~4
0x80+source for close output port.
Ex 0x81 port select source 1 but set close.
Echo 0xaa
If the port value is the same, the output port will keep the video.
Add 0x10 to source. The output port will re trigger (including off/on and do hdcp)
For example:
Now port1 select source 1
Port1 = 0x01 : video not change
Port1 = 0x11 : video turn off/on and do hdcp again.


3.>
Cmd = 3 for set one port mapping
0x12 0x4d 0x41 0x52 0x44 0x43 0x48 0xff 0x03 Port_NUM  Port_Value + checksum
Port_NUM: port  1~4
Port_Value: source  0 to 4. 0 for close port

4.>
Cmd =5  get firmware version
0x0a 0x4d 0x41 0x52 0x44 0x43 0x48 0xff 0x05 0x01

5.>
Cmd =10  read edid of output port
0x0b 0x4d 0x41 0x52 0x44 0x43 0x48 0xff 0x0a cm1 + checksum
Cm1: port number 1~4
Echo:
Read ok :0xaa + 256 byte hex value.
Read fail: 0x55.

6.>
Cmd =11  read edid of input
0x0b 0x4d 0x41 0x52 0x44 0x43 0x48 0xff 0x0b cm1 + checksum
Cm1: input number 1~4
Echo:
Read ok :0xaa + 256 byte hex value.
Read fail: 0x55.


7.>
Cmd =12  edid learning of cm2 to cm3
0x0c 0x4d 0x41 0x52 0x44 0x43 0x48 0xff 0x0c cm1 cm2 cm3 checksum
Cm1: input number 1~8
cm1: 0x03: read port edid and write to source
 0x06: read default edid and write to source
cm2: input number:
        1~4: input 1 to 4
        0xf1: all input
Echo: 0xaa: OK  0x55 fail
Ex:
0x0c 0x4d 0x41 0x52 0x44 0x43 0x48 0xff 0x0c 0x01 0xf1 0xb8
Read port1 edid and write to all input

7.>
Cmd =32  factory reset
0x0a 0x4d 0x41 0x52 0x44 0x43 0x48 0xff 0x20 0xd8

8.>
Cmd =49  read IP and network information
0x0a 0x4d 0x41 0x52 0x44 0x43 0x48 0xff 0x31 0xe9
Echo:
    0xaa + 0x16 + ip1 ~ip4 mask1~4 gateway1~4 dns11~dns14 dns21~dns22  sumvalue

9.>
Cmd= 50 write ip,maskvalue,gateway,dns1,dns2
0x22 0x4d 0x41 0x52 0x44 0x43 0x48 0xff 0x32 ip1 ~ip4 mask1~4 gateway1~4 dns11~dns14 dns21~dns22 checksum
Ex: ip1~4= 192.168.1.14
     ip1=192
ip2=168
ip3=1
ip4=14
mask1~4 = 255.255.255.0
mask 1=255
mask 2=255
mask 3=255
mask 4=0
 

10.>
Cmd= 59 Read DHCP Status
0xa 0x4d 0x41 0x52 0x44 0x43 0x48 0xff 0x3B 0xf3
// echo DHCP ON
0x03 0x01 0x04
 
// echo DHCP OFF
0x03 0x00 0x03
 
11.>
Cmd= 60 Read DHCP Status
0xb 0x4d 0x41 0x52 0x44 0x43 0x48 0xff 0x3C dhcp_on checksum
// set DHCP ON
0xb 0x4d 0x41 0x52 0x44 0x43 0x48 0xff 0x3C 0x01 0xf6
Echo: 0x55
// set DHCP OFF
0xb 0x4d 0x41 0x52 0x44 0x43 0x48 0xff 0x3C 0x01 0xf6
Echo: 0x55

Please, mind that only logged in users can submit questions