Hallo,
Ich versuche vergeblich (wie offensichtlich einige im Forum) die Messwerte eine DHT22 an GPIO7 einzulesen.
Die Werte im über das Adafruit Script einzulesen funktioniert.
pi@raspberrypi:~/Adafruit_Python_DHT/examples $ ./AdafruitDHT.py 22 4
Temp=24.9* Humidity=31.6%
Ich komme es aber nicht ins FHEM übertragen.
setreading Innen.DHT22 Temperature 2 aus der FHEM Kommandozeile funktioniert
pi@raspberrypi:~ $ perl /opt/fhem/fhem.pl 7072 "setreading Innen.DHT22 Temperature 2"
funktioniert nicht.
Im Logfile steht folgenden
2018.04.06 16:58:40 4: Connection accepted from telnetPort_127.0.0.1_36610
2018.04.06 16:59:40 4: Connection accepted from telnetPort_127.0.0.1_36612
2018.04.06 17:00:41 4: Connection accepted from telnetPort_127.0.0.1_36614
Was kann ich noch tun?
Was funktioniert denn da nicht?
Ich habe gerade einen dummy definiert der Innen_DHT22 heißt und ein reading Temperature besitzt (seit wann schreibt man solche readings mit Großbuchstaben?)
udo@fhemaws:~$ perl /opt/fhem/fhem.pl 7072 "setreading Innen.DHT22 Temperature 2"
liefert als Ergebnis
Internals:
CFGFN
NAME Innen_DHT22
NR 26
STATE ???
TYPE dummy
Helper:
DBLOG:
Temperature:
dbLog:
TIME 1523033851.33228
VALUE 2
READINGS:
2018-04-06 18:57:31 Temperature 2
Attributes:
readingList Temperature
Übrigens:
Punkte in deviceNames sind nie eine gute Idee, deshalb habe ich in meinem Beispiel lieber den Unterstrich verwendet.
Wie Du im Beispiel siehst, löst setreading den angegebenen Punkt im deviceName als regexp auf. Das ist nicht immer das, was man möchte.
Mich freut schon mal, ne Antwort bekommen zu haben. Danke
Ich bin blutiger Anfänger und froh über jeden guten Hinweis.
Ich hatte versucht zu beschreiben, dass genau das bei mir eben nicht passiert/funktioniert.
Inzwischen habe ich es auch mit Punkt und Unterstrich im Device-Namen versucht und ich auch die Groß.- und Kleinschreibung im Reading-Namen versucht. Kein Unterschied.
Trotzdem, denke für den Hinweis.
Jedenfalls, wenn ich
perl /opt/fhem/fhem.pl 7072 "setreading Innen.DHT22 Temperature 2"
eingebe, bekomme ich weder eine Fehlermeldung, noch übernimmt der dummy den Wert.
Internals:
CFGFN
NAME Innen_DHT22
NR 546
STATE T: temperature
TYPE dummy
READINGS:
Attributes:
stateFormat T: temperature
Ich vermute, dass ich irgendeine Berechtigung für den Telnet port nicht richtig eingerichtet habe, oder noch ein Attribut für die "dummy" device vergeben muß.
Allerdings fehlt mir der Hintergrund um dies zu diagnostizieren.
Letztlich will ich nur die Werte des DHT22 einlesen und verarbeiten. Ursprünglich wollte ich nach folgenden Tutorial vorgehen:
https://test-wetterstation.de/temperaturmessung-mit-dem-raspberry-pi (https://test-wetterstation.de/temperaturmessung-mit-dem-raspberry-pi)
Auch dieser Weg:
https://forum.fhem.de/index.php/topic,25413.msg201619.html#msg201619 (https://forum.fhem.de/index.php/topic,25413.msg201619.html#msg201619)
ist vermutlich am gleichen Fehler gescheitert :-(
Danke und Gruß
Jörg
Du versuchst, in Deinem dummy ein reading "Temperature" zu setzen, das in dem dummy nicht existiert.
Schau Dir nochmal mein Beispiel genau an, dann siehst Du, dass ich dort genau dieses reading per Attribut "readingList" definiert habe.
Zitat von: JoergS am 09 April 2018, 23:49:18
Ich vermute, dass ich irgendeine Berechtigung für den Telnet port nicht richtig eingerichtet habe, oder noch ein Attribut für die "dummy" device vergeben muß.
dann solltest Du zumindest eine Fehlermeldung bekommen (oder im Log finden) die auf ein Berechtigungsproblem hinweist.
Problem gefunden...
Ich hatte den Telnet port mit einen Passwort versehen. Nachdem das wieder offen war, war alles recht einfach.
Nochmals Danke für die Tips