-
Notifications
You must be signed in to change notification settings - Fork 6
Home
StefCoene edited this page Apr 2, 2017
·
25 revisions
Velbus is domotica hardware build by Velleman. It has no built-in option for communication with the rest of the world. Luckily the protocol is well documented. So I wrote some perl code to monitor the bus used by Velbus. I also wrote a small webservice that can be used to put commands on the bus. I also integrated the OpenHAB REST API in my code so updates are send in real time to OpenHAB.
- written in perl
- daemon that monitors the messages on the bus:
- all messages are logged in mysql
- changes are forwarded to openHAB (temperature, buttons, dimmers, relays, counters, ...)
- basic web interface and command utility line to:
- scan the bus
- get status of the connected modules
- generate openHAB items file
- put current date and time on the bus
- web service
- used by openHAB to poll for the status
- used by openHAB to put updates on the bus
- trigger a scan on the bus via commands.pl
- discover the modules on the bus caused by a scan
- get a status of the modules and channels, get the name of the channels and the modules
- get status of relays, temperature sensors, dimmers, shutters, counters
- put date & time on the bus (handy to sync the clock in case of a power failure or daylight saving time)
- process all messages on the bus and push the changes to openHAB via REST API
- TODO: make list of what's pushed to openHAB
- control relays, dimmers shutters
- control heater mode and/or desired temperature
- webservice for integration with openHAB or other software
- generate velbus items file for openHAB
- auto process the velbus protocol files and extract the needed information
- document openHAB graphs and other 'nice to know'
- list velbus modules + what's working
- XML output for webservice (currently only json)
- mysql database import file for initialization
- installation script (needed for library include path)
- merge information from http://www.docum.org/drupal/content/velbus-software
- better logging
- better security by running scripts as a non-root user
I found some bugs in the code of velbus.
- The third part of the name of the second blind channel is not correct, it returns the third part of the name of the first channel. There is new firmware for this issue.
- Channel names are truncated to 15 characters. There is a new velbuslink software for this issue.
- linux server
- working velbus setup
- velserv running: source can be found here or an other server like jvelbusd
- mysql database
- apache with perl module
- openHAB with at least http binding
The scripts are developed with /home/velbus/velserver as install directory.
If you want to place the scripts somewhere else, you need to update these files and change all occurrences of /home/velbus/velserver in the following files:
bin/commands.plbin/logger.pletc/apache-velserver.confwww/index.plwww/service.pl