Overall Comment: The Midea devices are marketed under several different brands. There is variation in how and what can be controlled by the binding and other web applications (like NetHome). The binding version below tries to cover as many options as possible. If it can't be controlled, the fallback is to at least report (read only) on what the IR controller has set. The IR controller will have all the functions of the device.
Detail comments on changes: Improved connection manager flow to check V3 authorization before each command. This allows for longer times between polls. Now 30 seconds minimum for polling (up from 10). Max poll interval can be set on the UI page according to needs. Minimum timeout was raised to 2 seconds to allow for a second try (if first message gets dropped). Changed to allow response bytes greater than 21 to be processed. Fixed all allowable Fahrenheit setpoints to work. Indoor and outdoor temp responses adjusted for correctness compared to NetHome App output. If no outdoor reading when AC is off, Zero is reported. Swing is available for version 3 if your device supports. Turbo and sleep modes mode switchable if device supports. ECO mode switch sets temperature to 24C and fan to auto (cool mode only). ON & OFF timers can now be set. Logging optimized so Debug has key items and info logs minimized. If you have an issue please provide debug log in code fences on the OH forum with your issues. No screen shots please.
THIS COULD BE BREAKING (AUG13+) The cloud provider is now required for V3 devices. This allowed removal of fixed references to MSmart app in the code. If you already have token and key, your cloud account and password are still optional, but are needed to auto-discover now.
OH related (behind the scenes for official status): Apache dependency no longer required. All OH code compile issues are cleared. Added unit testing of Response, SetCommand, Discovery, Configuration and Security classes. Updated README.md, added javadocs. Changed disconnect to the start of a command / Poll. Added filter for only supported XC0 response.
README.md
You can verify your device capability on the msmart-ng python script.. If MSmart is not your cloud provider, just use --token --key --id from OH UI page and the --capability flag to validate what your device supports. Note negative --id, add the negative to 281474976710656, for your positive --id