Caution

This is the documentation for the current development branch of the CometVisu. It is possible that some of the described features are not yet available in the current release.

Also there might be lots of errors in this documentation as some parts of the content have been translated by an online translation service.

Temperature from KNX with linknx

linknx has the option of marking KNX objects as “persistent”.

Example:

<object type="9.xxx" id="temp_office" gad="2/1/0" flags="cwu" init="persist" log="false">
    Temperature Office
</object>

These values are then stored in /tmp as text files and can easily be written to an RRD database.

This script works like this if it is stored (and executable) under /var/www/rrd/linknx_temp_office

#!/bin/bash
#
# update .rrd database text file from linknx
#
# $Id: update_cputemp 275 2013-05-16 05:20:56Z lenik $

cd /var/www/rrd

# create database if not exists
[ -f linknx_temp_office.rrd ] || {
/usr/bin/rrdtool create linknx_temp_office.rrd --step 300 \
DS:Temperatur:GAUGE:1200:U:U \
RRA:AVERAGE:0.5:1:3200 \
RRA:AVERAGE:0.5:6:3200 \
RRA:AVERAGE:0.5:36:3200 \
RRA:AVERAGE:0.5:144:3200 \
RRA:AVERAGE:0.5:1008:3200 \
RRA:AVERAGE:0.5:4320:3200 \
RRA:AVERAGE:0.5:52560:3200 \
RRA:AVERAGE:0.5:525600:3200
}

# Read temperature from text file
temp=`cat /var/lib/linknx/temp_office`


# Update database
rrdtool update linknx_temp_office.rrd N:$temp

The following line must be added in /etc/crontab to call the script every 5 minutes:

*/5 *   * * *   root    /var/www/rrd/linknx_temp_office