There is good support for KNX in Home Assistant these days (2025) which was not the case when I originally selected openHAB as the Home Automation ‘hub’ in around 2015. However, the support for adding KNX ‘Entities’ via the GUI is quite limited (only Switches and Lights) so for the full range of Entity types it’s necessary to edit a YAML configuration file directly – so might as well do that for everything, to consolidate the Entity definitions in one place.
- The main configuration file ‘includes’ a separate file called
knx.yaml
- It’s not permitted to have multiple instances of the ‘switch’ or ‘cover’ etc. lines so all Entities of type ‘switch’ must be defined together, in one block
- Use the short-code KNX name (e.g.
EH_LD_01
) for thename
field in the configuration file, which results in Entity IDs of the formlight.eh_ld_01
- Need to (soft) restart Home Assistant to have it load the Entities from the configuration file
- Once the file has been loaded, new Entities are visible under: Settings > Devices & Services > Entities
- They need to be assigned to an Area here, and should have their more friendly ‘Name’ populated with what gets shown in the dashboards, so the short-code name is only used for the ID – which reproduces what openHAB used to do
- The names can also be overridden when being added to the UI, so the internal names never get seen on the UI (which is A Good Thing)
- Understanding which of these names get used for voice commands can be problematic
- Entities can be given (multiple?) voice-specific ‘Aliases’ which can help here – especially since each Voice Assistant device is generally configured against a specific ‘Area’ (i.e. a room) and hence has some context for phrases like “Close the blinds” or “Turn on the lights”
There’s an embryonic KNX Cookbook as part of the Home Assistant Community documentation here: https://community.home-assistant.io/t/knx-cookbook/230972
KNX in Home Assistant by Marsh Flatts Farm Self Build Diary is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.