Seite 1 von 1

DHT11 + OpenHAB2 anzeigen lassen

Verfasst: 21. Dez 2020 15:41
von Lukasg
Hallo Zusammen,

ich habe bereits einen Code der mir im Terminal die Temperatur und die Luftfeuchtigkeit ausgibt DHT11.py:

Code: Alles auswählen

import time
import board
import adafruit_dht

# Initial the dht device, with data pin connected to:
dhtDevice = adafruit_dht.DHT11(board.D17)

# you can pass DHT22 use_pulseio=False if you wouldn't like to use pulseio.
# This may be necessary on a Linux single board computer like the Raspberry Pi,
# but it will not work in CircuitPython.
# dhtDevice = adafruit_dht.DHT22(board.D18, use_pulseio=False)

while True:
    try:
        # Print the values to the serial port
        temperature = dhtDevice.temperature
        humidity = dhtDevice.humidity
        print(
            "Temperatur: {:.1f} C    Lufteuchtigkeit: {}% ".format(
                temperature, humidity
            )
        )

    except RuntimeError as error:
        # Errors happen fairly often, DHT's are hard to read, just keep going
        print(error.args[0])
        time.sleep(2.0)
        continue
    except Exception as error:
        dhtDevice.exit()
        raise error

    time.sleep(2.0)

Aufgerufen wird im Terminal mit $ python3 DHT11.py .
Ausgabe sieht wie folgt aus:
Ausgabe_DHT11.jpg
Jetzt möchte ich diese beiden Werte auch in OpenHAB2 in der Basis UI anzeigen lassen.
Ich weiß, dass ich aus den Ausgaben Items und Things erzeugen muss. Aber ich weiß nicht wie....

Die Sitempap kriege ich hin. Aber den Rest leider nicht.
Kann mir da jemand behilflich sein?

Vielen Dank vorab,
Viele Grüße,
Lukas

Re: DHT11 + OpenHAB2 anzeigen lassen

Verfasst: 21. Dez 2020 15:49
von Nelson666
Hallo,

also ich hab das mit MQTT gelöst. Mein DHT übermittelt die Werte (JSON) an den MQTT Broker.
Du müßtest dir ein Script schreiben, was die Werte auf via MQTT veröffentlicht.
Ich habe mich lange gegen MQTT gewehrt, aber das ist ein sehr gutes Protokoll für solche Aufgaben.

Wenn das der einzige Sensor ist und bleibt, solltest du Dir das Exec AddOn anschauen. Das führt den gezeigten Befehl aus und schreibt die zurückgegebenen Werte in die entsprechenden Items.

Re: DHT11 + OpenHAB2 anzeigen lassen

Verfasst: 21. Dez 2020 16:14
von Jojo
Ich habe meine Temperatur Sensoren Dank der Infos hier an einem EPS8266 hängen, der mit Tasmota geflasht ist.
Das ist deutlich einfacher als die ganze Arduino Geschichte.
Der schickt die Daten per MQTT an openHAB wo ich den JSON String auslese und mir die Daten anzeigen lasse
Bildschirmfoto 2020-12-21 um 16.11.36.png
Ich habe noch ein Fed eingefügt das mir zeigt wann das letzte mal aktualisiert wurde, nicht das so eon kleiner Racker nicht mehr funkt und die Daten alt sind.
Hier nochmal Dank an Udo(1Toni) und Peter(Pan) ohne deren Hilfe das so nicht bestehen würde !!!

Re: DHT11 + OpenHAB2 anzeigen lassen

Verfasst: 21. Dez 2020 16:20
von Lukasg
Scheinbar führt kein vernünftiger Weg an MQTT vorbei.
Ich werde nach Tutorials suchen.

Jetzt was ich schon mal froh, dass ich die Daten meines Sensors auslesen kann. Darauf wollte ich aufbauen :D und fang nach zwei Tagen wieder von vorne an :cry:

EDIT: Es ist erstmal nur ein Sensor den ich auslesen möchte. Wenn das funktioniert, werden es bestimmt schnell mehrere :D

Re: DHT11 + OpenHAB2 anzeigen lassen

Verfasst: 21. Dez 2020 22:15
von udo1toni
Da Du ohnehin schon ein Python Script hast, kannst Du leicht das vorhandene Script umbauen. Die Bibliothek für mqtt heißt paho-mqtt und lässt sich sehr leicht in bestehende Scripte integrieren.

Re: DHT11 + OpenHAB2 anzeigen lassen

Verfasst: 22. Dez 2020 13:19
von Lukasg
Nachdem ich auf openHAB3 umgestiegen bin, funktioniert mein Script nicht mehr.
Jetzt kümmer ich mich um meine neuen Zigbee-LED-Controller :)