Wie kann auf einem Raspberry Pi mit OpenHAB ein Zitat des Tages mit Karotz angesagt und per Pushover versendet werden?

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.

karotz-zitat

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:

  1. Wie wird der Karotz von einem Raspberry Pi über OpenHAB angesteuert?
  2. Wie können Benachrichtigungen (notifications) von einem Fhem-Server unter Raspberry Pi an iOS (iPhone, iPad) und Android mit Pushover versendet werden?
  3. Wie wird eine Pushover Benachrichtigung auf dem Raspberry Pi bei Zugriff per SSH versendet um Einbrüche zu erkennen?

wallpaper-1019588
Beste Geschenkideen für Gamer
wallpaper-1019588
8 Gartenideen für wenig Geld: Mit geringem Budget Gartenträume verwirklichen
wallpaper-1019588
Trailrunning: Training im Winter
wallpaper-1019588
Spielend Anatomie lernen