- Offizieller Beitrag
RRDTool Laufzeit
-
Kellermann66 -
9. September 2013 um 11:01 -
Erledigt
-
-
RRDTool Laufzeit? Schau mal ob du hier fündig wirst!
-
Ich hab es jetzt so
Python
Alles anzeigenimport rrdtool import RPi.GPIO as GPIO import sys import time from datetime import datetime GPIO.cleanup GPIO.setmode(GPIO.BOARD) GPIO.setwarnings(False) GPIO.setup(7,GPIO.IN) GPIO.setup(11,GPIO.IN) Startzeit = datetime.now() Laufzeit_1 = 0 Laufzeit_2 = 0 try: with open('/home/pi/Desktop/Programme/klimaanlagentest.rrd'): pass except IOError: print "Database does not exist. Create a new one here..." ret = rrdtool.create("/home/pi/Desktop/Programme/klimaanlagentest.rrd", "--step", "60", "--start", '0', "DS:metric1:GAUGE:600:0:1", "DS:metric2:GAUGE:600:0:1", "RRA:AVERAGE:0.5:1:1440", "RRA:AVERAGE:0.5:60:168", "RRA:AVERAGE:0.5:60:720", "RRA:AVERAGE:0.5:1440:365", "RRA:MAX:0.5:1:1440", "RRA:MAX:0.5:60:168", "RRA:MAX:0.5:60:720", "RRA:MAX:0.5:1440:365") while 1: time.sleep(60) metric1 = GPIO.input(7) metric2 = GPIO.input(11) if metric1 == 1: file = open('/home/pi/Desktop/Programme/laufzeit_klim1.txt', 'r') for x in file.readlines(): UebernahmeWert_1 = x Messzeit = datetime.now() Laufzeit_1 = (Messzeit - Startzeit) + UebernahmeWert_1 file = open('/home/pi/Desktop/Programme/laufzeit_klim1.txt', 'w') file.write(Laufzeit_1) file.close() print(Laufzeit_1) if metric2 == 1: file = open('/home/pi/Desktop/Programme/laufzeit_klim2.txt', 'r') for x in file.readlines(): UebernahmeWert_2 = x Messzeit = datetime.now() Laufzeit_2 = (Messzeit - Startzeit) + UebernahmeWert_2 file = open('/home/pi/Desktop/Programme/laufzeit_klim2.txt', 'w') file.write(Laufzeit_2) file.close() print(Laufzeit_2) ret = rrdtool.update('/home/pi/Desktop/Programme/klimaanlagentest.rrd','N:' + `metric1` + ':' + `metric2`); 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", "AREA:m1_num#00FF00:Klimaanlage1\\r", "LINE3:m2_num#0000FF: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")
und bekomm es irgendwie nicht gebacken.Und danach brauch ich ja noch die restlichen Sachen...:s
-
- Offizieller Beitrag
So dann fassen wir mal zusammen. Wo klemmt denn der Schuh? aus ermangelung eines Pis, rrdtool und einer klimaanlage wird das wohl sehr theoretisch werden
Aber da habe ich doch schon leichtere Sachen versaut. -
Bei mir funtkioniert es irgendwie nicht mit der Berechnung der Laufzeit.
Code
Alles anzeigenif metric1 == 1: file = open('/home/pi/Desktop/Programme/laufzeit_klim1.txt', 'r') for x in file.readlines(): UebernahmeWert_1 = x Messzeit = datetime.now() Laufzeit_1 = (Messzeit - Startzeit) + UebernahmeWert_1 file = open('/home/pi/Desktop/Programme/laufzeit_klim1.txt', 'w') file.write(Laufzeit_1) file.close() print(Laufzeit_1) if metric2 == 1: file = open('/home/pi/Desktop/Programme/laufzeit_klim2.txt', 'r') for x in file.readlines(): UebernahmeWert_2 = x Messzeit = datetime.now() Laufzeit_2 = (Messzeit - Startzeit) + UebernahmeWert_2 file = open('/home/pi/Desktop/Programme/laufzeit_klim2.txt', 'w') file.write(Laufzeit_2) file.close() print(Laufzeit_2)
Es kommt eine Fehlermeldung: "TypeError: unsupported operand type(s) for +: 'datetime.timedelta' and 'NoneType'"
Die Variable UebernahmeWert hab ich mit None definiert.Aber eine Frage, wenn ich dann die Zeit in einer Variablen habe, kann ich die Variable dann mit einem Befehl unter dem Diagramm ausgeben???
-
Ich glaube ich habe einen Weg gefunden. Um es zu testen muss ich nur noch die Variable mit dem GPRINT Befehl irgendwie ausgeben. Weiß einer wie die Syntax geht um eine Variable damit auszugeben???
-
- Offizieller Beitrag
-
Ehm tut mir leid aber nicht wirklich.
-
Jetzt mitmachen!
Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!