[if you want to support p44vdc development, please consider to sponsor plan44]
"p44vdc" is a a free (opensource, GPLv3) framework of C++ source files, which is used to build virtual device connectors (vdcs) for Digital Strom systems.
"p44vdc" was extracted as a submodule from the "vdcd" (virtual device connector daemon) project, of which it is an essential part.
The reason for extracting these sources into this separate repository is to allow to build vdcs possibly differing in areas such build system, target platforms, default configuration, supported devices etc., but still based on the plan44 vdc framework.
If you want a full implementation of a ready-to run vdc host with support for many device types already built-in, please see the vdcd project instead.
This repository is only a building block for a working vdc deamon.
p44vdc is licensed under the GPLv3 License (see COPYING).
Some of p44vdc makes use of third party project's code, which might have a differing (compatible) license. Such code is included in the "thirdparty" subfolder. Please see the COPYING files, README.md and license header comments in the individual projects included in that folder.
- Implements the complete Digital Strom vDC API including behaviours for buttons, binary inputs, lights, color lights, sensors, heating valves and shadow blinds.
- Provides the plan44 vdcd external device API for easily building custom devices as external scripts or programs, or implemented in the built-in p44script language.
- Supports EnOcean TCM310 based gateway modules, connected via serial port or network
- Supports Philips hue lights via the hue bridge and its JSON API
- Supports building really fancy effect color LED lights out WS281x LED chip based LED chains/matrices, with moving segments, lightspots, gradients etc. On Raspberry Pi, just connect a WS2812's data-in to RPi P1 Pin 12, GPIO 18 (thanks to the rpi_ws281x library). On MT7688 systems under OpenWrt, use the p44-ledchain kernel driver.
- Allows to use Linux GPIO pins (e.g. on RaspberryPi) as button inputs or on/off outputs
- Allows to use i2c and spi peripherals (supported chips e.g. TCA9555, PCF8574, PCA9685, MCP23017, MCP23S17) for digital I/O as well as PWM outputs
- Implements interface to Open Lighting Architecture - OLA to control DMX512 based lights (single channel, RGB, RGBW, RGBWA, moving head)
This is not a full vdc program, only important parts of it. Please go to the vdcd main project for a ready-to-build (and run) program.
- use it!
- See it in action by trying the p44 automation platform, such as free Rpi images or the p44-open openwrt build.
- support development via github sponsors or flattr
- Discuss it in the plan44 community forum.
- contribute patches, report issues and suggest new functionality on github or in the forum.
- Buy plan44.ch products - sales revenue is paying the time for contributing to opensource projects :-)
(c) 2013-2025 by Lukas Zeller / plan44.ch