DHT22-Messwerte in fhem auslesen

Begonnen von zYloriC, 16 Juli 2014, 16:22:01

Vorheriges Thema - Nächstes Thema

magentouser


*/1*    * * *   root    /home/pi/feuchtigkeit.sh >/dev
*/1 * 
> /dev/null 2>&1 &

Da fehlt was bei dir  lehrzeichen und hinter dev..
Hast du den cron auch neu gestartet?
/etc/init.d/cron restart

simonela80

habe es so eingegeben aber es funktioniert nicht

*/1*    * * *   root    /home/pi/feuchtigkeit.sh > /dev/null 2>&1 &


und auch den cron neu gestartet




magentouser

Das lehrzeichen nach der 1 fehlt      */1             * * * *

simonela80

ja ja ja, jetzt geht's ich glaub mir geht einer ab


vielen vielen Dank magentouser

-jato-

Bei mir hat es ebenfalls erst funktioniert, nachdem ich das globalpassword von telnetPort entfernt hatte. Gibt es da keine Möglichkeit das mit globalpassword zu realisieren?

fridamme

Guten Abend
Ich bin hier neu im Forum und auch neu mit FHEM am werkeln.  ::)
Dank der Anleitung von Moritz habe ich das Auslesen eines DHT11 einigermassen auf die Reihe gekriegt, jedoch trägt es immer mal wieder grob fehlerhafte Werte ein. Ein Bild davon ist im Anhang...  :-\
Ich bin froh um ein Tipp wie ich das beheben kann, mein bisheriger versuch war die Reduktion von zwei auf einen DHT11, dies hat aber keine sichtliche Verbesserung gebracht. Ansonsten sind per 1-Wire zwei Temperatursensoren am Raspberry, diese funktionieren soweit einwandfrei...
Vielen Dank im Voraus für die bisherige Hilfe (sonst wäre ich gar nicht so weit gekommen) und hoffentlich auch für weitere Hilfe  ;)
Liebe Grüsse
Dave

paulpanter

Hey fridamme,
was spuckt dir denn AdafruitDHT aus? Vielleicht bekommt ja fhem auch schon komplett fehlerhafte Werte.
Starte mal aus deinem Installverzeichnis, sollte vermutlich soetwas wie "~/Adafruit_Python_DHT/examples" sein, "AdafruitDHT.py".
Du kannste es starten wenn du ins Verzeichnis gehst und "sudo ./AdafruitDHT.py 11 [den Pin auf den du den Sensor gelegt hast]" eingibst.
Mach das mal ein paar mal und poste die Ergebnisse.

Gruß,
pp

Feuerdrache

#82
Moin fridamme,
das gleiche Problem mit den falschen Werten hatte ich auch.
Ich habe mein Skripte soweit umgebaut, das es dreimal den DHT22 abfragt und dann den mittleren Wert verwendet. Seit dem ich das so laufen habe, gibt es keine Probleme mehr.

Genauer läuft es so:
Ein Shellscript wird von FHEM aufgerufen und fragt dreimal in folge den DHT22 ab. Das Ergebnis aller drei abfragen wird an ein AWK Skript für Temperatur und eines für Luftfeuchtigkeit übergeben. Das AWK Skript sortiert die Werte nach grösse und liefert den mittleren zurück.

Ich verwende allerdings loldht um den dht abzufragen. (Quelle: https://github.com/technion/lol_dht22).

Anbei die Skripte, falls jemand sie verwenden möchte

Gruß FD

PS: Ich hab das auch mit zwei DHT laufen und es tut was es soll.
FHEM auf Raspberry PI B2
- CUL V3.4 mit culfw 1.65 für HM
- nanoCUL mit culfw 1.66 für KOPP FreeControl

fridamme

Hui seid ihr schnell.

Zitat von: paulpanter am 11 Juli 2016, 08:48:10
was spuckt dir denn AdafruitDHT aus? Vielleicht bekommt ja fhem auch schon komplett fehlerhafte Werte.
Die direkte Abfrage (15 mal nacheinander) ergab folgendes:
pi@raspberrypi:~/Adafruit_Python_DHT/examples $ sudo ./AdafruitDHT.py 11 5
Temp=24.0*  Humidity=46.0%
pi@raspberrypi:~/Adafruit_Python_DHT/examples $ sudo ./AdafruitDHT.py 11 5
Temp=24.0*  Humidity=46.0%
pi@raspberrypi:~/Adafruit_Python_DHT/examples $ sudo ./AdafruitDHT.py 11 5
Temp=24.0*  Humidity=46.0%
pi@raspberrypi:~/Adafruit_Python_DHT/examples $ sudo ./AdafruitDHT.py 11 5
Temp=24.0*  Humidity=46.0%
pi@raspberrypi:~/Adafruit_Python_DHT/examples $ sudo ./AdafruitDHT.py 11 5
Temp=24.0*  Humidity=46.0%
pi@raspberrypi:~/Adafruit_Python_DHT/examples $ sudo ./AdafruitDHT.py 11 5
Temp=24.0*  Humidity=46.0%
pi@raspberrypi:~/Adafruit_Python_DHT/examples $ sudo ./AdafruitDHT.py 11 5
Temp=24.0*  Humidity=46.0%
pi@raspberrypi:~/Adafruit_Python_DHT/examples $ sudo ./AdafruitDHT.py 11 5
Temp=24.0*  Humidity=46.0%
pi@raspberrypi:~/Adafruit_Python_DHT/examples $ sudo ./AdafruitDHT.py 11 5
Temp=24.0*  Humidity=46.0%
pi@raspberrypi:~/Adafruit_Python_DHT/examples $ sudo ./AdafruitDHT.py 11 5
Temp=12.0*  Humidity=150.0%
pi@raspberrypi:~/Adafruit_Python_DHT/examples $ sudo ./AdafruitDHT.py 11 5
Temp=24.0*  Humidity=46.0%
pi@raspberrypi:~/Adafruit_Python_DHT/examples $ sudo ./AdafruitDHT.py 11 5
Temp=24.0*  Humidity=46.0%
pi@raspberrypi:~/Adafruit_Python_DHT/examples $ sudo ./AdafruitDHT.py 11 5
Temp=24.0*  Humidity=46.0%
pi@raspberrypi:~/Adafruit_Python_DHT/examples $ sudo ./AdafruitDHT.py 11 5
Temp=24.0*  Humidity=46.0%
pi@raspberrypi:~/Adafruit_Python_DHT/examples $ sudo ./AdafruitDHT.py 11 5
Temp=24.0*  Humidity=46.0%

Also auch da ein fehlerhafter Eintrag...

Der Lösungsvorschlag von Feuerdrache klingt spannend. Ich muss mich mal darum kümmern ihn umzusetzen... Ich weiss bisher zwar noch nicht wie man ein Shellscript von FHEM aufrufen kann und was ein AWK Skribt ist... Mal sehen wie weit ich damit komme =)
Aber danke für den Input und für die bereitstellung der Skripte...

Gruss
Fridamme

Feuerdrache

Huhu,
dann liefere ich gerne noch etwas nach.

Das Skript rufe ich über ein AT alle Minute in FHEM selber auf.
Die Definition des AT sieht bei mir so aus:
define at.read_local_dht22 at +*0:01:00 {system ("/bin/bash /opt/fhem/script/read_dht_22_pi_server.sh &")}

Die Skripte aus dem zip liegen bei mir unter /opt/fhem/script mit den rechten 755.

-rwxr-xr-x 1 fhem dialout    1597 Apr 21 08:37 read_dht_22_pi_server.sh
-rwxr-xr-x 1 fhem dialout  829 Apr 21 17:31 result_humidity.awk
-rwxr-xr-x 1 fhem dialout    1226 Apr 21 17:30 result_temperature.awk



Den DHT liest bei mir das Tool loldht aus. (Wie man das kompiliert etc steht z.B. hier: http://nicht-traeumen-sondern-machen.de/RaspberryPi_Basteleien/Code_TemperaturMessen.php?anker=a3)

loldht liegt bei mir unter /usr/sbin und hat das suid bit gesetzt. Dies ist sicherheitstechnisch zwar nicht so gut, aber notwendig, damit loldht auf die Hardware zugreifen darf
-rwsr-sr-x 1 root root 9261 Apr  1 15:35 /usr/sbin/loldht

Ich hoffe das hilft bei der Implementation weiter.

Gruß FD
FHEM auf Raspberry PI B2
- CUL V3.4 mit culfw 1.65 für HM
- nanoCUL mit culfw 1.66 für KOPP FreeControl

Dangermouse

Zitat von: moemoe am 21 September 2014, 15:10:57
Ich beschreibe hier mal meine komplette Lösung. Ich verwende die python-Library von Adafruit und speise die Ergebnisse per "telnet" ein.
...

Grüße
Moritz

Hallo Moritz (und alle anderen natürlich auch ;) ),

das HowTo ist wirklich genial, herzlichen Dank nochmal dafür.
Ich stehe bei Python leider noch ganz am Anfang, hätte da noch ein kleines Anliegen  ;D
Wäre es möglich in die fhem-dht noch einen BMP180 mit aufzunehmen? Meinen hatte ich bisher über eine seperate FHEM-Instanz als CloneDummy an den Hauptserver angebunden, dies widerspricht allerdings meinem Verständnis von ressourcenschonenden, kleinen Raspis für die Anwesenheits- und Umwelterfassung in den einzelnden Räumen. Hättest Du da einen Tip für mich?

LG Thorsten
FHEM auf Synology-NAS via Docker
piVCCU
HM-LAN & SCC 868 (MAX!) als Funkschnittstelle

fridamme

Zitat von: Feuerdrache am 14 Juli 2016, 18:52:41
Huhu,
dann liefere ich gerne noch etwas nach.
Ich hoffe das hilft bei der Implementation weiter.

Gruß FD

Hallo Feuerdrache

Besten Dank für deine Nachlieferung. Nun ist das ganze etwas klarer, leider bin ich nicht fähig dein Skript anzupassen. Bisher habe ich weder herausgefunden wie ich lol_dht22 mit dem DHT11 nutzen kann (es liest zwar Werte aus, diese stimmen jedoch überhaupt nicht), noch bin ich in der Lage dein sh. Skript anzupassen um den Sensor mit der Adafruit Library auszulesen. Bin leider noch blutiger Anfänger...
Naja, da die Dinger nicht so viel kosten habe ich nun DHT22 bestellt und hoffe, das Skript dann zum laufen zu bringen =)
Vielen Dank soweit, mal schauen obs nun klappt...

LG Fridamme

Feuerdrache

#87
Hi Fridamme,
was für Ausgaben bekommst du denn? Idealerweise mit Aufruf und Ausgabe im Vergleich libarv. Evt ist es ja nur eine Kleinigkeit.

Was für einen Pi nutzt du denn?
Gruß FD
FHEM auf Raspberry PI B2
- CUL V3.4 mit culfw 1.65 für HM
- nanoCUL mit culfw 1.66 für KOPP FreeControl

fridamme

Zitat von: Feuerdrache am 28 August 2016, 21:54:32
was für Ausgaben bekommst du denn? Idealerweise mit Aufruf und Ausgabe im Vergleich libarv. Evt ist es ja nur eine Kleinigkeit.
Ich erhalte folgende Ausgabe:
sudo ./loldht 0
Raspberry Pi wiringPi DHT22 reader
www.lolware.net
Humidity = 1152.00 % Temperature = 588.80 *C

Und ich hoffe doch sehr, dass diese Werte nicht stimmen, sonst wäre das Raumklima im Wohnzimmer eher ungesund...

Zitat von: Feuerdrache am 28 August 2016, 21:54:32
Was für einen Pi nutzt du denn?

Ich nutze den Raspberry Pi 3. Per Adafruit lässt sich der Sensor auslesen:
sudo ./AdafruitDHT.py 11 5   
Temp=24.0*  Humidity=40.0%

Was meinst du mit Aufruf und Ausgabe im Vergleich libarv? Ich fühle mich gerade wie ein riesen Noob ;-) (OK bin ich ja auch... Aber was nicht ist kann ja noch werden...)

Gruss
Fridamme

Feuerdrache

#89
Moin,

Brauchst dich nicht wie ein Boot fühlen, hast genau das geliefert, was ich sehen wollte. :-)

Die awk Skripte lassen sich nicht so leicht an die Adafruit Library anpassen wie ich gehofft hatte. Eventuell lässt sich was per regulären Ausdrücken machen. Ich schaue mir das mal an wenn es passt.

Gruß FD
FHEM auf Raspberry PI B2
- CUL V3.4 mit culfw 1.65 für HM
- nanoCUL mit culfw 1.66 für KOPP FreeControl