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.croix-aigle hat geschrieben: ↑25. Sep 2019 18:35Hab das alles als dht22. ... benannt, um es vorerst für mich leichter zu machen.
Einbinden von DHT22 Temperatur u. Feuchtigkeitssensor
- udo1toni
- Beiträge: 13867
- Registriert: 11. Apr 2018 18:05
- Wohnort: Darmstadt
Re: Einbinden von DHT22 Temperatur u. Feuchtigkeitssensor
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
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet
-
- Beiträge: 18
- Registriert: 20. Mai 2019 08:40
Re: Einbinden von DHT22 Temperatur u. Feuchtigkeitssensor
ich gehe indas Verzeichnis:
und gebe dort den Befehl:
Code: Alles auswählen
/etc/Adafruit_Python_DHT/examples/
Code: Alles auswählen
sudo ./AdafruitDHT.py 22 17
- udo1toni
- Beiträge: 13867
- Registriert: 11. Apr 2018 18:05
- Wohnort: Darmstadt
Re: Einbinden von DHT22 Temperatur u. Feuchtigkeitssensor
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
-
- Beiträge: 73
- Registriert: 11. Nov 2018 06:51
Re: Einbinden von DHT22 Temperatur u. Feuchtigkeitssensor
Die Ausgabe sieht so aus:
Temp=24.6* Humidity=59.0%
Grüße
Temp=24.6* Humidity=59.0%
Grüße
- udo1toni
- Beiträge: 13867
- Registriert: 11. Apr 2018 18:05
- Wohnort: Darmstadt
Re: Einbinden von DHT22 Temperatur u. Feuchtigkeitssensor
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
-
- Beiträge: 18
- Registriert: 20. Mai 2019 08:40
Re: Einbinden von DHT22 Temperatur u. Feuchtigkeitssensor
das habe ich in der Sitemaps eingetragen.
Ausgabe: Temperatur - °C Luftfeuchte - %
Hab ich in der Sitemaps was falsch eingetragen? in der Log finde ich nichts.
Code: Alles auswählen
Text item=dht22Temp
Text item=dht22Hum
Hab ich in der Sitemaps was falsch eingetragen? in der Log finde ich nichts.
-
- Beiträge: 18
- Registriert: 20. Mai 2019 08:40
Re: Einbinden von DHT22 Temperatur u. Feuchtigkeitssensor
Ich habe die ruls noch erweitert mit:
in der Log kommt folgender Fehler:
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
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'
- udo1toni
- Beiträge: 13867
- Registriert: 11. Apr 2018 18:05
- Wohnort: Darmstadt
Re: Einbinden von DHT22 Temperatur u. Feuchtigkeitssensor
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)
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
-
- Beiträge: 18
- Registriert: 20. Mai 2019 08:40
Re: Einbinden von DHT22 Temperatur u. Feuchtigkeitssensor
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:
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
- udo1toni
- Beiträge: 13867
- Registriert: 11. Apr 2018 18:05
- Wohnort: Darmstadt
Re: Einbinden von DHT22 Temperatur u. Feuchtigkeitssensor
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