Product web page: https://www.alorair.com/product/alorair-sentinel-hd55
Manuals
Connector Block
Image captured from https://community.home-assistant.io/t/automate-alorair-sentinel-hd55-dehumidifier/306084/6
 
Remote
Parts
| Part | Description | 
| CPU | HC32F072 (clone of STM32F072) (datasheet) | 
| LCD Controller | Holtek HT16C23 | 
| CAN Transceiver | 3PEAK TPT1051V | 
| EEPROM | BL24C02 | 
| Temperature sensor | Unknown (markings erased) | 
| Humidity sensor | Unknown (no markings) | 
RJ-45 Pinout
Looking into the RJ-45 receptacle with the tab down, pin 1 is on the left.
| Pin # | Description | 
| 1 | N/C | 
| 2 | N/C | 
| 3 | N/C | 
| 4 | CANL | 
| 5 | CANH | 
| 6 | N/C | 
| 7 | VCC (5V0) | 
| 8 | GND | 
J1 Programming Connector
| Pin # | Description | 
| 1 | nRST | 
| 2 | VCC (3V3) | 
| 3 | GND | 
| 4 | SWCLK | 
| 5 | SWDIO | 
CAN Bus
The dehumidifier and remote communicate using the CAN bus protocol at 50Kbps. 
Currently, this decoding is based purely on using cantact-app, pushing buttons, and sending values. After I find a RJ45 breakout board, I'll monitor the actual data stream between the remote and the HD55.
Note that remote has several symbols that don't seem to be used. There is a tree symbol between the circled RH and house symbols, 'Time On' and 'Time Off' below the 'Draining' text, 'hr' text next to the percent symbol, a fan symbol to the right of the degrees Celsius symbol, and a bar graph in the lower right corner. The board has a footprint for a switch that is labeled 'WiFi new/old', so either the firmware supports the bar graph, or the same display is used on the WiFi version of the remote.
Tools
Notes
- Pressing the 'T' button will turn on the display backlight for 15 seconds or so, and also toggle the temperature display between Fahrenheit and Celsius. Unlike the other 6 buttons, it does not send a CAN message.
- The pump function (P button) is only available on the HDi90
- The temperature display is 0C (32F) minimum, 50C (122F) maximum, but temperatures over 37C (98F) do not display correctly, as there is no hundreds digit.
- The 7-segment display on the HD55 is supposed to display 'LO' if the temperature is under 0C (32F), but I have not found any bits that cause it to display on the remote.
- The up and down arrows send a 0x05 in byte 1, and a value in byte 2 that changes with each button press. Presumably it gets the initial value from the HD55/HDi90.
CAN Frame From Remote
CAN ID 0x123
| Byte | Description | 
| 0 | Always 0x01 | 
| 1 | 
| Value | Button Status |  
| 0x00 | No button pressed |  
| 0x01 | Power |  
| 0x02 | Pump (sends 0x01 in byte 2) |  
| 0x03 | Continuous (sends 0x01 in byte 2) |  
| 0x04 | Mode (sends 0x01 in byte 2) |  
| 0x05 | Up or down arrow (sends value in byte) |  | 
| 2 | 0x00 (except when button pressed, see above) | 
| 3 | RH on remote (20% = 0x14, 99% = 0x63) | 
| 4 | Temperature on remote (in C, 0x00 = 0C, 0x30 = 48C) | 
| 5 | Always 0x00 | 
| 6 | Always 0x00 | 
| 7 | Always 0x00 | 
CAN Frame To Remote
CAN ID 0x3b0
| Byte | Description | 
| 0 | RH value to display (20% = 0x14, 99% = 0x63) | 
| 1 | Not used (?) | 
| 2 | Not used (?) | 
| 3 | Temperature to display (in C, 0x00 = 0C, 0x30 = 48C) | 
| 4 | Not used (?) | 
| 5 | 
| Bit | Description |  
| 0 (0x01) | RH symbol on (indicates RH at dehumidifier) |  
| 1 (0x02) | Circled RH + house on (indicates RH at remote) |  
| 2 (0x04) | Unused (?) |  
| 3 (0x08) | 'Cont.' on (indicates continuous operation) |  
| 4 (0x10) | 'Draining' on (indicates drain pump is running) |  
| 5 (0x20) | Unused (?) |  
| 6 (0x40) | Display local RH and temp (set bit 1 also) |  
| 7 (0x80) | Unused (?) |  | 
| 6 | Not used (?) | 
| 7 | 
| Bit | Description |  
| 0 (0x01) | 'E4' (indicates A5/A6 condensate pump overflow) |  
| 1 (0x02) | 'E5' (indicates refrigerant leak, may not apply to HD55/HDi90) |  
| 2 (0x04) | 'HI' (next to 'RT', indicates temperature > 105) |  
| 3 (0x08) | 'c0' (next to 'RT', indicates ?) |  
| 4 (0x10) | 'E1' (indicates humidity sensor error on HD55/HDi90) |  
| 5 (0x20) | Unused (?) |  
| 6 (0x40) | Unused (?) |  
| 7 (0x80) | Unused (?) |  |