Einbinden von DHT22 Temperatur u. Feuchtigkeitssensor

Einrichtung der openHAB Umgebung und allgemeine Konfigurationsthemen.

Moderatoren: seppy, udo1toni

Benutzeravatar
udo1toni
Beiträge: 13867
Registriert: 11. Apr 2018 18:05
Answers: 222
Wohnort: Darmstadt

Re: Einbinden von DHT22 Temperatur u. Feuchtigkeitssensor

Beitrag von udo1toni »

Als Erstes noch mal die Nachfrage nach der exakten Ausgabe des Befehls, wenn Du ihn ausführst. Siehe viewtopic.php?f=15&t=2191&start=10#p11330
croix-aigle hat geschrieben: 25. Sep 2019 18:35Hab das alles als dht22. ... benannt, um es vorerst für mich leichter zu machen.
Da wäre nun die Frage, die Rule und Items exakt aussehen. Ändern, damit es einfacher wird, ist ja gut und schön, es muss aber auch korrekt sein.
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet

croix-aigle
Beiträge: 18
Registriert: 20. Mai 2019 08:40

Re: Einbinden von DHT22 Temperatur u. Feuchtigkeitssensor

Beitrag von croix-aigle »

ich gehe indas Verzeichnis:

Code: Alles auswählen

/etc/Adafruit_Python_DHT/examples/
und gebe dort den Befehl:

Code: Alles auswählen

sudo ./AdafruitDHT.py 22 17

Benutzeravatar
udo1toni
Beiträge: 13867
Registriert: 11. Apr 2018 18:05
Answers: 222
Wohnort: Darmstadt

Re: Einbinden von DHT22 Temperatur u. Feuchtigkeitssensor

Beitrag von udo1toni »

Es geht nicht darum, was Du eingibst, sondern, was der Befehl zurück liefert... ;)
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet

Stefan Otten
Beiträge: 73
Registriert: 11. Nov 2018 06:51

Re: Einbinden von DHT22 Temperatur u. Feuchtigkeitssensor

Beitrag von Stefan Otten »

Die Ausgabe sieht so aus:
Temp=24.6* Humidity=59.0%

Grüße

Benutzeravatar
udo1toni
Beiträge: 13867
Registriert: 11. Apr 2018 18:05
Answers: 222
Wohnort: Darmstadt

Re: Einbinden von DHT22 Temperatur u. Feuchtigkeitssensor

Beitrag von udo1toni »

Ah. Das muss man natürlich bei der Extraktion berücksichtigen.

Code: Alles auswählen

rule "parse dht22 temp and hum"
when
    Item MyDHT22 received update
then
    if(MyDHT22.state != null && MyDHT22.state.toString.contains(" ")) { // die beiden Werte werden durch ein Leerzeichen voneinander getrennt
        var String part1 = MyDHT22.state.toString.split(" ").get(0)     // Temperatur, mit Text
        var String part2 = MyDHT22.state.toString.split(" ").get(1)     // Feuchtigkeit, mit Text
        part1 = part1.split("=").get(1)                                 // Zahl mit Einheit
        part2 = part2.split("=").get(1)                                 // Zahl mit Einheit
        part1 = part1.split("*").get(0)                                 // Zahl ohne Einheit
        part2 = part2.split("%").get(0)                                 // Zahl ohne Einheit
        dht22Temp.postUpdate(Float::parseFloat(part1))
        dht22Hum.postUpdate(Float::parseFloat(part2))
    }
end
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet

croix-aigle
Beiträge: 18
Registriert: 20. Mai 2019 08:40

Re: Einbinden von DHT22 Temperatur u. Feuchtigkeitssensor

Beitrag von croix-aigle »

das habe ich in der Sitemaps eingetragen.

Code: Alles auswählen

Text item=dht22Temp
Text item=dht22Hum
Ausgabe: Temperatur - °C Luftfeuchte - %

Hab ich in der Sitemaps was falsch eingetragen? in der Log finde ich nichts.

croix-aigle
Beiträge: 18
Registriert: 20. Mai 2019 08:40

Re: Einbinden von DHT22 Temperatur u. Feuchtigkeitssensor

Beitrag von croix-aigle »

Ich habe die ruls noch erweitert mit:

Code: Alles auswählen

logInfo("DHT22"," Der DHT22-Status enthält: {}", MyDHT22.state)             // Test
logInfo("DHT22","part1 enthält: {} - part2 enthält: {} ", part1, part2)     // Test
in der Log kommt folgender Fehler:

Code: Alles auswählen

2019-10-11 18:30:33.173 [WARN ] [el.core.internal.ModelRepositoryImpl] - Configuration model 'dht22.rules' has errors, therefore ignoring it: [21,1]: missing EOF at 'when'

Benutzeravatar
udo1toni
Beiträge: 13867
Registriert: 11. Apr 2018 18:05
Answers: 222
Wohnort: Darmstadt

Re: Einbinden von DHT22 Temperatur u. Feuchtigkeitssensor

Beitrag von udo1toni »

Tja, steht ja nun da, Du hast in der Datei einen Tippfehler, der verhindert, dass die Rule überhaupt ausgeführt wird.
Der Fehler befindet sich vermutlich (aber nicht sicher!) in Zeile 21.

Vermutlich befindet sich der Fehler unmittelbar vorher, da er das Schlüsselwort "when" anmeckert. Falls Du es nicht selbst findest, poste bitte den kompletten Inhalt der Datei (falls Du mehrere Rules drin hast, reicht die Datei bis zum Ende der Rule)
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet

croix-aigle
Beiträge: 18
Registriert: 20. Mai 2019 08:40

Re: Einbinden von DHT22 Temperatur u. Feuchtigkeitssensor

Beitrag von croix-aigle »

ok, hab den Fehler gefunden. Das Lag dadran, das ich noch text // ... hatte und obwohl alles grün war. Machte er Probleme.

Das steht jetzt in der Log:

Code: Alles auswählen

2019-10-16 09:08:19.551 [INFO ] [el.core.internal.ModelRepositoryImpl] - Loading model 'dht22.rules'
2019-10-16 09:08:30.286 [INFO ] [eclipse.smarthome.model.script.DHT22] -  Der DHT22-Status enthält: We trust you have received the usual lecture from the local System
Administrator. It usually boils down to these three things:

    #1) Respect the privacy of others.
    #2) Think before you type.
    #3) With great power comes great responsibility.

sudo: no tty present and no askpass program specified

We trust you have received the usual lecture from the local System
Administrator. It usually boils down to these three things:

    #1) Respect the privacy of others.
    #2) Think before you type.
    #3) With great power comes great responsibility.

sudo: no tty present and no askpass program specified
2019-10-16 09:08:30.347 [ERROR] [ntime.internal.engine.RuleEngineImpl] - Rule 'parse dht22 temp and hum': 1

Benutzeravatar
udo1toni
Beiträge: 13867
Registriert: 11. Apr 2018 18:05
Answers: 222
Wohnort: Darmstadt

Re: Einbinden von DHT22 Temperatur u. Feuchtigkeitssensor

Beitrag von udo1toni »

Du rufst sudo auf, der User, welcher sudo startet, hat dies aber noch nie getan. Ist der user Mitglied der Gruppe sudo? ist für den User definiert, dass er zum Aufruf des gewünschten Befehls kein Passwort eingeben muss?
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet

Antworten