vdcd - virtual device connector daemon for digitalSTROM
vdcd - virtual device controller daemon/framework for digitalSTROM
vdcd is a free (opensource, GPLv3) virtual device connector (vdc) implementation for digitalSTROM systems.
A vdc integrates third-party automation hardware as virtual devices into a digitalSTROM system.
This vdcd has ready-to-use implementation for various EnOcean devices, DALI lamps (single dimmers or RGB and RGBW multi-channel color lights), Philips hue LED color lights, WS2812/13 RGB LED chains (on RPi), simple contacts and on-off switches connected to Linux GPIO and I2C pins, PWM outputs via i2c, experimental DMX512 support via OLA, Spark Core based devices support and console based debugging devices.
In addition to the built-in implementations, vdcd provides the plan44 vdcd external device API, a simple socket-based API that allows implementing custom devices as external scripts or programs in any language which can open socket connections (almost any, sample code for bash, C and nodeJS is included)
vdcd however is not limited to the set of features listed above - is based on a generic C++ framework called p44vdc which is included as a submodule into this project.
p44vdc is designed for easily creating additional integrations for many other types of third-party hardware. The framework implements the entire complexity of the digitalSTROM vDC API and the standard behaviour expected from digitalSTROM buttons, inputs, (possibly dimming) outputs and various sensors.
For new hardware, only the actual access to the device's hardware needs to be implemented.
vdcd/p44vdc are based on a set of generic C++ utility classes called p44utils, which provides basic mechanisms for mainloop-based, nonblocking I/O driven automation daemons. p44utils is also included as a submodule into this project.
If you like this project you might want to...
- Join the plan44_vdcd google groups mailing list to ask questions and discuss vdcd related topics
- See github project to get the latest version of the software
- See digitalstrom.com for more about digitalSTROM
If you like the project, please don't forget to flattr it :-)