[vz-users] DHT22 Bash Script optimieren

Christian Meckler christian at meckler.org
Thu Aug 13 11:10:24 CEST 2015


Hallo,

ja so verstehe ich das auch, jedoch liefert "WERTE=$( 
/root/lol_dht22/loldht 4  | grep Humidity)"  öfters kein Ergebnis.
Ich weiß nicht wie das zustande kommt, evtl bricht die Bash den Befehl ab???

Ich vermute das ein Elektrischer Fehler vorliegt oder der Sensor einfach 
nur scheiße ist, werde mal nen anderen Sensor probieren, hab noch n paar 
von der Sorte.
Gibt es in Bash die Möglichkeit den Wert zu Validieren?
Also Luftfeuchte mus zwischen 1 und 100 liege und Temperatur zwischen 
-20 und 50.

Gruß
anbei die Temperaturkurve, OHNE die offensichtlich Falschen Werte



Am 13.08.2015 um 11:02 schrieb Christian Schnellrieder:
> Hallo.
>
> Verstehe ich das richtig das die Ausgabe von "loldht" automatisch 
> stoppt wenn ein valider Wert gefunden wird?
>
> Grüße
>
> Am 13. August 2015 um 10:36 schrieb Christian Meckler 
> <christian at meckler.org <mailto:christian at meckler.org>>:
>
>     Hallo,
>
>     ja einige Werte sind korrekt, jedoch auch einige falsch.
>
>     Beispiel:
>      "/root/lol_dht22/loldht 4"  die 4 Steht für den Pin an dem der
>     Sensor angeschlossen ist.
>     Raspberry Pi wiringPi DHT22 reader
>     www.lolware.net <http://www.lolware.net>
>      Data not good, skip
>      Data not good, skip
>     *... ganz viele  Data not good, skip*
>      Data not good, skip
>      Data not good, skip
>      Humidity = 44.00 % Temperature = 24.20 *C
>
>     _aber _Inhalt der Log Datei:
>
>     2015-08-13-05-50 ergebnis Humidity = 58.40 % Temperature = 26.20 *C
>     2015-08-13-05-55 ergebnis Humidity = 58.40 % Temperature = 26.20 *C
>     2015-08-13-06-00 ergebnis Humidity = 58.40 % Temperature = 26.20 *C
>     2015-08-13-06-05 ergebnis Humidity = 58.40 % Temperature = 26.20 *C
>     2015-08-13-06-10 ergebnis Humidity = 57.90 % Temperature = 26.30 *C
>     2015-08-13-06-20 ergebnis *(kein Ergebnis?)*
>     2015-08-13-06-15 ergebnis Humidity = 58.20 % Temperature = 26.30 *C
>     2015-08-13-06-30 ergebnis*(wieder kein Ergebnis? )*
>     2015-08-13-06-25 ergebnis Humidity = 57.90 % Temperature = 26.30 *C
>     2015-08-13-06-35 ergebnis Humidity = 1073.50 % Temperature =
>     -1418.80 *C (Falsche Angaben)
>     2015-08-13-06-45 ergebnis
>     2015-08-13-06-50 ergebnis
>     2015-08-13-06-40 ergebnis Humidity = 58.50 % Temperature = 26.20 *C
>     2015-08-13-06-55 ergebnis Humidity = 52.30 % Temperature = 26.00 *C
>     2015-08-13-07-00 ergebnis Humidity = 58.60 % Temperature = 26.00 *C
>     ...
>     2015-08-13-08-20 ergebnis Humidity = 60.20 % Temperature = 0.00 *C
>     (wieder Falsche Angaben)
>
>
>
>     Am 12.08.2015 um 14:39 schrieb Christian Schnellrieder:
>>     Hallo Christian,
>>
>>     Liefert denn ein  "/root/lol_dht22/loldht 4" (für was auch die 4
>>     steht) richtige Werte?
>>
>>
>>     Grüße
>>
>>     Am 12. August 2015 um 12:47 schrieb Christian Meckler
>>     <christian at meckler.org <mailto:christian at meckler.org>>:
>>
>>         Hallo zusammen,
>>
>>         hab mir hier ein Bash script gebastelt um die Werte zu loggen.
>>         soweit so gut, funktionieren tut es, jedoch
>>         hab aber mit Fehlmessungen zu kämpfen.
>>         Also meistens habe ich überhaupt kein Ergebnis, manchmal
>>         kommt Müll raus. z.B. 3°C
>>
>>         würde gerne den Fehler finden oder die Messung interpolieren.
>>         z.B. zwei Messungen und Mittelwert Bilden.
>>         oder Messergebnis mit vorheriger Messung vergleichen...
>>
>>         Bitte um Vorschläge
>>
>>         Gruß
>>         Christian
>>
>>
>>
>>
>>         #!/bin/bash
>>         d=`date +%Y-%m-%d-%H-%M`
>>         WERTE=$( /root/lol_dht22/loldht 4  | grep Humidity)
>>         echo "$d ergebnis $WERTE" >> /root/log_vom_dht22.log
>>         Hum=$(echo $WERTE | awk {'print $3'})
>>         Temp=$(echo $WERTE | awk {'print $7'})
>>
>>         if [ -n "$Temp" ];
>>         then
>>         echo "Humidity: $Hum"
>>         wget  -O /dev/null
>>         "http://<url>middleware.php/data/<id>.json?operation=add&value=$Hum"
>>         echo "Temperature: $Temp"
>>         wget  -O /dev/null
>>         "http://<url>/middleware.php/data/<id>.json?operation=add&value=$Temp"
>>         fi
>>
>>
>
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://demo.volkszaehler.org/pipermail/volkszaehler-users/attachments/20150813/20835967/attachment-0001.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: jhaddfie.png
Type: image/png
Size: 40411 bytes
Desc: not available
URL: <http://demo.volkszaehler.org/pipermail/volkszaehler-users/attachments/20150813/20835967/attachment-0001.png>


More information about the volkszaehler-users mailing list