First I just want to offer a huge thanks to all who have contributed to this excellent documentation. I managed to create a working (prototype) implementation for controlling my heatpump in a single weekend by simply following this specification (and some other resources, mainly pymitsubishi, since I communicate via the wifi module).
But there was one thing that tripped me for a bit, namely how the "Update Flags" (bytes 1-2 in command 0x01. Example: to turn on the power, the page says the flags should be set to 0x0001, but the actual packet needs to look like
[FC.41.01.30.10] 01.**01.00**.01.00.00.00.00.00.00.00.00.00.00.00.00 7B
This could be correct if the flags are written little-endian, but all other multi-byte values (e.g., the error code in Get Error State seems to be big-endian, so it gets confusing to mix the two. Is this a mistake in the documentation, or have I misunderstood something?
I can provide a PR to fix it if it turns out to be a mistake.
First I just want to offer a huge thanks to all who have contributed to this excellent documentation. I managed to create a working (prototype) implementation for controlling my heatpump in a single weekend by simply following this specification (and some other resources, mainly pymitsubishi, since I communicate via the wifi module).
But there was one thing that tripped me for a bit, namely how the "Update Flags" (bytes 1-2 in command 0x01. Example: to turn on the power, the page says the flags should be set to
0x0001, but the actual packet needs to look likeThis could be correct if the flags are written little-endian, but all other multi-byte values (e.g., the error code in Get Error State seems to be big-endian, so it gets confusing to mix the two. Is this a mistake in the documentation, or have I misunderstood something?
I can provide a PR to fix it if it turns out to be a mistake.