Hier mal mein Skript:
Code: Alles auswählen
#!/usr/bin/python
import rrdtool
import RPi.GPIO as GPIO
import sys
import time
GPIO.cleanup
GPIO.setmode(GPIO.BOARD)
GPIO.setwarnings(False)
ret = rrdtool.create("/home/pi/Desktop/Programme/klimaanlagentest.rrd", "--step", "300", "--start", '0',
"DS:metric1:GAUGE:600:0:1",
"DS:metric2:GAUGE:600:0:1",
"RRA:AVERAGE:0.5:1:600",
"RRA:AVERAGE:0.5:6:700",
"RRA:AVERAGE:0.5:24:775",
"RRA:AVERAGE:0.5:288:797",
"RRA:MAX:0.5:1:600",
"RRA:MAX:0.5:6:700",
"RRA:MAX:0.5:24:775",
"RRA:MAX:0.5:444:797")
while 1:
GPIO.setup(7,GPIO.IN)
GPIO.setup(11,GPIO.IN)
metric1 = GPIO.input(7)
metric2 = GPIO.input(11)
ret = rrdtool.update('klimaanlagentest.rrd','N:' + `metric1` + ':' + `metric2`);
time.sleep(300)
print("Fertig")
for sched in ['daily', 'weekly', 'monthly', 'yearly']:
if sched == 'weekly':
period = 'w'
elif sched == 'daily':
period = 'd'
elif sched == 'monthly':
period = 'm'
elif sched == 'yearly':
period = 'y'
ret = rrdtool.graph( "/home/pi/Desktop/RRDTool Graphen/klimaanlagen-%s.png" %(sched), "--start", "-1%s" %(period), "--vertical-label=Zustand",
'--watermark=playground.in.supportex.net',
"-w 800",
"DEF:m1_num=klimaanlagentest.rrd:metric1:AVERAGE",
"DEF:m2_num=klimaanlagentest.rrd:metric2:AVERAGE",
"LINE3:m1_num#0000FF:Klimaanlage1\\r",
"LINE3:m2_num#C11700:Klimaanlage2\\r",
"GPRINT:m1_num:AVERAGE:Avg m1\: %6.0lf ",
"GPRINT:m1_num:MAX:Max m1\: %6.0lf\\r",
"GPRINT:m2_num:AVERAGE:Avg m2\: %6.0lf ",
"GPRINT:m2_num:MAX:Max m2\: %6.0lf \\r")
Ich hoffe das hilft etwas.
![Wink :wink:](./images/smilies/icon_wink.gif)