Hallo,
ich bin nicht nur neu hier, sondern auch relativ unbefleckt in Python-Programmierung.
Dennoch habe ich das folgende Skript zusammengestrickt, um mittels eines Raspberry Pi Zero W und angeschlossenem DHT22 einen Luftbefeuchter an und aus
zu schalten. Der Luftbefeuchter wird über eine 433 Mhz Steckdose geschaltet, die ich übers der Raspi und dem entsprechenden Sender ansteuere.
Der Witz ist, dass die Schleife in 1 Stunde etwa 10x durchläuft und dann steigt das Skript mit der Fehlermeldung:
File "Feucht_reg.py", line 32, in <module>
if float(humidity)<=50:
TypeError: float() argument must be a string or a number
aus. Kann mir bitte jemand einen Hinweis dazu geben?
Vielen Dank!
Hier das Skript:
Python
#!/usr/bin/python
import Adafruit_DHT
import commands, time
import RPi.GPIO as GPIO
from subprocess import call
GPIO.setwarnings(False)
GPIO.setmode(GPIO.BCM)
#GPIO.setup(22, GPIO.OUT)
#GPIO.output(22, False)
sensor = Adafruit_DHT.DHT22
gpio = 4
error = 0
rc = call("/home/pi/script/./A2_AUS.sh")
while error==0:
humidity, temperature = Adafruit_DHT.read_retry(sensor, gpio)
if float(humidity)<=50:
rc = call("/home/pi/script/./A2_EIN.sh")
time.sleep(30)
if float(humidity)>=80:
rc = call("/home/pi/script/./A2_AUS.sh")
time.sleep(30)
print "Abbruch!"
Alles anzeigen