Skip to content

[Feature Request] : implement swing_horizontal_mode/swing_horizontal_modes #1032

@roumano

Description

@roumano

Configuration

I've create a versatile thermostat over a existing thermostat

The original thermostat have a swing_horizontal_modes :

swing_horizontal_modes:
  - auto
  - 1_left
  - "2"
  - "3"
  - "4"
  - 5_right
  - split
  - swing
swing_horizontal_mode: "3"

The versatile climate created from it doesn't have it :

swing_horizontal_modes: []
swing_horizontal_mode: ""

So i can't manage the swing from the GUI over the versatile climate : (i've click on the "Mode oscillation" and we can see a small empty list bellow "Mode oscillation") :

Image

If i use the gui over the original climate, i can mange the horizontal swing :

Image

  • My Full original climate attributes :
hvac_modes:
  - "off"
  - heat
  - dry
  - cool
  - fan_only
  - heat_cool
min_temp: 16
max_temp: 31
target_temp_step: 0.5
fan_modes:
  - auto
  - "1"
  - "2"
  - "3"
  - "4"
  - "5"
swing_modes:
  - auto
  - 1_up
  - "2"
  - "3"
  - "4"
  - 5_down
  - swing
swing_horizontal_modes:
  - auto
  - 1_left
  - "2"
  - "3"
  - "4"
  - 5_right
  - split
  - swing
current_temperature: 23
temperature: 17.5
fan_mode: "3"
swing_mode: 5_down
swing_horizontal_mode: "3"
vane_horizontal: "3"
vane_horizontal_positions:
  - auto
  - 1_left
  - "2"
  - "3"
  - "4"
  - 5_right
  - split
  - swing
vane_vertical: 5_down
vane_vertical_positions:
  - auto
  - 1_up
  - "2"
  - "3"
  - "4"
  - 5_down
  - swing
friendly_name: Clim RDC
supported_features: 937
  • My Full versatile climate attributes:
hvac_modes:
  - "off"
  - heat
  - dry
  - cool
  - fan_only
  - heat_cool
min_temp: 16
max_temp: 31
target_temp_step: 0.5
fan_modes:
  - auto
  - "1"
  - "2"
  - "3"
  - "4"
  - "5"
preset_modes:
  - none
  - frost
  - eco
  - comfort
  - boost
swing_modes:
  - auto
  - 1_up
  - "2"
  - "3"
  - "4"
  - 5_down
  - swing
swing_horizontal_modes: []
current_temperature: 23.5
temperature: 18.5
fan_mode: "3"
hvac_action: idle
preset_mode: eco
swing_mode: 5_down
swing_horizontal_mode: ""
is_on: true
hvac_mode: dry
type: null
is_controlled_by_central_mode: true
last_central_mode: Stopped
frost_temp: 16
eco_temp: 18.5
boost_temp: 20
comfort_temp: 19.5
frost_away_temp: 0
eco_away_temp: 0
boost_away_temp: 0
comfort_away_temp: 0
target_temperature_step: 0.5
ext_current_temperature: 12.7
ac_mode: true
saved_preset_mode: eco
saved_target_temp: 18.5
saved_hvac_mode: "off"
last_temperature_datetime: "2025-05-22T11:24:36.398684+02:00"
last_ext_temperature_datetime: "2025-05-22T11:24:36.398684+02:00"
minimal_activation_delay_sec: 10
minimal_deactivation_delay_sec: 0
total_energy: 0
last_update_datetime: "2025-05-22T11:26:08.063827+02:00"
timezone: Europe/Paris
temperature_unit: °C
is_device_active: false
device_actives: []
nb_device_actives: 0
ema_temp: 23.48
is_used_by_central_boiler: false
temperature_slope: -0.12
hvac_off_reason: null
max_on_percent: null
have_valve_regulation: false
last_change_time_from_vtherm: "2025-05-22T11:24:36.398709+02:00"
presence_sensor_entity_id: null
presence_state: unavailable
is_presence_configured: false
power_sensor_entity_id: null
max_power_sensor_entity_id: null
overpowering_state: unavailable
is_power_configured: false
device_power: 2
power_temp: null
current_power: null
current_max_power: null
mean_cycle_power: null
motion_sensor_entity_id: null
motion_state: unavailable
is_motion_configured: false
motion_delay_sec: 0
motion_off_delay_sec: 0
motion_preset: null
no_motion_preset: null
window_state: unavailable
window_auto_state: unavailable
window_action: window_turn_off
is_window_bypass: false
window_sensor_entity_id: null
window_delay_sec: null
window_off_delay_sec: null
is_window_configured: false
is_window_auto_configured: false
window_auto_open_threshold: null
window_auto_close_threshold: null
window_auto_max_duration: null
is_safety_configured: true
safety_state: "off"
safety_delay_min: 120
safety_min_on_percent: 0.5
safety_default_on_percent: 0.1
is_auto_start_stop_configured: false
is_over_climate: true
start_hvac_action_date: null
underlying_entities:
  - climate.clim_rdc
is_regulated: true
regulated_target_temperature: 17.5
auto_regulation_mode: auto_regulation_medium
regulation_accumulated_error: -11.954999999999998
auto_fan_mode: auto_fan_high
current_auto_fan_mode: auto_fan_high
auto_activated_fan_mode: null
auto_deactivated_fan_mode: auto
auto_regulation_use_device_temp: false
follow_underlying_temp_change: false
friendly_name: Clim RDC
supported_features: 953

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requestneed PRInteresting improvements that could be easily done with a PR.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions