XKNX - An Asynchronous KNX Library Written in Python


See documentation at: https://xknx.io/


We need your help for testing and improving XKNX. For questions, feature requests, bug reports either join the XKNX chat on Discord or write an email.


You will need at least Python 3.8 in order to use XKNX.

Setting up your local environment:

  1. Install requirements: pip install -r requirements/testing.txt
  2. Install pre-commit hook: pre-commit install

Home-Assistant Plugin

XKNX contains a plugin for the Home Assistant automation platform


"""Example for switching a light on and off."""
import asyncio
from xknx import XKNX
from xknx.devices import Light

async def main():
    """Connect to KNX/IP bus, switch on light, wait 2 seconds and switch it off again."""
    async with XKNX() as xknx:
        light = Light(xknx,
        await light.set_on()
        await asyncio.sleep(2)
        await light.set_off()

GitHub - XKNX/xknx: XKNX - A KNX library written in Python
A KNX library written in Python. Contribute to XKNX/xknx development by creating an account on GitHub.