Skip to content

Infinity interpreting data

Will1604 edited this page Dec 20, 2016 · 37 revisions

When data is read to or written from a device, it must have a way to address this data. We refer to this entire address as a "register". This nomenclature is taken from ModBUS, an industrial protocol. It seems that this is always 3 bytes, and first byte is always 0x00. Often times this first byte is ignored since we only assume is it part of the register address.

Entire registers are read or written at once. Generally, the read and write requests only originate from the thermostat or possibly SAM (not verified)

After probing the registers in devices, there is a structure:

0x0201 00 21 53 59 53 54 49 4d 45 20 00 19 03 13 01 03 03 03 03
0x0202 0d 36 06               
0x0203 05 0c 0a 

We have discovered that the high byte of the register relates to a table, and the low byte refers to a row in that table. This is how to interpret the data from the 0x02 table above, starting after 0x0201:

  • 0021 - unknown
  • The next 8 bytes are the name of the table = 53595354494d4520 is SYSTIME with a trailing space (ascii)
  • 00 19 relates to the size of the table (25 bytes)
  • 03 is the total number of rows in the table
  • 13 is the bytes of this row (in hex) and 01 is unknown
  • 03 is the bytes in the second row, and 03 is unknown
  • 03 is the bytes in the third row, and 03 is unknown.

The first row of the table usually describes the structure of the table, with the exception of a few tables. The byte following the row length (the last three lines in the list above) may be bit flags for register permissions (b0=read, b1=write).

This is a list of possible tables. Please add confirmed models to the right if it matches for your unit.

Device Table Name Confirmed Models
0E 0x3E ??  
       
20 0x01 DEVCONFG SYSTXBBUID01-B / SYSTXCCITW01 / SYSTXCCUIZ01-B
20 0x02 SYSTIME SYSTXBBUID01-B / SYSTXCCITW01 / SYSTXCCUIZ01-B
20 0x03 RLCSMAIN / INGUI SYSTXBBUID01-B / SYSTXCCITW01 / SYSTXCCUIZ01-B
20 0x04 DELUXEUI / SSSBCAST SYSTXBBUID01-B / SYSTXCCITW01 / SYSTXCCUIZ01-B
20 0x05 EVEREST SYSTXBBUID01-B / SYSTXCCUIZ01-B
20 0x06 LINESET SYSTXCCITW01
20 0x2F STARTUP SYSTXCCITW01
20 0x30 EECONFIG SYSTXBBUID01-B / SYSTXCCUIZ01-B
20 0x31 DUI DATA / INGDATA SYSTXBBUID01-B / SYSTXCCITW01 / SYSTXCCUIZ01-B
20 0x32 LCD CTRL SYSTXBBUID01-B / SYSTXCCUIZ01-B
20 0x34 4 ZONE SYSTXBBUID01-B / SYSTXCCUIZ01-B
20 0x39 P MSCH SYSTXBBUID01-B / SYSTXCCUIZ01-B
20 0x3B AI PARMS / NVMINIT SYSTXBBUID01-B / SYSTXCCITW01 / SYSTXCCUIZ01-B
20 0x3C UI PARMS SYSTXBBUID01-B / SYSTXCCUIZ01-B
20 0x3D DISPDATA SYSTXBBUID01-B / SYSTXCCUIZ01-B
20 0x3E DCLEGACY SYSTXBBUID01-B / SYSTXCCUIZ01-B
20 0x3F WSAM CCN SYSTXBBUID01-B / SYSTXCCUIZ01-B
       
22 0x01 DEVCONFG SYSTXCCSMS01
22 0x02 SYSTIME SYSTXCCSMS01
22 0x03 RLCSMAIN SYSTXCCSMS01
22 0x04 SMT SNSR M SYSTXCCSMS01
22 0x30 EECONFIG SYSTXCCSMS01
22 0x32 SS SVCTL SYSTXCCSMS01
       
50 0x01 DEVCONFG 264AN
50 0x02 SYSTIME 264AN
50 0x03 RLCSMAIN 264AN / 25HNB624A003
50 0x05 TWOCACTY 264AN / 25HNB624A003
50 0x3E unknown - does not follow structure Coil temps and stage 264AN / 25HNB624A003
       
51 0x01 ??  
51 0x03 ??  
51 0x06 ??  
       
40 0x01 DEVCONFG 355CAV / 58MVC100
40 0x02 SYSTIME 355CAV / 58MVC100
40 0x03 RLCSMAIN 355CAV / 58MVC100
40 0x04 VARSPEED 355CAV / 58MVC100
42 0x01 DEVCONFG FE4ANF002 / FE4ANF003
42 0x02 SYSTIME FE4ANF002 / FE4ANF003
42 0x03 RLCSMAIN FE4ANF002 / FE4ANF003
42 0x04 VFANCOIL FE4ANF002 / FE4ANF003
       
60 0x01 DEVCONFG SYSTXCC4ZC01
60 0x02 SYSTIME SYSTXCC4ZC01
60 0x03 RLCSMAIN SYSTXCC4ZC01
60 0x04 04ZONE STL SYSTXCC4ZC01
       
61 0x03 ??  
61 0x34 ??  
       
80 0x34 ??