DHT22 – Daten per Telnet an FHEM senden

Wie ihr Daten per Telnet von einem anderen Rasperry Pi an FHEM sendet könnt ihr hier nachlesen.

Vor einiger Zeit habe ich mir einen DHT22 Luftfeuchtigkeits- und Temperatursensor an den zweiten Rasperry PI angeschlossen um flexibel die Temperatur und Luftfeuchtigkeit in unterschiedlichen Räumen zu überwachen. Natürlich wollte ich auch gleich die Daten per SVG Graphen anzeigen lassen, um daraus auch Rückschlüsse über die Heizungsaktivitäten ziehen zu können.

FHEM bietet die Möglichkeit über TCP 7072 Ergebnisse in Empfang nehmen zu können. Dazu baut ihr zunächst eine Telnetverbindung auf und sendet anschließend im Telnetclient den Befehl „set <devicename> <wert>“ zum Beispiel: „set Temperatursensor1 23.5“

Bei mir habe ich das Dummy Device Temperatursensor1 auch gleich mit einer Logfile verbunden, was wiederum die Voraussetzung für das auswerten über SGV Plots ist.

Auszug aus der fhem.cfg (FHEM RasPi)

define Temperatursensor1 dummy
attr Temperatursensor1 comment DHT22 auf retropi
attr Temperatursensor1 icon sani_buffer_temp_up
define FileLog_Temperatursensor1 FileLog ./log/Temperatursensor1-%Y-%m.log Temperatursensor1
attr FileLog_Temperatursensor1 logtype text
attr FileLog_Temperatursensor1 room Schlafzimmer
define SVG_FileLog_Temperatursensor1_1 SVG FileLog_Temperatursensor1:SVG_FileLog_Temperatursensor1_1:CURRENT
attr SVG_FileLog_Temperatursensor1_1 room Schlafzimmer

Script: send2fhem.sh (RasPi 2)

Folgend das Script welches auf dem mobilen RasperryPI mit dem angeschlossenen DHT22 Luftfeuchtigkeits- und Temperatursensor läuft über einen Crontab alle 15 Minuten Daten an den FHEM-Server via Telnet sendet.

#!/bin/bash 
FHEM="192.168.x.2"
DHT22=/home/pi/Adafruit_Python_DHT/examples/AdafruitDHT.py 22 4
var1=$(echo $DHT22 | cut -f1 -d=)
humi=${DHT22#Humidity=}
temp_=${DHT22#Temp=}
temp=${temp_%Humidity*}
humi=${humi:0:4}
temp=${temp:0:4}
{ echo "set Temperatursensor1 humidity: $humi"; } | telnet $FHEM 7072
{ echo "set Temperatursensor1 temp: $temp";} | telnet $FHEM 7072
echo "set Temperatursensor1 $humi $temp"

FHEM SVG-Plot Einstellungen (FHEM RasPi)