mac-zhou / midea-msmart

This is a library to allow communicating to a Midea AC via the Local area network.
MIT License
146 stars 39 forks source link

Version 3 issue with swing mode and fan speed #77

Open justanoldman opened 2 years ago

justanoldman commented 2 years ago

Hi just tried using the latest version for a V3 a/c and the swing mode does not function at all works fine for V2 A/C also the fan speed returns unknown for Full changes the speed ok but does not seem to report status correctly in both V2 and V3 and in V3 all other speeds except High return unknown for status V2 returns fine but V3 seems to return different value ie V2 low returns 40 in debug in V3 low returns 30 in debug same for medium and silent as well

mac-zhou commented 2 years ago

sorry, I didn't get it. can you redescribe the problem? If you are chinese, you can use chinese.

justanoldman commented 2 years ago

Hi, The swing mode does not work to turn on or off the swing mode Off Vertical Horizontal Both setting do nothing when sent to a A/C Unit that is version 3 This function works fine for unit that is Version 2 Fan speeds return different Value from V2 A/C and V3 A/C see snippet below commands sent using example.py

Version 2 Target A/C commands sent device.fan_speed = ac.fan_speed_enum.Full device.swing_mode = ac.swing_mode_enum.Both

debug returns DEBUG:msmart.device.AC.appliance:Unknown Fan Speed: 0 {'id': *****, 'name': '192.168.1.51', 'power_state': True, 'prompt_tone': True, 'target_temperature': 24.0, 'operational_mode': <operational_mode_enum.cool: 2>, 'fan_speed': <fan_speed_enum.Auto: 102>, 'swing_mode': <swing_mode_enum.Both: 15>, 'eco_mode': False, 'turbo_mode': False, 'indoor_temperature': 22.0, 'outdoor_temperature': 22.5}

Version 2 Target A/C commands sent device.fan_speed = ac.fan_speed_enum.Low

debug returns DEBUG:msmart.command:Appliance response data: c00148287f7f003f0000005f5f00000000000000000000008c74 {'id': ***, 'name': '192.168.1.51', 'power_state': True, 'prompt_tone': True, 'target_temperature': 24.0, 'operational_mode': <operational_mode_enum.cool: 2>, 'fan_speed': <fan_speed_enum.Low: 40>, 'swing_mode': <swing_mode_enum.Both: 15>, 'eco_mode': False, 'turbo_mode': False, 'indoor_temperature': 22.0, 'outdoor_temperature': 22.5}

Version 3 Version 3 Target A/C commands sent device.fan_speed = ac.fan_speed_enum.Full device.swing_mode = ac.swing_mode_enum.Both

debug returns DEBUG:msmart.device.AC.appliance:Unknown Fan Speed: 0 {'id': **, 'name': '192.168.1.99', 'power_state': True, 'prompt_tone': True, 'target_temperature': 24.0, 'operational_mode': <operational_mode_enum.cool: 2>, 'fan_speed': <fan_speed_enum.Auto: 102>, 'swing_mode': <swing_mode_enum.Off: 0>, 'eco_mode': False, 'turbo_mode': False, 'indoor_temperature': 22.0, 'outdoor_temperature': 21.5, }

Version 3 Version 3 Target A/C commands sent device.fan_speed = ac.fan_speed_enum.Low

debug returns DEBUG:msmart.device.AC.appliance:Unknown Fan Speed: 30 {'id': **, 'name': '192.168.1.99', 'power_state': True, 'prompt_tone': True, 'target_temperature': 24.0, 'operational_mode': <operational_mode_enum.cool: 2>, 'fan_speed': <fan_speed_enum.Auto: 102>, 'swing_mode': <swing_mode_enum.Off: 0>, 'eco_mode': False, 'turbo_mode': False, 'indoor_temperature': 22.0, 'outdoor_temperature': 21.0, }

I can provide full out from both if needed but the above behavior is what I am talking about