HOME › Forums › General › Feedback to Smartenit › The EZIOxx INSTEON and X10 Messages/Commands Data Sheet › Reply To: The EZIOxx INSTEON and X10 Messages/Commands Data Sheet
The CRC byte (Cyclic Redundancy Check) is used by low levels of hardware and firmware to validate the physical integrity of an Insteon message. It is not passed out as part of the raw Insteon message data, therefore does not appear in a message trace/log.
The 0x indicates this is a hexadecimal value (base 16 number), compared to a decimal value (base 10 number). A single byte (8 bits) represented in hexadecimal has a range of 0x00 (decimal 0) to 0xFF (decimal 255). Each 4 bits has a range of 0-F (0-15 decimal), with possible values 0-9,A,B,C,D,E,F. Hexadecimal notation is used to show the full range of values possible in a single byte (8 bits).
The initial 0x04 in your example 1. is not part of a standard-length message. This byte has several possible values. A 0x01 is a new message addressed to the PLC. A 0x02 is a new message not addressed to the PLC. A 0x03 is a duplicate message, where the raw data is generally not displayed. A 0x04 is an ACK message. A 0x05 is a NAK message. I’ve taken some liberties here but that is the general idea. Unless you are looking at Insteon network reliability, this value has little meaning when analyzing Insteon messages.
Dissecting example 1. ………
Received Insteon Data 04 0D 4F E1 09 48 19 20 4A 00
04 – indicates an ACK message
0D 4F E1 – from Insteon address
09 48 19 – to Insteon address
20 – flag byte – ACK of Direct Message
4A – CMD1 – Get Sensor Value
00 – CMD2 – Sensor value
Example 2. appears to be the same message with some interpretation applied by Homeseer. Interpretation starting at flag byte; ACK 4A 00 acknowledge message for command 0x4A (cmd 1) with a sensor value 0f 0x00 (cmd 2); followed by the same raw message from example 1.
Get Sensor Value SD 0x4A 0x00 – 0x03 Sensor Number ACK contains sensor value in Command 2
Get Sensor Value – is the name of the command
0x4A – Get Sensor command (CMD 1) – 1 byte – hexadecimal value 0x4A
0x00-0x03 – possible CMD 2 values for a Get Sensor command – sensor number when command is issued
– CMD 2 in the response (ACK) message is the sensor value
That was a lot to cover. Feel free to post back additional questions if I did not cover everything.