Eigentlich habe ich bereits in einem anderen Beitrag hier beschrieben, wie ein 433 Mhz Funktemperatursensoren ausgelesen werden kann.
Dennoch finde ich, dass das ganze mal in den richtigen Bereich einfließen sollte.
Zuallererst muss geprüft werden, ob die Daten Funktemperatursensoren empfangen werden.
Dazu pilight-receive in die CLI eingeben und warten.
Irgendwann sollte etwas in der folgenden Art auftauchen:
Display All
In diesem Codeausschnitt seht ihr die mittels eures 433 MHz Empfängers empfangenen Daten.
Um diese nun nach SHC zu bekommen, benötigt ihr folgendes Script.
Display All
In diesem müsst ihr die entsprechende ID Nummerierung in Zeile 5 und 6 ändern und evtl. die Adresse zu eurem Raspberry.
Solltet ihr bereits die ID 1 bereits vergeben haben, müsst ihr diese natürlich ebenfalls ersetzen.
Weiterhin ist zu beachten, das euer Raspberry für die Ausführung von jq Jessie installiert haben muss.
Eine Ausführung unter Wheezy ist leider nicht möglich, da jq für diese Version nicht kompiliert wurde.
Falls ihr jq noch nicht installiert habt: sudo apt-get install jq
Das Skript speichert ihr dann auf eurem Raspberry ab und lasst es bspw. alle 5 Minuten mittels eines Cronjobs ausführen.
Anschließend werden alle 5 Minuten die Daten der Funktemperatursensor übertragen hat, an das SHC übertragen.
Dennoch finde ich, dass das ganze mal in den richtigen Bereich einfließen sollte.
Zuallererst muss geprüft werden, ob die Daten Funktemperatursensoren empfangen werden.
Dazu pilight-receive in die CLI eingeben und warten.
Irgendwann sollte etwas in der folgenden Art auftauchen:
Source Code
In diesem Codeausschnitt seht ihr die mittels eures 433 MHz Empfängers empfangenen Daten.
Um diese nun nach SHC zu bekommen, benötigt ihr folgendes Script.
Shell-Script
- #!/bin/bash
- PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/home/pi
- timeout 120s pilight-receive > /tmp/pilight.txt
- HUM=$(jq 'select(.message.id == 1490)| .message.humidity' /tmp/pilight.txt| xargs -n1 | tail -1)
- TEMP=$(jq 'select(.message.id == 1490)| .message.temperature' /tmp/pilight.txt| xargs -n1 | tail -1)
- if [ -z "$TEMP" ]; then
- echo "$TEMP is empty"
- else
- curl "http://localhost/shc/index.php?app=shc&a&ajax=pushsensorvalues&spid=1&sid=1&type=2&v1=${TEMP}&v2=${HUM}"
- fi
In diesem müsst ihr die entsprechende ID Nummerierung in Zeile 5 und 6 ändern und evtl. die Adresse zu eurem Raspberry.
Solltet ihr bereits die ID 1 bereits vergeben haben, müsst ihr diese natürlich ebenfalls ersetzen.
Weiterhin ist zu beachten, das euer Raspberry für die Ausführung von jq Jessie installiert haben muss.
Eine Ausführung unter Wheezy ist leider nicht möglich, da jq für diese Version nicht kompiliert wurde.
Falls ihr jq noch nicht installiert habt: sudo apt-get install jq
Das Skript speichert ihr dann auf eurem Raspberry ab und lasst es bspw. alle 5 Minuten mittels eines Cronjobs ausführen.
Anschließend werden alle 5 Minuten die Daten der Funktemperatursensor übertragen hat, an das SHC übertragen.
The post was edited 1 time, last by rgarcia ().