Skip to content

hardware_settings for Thermal Off Fan (codes 125/127) not working on SEZ ducted units #499

@pfbns

Description

@pfbns

hardware_settings for Thermal Off Fan (codes 125/127) not working on SEZ ducted units

Summary

The hardware_settings feature returns only zeros on my SEZ-KD25VAQ ducted unit, preventing configuration of thermal off fan behavior (function codes 125/127). However, this functionality definitely exists via CN105 since Mitsubishi's own MHK1/MHK2 controllers use the same CN105 connector to configure these exact settings.

Hardware

  • Indoor Unit: SEZ-KD25VAQ (ducted)
  • ESP Device: M5Stack NanoC6
  • ESPHome Version: 2025.12.x
  • MitsubishiCN105ESPHome Version: Latest from main branch

The Problem

When I add hardware_settings to my configuration:

climate:
  - platform: cn105
    id: ac_clima
    name: "AC Sala/Cozinha"
    uart_id: HP_UART
    update_interval: 6s
    
    hardware_settings:
      update_interval: 24h
      list:
        - code: 125
          name: "Fan during Thermo-OFF (Heat)"
          options:
            1: "Extra Low (Default)"
            2: "Stop"
            3: "Set Speed"
        - code: 127
          name: "Fan during Thermo-OFF (Cool)"
          options:
            1: "Set Speed (Default)"
            2: "Stop"

The component returns zeros and disables polling, as documented. However, this is not a unit limitation.

Evidence that CN105 supports Function Settings on ducted units

1. Official Mitsubishi Documentation

Mitsubishi's Application Note 3048 ("How to turn off the indoor unit fan when set point is met") explicitly lists SEZ series as compatible with Method 1: Function Settings via controllers like MHK1/MHK2.

PDF: http://enter.mehvac.com.s3.amazonaws.com/DAMRoot/Original/10006/Application%20Note%203048%20ME%20-%20How%20to%20turn%20off%20indoor%20unit%20fan%20when%20set%20point%20is%20met.pdf

The document shows:

  • Code 125 - Thermal Off Fan Operation (Heat Mode): 1=Extra Low, 2=Stop, 3=Set Speed
  • Code 127 - Thermal Off Fan Operation (Cool Mode): 1=Set Speed, 2=Stop, 3=Extra Low

2. MHK1/MHK2 use CN105

The MHK1 and MHK2 wireless controllers connect via the same CN105 connector and can configure these settings:

  • Hold Fan + Up Arrow for 3 seconds
  • Navigate to FS 125 or FS 127
  • Select option 2 for "Stop"

This proves the protocol supports reading/writing function settings - the MHK1/MHK2 are doing exactly this over CN105 serial.

3. Community Confirmation

Multiple sources confirm this works on ducted units:

Request

Could someone with an MHK1/MHK2 controller help capture the actual UART packets when reading/writing function settings 125/127? This would allow proper implementation in the library.

Alternatively, if anyone has documentation on the packet format for function settings (likely using command bytes different from the standard 0x41/0x42), please share.

Workaround

Currently using a Home Assistant automation that turns off the AC when compressor frequency reaches 0 Hz. This works but is not as elegant as native thermal-off support:

automation:
  - alias: "Stop Indoor Fan When Compressor Idle"
    trigger:
      - platform: numeric_state
        entity_id: sensor.ac_compressor_frequency
        below: 1
        for: "00:01:00"
    condition:
      - condition: state
        entity_id: climate.ac_unit
        state: ['cool', 'heat']
    action:
      - service: climate.turn_off
        target:
          entity_id: climate.ac_unit

Questions

  1. What packet format does the library currently use to query function settings?
  2. Has anyone successfully captured MHK1/MHK2 traffic when configuring function settings?
  3. Is there a different command byte or packet structure needed for ISU (Installer Setup) settings vs. normal operation settings?

Thank you for this excellent project! Happy to help test any fixes on my SEZ-KD25VAQ unit.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions