Skip to content

# Midea Heat Pump Water Heater v0.1.0

Choose a tag to compare

@0xAHA 0xAHA released this 28 Aug 08:32
58f1a81

Midea Heat Pump Water Heater v0.1.0

Major architectural upgrade - Direct Modbus integration eliminates external dependencies.


What's New in v0.1.0

Built-in Modbus Client

  • Self-contained integration - No longer requires external modbus.yaml configuration
  • Direct register communication - Built-in pymodbus client handles all Modbus operations
  • Simplified setup - Single configuration block in configuration.yaml
  • Better connection handling - Automatic reconnection and error recovery
  • Configurable polling - User-defined scan intervals

Enhanced Configuration

  • Friendly name support - Customize entity display names
  • Direct register addressing - Configure temp, mode, power, and target registers
  • Temperature scaling options - Built-in offset and scale parameters
  • Flexible temperature limits - User-defined min/max values

Breaking Changes from v0.0.2

Configuration Migration Required:

Old Configuration (v0.0.2):

# Required separate modbus.yaml file
modbus: !include modbus.yaml

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
    # ... additional config

New Configuration (v0.1.0):

midea_heatpump_hws:
  water_heatpump:
    friendly_name: "Hot Water System"
    modbus_host: 192.168.1.80
    modbus_port: 502
    modbus_unit: 1
    scan_interval: 30
    temp_register: 102
    target_temp_register: 2
    mode_register: 1
    power_register: 0
    temp_offset: -15
    temp_scale: 0.5
    target_temperature: 65
    min_temp: 40
    max_temp: 75

Migration Steps

  1. Remove external modbus configuration - Delete modbus sensors and switches from modbus.yaml
  2. Update configuration.yaml - Replace entity references with direct modbus parameters
  3. Remove modbus include - No longer need modbus: !include modbus.yaml

Technical Improvements

Modbus Communication

  • AsyncModbusTcpClient - Uses modern async modbus client
  • Robust error handling - Graceful connection failure recovery
  • Optimized polling - Batch register reads in single operations
  • Connection management - Automatic connect/disconnect handling

Register Support

  • Temperature monitoring - Register 102 with offset/scale support
  • Target temperature control - Register 2 for setpoint writes
  • Operation mode control - Register 1 (values: 1=Eco, 2=Performance, 4=Electric)
  • Power state control - Register 0 for on/off operations

Dependencies

  • pymodbus>=3.0.0 - Added for direct modbus communication
  • Home Assistant 2024.1+ - Required for modern water_heater features

Known Issues

  • Single device limitation - Currently supports one heat pump per installation
  • Manual configuration - No UI config flow (YAML only)
  • Network dependency - Requires stable connection to RS485 adapter

What's Next

Planned for v0.2.0:

  • Configuration UI (eliminate YAML editing)
  • Enhanced diagnostics (connection status monitoring)
  • Multi-device support
  • Energy monitoring capabilities

Full documentation: [README.md](https://github.com/0xAHA/Midea-Heat-Pump-HA/blob/main/README.md)