[rrd-users] need help with figuring out how many minutes furnace is on

Haroon Rafique haroon.rafique at utoronto.ca
Tue Nov 6 17:30:08 CET 2012


Hi All,

Long time user (since 2003). Have been a bit dormant lately on the RRDtool front.

I'm looking for some help regarding a hopefully simple issue. I am on rrdtool 1.4.7 on 32-bit Gentoo linux.

I have a iComfort Lennox thermostat and a website which allows me to gather some thermostat statistics (probably against their terms of service - mea culpa). You can see an example here:
	http://haroon.sis.utoronto.ca/perl/rrd.cgi/home_stats/temp.html
You can look at the source of one of the graphics here:
	http://haroon.sis.utoronto.ca/perl/rrd.cgi/home_stats/temp-day.src

I would like to know how to display how many minutes (or seconds or percentage of time), the furnace or A/C is on. The mode DS returns 0 for idle, 1 for heating and 2 (yet to be tested) for cooling. For heating, I use the following CDEF:

# heating is on: if (FLOOR(mode + 0.5) - 1) then unknown else temp
CDEF:heating=mode,.5,+,FLOOR,1,-,UNKN,temp,IF

Which means that heating is the value of the temp when it is on. It is UNKN otherwise.

Is there a VDEF that I can use to figure out minutes (or percentage) that the heating is on?

RRD was created as follows:

/usr/bin/rrdtool create /www/htdocs/rrd/logs/home_stats/hvac.rrd \
    --step 300 \
    DS:temp:GAUGE:600:-100:200 \
    DS:cool_to:GAUGE:600:-100:200 \
    DS:heat_to:GAUGE:600:-100:200 \
    DS:humidity:GAUGE:600:0:100 \
    DS:mode:GAUGE:600:0:10 \
    RRA:AVERAGE:0.5:1:800 \
    RRA:AVERAGE:0.5:6:800 \
    RRA:AVERAGE:0.5:24:800 \
    RRA:AVERAGE:0.5:288:800 \
    RRA:MAX:0.5:1:800 \
    RRA:MAX:0.5:6:800 \
    RRA:MAX:0.5:24:800 \
    RRA:MAX:0.5:288:800

Let me know if I missed any details and you need more info.

Thanks in advance for any help.

Cheers,
--
Haroon Rafique   <haroon.rafique at utoronto.ca>
Web Dude         416-946-5080
Information Security & Enterprise Architecture, University of Toronto



More information about the rrd-users mailing list