Midea Heat Pump Water Heater Integration v0.0.2
🔥 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_changedmethod - 🚨 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:
- Remove
mode_switchconfiguration - Add
mode_sensorconfiguration pointing to Modbus mode register sensor - 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:
- dgomes - Original Generic Water Heater
- ill_hey - Hardware setup and HA Community guidance
- BrittonA - Initial Modbus configuration