---
title: "KNX Climate"
description: "Instructions on how to integrate KNX thermostats with Home Assistant."
ha_category:
- Climate
ha_release: 0.25
ha_iot_class: Local Push
ha_domain: knx
---
The `knx` integration must be configured correctly to use this integration, see [KNX Integration](/integrations/knx).
The `knx` climate platform is used as an interface to KNX thermostats and room controllers.
To use your KNX thermostats in your installation, add the following lines to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
climate:
- platform: knx
name: HASS-Kitchen.Temperature
temperature_address: '5/1/1'
setpoint_shift_address: '5/1/2'
setpoint_shift_state_address: '5/1/3'
target_temperature_state_address: '5/1/4'
operation_mode_address: '5/1/5'
operation_mode_state_address: '5/1/6'
```
Alternatively, if your device has dedicated binary group addresses for frost/night/comfort mode:
```yaml
# Example configuration.yaml entry
climate:
- platform: knx
name: HASS-Kitchen.Temperature
temperature_address: '5/1/1'
setpoint_shift_address: '5/1/2'
setpoint_shift_state_address: '5/1/3'
target_temperature_state_address: '5/1/4'
operation_mode_frost_protection_address: '5/1/5'
operation_mode_night_address: '5/1/6'
operation_mode_comfort_address: '5/1/7'
operation_mode_state_address: '5/1/8'
```
If your device doesn't support setpoint_shift calculations (i.e., if you don't provide a `setpoint_shift_address` value) please set the `min_temp` and `max_temp`
attributes of the climate device to avoid issues with exceeding valid temperature values in the frontend. Please do also make sure to add the `target_temperature_address`
to the configuration in this case.:
```yaml
# Example configuration.yaml entry
climate:
- platform: knx
name: HASS-Kitchen.Temperature
temperature_address: '5/1/2'
target_temperature_address: '5/1/4'
target_temperature_state_address: '5/1/1'
operation_mode_frost_protection_address: '5/1/5'
operation_mode_night_address: '5/1/6'
operation_mode_comfort_address: '5/1/7'
operation_mode_state_address: '5/1/8'
min_temp: 7.0
max_temp: 32.0
```
`operation_mode_frost_protection_address` / `operation_mode_night_address` / `operation_mode_comfort_address` are not necessary if `operation_mode_address` is specified.
If the actor doesn't support explicit state communication objects the *_state_address can be configured with the same group address as the writeable *_address. The Read-Flag for the *_state_address communication object has to be set in ETS to support initial reading e.g., when starting Home Assistant.
The following values are valid for the `hvac_mode` attribute:
- Off (maps internally to HVAC_MODE_OFF within Home Assistant)
- Auto (maps internally to HVAC_MODE_AUTO within Home Assistant)
- Heat (maps internally to HVAC_MDOE_HEAT within Home Assistant)
- Cool (maps internally to HVAC_MDOE_COOL within Home Assistant)
- Fan only (maps internally to HVAC_MODE_FAN_ONLY within Home Assistant)
- Dry (maps internally to HVAC_MODE_DRY within Home Assistant)
The following presets are valid for the `preset_mode` attribute:
- Comfort (maps internally to PRESET_COMFORT within Home Assistant)
- Standby (maps internally to PRESET_AWAY within Home Assistant)
- Night (maps internally to PRESET_SLEEP within Home Assistant)
- Frost Protection (maps internally to PRESET_ECO within Home Assistant)
{% configuration %}
name:
description: A name for this device used within Home Assistant.
required: false
default: KNX Climate
type: string
temperature_address:
description: KNX group address for reading current room temperature from KNX bus. *DPT 9.001*
required: true
type: string
target_temperature_address:
description: KNX group address for setting target temperature. *DPT 9.001*
required: false
type: string
target_temperature_state_address:
description: KNX group address for reading current target temperature from KNX bus. *DPT 9.001*
required: true
type: string
setpoint_shift_address:
description: KNX address for setpoint_shift. *DPT 6.010*
required: false
type: string
setpoint_shift_state_address:
description: KNX address for reading setpoint_shift. *DPT 6.010*
required: false
type: string
setpoint_shift_step:
description: Defines the step size in Kelvin for each step of setpoint_shift.
required: false
default: 0.5
type: float
setpoint_shift_min:
description: Minimum value of setpoint shift.
required: false
default: -6
type: float
setpoint_shift_max:
description: Maximum value of setpoint shift.
required: false
default: 6
type: float
operation_mode_address:
description: KNX address for setting operation mode (Frost protection/night/comfort). *DPT 20.102*
required: false
type: string
operation_mode_state_address:
description: KNX address for reading operation mode. *DPT 20.102*
required: false
type: string
controller_status_address:
description: KNX address for HVAC controller status (in accordance with KNX AN 097/07 rev 3).
required: false
type: string
controller_status_state_address:
description: KNX address for reading HVAC controller status.
required: false
type: string
controller_mode_address:
description: KNX address for setting HVAC controller modes. *DPT 20.105*
required: false
type: string
controller_mode_state_address:
description: KNX address for reading HVAC Control Mode. *DPT 20.105*
required: false
type: string
operation_mode_frost_protection_address:
description: KNX address for switching on/off frost/heat protection mode.
required: false
type: string
operation_mode_night_address:
description: KNX address for switching on/off night mode.
required: false
type: string
operation_mode_comfort_address:
description: KNX address for switching on/off comfort mode.
required: false
type: string
operation_modes:
description: Overrides the supported operation modes.
required: false
type: list
on_off_address:
description: KNX address for switching the climate device on/off.
required: false
type: string
on_off_invert:
description: Value for switching the climate device on/off is inverted.
required: false
default: false
type: boolean
on_off_state_address:
description: KNX address for gathering the current state (on/off) of the climate device.
required: false
type: string
min_temp:
description: Override the minimum temperature.
required: false
type: float
max_temp:
description: Override the maximum temperature.
required: false
type: float
{% endconfiguration %}