Normally when trying to decode I look for what changes on user action.
For example if setting fan mode to high changes a 1 to 3 then thats probably the fan mode byte (or potentially bits).
Knowing what action was performed is key to working out what they say.
But from this you have commands: 2A, 2E, 2F, 20, 23
A couple notes from the protocol its a request → response style where the command id stays the same. This is good.
2F/2E/20 is the most likely candidates for large status reads. They may also still be set commands on the query side if its anything like the regular XYE interface.
2A may be a read register command given the variable length responses.
There are some repeated byte strings through different commands. This may indicate an overlap in returned values (i.e the queries are commands to set / do something and the response is the current status) similar to XYE