Version 21 (modified by 9 years ago) ( diff ) | ,
---|
Table of Contents
Features
Introduction
pKNyX is written in pure python, so do not require any (annoying) (cross-)compilation! Its goal is to build simple, efficient and robust applications to extend capabilities of KNX installations, by adding rules and/or virtual devices, and thus create a smart processor for KNX home automation.
This project is inspired from several other free projects:
- Calimero
- Conect
- linknx
- eibd
- eibnetmux
- OpenHAB
- KNX@Home
- SmartHome.py
- PywireGate
Note: some of these project do not seem to be maintained anymore, but the files are still available.
The main target is ALIX board running debian-for-alix, but can run on any system when python is available. As said, it does not require any compilation.
Main
Here are the main planned feature of pKNyX:
- virtual device
- caching, persistence
- KNX stack (groupData communication part only)
Have a look at the Proposal page to see what I have in mind.
Roadmap
This is an ambitious project, and I think it will take me a lot of time to achieve all my goals! So, I'm know working of how I can schedule different parts of the project, to build it step-by-step.
One of the main challenge is to have a good comprehension of the KNX specifications. As these specs are not freely available (they cost a lot!)¹, I have to search here and there to find and bring pieces all together. Source code of other free projects are a great source of information, and I want to thanks the authors; some are still working on their projects, and are all very nice when I ask them for informations.
Note: in the begining of 2016, KNX association announced that KNX specs are now freely available.
My first idea was to build a complete KNX stack in python, to avoid compilation of low level tools, like eibd. But in fact, this is the most difficult part! KNX bus communication is based on OSI layers, so it needs to have a very good comprehension of this model to implement it. I decided to first focus on the core of pKNyX, which is the virtual device implementation. The bus communication will rely on eibd, and the python KNX stack will be developed later.
Supported plateforms
Every plateform supporting python can run pKNyX. This includes:
- debian-for-alix
- generic gnu/linux
- Windows 2000, XP, Vista, 7, 8, 9, 10...
- MacOS
Unsupported plateforms
For the same reasons, these plateforms are not - and will probably never be - supported:
- Palm
- Play stations
- Amstrad
- ZX81
- Washing machines
- ...