KNX climate - Intesisbox air condition

Hi everyone,
I am struggeling with the control of an air condition connected via KNX. The KNX interface is set correctly, I am getting values and can also switch the air condition on and off - but just configured as a switch (in switch.yaml). So in general KNX is comunicating with home assistant. I would like to set the air condition as separate climate entity. I created a file called “climate.yaml” and did an include in my configuration.yaml. Now I put in all the values I configured in the KNX ETS software. Here is my climate.yaml:

- platform: knx
  name: kidsroom.climate
  on_off_address: '8/1/1'
  on_off_state_address: '8/1/21'
  temperature_address: '8/1/33'
  target_temperature_address: '8/1/13'
  target_temperature_state_address: '8/1/33'
  controller_mode_address: '8/1/2'
  controller_mode_state_address: '8/1/22'
  min_temp: 21
  max_temp: 30

But then I get no on/off status, double “heating” mode etc. Here the screenshot:

climate_kidsroom

In the developer tools / states section I can see the following:

hvac_modes:
  - auto
  - heat
  - cool
  - fan_only
  - dry
  - heat
  - 'off'
min_temp: 21
max_temp: 30
target_temp_step: 0.1
preset_modes:
  - away
current_temperature: 26
temperature: 26
preset_mode: away
friendly_name: kidsroom.climate
supported_features: 17

I haven’t any “preset modes” and not two “heat” hvac_modes. Also the target temperature is 25.5 degrees Celsius - not displaying at all. What am I doing wrong here?

I don’t think you did anything wrong. The Knx climate integration is a bit messy - especially when it comes to climate modes.
The target temperature should be working ok though.

If you like you can try the Knx integrations development branch. I did some changes to the climate mode that may or may not fix your problems. https://github.com/XKNX/xknx/tree/next

1 Like

Thanks, I really started doubting me… I will try the development branch. Currently, I am living in an appartment with Loxone but want to move to a house an build all with KNX. So actually everything is in a testing mode (and even the HA runs in a test docker container).

Unfortunately it did not work out. Seems like I have no chance currently to integrate the ACs into HA… pity. If I can provide any information for fixing this issue, just drop me a note. Or maybe you have another idea how to solve this issue…

Do you have the same problem with the custom component? Have you changed the config to

climate
  - platform: xknx #instead of knx `

?

Right, I placed xknx in the custom_components folder and changed platform to xknx. I just could see the temperature in the UI, but still two heat signs and doesn’t show changes in the mode.

Do you mean the HA UI doesn’t change when you switch mode from Knx?
Or is no telegram sent when you change mode from HA?

Could you provide debug logging from xknx? (You can also create a GitHub issue if you like - logs are more readable there)

Right, if I e.g. click on the “cool” sign, it switches to cooling. Also working with fan only. But the UI still highlights “heat” - both of them as you can see in the screenshot.

I need to change the logging to debug and test it again to produce some valuable data. For sure I can create an issue in github, will try tomorrow if I get the time to test and generate logging data.

1 Like

Seems like I am doing something wrong again (with logger): I just can set the default log level to debug, but neither “custom_components.xknx: debug” nor “homeassistant.components.climate: debug” shows any messages, when I want to test the climate component. Here the log from the start, I at least hope xknx is loaded correctly:

2020-07-22 08:53:49 WARNING (MainThread) [homeassistant.loader] You are using a custom integration for xknx which has not been tested by Home Assistant. This component might cause stability problems, be sure to disable it if you experience issues with Home Assistant.
2020-07-22 08:53:49 INFO (MainThread) [homeassistant.setup] Setting up http
2020-07-22 08:53:49 INFO (MainThread) [homeassistant.setup] Setup of domain logger took 0.2 seconds.
2020-07-22 08:53:49 INFO (MainThread) [homeassistant.setup] Setup of domain http took 0.0 seconds.
2020-07-22 08:53:49 INFO (MainThread) [homeassistant.setup] Setting up system_log
2020-07-22 08:53:49 INFO (MainThread) [homeassistant.setup] Setup of domain system_log took 0.0 seconds.
2020-07-22 08:53:49 INFO (MainThread) [homeassistant.setup] Setup of domain recorder took 0.1 seconds.
2020-07-22 08:53:49 INFO (MainThread) [homeassistant.bootstrap] Setting up stage 1: {'websocket_api', 'onboarding', 'hassio', 'frontend', 'lovelace', 'webhook', 'person', 'search', 'config', 'api', 'device_automation', 'system_log', 'auth', 'alexa', 'http', 'cloud'}
2020-07-22 08:53:49 INFO (MainThread) [homeassistant.setup] Setting up lovelace
2020-07-22 08:53:49 INFO (MainThread) [homeassistant.setup] Setting up person
2020-07-22 08:53:49 INFO (MainThread) [homeassistant.setup] Setting up device_automation
2020-07-22 08:53:49 INFO (MainThread) [homeassistant.setup] Setting up websocket_api
2020-07-22 08:53:49 INFO (MainThread) [homeassistant.setup] Setting up hassio
2020-07-22 08:53:49 INFO (MainThread) [homeassistant.setup] Setting up webhook
2020-07-22 08:53:49 INFO (MainThread) [homeassistant.setup] Setting up config
2020-07-22 08:53:49 INFO (MainThread) [homeassistant.setup] Setting up api
2020-07-22 08:53:49 INFO (MainThread) [homeassistant.setup] Setup of domain device_automation took 0.0 seconds.
2020-07-22 08:53:49 INFO (MainThread) [homeassistant.setup] Setting up auth
2020-07-22 08:53:50 INFO (MainThread) [homeassistant.setup] Setting up alexa
2020-07-22 08:53:50 INFO (MainThread) [homeassistant.setup] Setup of domain websocket_api took 0.1 seconds.
2020-07-22 08:53:50 INFO (MainThread) [homeassistant.setup] Setup of domain webhook took 0.1 seconds.
2020-07-22 08:53:50 INFO (MainThread) [homeassistant.setup] Setup of domain api took 0.1 seconds.
2020-07-22 08:53:50 INFO (MainThread) [homeassistant.setup] Setup of domain auth took 0.1 seconds.
2020-07-22 08:53:50 INFO (MainThread) [homeassistant.setup] Setup of domain alexa took 0.0 seconds.
2020-07-22 08:53:50 INFO (MainThread) [homeassistant.setup] Setup of domain lovelace took 0.2 seconds.
2020-07-22 08:53:50 INFO (MainThread) [homeassistant.setup] Setup of domain config took 0.1 seconds.
2020-07-22 08:53:50 INFO (MainThread) [homeassistant.setup] Setting up search
2020-07-22 08:53:50 INFO (MainThread) [homeassistant.setup] Setup of domain search took 0.0 seconds.
2020-07-22 08:53:50 INFO (SyncWorker_8) [homeassistant.loader] Loaded camera from homeassistant.components.camera
2020-07-22 08:53:50 INFO (MainThread) [homeassistant.setup] Setup of domain person took 0.2 seconds.
2020-07-22 08:53:50 INFO (SyncWorker_7) [homeassistant.loader] Loaded media_player from homeassistant.components.media_player
2020-07-22 08:53:50 INFO (SyncWorker_4) [homeassistant.loader] Loaded google_assistant from homeassistant.components.google_assistant
2020-07-22 08:53:50 INFO (MainThread) [homeassistant.setup] Setting up onboarding
2020-07-22 08:53:50 INFO (MainThread) [homeassistant.setup] Setting up cloud
2020-07-22 08:53:50 INFO (MainThread) [homeassistant.setup] Setup of domain onboarding took 0.8 seconds.
2020-07-22 08:53:50 INFO (MainThread) [homeassistant.setup] Setup of domain cloud took 0.0 seconds.
2020-07-22 08:53:50 INFO (SyncWorker_1) [homeassistant.loader] Loaded device_tracker from homeassistant.components.device_tracker
2020-07-22 08:53:50 INFO (MainThread) [homeassistant.setup] Setting up frontend
2020-07-22 08:53:50 INFO (MainThread) [homeassistant.setup] Setup of domain frontend took 0.0 seconds.
2020-07-22 08:53:50 INFO (MainThread) [homeassistant.setup] Setup of domain hassio took 0.9 seconds.
2020-07-22 08:53:50 INFO (MainThread) [homeassistant.bootstrap] Setting up stage 2: {'updater', 'mobile_app', 'zone', 'tts', 'climate', 'logbook', 'scene', 'automation', 'script', 'map', 'system_health', 'input_select', 'input_number', 'ssdp', 'zeroconf', 'input_boolean', 'sun', 'input_datetime', 'group', 'default_config', 'xknx', 'input_text', 'history', 'mqtt', 'met'}
2020-07-22 08:53:50 INFO (MainThread) [homeassistant.setup] Setting up updater
2020-07-22 08:53:50 INFO (MainThread) [homeassistant.setup] Setting up zone
2020-07-22 08:53:50 INFO (MainThread) [homeassistant.setup] Setting up climate
2020-07-22 08:53:50 INFO (MainThread) [homeassistant.setup] Setting up scene
2020-07-22 08:53:50 INFO (MainThread) [homeassistant.setup] Setting up automation
2020-07-22 08:53:50 INFO (MainThread) [homeassistant.setup] Setting up script
2020-07-22 08:53:50 INFO (MainThread) [homeassistant.setup] Setting up input_select
2020-07-22 08:53:50 INFO (MainThread) [homeassistant.setup] Setting up input_number
2020-07-22 08:53:50 INFO (MainThread) [homeassistant.setup] Setting up input_boolean
2020-07-22 08:53:50 INFO (MainThread) [homeassistant.setup] Setting up sun
2020-07-22 08:53:50 INFO (MainThread) [homeassistant.setup] Setting up input_datetime
2020-07-22 08:53:50 INFO (MainThread) [homeassistant.setup] Setting up group
2020-07-22 08:53:50 INFO (MainThread) [homeassistant.setup] Setting up xknx
2020-07-22 08:53:50 INFO (MainThread) [homeassistant.setup] Setting up input_text
2020-07-22 08:53:50 INFO (MainThread) [homeassistant.setup] Setting up met
2020-07-22 08:53:50 INFO (MainThread) [homeassistant.components.scene] Setting up scene.homeassistant
2020-07-22 08:53:51 INFO (MainThread) [xknx.log] XKNX v0.11.3 starting tunneling connection to KNX bus.
2020-07-22 08:53:51 INFO (MainThread) [homeassistant.setup] Setup of domain updater took 0.1 seconds.
2020-07-22 08:53:51 INFO (SyncWorker_0) [homeassistant.loader] Loaded binary_sensor from homeassistant.components.binary_sensor
2020-07-22 08:53:51 INFO (MainThread) [homeassistant.setup] Setup of domain climate took 0.1 seconds.
2020-07-22 08:53:51 INFO (MainThread) [homeassistant.setup] Setting up logbook
2020-07-22 08:53:51 INFO (MainThread) [homeassistant.setup] Setup of domain automation took 0.1 seconds.
2020-07-22 08:53:51 INFO (MainThread) [homeassistant.setup] Setup of domain script took 0.1 seconds.
2020-07-22 08:53:51 INFO (MainThread) [homeassistant.setup] Setting up map
2020-07-22 08:53:51 INFO (MainThread) [homeassistant.setup] Setting up system_health
2020-07-22 08:53:51 INFO (MainThread) [homeassistant.setup] Setup of domain sun took 0.1 seconds.
2020-07-22 08:53:51 INFO (MainThread) [homeassistant.setup] Setup of domain group took 0.1 seconds.
2020-07-22 08:53:51 INFO (MainThread) [homeassistant.setup] Setting up history
2020-07-22 08:53:51 INFO (MainThread) [homeassistant.setup] Setup of domain met took 0.1 seconds.
2020-07-22 08:53:51 INFO (MainThread) [homeassistant.setup] Setting up binary_sensor
2020-07-22 08:53:51 INFO (MainThread) [homeassistant.setup] Setting up mobile_app
2020-07-22 08:53:51 INFO (SyncWorker_9) [homeassistant.loader] Loaded google_translate from homeassistant.components.google_translate
2020-07-22 08:53:51 INFO (MainThread) [homeassistant.setup] Setup of domain map took 0.1 seconds.
2020-07-22 08:53:51 INFO (MainThread) [homeassistant.setup] Setup of domain system_health took 0.1 seconds.
2020-07-22 08:53:51 INFO (MainThread) [homeassistant.setup] Setting up zeroconf
2020-07-22 08:53:51 INFO (MainThread) [homeassistant.setup] Setup of domain history took 0.1 seconds.
2020-07-22 08:53:51 INFO (MainThread) [homeassistant.setup] Setting up mqtt
2020-07-22 08:53:51 INFO (MainThread) [homeassistant.setup] Setup of domain scene took 0.2 seconds.
2020-07-22 08:53:51 INFO (MainThread) [homeassistant.setup] Setup of domain xknx took 0.2 seconds.
2020-07-22 08:53:51 INFO (MainThread) [homeassistant.setup] Setup of domain input_select took 0.2 seconds.
2020-07-22 08:53:51 INFO (MainThread) [homeassistant.setup] Setup of domain input_datetime took 0.2 seconds.
2020-07-22 08:53:51 INFO (MainThread) [homeassistant.setup] Setup of domain input_text took 0.2 seconds.
2020-07-22 08:53:51 INFO (MainThread) [homeassistant.setup] Setup of domain input_boolean took 0.2 seconds.
2020-07-22 08:53:51 INFO (MainThread) [homeassistant.setup] Setup of domain binary_sensor took 0.1 seconds.
2020-07-22 08:53:51 INFO (MainThread) [homeassistant.setup] Setup of domain input_number took 0.2 seconds.
2020-07-22 08:53:51 INFO (SyncWorker_3) [homeassistant.loader] Loaded weather from homeassistant.components.weather
2020-07-22 08:53:51 INFO (SyncWorker_3) [homeassistant.loader] Loaded cover from homeassistant.components.cover
2020-07-22 08:53:51 INFO (SyncWorker_3) [homeassistant.loader] Loaded light from homeassistant.components.light
2020-07-22 08:53:51 INFO (SyncWorker_5) [homeassistant.loader] Loaded sensor from homeassistant.components.sensor
2020-07-22 08:53:51 INFO (SyncWorker_0) [homeassistant.loader] Loaded switch from homeassistant.components.switch
2020-07-22 08:53:51 INFO (SyncWorker_3) [homeassistant.loader] Loaded notify from homeassistant.components.notify
2020-07-22 08:53:51 INFO (MainThread) [homeassistant.setup] Setting up tts
2020-07-22 08:53:51 INFO (MainThread) [homeassistant.setup] Setup of domain logbook took 0.2 seconds.
2020-07-22 08:53:51 INFO (MainThread) [homeassistant.setup] Setup of domain mqtt took 0.0 seconds.
2020-07-22 08:53:51 INFO (MainThread) [homeassistant.components.climate] Setting up climate.xknx
2020-07-22 08:53:51 INFO (MainThread) [homeassistant.components.climate] Setting up climate.xknx
2020-07-22 08:53:51 INFO (MainThread) [homeassistant.setup] Setting up weather
2020-07-22 08:53:51 INFO (MainThread) [homeassistant.setup] Setting up cover
2020-07-22 08:53:51 INFO (MainThread) [homeassistant.setup] Setting up light
2020-07-22 08:53:51 INFO (MainThread) [homeassistant.setup] Setting up sensor
2020-07-22 08:53:51 INFO (MainThread) [homeassistant.setup] Setting up switch
2020-07-22 08:53:51 INFO (MainThread) [homeassistant.setup] Setting up notify
2020-07-22 08:53:51 INFO (MainThread) [homeassistant.setup] Setup of domain zone took 0.3 seconds.
2020-07-22 08:53:51 INFO (MainThread) [homeassistant.components.scene] Setting up scene.xknx
2020-07-22 08:53:51 INFO (MainThread) [homeassistant.components.binary_sensor] Setting up binary_sensor.updater
2020-07-22 08:53:51 INFO (MainThread) [homeassistant.components.binary_sensor] Setting up binary_sensor.xknx
2020-07-22 08:53:51 INFO (MainThread) [homeassistant.setup] Setup of domain weather took 0.0 seconds.
2020-07-22 08:53:51 INFO (MainThread) [homeassistant.setup] Setup of domain cover took 0.0 seconds.
2020-07-22 08:53:51 INFO (MainThread) [homeassistant.setup] Setup of domain sensor took 0.0 seconds.
2020-07-22 08:53:51 INFO (MainThread) [homeassistant.setup] Setup of domain mobile_app took 0.1 seconds.
2020-07-22 08:53:51 INFO (MainThread) [homeassistant.setup] Setup of domain switch took 0.0 seconds.
2020-07-22 08:53:51 INFO (MainThread) [homeassistant.setup] Setup of domain notify took 0.0 seconds.
2020-07-22 08:53:51 INFO (MainThread) [homeassistant.components.weather] Setting up weather.met
2020-07-22 08:53:51 INFO (MainThread) [homeassistant.setup] Setup of domain light took 0.0 seconds.
2020-07-22 08:53:51 INFO (MainThread) [homeassistant.components.cover] Setting up cover.xknx
2020-07-22 08:53:51 INFO (MainThread) [homeassistant.components.sensor] Setting up sensor.xknx
2020-07-22 08:53:51 INFO (MainThread) [homeassistant.components.switch] Setting up switch.xknx
2020-07-22 08:53:51 INFO (MainThread) [homeassistant.components.notify] Setting up notify.xknx
2020-07-22 08:53:51 INFO (MainThread) [homeassistant.components.notify] Setting up notify.mobile_app
2020-07-22 08:53:51 INFO (MainThread) [homeassistant.setup] Setup of domain tts took 0.1 seconds.
2020-07-22 08:53:51 INFO (MainThread) [homeassistant.components.light] Setting up light.xknx
2020-07-22 08:53:51 INFO (MainThread) [homeassistant.setup] Setup of domain zeroconf took 0.2 seconds.
2020-07-22 08:53:51 INFO (MainThread) [homeassistant.setup] Setting up ssdp
2020-07-22 08:53:51 INFO (MainThread) [homeassistant.setup] Setup of domain ssdp took 0.0 seconds.
2020-07-22 08:53:51 INFO (MainThread) [homeassistant.setup] Setting up default_config
2020-07-22 08:53:51 INFO (SyncWorker_2) [homeassistant.loader] Loaded stream from homeassistant.components.stream
2020-07-22 08:53:51 INFO (MainThread) [homeassistant.setup] Setting up stream
2020-07-22 08:53:51 INFO (MainThread) [homeassistant.setup] Setup of domain stream took 0.0 seconds.
2020-07-22 08:53:51 INFO (MainThread) [homeassistant.setup] Setup of domain default_config took 0.0 seconds.
2020-07-22 08:53:51 INFO (Thread-4) [homeassistant.components.mqtt] Connected to MQTT server core-mosquitto:1883 (0)
2020-07-22 08:53:51 INFO (SyncWorker_3) [homeassistant.loader] Loaded spotify from homeassistant.components.spotify
2020-07-22 08:53:51 INFO (MainThread) [homeassistant.components.updater] Submitted analytics to Home Assistant servers. Information submitted includes {}
2020-07-22 08:53:53 INFO (MainThread) [homeassistant.bootstrap] Home Assistant initialized in 3.79s
2020-07-22 08:53:53 INFO (MainThread) [homeassistant.core] Starting Home Assistant
2020-07-22 08:53:53 INFO (SyncWorker_2) [homeassistant.components.zeroconf] Starting Zeroconf broadcast
2020-07-22 08:53:53 INFO (MainThread) [homeassistant.core] Timer:starting

It loaded xknx v0.11.3 you’d have to switch to the next branch (and use that custom component in ha) to get v0.12.0 .

For logging: try xknx without prefix - see KNX Cookbook (legacy) - #50 by farmio

Logging works, but I don’t see a way to switch to next branch - google didn’t deliver any answers how to switch the branch. Sorry for being such a nerd, but I am just playing around with HA since a few weeks.

Did you use git clone to download xknx?
If so just git checkout next

Else clone the branch directly with
git clone <url> --branch <branch> --single-branch [<folder>]

1 Like

Thanks, but somehow I can’t get it running. It still uses 0.11.3 and I got another error now:

Platform error climate.xknx - cannot import name 'SetpointShiftMode' from 'xknx.devices.climate' (/usr/local/lib/python3.7/site-packages/xknx/devices/climate.py)

As it is just a “nice to have” I will wait till xknx got updated. Guess I am not skilled enough to play around that much on the CLI.

Your help is much appreciated.
There are so many different climate devices - we cant Test all of them since we dont have the Hardware. So we kind of need your feedback to sort out the problems slowly.

I see. I just tried it again, but still getting errors:

Invalid config

The following integrations and platforms could not be set up:

* xknx.climate

Please check your config.

And

2020-07-22 11:57:44 ERROR (MainThread) [homeassistant.setup] Unable to prepare setup for platform xknx.climate: Platform not found (cannot import name 'SetpointShiftMode' from 'xknx.devices.climate' (/usr/local/lib/python3.7/site-packages/xknx/devices/climate.py)).

P.S. The folder “/usr/local/lib” is empty. I installed HA on Ubuntu 18.04 - supervised

This is most likely a version mismatch. You seem to be using the custom component from the “next” branch with an incompatible xknx version. This might come from HA installing it on startup or having it installed previously. I don’t know how to prevent this on your installation.

I see… I used a blank installation, nothing started, just supervised installation of home assistant. Then

git clone https://github.com/XKNX/xknx.get --branch next --single-branch next

in the /tmp folder. After that I copied the content from /tmp/next/home-assistant-plugin/custom_components to /config/custom_components. I also copied the home-assistant.io folder into the /config folder.

I hope that was correct so far.

Not really sure, but maybe you have to
git clone https://github.com/XKNX/xknx.get --branch next --single-branch -without the trailing “next” and
export PYTHONPATH=/tmp/xknx - when /temp was the directory you cloned to.

I found the reason why “off” and “heat” are duplicated. Will try to fix this properly.

I did some further tests and digging. The solution you wrote didn’t work. I have a few installations of HA, one in a native docker container. The error when I try to restart the server is this:

Platform error climate.xknx - cannot import name 'SetpointShiftMode' from 'xknx.devices.climate' (/usr/local/lib/python3.7/site-packages/xknx/devices/climate.py)

In the supervised installation, I could not find the file. In the native docker container, I found the file. However, the ME-AC-KNX-1-V2 what I use doesn’t support SetpointShiftMode. The documentation of KNX climate explains that you should use min_temp and max_temp, when I did. But HA still looks for the SetpointShiftMode as it seems.
Anyway: I could not find a way to use the “next” branch. HA still uses 0.11.3. For more information about the KNX interface: Mitsubishi Electric Domestic, Mr.Slim and City Multi to KNX Interface
I use three of them, one in each indoor unit. Currently I control everything with Loxone, what is a pain in the a** - Loxone doesn’t support DPT 20.105 so I need to trigger modes with binary objects (what works pretty well, but after all it’s very unsexy).
After further testing, it seems like the manual installation process (described here: Home Assistant Integration - XKNX) doesn’t work in a docker environment. I tried all from inside the docker container, corrected the paths ($HOME is not working as I use bindings instead of volumes for providing configuration files inside docker containers) - but no way to get the next branch running. HA always is trying to use the /usr/local… folder even if I delete it.
I am running out of ideas…

Finally: it worked after I updated to 0.115. Currently there is a small issue: I can trigger e.g. “Fan only” but after a short time, the view jumps back to “Heat”. Even though the AC is still in “Fan only” mode. This happens to all states, execpt “Off” - when I choose off, it stays and shows the system as off. Here is my setup:

climate:
  - name: AC.livingroom
    target_temperature_address: '6/1/13'
    temperature_address: '6/1/34'
    target_temperature_state_address: '6/1/33'
    controller_mode_address: '6/1/2'
    controller_mode_state_address: '6/1/22'
    temperature_step: 1.0
    min_temp: 18.0
    max_temp: 28.0
    on_off_state_address: '6/1/21'
    on_off_address: '6/1/1'

And the states:

hvac_modes:
  - dry
  - fan_only
  - cool
  - 'off'
  - auto
  - heat
min_temp: 18
max_temp: 28
target_temp_step: 1
preset_modes: []
current_temperature: 20
temperature: 21
preset_mode: away
friendly_name: AC.kidsroom
supported_features: 17

Am I doing anything wrong?