Home Assistant as KNX Visualisation: Dashboards, Voice and Mobile
Home Assistant is an open-source, locally-hosted automation platform that connects to KNX via KNXnet/IP. It provides a free dashboard app, voice control via Siri, Alexa and Google, and integrates KNX with non-KNX devices in one unified interface — at a fraction of the cost of a commercial visualisation server.
Why Home Assistant for KNX visualisation
The two most common KNX visualisation platforms in Europe are the Gira X1 (proprietary, €800+) and Home Assistant (open-source, under €100 on a Raspberry Pi 5). The choice depends on project requirements — neither is universally better.
| Feature | Home Assistant | Gira X1 |
|---|---|---|
| Hardware cost | €80–150 (Raspberry Pi 5 / NUC) | €800 |
| Software cost | Free (open-source) | License included with X1 |
| Cloud dependency | Optional — fully local operation | Gira cloud for remote access |
| KNX integration | KNXnet/IP — YAML configuration | GPA — GUI configuration |
| Non-KNX devices | Sonos, Shelly, Nuki, Axis, Velux, 300+ integrations | KNX only (no third-party device bridge) |
| Mobile app | HA Companion app — free, iOS/Android | Gira Smart Home app — free |
| Voice control | Siri (HomeKit), Alexa, Google (via Nabu Casa) | Siri (HomeKit), Alexa, Google |
| Dashboard customisation | Full — card-based, YAML or UI editor | Limited — GPA building structure |
| Energy/temperature history | Built-in recorder + InfluxDB + Grafana | No built-in history — third-party required |
| Configuration | YAML + web UI — requires IT knowledge | GPA GUI — easier for non-developers |
| Updates and support | Community + Nabu Casa (commercial) | Gira manufacturer support |
| Best for | Integrators comfortable with YAML and Linux | Pure KNX residential — turnkey |
Hardware selection for Home Assistant
Home Assistant runs on a variety of hardware. For professional KNX installations, hardware reliability and 24/7 uptime are critical — the visualisation server must be available whenever the client needs the app. Avoid SD-card-based setups for commercial projects.
Raspberry Pi 5 (4GB)
Residential- • Official Home Assistant OS image available — single-flash install
- • SD card: use Samsung Pro Endurance 32GB (rated for 24/7 write cycles)
- • Better: boot from USB SSD instead of SD card for reliability
- • UPS: add a UPSPi or similar hat for power failure protection
- • Cost: ≈ €100 complete (Pi 5 + case + SSD + PSU)
- • Suitable for: residential projects, single KNX line, up to 200 entities
Intel NUC mini PC
Commercial- • Intel NUC 12 Pro or NUC 13 with 8GB RAM + 256GB NVMe SSD
- • No SD card — SSD reliability suitable for 24/7 commercial use
- • Install HA OS directly on NVMe — native bare-metal performance
- • Add APC BE700G-UK 700VA UPS for power protection
- • Cost: ≈ €350–500 complete
- • Suitable for: commercial buildings, 500+ entities, multi-line KNX
Synology NAS (Docker)
Existing NAS reuse- • Run HA in Docker Container Manager on existing Synology NAS
- • NAS already has UPS, RAID redundancy — reliability advantage
- • Limitation: HA supervised mode not available in Docker
- • Addon store not available — manual addon management required
- • Suitable for: clients with existing Synology DS220+ or higher
- • Not recommended for new commercial installs — use NUC instead
ODROID N2+ (HA Blue/Yellow)
Official HA hardware- • HA Yellow: official board with ODROID N2+ module + eMMC storage
- • eMMC (32GB) is more reliable than SD card for continuous writes
- • Zigbee coordinator built in — useful if project includes Zigbee devices
- • PoE version available — powers via Ethernet cable (no separate PSU)
- • Cost: ≈ €180 assembled
- • Suitable for: mixed KNX + Zigbee projects, clean single-device install
KNX integration in Home Assistant
The HA KNX integration connects to the KNX installation via KNXnet/IP tunneling or routing — the same protocol used by ETS6. The HA host machine must be on the same LAN (or VLAN) as the KNX IP interface or IP router. No additional hardware is required between HA and KNX.
configuration.yaml — KNX connection
knx:
# Tunneling connection to KNX IP interface or IP router
tunneling:
host: 192.168.1.50 # Static IP of KNX IP router
port: 3671 # KNXnet/IP port (default)
local_ip: 192.168.1.100 # HA host IP — must match LAN
# Alternative: routing (multicast) — for IP backbone setups
# routing:
# local_ip: 192.168.1.100
# State updater: HA reads back group address values on startup
state_updater: true
rate_limit: 20 # Max KNX writes per secondKNX entities are defined in YAML in configuration.yaml (or split into separate files via the packages feature). Each entity maps one or more KNX group addresses to a Home Assistant entity type. The DPT must match what is configured in ETS6 for that group address.
| HA entity type | KNX DPT | Group addresses needed |
|---|---|---|
| binary_sensor | DPT 1.001 | state_address (read) |
| sensor (temperature) | DPT 9.001 | state_address (read) |
| sensor (CO2) | DPT 9.008 | state_address (read) |
| light (switching) | DPT 1.001 | address (write) + state_address (read) |
| light (dimming) | DPT 1.001 + DPT 5.001 | address + brightness_address + brightness_state_address |
| light (tunable white) | DPT 1.001 + DPT 5.001 + DPT 7.600 | address + brightness + color_temperature addresses |
| cover (blind/shutter) | DPT 1.008 + DPT 5.001 | move_long_address + position_address + position_state_address |
| climate | DPT 9.001 + DPT 20.102 | temperature_address + target_temperature_address + operation_mode_address |
| switch | DPT 1.001 | address (write) + state_address (read) |
| scene | DPT 18.001 | address (write only) |
YAML example — KNX light entity with tunable white
light:
- platform: knx
name: "Living Room Ceiling"
address: "1/0/1" # DPT 1.001 on/off write
state_address: "1/0/2" # DPT 1.001 on/off read back
brightness_address: "1/0/2" # DPT 5.001 brightness write
brightness_state_address: "1/0/3" # DPT 5.001 brightness read
color_temperature_address: "1/0/4" # DPT 7.600 colour temp write
color_temperature_state_address: "1/0/5"
min_kelvin: 2700 # Warm white (2700K)
max_kelvin: 6500 # Cool white (6500K)
cover:
- platform: knx
name: "Living Room Blinds"
move_long_address: "2/0/1" # DPT 1.008 up/down
stop_address: "2/0/2" # DPT 1.001 stop
position_address: "2/0/3" # DPT 5.001 position write
position_state_address: "2/0/4" # DPT 5.001 position read
travelling_time_down: 30 # seconds to close fully
travelling_time_up: 28 # seconds to open fully
climate:
- platform: knx
name: "Living Room Thermostat"
temperature_address: "3/0/1" # DPT 9.001 actual temp read
target_temperature_address: "3/0/2" # DPT 9.001 setpoint write
target_temperature_state_address: "3/0/3" # DPT 9.001 setpoint read
operation_mode_address: "3/0/4" # DPT 20.102 HVAC mode write
operation_mode_state_address: "3/0/5"
min_temp: 16
max_temp: 30Lovelace dashboard design for KNX
Lovelace is Home Assistant's card-based dashboard UI. Dashboards are configurable via the web UI editor or directly in YAML. For professional residential installations, Mushroom cards (community plugin via HACS) provide a cleaner, more modern UI than the default cards.
Key cards for KNX control
- • Light card — on/off toggle + brightness slider for HA light entity linked to KNX DPT 5.001
- • Thermostat card — climate entity display with setpoint +/- buttons and HVAC mode selector
- • Cover card — blind/shutter position slider with open/close buttons
- • Button card — scene trigger, sends DPT 18.001 to KNX scene group address
- • Mushroom Light card (HACS) — compact, icon-based light control with colour and brightness
- • Mushroom Climate card (HACS) — compact thermostat with mode icons
Key cards for KNX monitoring
- • History Graph card — temperature or energy values over 24h/7d/30d from HA Recorder
- • Gauge card — live CO2 ppm display from KNX sensor entity (DPT 9.008)
- • Glance card — status overview of multiple KNX binary sensors (windows open/closed, motion zones)
- • Statistics card — daily/monthly energy from KNX sub-meter entities
- • Mini Graph card (HACS) — inline sparkline graph for temperature trends in room cards
- • Energy dashboard — built-in HA energy management using KNX power sensor entities
Dashboard organisation for residential projects: Create one Lovelace view per floor or functional area (Overview, Ground Floor, First Floor, Garden). Each view shows only the entities relevant to that area. Use the Sidebar layout for installations where the HA dashboard is displayed on a fixed wall-mounted tablet — the sidebar navigation is easier to tap than top-navigation tabs.
Mobile Companion app: local and remote access
The HA Companion app (iOS and Android) is the official mobile client for Home Assistant. It provides the full Lovelace dashboard on mobile, push notifications, device location sharing, and device sensors (battery, motion, GPS) that can be used in automations.
Local connection (LAN)
- • App discovers HA via mDNS (Bonjour) when on the same WiFi network
- • Connects to HA on local IP — no internet required
- • Response time under 50ms for switching and dimming
- • If AP isolation is enabled on the WiFi router: manually enter HA IP in app settings
- • Internal URL: http://192.168.1.x:8123
Remote access options
- Nabu Casa cloud ($65/year): one-click remote access via Nabu Casa relay. No port forwarding required. Also enables Alexa and Google Assistant integration.
- WireGuard VPN: self-hosted on site router. App connects via VPN to HA on local IP. No cloud dependency. Recommended for commercial and privacy-sensitive projects.
- Cloudflare Tunnel: advanced option — HA exposed via Cloudflare Zero Trust with MFA. No port forwarding, no VPN client required.
Push notifications for KNX events
- • HA automation: trigger on KNX binary sensor state change (e.g. window contact open)
- • Action: notify.mobile_app_[phone] → sends push to Companion app
- • Notification includes: title, message, action buttons (e.g. "Close all blinds")
- • Actionable notifications: tap button in notification → HA automation runs → KNX group address write
- • Works locally (HA handles notifications via push relay) — Nabu Casa not required for notifications
Voice control: Siri, Alexa and Google Assistant
Home Assistant acts as a universal bridge between KNX and all three major voice platforms. A single KNX light entity defined in HA can be controlled by all three simultaneously — no separate configuration per platform is needed once the HA integration is set up.
Voice command flow — Alexa to KNX
"Alexa, turn off the living room lights"
│
▼
Amazon Alexa cloud
│ (Nabu Casa cloud subscription required)
▼
Nabu Casa cloud relay
│
▼
Home Assistant (local — on site network)
HA processes: entity "Living Room Ceiling" → state: off
│
▼
KNX integration
Writes DPT 1.001 value 0 to group address 1/0/1
│ (via KNXnet/IP tunneling to KNX IP router)
▼
KNX TP bus → Dimmer actuator → lights off
Total latency: 300–800ms (internet round-trip)
Local commands via Siri on same LAN: under 100msApple HomeKit / Siri
- • HA HomeKit Bridge integration exposes HA entities as HomeKit accessories
- • Works locally — no internet required for Siri on same network
- • Apple TV or HomePod acts as home hub for remote Siri
- • Supports: lights, blinds, climate, sensors, switches
- • 'Hey Siri, set living room to 22 degrees' → HA → KNX climate write
- • No Nabu Casa subscription required
Amazon Alexa
- • HA Alexa integration via Nabu Casa cloud ($65/year)
- • Alternative: self-hosted HA Cloud with AWS Lambda (advanced)
- • Alexa discovers HA entities as Alexa devices automatically
- • Supports: lights (on/off/dim), covers, climate, switches, scenes
- • 'Alexa, dim the office lights to 40%' → Nabu Casa → HA → KNX DPT 5.001
- • Alexa routines can combine KNX scenes with non-KNX devices
Google Assistant
- • HA Google Assistant integration via Nabu Casa cloud
- • Google Home app shows HA entities as Google Home devices
- • Supports: lights, blinds, climate, sensors, switches
- • 'Hey Google, close the bedroom blinds' → Nabu Casa → HA → KNX DPT 1.008
- • Google Home routines: combine KNX scenes with Chromecast, Nest
- • Nabu Casa subscription required (same $65/year covers Alexa + Google)
HA Recorder and InfluxDB for KNX history
Home Assistant Recorder stores all entity state changes in a local SQLite database (default) or PostgreSQL. The default retention is 10 days. For longer-term analysis — energy consumption over months, HVAC efficiency across seasons — InfluxDB 2.0 with Grafana provides professional time-series storage and visualisation.
HA Recorder (built-in)
- • Default: SQLite on HA host storage (home-assistant_v2.db)
- • History graph card uses Recorder data — no extra setup
- • Retention: 10 days default (configurable in configuration.yaml)
- • For NVMe-based installs: increase to 90 days — no performance impact
- • For SD card installs: keep at 10 days to reduce write cycles
- • Exclude noisy entities (e.g. motion sensors) to reduce database size
InfluxDB 2.0 + Grafana
- • InfluxDB: time-series database — optimised for sensor data
- • Install via Docker on NUC or Synology alongside HA
- • HA InfluxDB integration: pushes all entity state changes to InfluxDB
- • Retention: unlimited (configure bucket retention policy in InfluxDB)
- • Grafana: connects to InfluxDB — creates dashboards for energy, temperature
- • Use case: monthly energy report per KNX sub-meter, seasonal HVAC analysis
configuration.yaml — InfluxDB integration
influxdb:
api_version: 2
host: 192.168.1.101 # InfluxDB 2.0 host IP (Docker container)
port: 8086
token: !secret influxdb_token
organization: panelcraft
bucket: home_assistant
precision: s # Second precision — sufficient for KNX
include:
entity_globs:
- sensor.knx_* # Only push KNX sensor entities
- climate.*
exclude:
entities:
- sensor.knx_motion_* # Exclude high-frequency motion sensorsSecurity considerations
A Home Assistant instance controlling KNX is a high-value target — gaining access to HA means controlling the entire building automation. Security must be addressed during commissioning, not as an afterthought.
Network security
- • Never expose HA port 8123 directly to the internet — use Nabu Casa cloud or VPN only
- • Separate IoT VLAN for Shelly, Tasmota and other WiFi devices
- • HA sits on a management VLAN with firewall rules to KNX VLAN and IoT VLAN
- • Disable unused HA integrations — each integration is an attack surface
- • Enable HA two-factor authentication (TOTP) for all user accounts
Software security
- • Keep HA updated: Settings → System → Updates → enable auto-update for HA Core
- • HACS community integrations: only install from trusted repositories with active maintenance
- • Store sensitive tokens in secrets.yaml (not inline in configuration.yaml)
- • Back up HA configuration weekly: Settings → System → Backups → auto-backup to NAS or cloud
- • Monitor HA logs for failed login attempts: Settings → System → Logs
KNX VLAN isolation: Place the KNX IP router and all KNX TP lines on a dedicated VLAN (e.g. VLAN 20). Allow only the HA host IP to communicate with the KNX VLAN on port 3671 UDP. Block all other hosts from reaching the KNX IP router — an unrestricted network allows any device to send KNX telegrams and control all actuators without authentication.
Need a KNX panel with built-in visualisation server?
We supply panels with pre-configured Home Assistant hardware or Gira X1, KNXnet/IP routing ready, and group addresses tested — choose your visualisation platform, we deliver it wired and working.
Request a quote →