I have tested @paveldn code with 8266 on haier AC with two different protocols
on smartAir2:
[01:45:11][C][uart.arduino_esp8266:102]: UART Bus:
[01:45:11][C][uart.arduino_esp8266:103]: TX Pin: GPIO1
[01:45:11][C][uart.arduino_esp8266:104]: RX Pin: GPIO3
[01:45:11][C][uart.arduino_esp8266:106]: RX Buffer Size: 256
[01:45:11][C][uart.arduino_esp8266:108]: Baud Rate: 9600 baud
[01:45:11][C][uart.arduino_esp8266:109]: Data Bits: 8
[01:45:11][C][uart.arduino_esp8266:110]: Parity: NONE
[01:45:11][C][uart.arduino_esp8266:111]: Stop bits: 1
[01:45:11][C][uart.arduino_esp8266:113]: Using hardware serial interface.
[01:45:11][W][uart.arduino_esp8266:127]: You're using the same serial port for logging and the UART component. Please disable logging over the serial port by setting logger->baud_rate to 0.
[01:45:11][C][captive_portal:088]: Captive Portal:
[01:45:11][C][web_server:125]: Web Server:
[01:45:12][C][web_server:126]: Address: :80
[01:45:12][C][mdns:084]: mDNS:
[01:45:12][C][mdns:085]: Hostname:
[01:45:12][C][ota:085]: Over-The-Air Updates:
[01:45:12][C][ota:086]: Address: :8266
[01:45:12][C][api:138]: API Server:
[01:45:12][C][api:139]: Address: :6053
[01:45:12][C][api:143]: Using noise encryption: NO
[01:45:14][D][Haier:506]: Message sent: FF FF 0A 00 00 00 00 00 00 61 00 07 72
[01:45:15][W][Haier:338]: Incoming packet timeout, packet size 11, expected size 13
[01:45:19][D][Haier:506]: Message sent: FF FF 0A 00 00 00 00 00 00 61 00 07 72
[01:45:20][W][Haier:338]: Incoming packet timeout, packet size 11, expected size 13
[01:45:24][D][Haier:506]: Message sent: FF FF 0A 00 00 00 00 00 00 61 00 07 72
[01:45:25][W][Haier:338]: Incoming packet timeout, packet size 11, expected size 13
[01:45:29][D][Haier:506]: Message sent: FF FF 0A 00 00 00 00 00 00 61 00 07 72
[01:45:30][W][Haier:338]: Incoming packet timeout, packet size 11, expected size 13
[01:45:34][D][Haier:506]: Message sent: FF FF 0A 00 00 00 00 00 00 61 00 07 72
[01:45:35][W][Haier:338]: Incoming packet timeout, packet size 11, expected size 13
8266 on hON model, seems good
[01:53:45][C][logger:275]: Logger:
[01:53:45][C][logger:276]: Level: DEBUG
[01:53:45][C][logger:277]: Log Baud Rate: 115200
[01:53:45][C][logger:278]: Hardware UART: UART0
[01:53:45][C][uart.arduino_esp8266:102]: UART Bus:
[01:53:45][C][uart.arduino_esp8266:103]: TX Pin: GPIO1
[01:53:45][C][uart.arduino_esp8266:104]: RX Pin: GPIO3
[01:53:45][C][uart.arduino_esp8266:106]: RX Buffer Size: 256
[01:53:45][C][uart.arduino_esp8266:108]: Baud Rate: 9600 baud
[01:53:46][C][uart.arduino_esp8266:109]: Data Bits: 8
[01:53:46][C][uart.arduino_esp8266:110]: Parity: NONE
[01:53:46][C][uart.arduino_esp8266:111]: Stop bits: 1
[01:53:46][C][uart.arduino_esp8266:113]: Using hardware serial interface.
[01:53:46][W][uart.arduino_esp8266:127]: You're using the same serial port for logging and the UART component. Please disable logging over the serial port by setting logger->baud_rate to 0.
[01:53:46][C][captive_portal:088]: Captive Portal:
[01:53:46][C][web_server:125]: Web Server:
[01:53:46][C][web_server:126]: Address: :80
[01:53:46][C][mdns:084]: mDNS:
[01:53:46][C][mdns:085]: Hostname:
[01:53:46][C][ota:085]: Over-The-Air Updates:
[01:53:46][C][ota:086]: Address: :8266
[01:53:46][C][api:138]: API Server:
[01:53:46][C][api:139]: Address: :6053
[01:53:46][C][api:143]: Using noise encryption: NO
[01:53:48][D][Haier:506]: Message sent: FF FF 0A 40 00 00 00 00 00 01 4D 01 99 B3 B4
[01:53:48][D][Haier:668]: HVAC Mode = 0x4
[01:53:48][D][Haier:669]: Fan speed Status = 0x5
[01:53:48][D][Haier:670]: Horizontal Swing Status = 0x0
[01:53:48][D][Haier:671]: Vertical Swing Status = 0x2
[01:53:48][D][Haier:672]: Set Point Status = 0x6
[01:53:49][D][climate:385]: '${device_name}' - Sending state:
[01:53:49][D][climate:388]: Mode: OFF
[01:53:49][D][climate:393]: Fan Mode: AUTO
[01:53:49][D][climate:399]: Preset: NONE
[01:53:49][D][climate:405]: Swing Mode: OFF
[01:53:49][D][climate:408]: Current Temperature: 25.00°C
[01:53:49][D][climate:414]: Target Temperature: 22.00°C
[01:53:49][D][Haier:485]: Received Poll command answer message during phase 8, size: 45, content: FF FF 2A 40 00 00 00 00 00 02 6D 01 06 02 45 00 02 02 00 00 00 0C 32 00 5C 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 C6 BB DC
[01:53:51][D][Haier:506]: Message sent: FF FF 08 40 00 00 00 00 00 FC 44 23 40
[01:53:51][D][Haier:485]: Received Signal request answer message during phase 10, size: 17, content: FF FF 0E 40 00 00 00 00 00 FD 00 00 00 00 00 00 4B C1 DD
[01:53:51][D][Haier:285]: WiFi signal is: -41dBm => 67%
[01:53:51][D][Haier:506]: Message sent: FF FF 0C 40 00 00 00 00 00 F7 00 00 00 43 86 F5 F1
[01:53:51][D][Haier:485]: Received Signal level answer message during phase 12, size: 11, content: FF FF 08 40 00 00 00 00 00 05 4D 61 80
[01:53:53][D][Haier:506]: Message sent: FF FF 0A 40 00 00 00 00 00 01 4D 01 99 B3 B4
[01:53:53][D][Haier:668]: HVAC Mode = 0x4
[01:53:53][D][Haier:669]: Fan speed Status = 0x5
[01:53:53][D][Haier:670]: Horizontal Swing Status = 0x0
[01:53:53][D][Haier:671]: Vertical Swing Status = 0x2
[01:53:53][D][Haier:672]: Set Point Status = 0x6
[01:53:54][D][climate:385]: '${device_name}' - Sending state:
[01:53:54][D][climate:388]: Mode: OFF
[01:53:54][D][climate:393]: Fan Mode: AUTO
[01:53:54][D][climate:399]: Preset: NONE
[01:53:54][D][climate:405]: Swing Mode: OFF
[01:53:54][D][climate:408]: Current Temperature: 25.00°C
[01:53:54][D][climate:414]: Target Temperature: 22.00°C
[01:53:54][D][Haier:485]: Received Poll command answer message during phase 8, size: 45, content: FF FF 2A 40 00 00 00 00 00 02 6D 01 06 02 45 00 02 02 00 00 00 0C 32 00 5C 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 C6 BB DC
[01:53:55][D][api:102]: Accepted 192.168.51.3
[01:53:55][D][api.connection:861]: Home Assistant 2022.7.6 (192.168.51.3): Connected successfully
[01:53:58][D][Haier:506]: Message sent: FF FF 0A 40 00 00 00 00 00 01 4D 01 99 B3 B4
[01:53:58][D][Haier:668]: HVAC Mode = 0x4
[01:53:58][D][Haier:669]: Fan speed Status = 0x5
[01:53:58][D][Haier:670]: Horizontal Swing Status = 0x0
[01:53:58][D][Haier:671]: Vertical Swing Status = 0x2
[01:53:58][D][Haier:672]: Set Point Status = 0x6
[01:53:59][D][climate:385]: '${device_name}' - Sending state:
[01:53:59][D][climate:388]: Mode: OFF
[01:53:59][D][climate:393]: Fan Mode: AUTO
[01:53:59][D][climate:399]: Preset: NONE
[01:53:59][D][climate:405]: Swing Mode: OFF
[01:53:59][D][climate:408]: Current Temperature: 25.00°C
[01:53:59][D][climate:414]: Target Temperature: 22.00°C
[01:53:59][D][Haier:485]: Received Poll command answer message during phase 8, size: 45, content: FF FF 2A 40 00 00 00 00 00 02 6D 01 06 02 45 00 02 02 00 00 00 0C 32 00 5C 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 C6 BB DC
[01:54:01][D][Haier:506]: Message sent: FF FF 08 40 00 00 00 00 00 FC 44 23 40
[01:54:01][D][Haier:485]: Received Signal request answer message during phase 10, size: 17, content: FF FF 0E 40 00 00 00 00 00 FD 00 00 00 00 00 00 4B C1 DD
[01:54:01][D][Haier:285]: WiFi signal is: -40dBm => 68%
[01:54:01][D][Haier:506]: Message sent: FF FF 0C 40 00 00 00 00 00 F7 00 00 00 44 87 37 B0
[01:54:01][D][Haier:485]: Received Signal level answer message during phase 12, size: 11, content: FF FF 08 40 00 00 00 00 00 05 4D 61 80
[01:54:03][D][Haier:506]: Message sent: FF FF 0A 40 00 00 00 00 00 01 4D 01 99 B3 B4
[01:54:03][D][Haier:668]: HVAC Mode = 0x4
[01:54:03][D][Haier:669]: Fan speed Status = 0x5
[01:54:03][D][Haier:670]: Horizontal Swing Status = 0x0
[01:54:04][D][Haier:671]: Vertical Swing Status = 0x2
[01:54:04][D][Haier:672]: Set Point Status = 0x6
[01:54:04][D][climate:385]: '${device_name}' - Sending state:
[01:54:04][D][climate:388]: Mode: OFF
[01:54:04][D][climate:393]: Fan Mode: AUTO
[01:54:04][D][climate:399]: Preset: NONE
[01:54:04][D][climate:405]: Swing Mode: OFF
[01:54:04][D][climate:408]: Current Temperature: 25.00°C
[01:54:04][D][climate:414]: Target Temperature: 22.00°C
(yes, i forgot to add substitution section )
In HA all looks ok on the first sight and control test, apart from outdoor temperature, seems about 10C off, but after a quick glance at previous posts, guess that was discussed here before.
Maybe just the long time no use thing.