Skip to content

Midea Heat Pump Water Heater Integration v0.0.2

Choose a tag to compare

@0xAHA 0xAHA released this 23 Aug 08:33
df97471

🔥 Midea Heat Pump Water Heater Integration v0.0.2

Bug fixes and enhanced functionality! Improved Modbus mode handling and added full Electric mode support.


🎉 What's New in v0.0.2

🔄 Bug Fix Release - Resolved mode sensor issues and enhanced Modbus integration

✨ New Features

  • Full Electric mode support - Complete e-heater functionality
  • Enhanced mode sensor integration - Replaced mode switches with direct register reading
  • Improved state synchronization - Better tracking of actual heat pump state
  • Mode-specific icons - Visual indicators for each operation mode
  • Enhanced error handling - Better resilience to sensor failures

🐛 Fixed in v0.0.2

  • 🔧 Corrected Modbus register values - Fixed eco mode not setting (1=Eco, 2=Performance, 4=Electric)
  • 🔧 Removed unreliable mode switch - Now uses mode sensor for accurate state tracking
  • 🔧 Fixed entity initialization errors - Resolved missing method issues
  • 🔧 Improved temperature sensor handling - Better failsafe when sensors unavailable
  • 🔧 Clean up legacy code - Removed unused mapping functions

🎛️ Supported Operation Modes

HA Mode Description Modbus Value Midea Equivalent
Off Water heater disabled - Off
Eco Energy efficient heating 1 Economy mode
Performance High performance heating 2 Hybrid mode
Electric Electric-only heating 4 E-heater mode

🐛 Known Issues & Limitations

  • Modbus dependency: Requires existing modbus integration setup
  • Manual configuration: No UI config flow (YAML only)
  • Single device: Currently supports one heat pump per installation

⚙️ Configuration Example

midea_heatpump_hws:
  water_heatpump:
    heater_switch: switch.water_heatpump_on_off_toggle
    mode_sensor: sensor.water_heatpump_mode
    temperature_sensor: sensor.water_heatpump_temperature_bottom_of_tank_T5L
    target_temperature: 65
    min_temp: 40
    max_temp: 75
    modbus_hub: waveshare1
    modbus_unit: 1
    target_temp_register: 2

Result: Creates water_heater.water_heatpump entity


🔧 Technical Details

Modbus Register Mapping

  • Mode Control: Register 1 (values: 1=Eco, 2=Performance, 4=Electric)
  • Target Temperature: Register 2 (direct temperature value)
  • Current Temperature: Register 102 (with offset -15, scale 0.5)

Dependencies

  • Existing Modbus setup with sensors and switches configured
  • Home Assistant 2024.1+ (uses modern water_heater domain features)

🐛 Known Issues & Limitations

  • Modbus dependency: Requires existing modbus integration setup
  • Single device support: Currently supports one heat pump per installation
  • Manual configuration: No UI config flow (YAML only)
  • Mode sensor required: Must have Modbus sensor reading mode register

🔄 Version 0.0.2 Fixes

Critical Fixes

  • 🚨 Fixed eco mode not working - Corrected register value from 0 to 1
  • 🚨 Resolved entity loading errors - Fixed missing _async_sensor_changed method
  • 🚨 Removed broken mode switch logic - Switched to reliable mode sensor approach

Improvements

  • 🔧 Better Modbus integration - Direct register reading/writing for modes
  • 🔧 Enhanced state tracking - Improved sync between HA and physical device
  • 🔧 Cleaner configuration - Simplified setup with mode sensor instead of switches
  • 🔧 Improved logging - Better debug information for troubleshooting

⚠️ Breaking Changes from v0.0.1

Configuration Update Required:

Old (v0.0.1):

midea_heatpump_hws:
  water_heatpump:
    mode_switch: switch.water_heatpump_offeconomy_onhybrid_toggle  # ❌ Removed

New (v0.0.2):

midea_heatpump_hws:
  water_heatpump:
    mode_sensor: sensor.water_heatpump_mode  # ✅ Required

Users upgrading from v0.0.1 must:

  1. Remove mode_switch configuration
  2. Add mode_sensor configuration pointing to Modbus mode register sensor
  3. Ensure mode sensor reads from register 1 with values 1/2/4

📝 Breaking Changes

None (initial release)


🙏 Credits

This integration builds upon the excellent work of: