-
Notifications
You must be signed in to change notification settings - Fork 1
What is it
Put simply, Homewatcher is an opensource Python implementation of a configurable alarm system that can interact with KNX devices through a Linknx server. It is aimed at providing an easy-to-configure alarm system to those KNX users that do not want to bother writing source code. As Linknx, Homewatcher is totally usable without writing a single line of code.
Inspired from Pyknx, Homewatcher is presented as a Python package with a set of additional standalone scripts. Refer to the Standalone Scripts page to learn more about their respective usage.
From the end user's standpoint, the only thing to do is to put together an XML configuration that describes all sensors, the various surveillance modes and what should be done when an alert is raised (send an email, put lights on, trigger a siren, etc.). If you are feeling impatient, feel free to jump to the Getting Started section right now! In most cases, you are only a few minutes away from having Homewatcher up and running.
Out of the box, the hardware side is handled by any KNX device that has a state represented by:
- a boolean (opening detector, smoke detector, generic binary input)
- a real value like a temperature sensor for instance
First, please note that you do not have to understand how it works if you do not want to. You can simply trust me: write your config and that will work. But if you are willing to know, no secret: the software side consist of a Linknx instance that interacts with the physical devices through the eibd daemon. By means of Pyknx some Python code is executed when objects relevant to the alarm system get changed. Homewatcher is nothing but a set of Python functions embedded in a Pyknxcommunicator instance. The communicator is configured to have those functions called when Linknx objects related to your sensors change. The Python code implements the 'alarm' logic and can in turn change other Linknx objects or ask Linknx to execute an action.
Linknx is itself customizable through its dedicated XML configuration but when it comes to an alarm system, this way of setting things up is not flexible enough (it is too verbose, does not allow for factoring the config among all sensors, it is not easy to check against acceptance test cases, etc).
Homewatcher is free software and is distributed under the terms of the GNU Public License version 3. It is provided for convenience and in the sincere hope that it will be useful. But using Homewatcher does not imply any warranty from me. As the developer of the application, I shall not be responsible of any damage or inconvenience due to the use of it.