FHEM > RSS

[Workshop] 02_RSS.pm für Anfänger - Schritt für Schritt erklärt

(1/7) > >>

betateilchen:
Ausgehend von der ab hier geführten Diskussion

http://forum.fhem.de/index.php/topic,21846.msg159025.html#msg159025

werde ich hier in einer Schritt-für-Schritt-Anleitung erklären, wie man das in fhem vorhandene Modul 02_RSS.pm nutzen kann.

Um diesen Anleitungs-Thread übersichtlich zu halten, bitte ich darum, hier im Thread keine Diskussion zu führen oder Fragen zu stellen.

Für Fragen und Diskussion habe ich diesen Thread eröffnet: Diskussions-Thread zum RSS-Workshop

betateilchen:
Vorbereitungen für den Workshop:


* Debian Nutzer installieren bitte das Paket msttcorefonts (ich hab keine Ahnung, ob es sowas auch für Fritzbox gibt)
* Legt Euch im Verzeichnis ./FHEM eine leere Datei mit dem Namen "rss.layout" an
* Eventuell brauchen wir im Verlauf des Kurses auch die 99_myUtils.pm - das weiss ich noch nicht genau
Wichtiger Nachtrag:

Das Modul 02_RSS.pm benutzt einige zusätzliche perl Module.
Für Debian Distributionen gelten folgende Paketnamen, die mit "apt-get install" nachinstalliert werden können, was viel schneller geht als über CPAN.


* libgd-graph-perl - zwingend!
* libgd-text-perl - optional, aber dringend empfohlen
* libimage-librsvg-perl - optional, aber dringend empfohlen
In diesem Workshops werden ALLE DREI genannten Module gebraucht!

Im Laufe des Workshops werden wir auch mit dem Modul openweathermap als Datenquelle für die Befüllung des RSS arbeiten.
Dieses Modul benötigt für seine Funktion zumindest das Modul XML::Simple, das man auf Debian im Paket libxml-simple-perl bereitgestellt wird.

betateilchen:
Die Ausgangsfrage, die zu diesem Workshop führte, war die Frage, wie man eine solche Seite in fhem erstellen kann:

(http://up.picr.de/17966931jv.jpg)

Die Grundlagen dazu werde ich hier erklären.

Grundsätzliche Funktion des Moduls 02_RSS.pm

Das Modul stellt einen "echten" RSS Feed bereit, der als einzigen Inhalt eine JPEG Datei in sich trägt. Dieser RSS kann z.B. von Tablets, WLAN Bilderrahmen usw. angezeigt werden.

Den "echten" RSS brauchen wir hier im Workshop nicht wirklich, wir werden nur das darin enthaltene Image benutzen.

 

betateilchen:
1. Schritt - Definition des RSS in fhem


--- Code: ---
define myrss RSS jpg 192.168.123.241 ./FHEM/rss.layout


--- Ende Code ---

Die IP müsst Ihr natürlich durch die IP Eures fhem Servers ersetzen. Man kann dort auch den Hostnamen des fhem-Servers angeben, wenn dieser Name zuverlässig aufgelöst werden kann. Aber bitte nicht "localhost" oder 127.0.0.1 eintragen, sonst ist der RSS nicht von einem anderen PC aus abrufbar! Der Einfachheit halber verwenden wir hier bei der IP Adresse. (Bitte nicht daran stören, wenn hier im Workshop wechselnde IP Adressen auftauchen, bei Euch sollte das immer die gleiche bleiben.)

Es gibt zwei Ergebnisse:

1. ein neu angelegtes Device:

(http://up.picr.de/18004789tl.png)

2. ein neuer Eintrag in der Navigation links, der RSS heißt:

(http://up.picr.de/17974921cp.png)

Den Eintrag RSS könnt Ihr bereits anklicken, dann kommt eine Seite die ungefähr so aussieht:

(http://up.picr.de/17974953ly.png)

Auf dieser Seite stehen Links zu allen in fhem definierten RSS - im Moment steht da nur einer.

Klickt man diesen Link an, kommt man zu dieser Seite:

(http://up.picr.de/17974954bo.png)

Das ist der "echte" RSS Feed, der von RSS Readern verarbeitet werden kann.

Im dargestellten XML findet sich die URL zum RSS-Image:


--- Code: ---http://192.168.123.158:8083/fhem/rss/myrss.jpg
--- Ende Code ---

Diese Adresse sollte Ihr Euch am besten als Lesezeichen ablegen, die brauchen wir immer wieder, um die Ergebnisse unserer Arbeit anzuschauen.

Ich könnt Euch das Ergebnis auch jetzt schon anschauen, es sollte ein schwarzes Rechteck in der Größe 800x600 Pixel erscheinen. Warum das so ist, erkläre ich Euch nach der nächsten

(http://www.wdrmaus.de/codebase/img/start/maus_hinter_schlitz.png)

betateilchen:
Erklärungen: Woher kommt das schwarze Rechteck?

Ganz einfach: Es wird standardmäßig ein JPEG in der Größe 800 x 600 Pixel generiert, das die Hintergrundfarbe schwarz hat. Bisher haben wir noch kein anderes Verhalten vorgegeben.

Grundsätzlich läßt sich die Größe über das Attribut size steuern, dort kann man z.B. 1024x768 (Achtung: wirklich mit x!) setzen. Bei meinem 7" Tablet, das eine Auflösung von 800x480 Pixel hat, habe ich die Auflösung zum Beispiel auf 800x442 gesetzt, da die Android-Symbole noch von der Nutzfläche abgezogen werden müssen (bei mir 38px hoch) und ich nicht scrollen wollte.

Die Statusseite auf meinem Tablet sieht deshalb so aus:

(http://up.picr.de/17975274qh.jpg)

Der Hintergrund kann auch ein Bild sein, das wird aber jetzt hier noch nicht erklärt, das ist dann "RSS für Fortgeschrittene", wir bleiben hier bei einem farbigen Hintergrund, im Normalfall schwarz. Ich warte auf die Implemenierung der Möglichkeit, die Hintergrundfarbe per Attribut bestimmen zu können, aber Boris als Modul-Maintainer prüft alle Änderungsvorschläge sorgfältig und das dauert manchmal ein bisschen. Ich hoffe, die Umsetzung kommt noch im Laufe dieses Workshops.

Navigation

[0] Themen-Index

[#] Nächste Seite

Zur normalen Ansicht wechseln