Thanks for posting the comparison charts!
Regarding control frequency: The inverter tester displays 4 properties related to compressor frequency:
- Indoor target frequency (always 0)
- Outdoor target frequency (equivalent to
compressor_frequency_outdoor_target / 0x02[2])
- Outdoor control frequency (always 0)
- Outdoor operating frequency (equivalent to
compressor_frequency_actual_int / 0x02[3])
I can emulate the ODU with all payload bytes set to 255 - it still displays zero for Indoor target frequency & Outdoor control frequency.
Here is the fake ODU data that I sent to the inverter tester:
uint8_t responsePayloads[NUM_RESPONSES][FRAME_BYTES] = {
{0x55, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xB2},
{0x55, 0x01, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xB1},
{0x55, 0x02, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xB0},
{0x55, 0x03, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xAF},
{0x55, 0x04, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xAE},
{0x55, 0x05, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xAD},
{0x55, 0x06, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xAC},
};
Here is what it displays:
With Google translate:
I mapped compressor_frequency_outdoor_control & compressor_frequency_indoor_target based on the mappings you shared earlier in the thread:
compressor_frequency_outdoor_control:
{"compressor_frequency_odu", 0x04, {7}, 1, [](const uint8_t f[][FRAME_SIZE]) { return (float) f[0x04][7]; }},
compressor_frequency_indoor_target:
{"indoor_demand_frequency", 0x04, {8}, 1, [](const uint8_t f[][FRAME_SIZE]) {
It’s nothing I can confirm with the inverter tester, so I just took your newly discovered mappings and connected some dots (in a somewhat random manner). I have no idea if that’s correct. And I have no idea what the control frequency means.
Here is the latest list of mappings related to compressor frequency:
It takes probably 2-3 seconds for a value to update on the screen. That’s either way as fast as it gets given that the bus is relatively slow.