[[PageOutline(2-5, Table of Contents, floated)]] = Features = == Introduction == '''pKNyX''' is written in pure [http://www.python.org 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: * [http://sf.net/p/calimero/wiki/Home Calimero] * [https://sourceforge.net/projects/conect Conect] * [http://linknx.sf.net linknx] * [http://www.auto.tuwien.ac.at/~mkoegler/index.php/eibd eibd] * [http://eibnetmux.sf.net eibnetmux] * [http://code.google.com/p/openhab OpenHAB] * [http://knxathome.fh-deggendorf.de/wiki/index.php/Main_Page KNX@Home] * [http://mknx.github.io/smarthome/index.html 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 [http://www.pcengines.ch/alix.htm ALIX board] running [http://code.google.com/p/debian-for-alix 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. 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: * [http://code.google.com/p/debian-for-alix 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 * ...