/cbus

Python/Twisted library for interfacing with Clipsal C-Bus PCI, (basic) PCI/network emulator, D-Bus abstraction layer (cdbusd), mobile WebSockets interface (sage) and reverse engineering notes.

Primary LanguagePythonGNU Lesser General Public License v3.0LGPL-3.0

libcbus Build Status

Talks to C-Bus using Python.

Copyright 2012-2014 Michael Farrell. Licensed under the GNU LGPL3+. For more details see COPYING and COPYING.LESSER.

Clipsal state that use of C-Bus with non-Clipsal hardware or software may void your warranty.

Additional documentation for the project is published at http://cbus.rtfd.org/

Hardware Interface Support

Currently only supports the C-Bus Serial PC Interface (PCI), 5500PC. The USB version (5500PCU) may work if you have the appropriate cp210x kernel module, but it is untested.

This is a reimplementation of the PCI serial protocol from scratch.

It does not use the libcbm library/DLL from Clipsal, or C-Gate:

  • The libcbm module only runs on x86_32 systems, and is only available as a static library (closed source).
  • C-Gate requires an OS and architecture specific closed source serial library (SerialIO), the Java runtime, and itself has various licensing restrictions.

As such, it should run on any Python supported platform, with the exeception of dbus (IPC server) components which don't work properly on Windows.

The software itself has been primarily developed on Linux with on armhf, x86_32 and x86_64 systems.