Hallo zusammen,
ich bin nun seit einiger Zeit auch in der Welt des raspberry unterwegs und konnte bereits mit Hilfe verschiedener Tutorials einige Projekte verwirklichen. Habe mich auch an Python getraut, doch jetzt habe ich ein Problem, bei dem ich nicht weiter komme.
Ich habe ein kleines Programm geschrieben, welches einen DHT11 Sensor ausließt und je nach Temperatur bzw. Luftfeuchtigkeit verschiedene Aktionen ausführt. Das Programm hat bis jetzt auch gut funktioniert. Jetzt sieht es so aus, als ob der DHT11 Sensor defekt ist.
Zum auslesen nutze ich den Code von Adafruit und weise den Variablen "temp" und "humi" die Werte des Sensors zu. Das sieht wie folgt aus:
# Sensor auslese
def sensor():
global temp
global humi
output = subprocess.check_output(["/home/pi/Adafruit_Python_DHT/examples/AdafruitDHT.py", "11", "4"]);
print output
temp = float(output.split(" ")[2])
humi = float(output.split(" ")[7])
print temp
print humi
Jetzt sieht es so aus, als ob der DHT11 Sensor defekt ist. Denn versuche ich die Werte abzurufen erhalte ich:
Starte ich jetzt mein Programm erhalte ich als Fehlermeldung:
Hier wird dann das Programm beendet.
Klar, es werden ja keine Messwerte mehr ausgegeben, sonder eine Fehlermeldung.
Wie kann ich denn dafür sorgen, dass das Programm trotzdem weiter läuft.
Hätte ganz gerne eine Ausnahmeregelung, welche vorsieht Ersatzwerte zu nutzen.
Pseudocode
if "ValueError" then use temp = 20 and humi = 50
Ich müsste irgendwie prüfen, ob "output" die Messwerte enthält oder die Fehlermeldung.
Hoffe ich konnte mein Problem ausreichend gut erklären.