Hi Leute,
folgendes Skript liest wie erwünscht sowohl Temperatur als auch Luftfeuchtigkeit aus.
Die Werte schreibe ich mittels eines Shell-Skriptes jede Minute in eine Datenbank
Code
import sys
import Adafruit_DHT
# Parse command line parameters.
sensor_args = { '11': Adafruit_DHT.DHT11,
'22': Adafruit_DHT.DHT22,
'2302': Adafruit_DHT.AM2302 }
if len(sys.argv) == 3 and sys.argv[1] in sensor_args:
sensor = sensor_args[sys.argv[1]]
pin = sys.argv[2]
else:
print('Bitte die PIN-Belegung des Pi beachten!')
sys.exit(1)
humidity,temperature = Adafruit_DHT.read_retry(sensor, pin)
if humidity is not None and temperature is not None:
print('Temperatur:{0:0.1f} Grad Celsius\nLuftfeuchtigkeit:{1:0.1f}%'.fo$
#print('Luftfeuchtigkeit:{1:0.1f}%'.format(humidity))
else:
print('Lesefehler, bitte erneut messen!')
sys.exit(1)
Alles anzeigen
Da ich die Datenbankwerte allerdings isoliert benötige, soll das Skript sowohl Temperatur als auch Luftdruck getrennt auslesen.
Das aber funktioniert nicht.
Folgender Versuch wird mit folgender Fehlermeldung quittiert....
Skript:
Code
import sys
import Adafruit_DHT
# Parse command line parameters.
sensor_args = { '11': Adafruit_DHT.DHT11,
'22': Adafruit_DHT.DHT22,
'2302': Adafruit_DHT.AM2302 }
if len(sys.argv) == 3 and sys.argv[1] in sensor_args:
sensor = sensor_args[sys.argv[1]]
pin = sys.argv[2]
else:
print('Bitte die PIN-Belegung des Pi beachten!')
sys.exit(1)
temperature = Adafruit_DHT.read_retry(sensor, pin)
if temperature is not None:
print('Temperatur:{1:0.1f} Grad Celsius'.format(temperature))
#alternativ:print('Temperatur:{0:0.1f} Grad Celsius'.format(temperature))
#print('Luftfeuchtigkeit:{0:0.1f}%'.format(humidity))
else:
print('Lesefehler!')
sys.exit(1)
Alles anzeigen
Fehlermeldung:
Code
root@raspberrypi:/home/tklustig/Skripte# python AdafruitDHT_copy.py 11 4
Traceback (most recent call last):
File "AdafruitDHT_copy.py", line 20, in <module>
print('Temperatur:{0:0.1f} Grad Celsius'.format(temperature))
ValueError: Unknown format code 'f' for object of type 'str'
bzw.
Code
root@raspberrypi:/home/tklustig/Skripte# python AdafruitDHT_copy.py 11 4
Traceback (most recent call last):
File "AdafruitDHT_copy.py", line 20, in <module>
print('Temperatur:{1:0.1f} Grad Celsius'.format(temperature))
IndexError: tuple index out of range
wie muss ich codieren,damit mein Vorhaben gelingt?