(Quick & Dirty)
Vorhanden: CCU2, Raspberry mit ccu.io
Auf der CCU2 ist die XMLAPI installiert.
Systemvariable in der CCU anlegen.
Über den Brower per
Code: Alles auswählen
http://192.168.0.XX/config/xmlapi/sysvarlist.cgi
XX durch eure IP oder Hostname ersetzen.
Auf dem Raspberry läuft ein Cronjob (anlegen über "crontab -e") und dann folgende Zeile hineinkopieren:
Code: Alles auswählen
*/10 * * * * /home/pi/get_spritpreis.sh
Verlassen mit STRG + x und mit Y bestätigen, dass gespeichert werden soll.
Danach ein
Code: Alles auswählen
cd ~
nano get_spritpreis.sh
Code: Alles auswählen
#!/bin/bash
curl --silent 'http://www.sparsamtanken.de/tankstellen-details?tankstelle=12521' | grep -E '(r E10)' -A 4 | sed -e :a -e 's/<[^>]*>//g;/</N;//ba' | sed -e 's/Super E10://' | sed -e 's/&euro//' | sed 's/ //g' | sed 2q | sed -e 's/;//' | sed 'N;s/\n//' | sed 's/,/./g' | sed 's/^[ \t]*//' > ~/last_preis.txt
if [[ -s ~/last_preis.txt ]] ; then
echo "Output file has data."
PREIS="$(cat ~/last_preis.txt)"
else
echo "Output file is empty."
PREIS="0"
fi ;
wget "http://192.168.0.XX/config/xmlapi/statechange.cgi?ise_id=4330&new_value=$PREIS" -O /dev/null
echo Ergebnis:
echo "$PREIS"
Im Script das E10 mit Diesel o.ä. ersetzen.
Code: Alles auswählen
chmod +x get_spritpreis.sh
Der Cronjob führt das script dann alle 10min aus, welches es in die Systemvariable schreibt.
Bei mehreren Tankstellen einfach mehrere Systemvariablen erstellen und im Skript alles unterhalb /bash entsprechend oft untereinander kopieren. Tankstellen ID und ISE abändern - fertig.