Plugwise Bundle


See the download page to obtain this program

This code makes use of only publically available information about the Plugwise protocol. This information is not definitive, so the code should be treated only as indicative. This implementation and the information it is based on are not endorsed by Plugwise.


This is a Java implementation of the Plugwise modules that monitor electricity usage. The code is a a bundle for OSGi (Open Services Gateway initiative). It is therefore not a standard Java application, but the core of the bundle contains everything that would be needed for such an application.

The PlugwiseTransceiver class supports Plugwise Circles connected via a Stick. The Plugwise network should (perhaps) have first been set up using the Source. The following limitations or uncertainties apply:

The bundle is not complete because it relies on the CommAccess bundle from the author to provide a serial port service using Sun/Oracle JavaComm 2.0. However, an alternative bundle (e.g. the Knopflerfish one based on RxTx) could be used.


As this is a standard OSGi bundle, it should be installed in the usual way for the platform. The only unusual feature is that the bundle uses a configuration properties file. The code to handle this assumes that Knopflerfish is in use, so the properties file is expected to be in the Knopflerfish OSGi root directory.


Circles are periodically polled to perform the following tasks:

OSGi events with the following parameters are supported. The format here is that supported by the Appel policy language:


This program is free software. You can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation - either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful but without any warranty, without even the implied warranty of merchantability or fitness for a particular purpose. See the GNU General Public License for more details.

You may re-distribute this software provided you preserve this README file. Bug reports should be sent to Ken Turner.


The protocol implementation was inspired by information from Maarten Damen and Roheve. Inspiration was also drawn from code by Gonium and by Sven Petai. The CRC calculation was adapted from code by Tiz.


Up Arrow Up one level to Communications Utilities

Web Ken Turner Home   Email    Search Search Web Pages

Last Update: 6th August 2013