Auf der Website taeglicheszit.at gibt es täglich ein Zitat des Tages. Für diesen Service gibt es auch eine JSON Schnittstelle.
Die kann wie folgt genutzt werden, um täglich das Zitat anzusagen und per pushover zu versenden.
Voraussetzung ist das OpenHAB installiert ist und läuft.
Dann eine Karotz.items Datei im items Verzeichnis anlegen mit dem Inhalt von zwei Variablen für das Zitat und den Autor:
String ZitatDesTages "[%s]" { http="<[http://taeglicheszit.at/zitat-api.php?format=json:86400000:JS(getZitatDesTages.js)]" } String ZitatDesTagesAutor "[%s]" { http="<[http://taeglicheszit.at/zitat-api.php?format=json:86400000:JS(getZitatDesTagesAutor.js)]" }
Die Variablen werden einmal am Tag automatisch aktualisiert.
Dann brauchen wir noch zwei Dateien im transform Verzeichnis für die JSON Auswertung: getZitatDesTages.js mit dem Ihhalt
JSON.parse(input).zitat;
und getZitatDesTagesAutor.js mit dem Inhalt
JSON.parse(input).autor;
Damit die Variablen beim Systemstart inizialisiert werden brauchen wir diese Regel in der Karotz.rules Datei:
rule "Ini bei Systemstart" when System started then logInfo("Karotz", "Systemstart") ZitatDesTages.initialize; ZitatDesTagesAutor.initialize; logInfo("Karotz", "Systemstart init Zitat des Tages: " + ZitatDesTages.state + " von " + ZitatDesTagesAutor.state) end
Und noch eine Regel um jeden Tag um 16:16 Uhr das Zitat anzusagen und per Pushover zu versenden.
// Die URL zu dem KAROTZ CGI-BIN Verzeichnis, Adresse anpassen var String KAROTZ_CGI="http://9.9.9.9/cgi-bin/" rule "Zitat des Tages um 16:16 Uhr ansagen und per pushover versenden" when Time cron "0 16 16 * * ?" then var zitat = "Das Zitat des Tages lautet: " + ZitatDesTages.state + " von " + ZitatDesTagesAutor.state logInfo("Karotz", zitat) pushover(zitat) sendHttpGetRequest(KAROTZ_CGI + "tts?voice=julia&text=" + zitat.encode('UTF-8') + "&nocache=0") end
Hast Du noch eine andere Idee bzw. Seite mit guter REST oder JSON Schnittstelle? Dann hier als Kommentar posten.
Ähnliche Artikel:
- Wie wird der Karotz von einem Raspberry Pi über OpenHAB angesteuert?
- Wie können Benachrichtigungen (notifications) von einem Fhem-Server unter Raspberry Pi an iOS (iPhone, iPad) und Android mit Pushover versendet werden?
- Wie wird eine Pushover Benachrichtigung auf dem Raspberry Pi bei Zugriff per SSH versendet um Einbrüche zu erkennen?