Welcome to HKontrol!

  1. About HKontrol
  2. Again, what it is all about?
  3. How is HKontrol structured?
  4. Which Modules are available?
  5. How can I create new Modules and Actions?
  6. How to obtain HKontrol

1. About HKontrol

HKontrol is a rule based home automation software originally written to ease the operation of harman kardon A/V receivers which are equipped with a serial interface. It is organized in a modular way and thus easily extendible to fulfil other automation challenges.

2. Again, what it is all about?

HKontrol supports the simple operation of harman kardon's serial interface equipped A/V receivers. The problem with these receivers is that you can't disable surround modes you never use. If you for instance want to switch from "Dolby PLII MOVIE 5.1" to "Dolby PLIIx MOVIE 7.1" you have to push about eight(!) times the Dolby button on the remote control skipping a lot of unused multi channel modes. Unfortunately the receivers keep switching back to "Dolby PLII MOVIE 5.1" in case the digital audio source changes. The serial interface however can be used bidirectional. It provides exactly the information that is visible on the receiver's display. In addition commands, each acting like key presses on the remote control, can be sent over it to control the receiver. With a set of configurable rules like "send the dolby command when the display shows an unwanted Dolby mode" it is possible to automatically skip surround modes you never use.

3. How is HKontrol structured?

HKontrol consists mainly of three parts: An application core, modules and a configuration file.

The Core

HKontrol's core merely provides a framework that implements a data model in a model-view-controller architecture (MVC). Based on the user provided configuration it notifies the modules about model (i.e. status) changes.

The Modules

On the one hand, modules act as the controller part of the MVC. They collect status information about a device or a running application and let the core know about it. On the other hand, modules implement actions which can be executed on status changes.

The Configuration

In the configuration file the user defines which connections, modules and rules shall be used by HKontrol. The rules act as the glue between the runtime status and the executed actions.

You can find a configuration example in the installation instructions.

4. Which Modules are available?

5. How can I create new Modules and Actions?

Creating and using new modules is quite simple. The full API documentation can be helpful, but a short recipe is depicted here. To create and use a new module, you have to do only a few things: To create and use new actions is just as simple:

6. How to obtain HKontrol

Release downloads

Last files releases can be obtained here.

Current development versions from SVN

You can either browse the svn or checkout the whole thing as described here.