nach dem ich meinen 1. Wire Temperatursensor eingebunden habe, möchte ich jetzt den DHT22 auch einbinden, leider klappt das nicht so einfach wie ich es mir vorgestellt habe.
Installiert:
Programm: /etc/Adafruit_Python_DHT/examples .... Sensor ist mit ./AdafruitDHT.py 22 17 #GPIO17 abzurufen
Web: IP-Adresse:8080 ⇒ Paperui ⇒ Add-ons ⇒ Bindings ⇒ Suchen: „Exec“ ⇒ Install: „Exec Binding“
Konfiguration:
ArbeitszimmerDHT22.py Ordern /etc/openhab2/scripts/
ArbeitszimmerDHT22.itemsimport Adafruit_DHT
import sys, time
DHT_PIN = 17 #GPIO Nummer hier eintragen
DHT_SENSOR = Adafruit_DHT.DHT22
if __name__ == ‚__main__‘:
if len(sys.argv) > 1:
call = sys.argv[1].lower()
if call == ‚temperature‘: #Messwert 1 Temperatur
temperature = None
while temperature == None:
_, temperature = Adafruit_DHT.read_retry(DHT_SENSOR, DHT_PIN)
if temperature == None:
time.sleep(1.5)
print(temperature)
elif call == ‚humidity‘: # Messwert 2 humidity Feuchtigkeit
humidity = None
while humidity == None:
humidity, _ = Adafruit_DHT.read_retry(DHT_SENSOR, DHT_PIN)
if humidity == None:
time.sleep(1.5)
print(humidity)
ArbeitszimmerDHT22.thingsGroup Klima_Arbeitszimmer_Diagramm (System, Charts)
Number Arbeitszimmer_Temperature „Temperatur [%.1f C]“ <temperature> (Klima_Wohnzimmer_Diagramm) { channel=“exec:command:wohnzimmer_temperature:output“ }
Number Arbeitszimmer_Humidity „Luftfeuchtigkeit [%.1f %%]“ <humidity> (Klima_Wohnzimmer_Diagramm) { channel=“exec:command:wohnzimmer_humidity:output“ }
Sitemaps sind folgende Zeile eingefügt:Thing exec:command:wohnzimmer_temperature „Arbeitszimmer – Temperatur“ @ „Arbeitszimmer“ [command=“/etc/openhab2/scripts/ArbeitszimmerDHT22.py temperature“, transform=“REGEX((.*?))“, interval=60, timeout=10, autorun=true]
Thing exec:command:wohnzimmer_humidity „Arbeitszimmer – Luftfeuchtigkeit“ @ „Arbeitszimmer“ [command=“/etc/openhab2/scripts/ArbeitszimmerDHT22.py humidity“, transform=“REGEX((.*?))“, interval=60, timeout=10, autorun=true]
Text item=Arbeitszimmer_Temperature
Text item=Arbeitszimmer_Humidity