Hallo,
ich möchte für eine Temperatur/Feuchtigkeitsregelung mit unterschiedlichen Sollwerten für den Tag und die Nacht aufbauen.
Der Grundaufbau funktioniert soweit, jetzt übe ich mich mit der zeitlichen Steuerung. Der nachfolgende Code läuft, aber die while-Schleife
bricht nicht ab, wenn die Zeit außerhalb der beiden Schaltpunkte ist. Starte ich das Script außerhalb der Zeit, wird die Schleife richtigerweise
übergangen. Kann es daran liegen, dass die Abfrage mit immer dem gleichen "alten" Zeitwert durchgeführt wird, der zu Beginn des Skripts eingelesen wird?
Hatte den notwendigen Befehl dazu mal in die Schleife verlagert, das brachte aber auch nicht.
Jemand ne Idee zur Hilfe für mich?
Python
#!/usr/bin/python
import time
import Adafruit_DHT
from subprocess import call
sensor = Adafruit_DHT.DHT22
gpio = 4
schaltzeit1 = "12:35"
schaltzeit2 = "12:55"
zeit=time.strftime("%H:%M");
while schaltzeit1 <= zeit <= schaltzeit2:
humidity, temperature = Adafruit_DHT.read_retry(sensor, gpio)
print 'Ist-Feuchtigkeit: {0:0.1f}'.format(humidity)
print 'Ist-Temperatur: {0:0.1f}*C'.format(temperature)
if (humidity)<=50.0:
# rc = call("/home/pi/script/./A2_EIN.sh")
time.sleep(3)
print 'A2 EIN'
if (temperature)<20.0:
# rc =call("/home/pi/script/./B_EIN.sh")
time.sleep(3)
print 'B EIN'
if (temperature)>27.0:
# rc= call("/home/pi/script/./C_EIN.sh")
time.sleep(3)
print 'C EIN für 5 Minuten'
if (humidity)>=80.0:
# rc = call("/home/pi/script/./A2_AUS.sh")
time.sleep(3)
print 'A2 AUS'
if (temperature)>21.0:
# rc= call("/home/pi/script/./B_AUS.sh")
time.sleep(3)
print 'B AUS'
else:
print 'Ende'
time.sleep(10)
Alles anzeigen