Hallo Leute,
ich lasse über einen an den Raspbberry Pi angeschlossenen Bildschirm im moment Wetter und Uhr mithilfe des RSS-Moduls anzeigen.
Jetzt würde ich von bestimmten Geräten gerne Schaltvorgänge signalisieren lassen etwa in dem Schema "$Name" "$Event".
Ich hätte jetzt versucht über ein notify die Geräte herauszufiltern und das Bild am Bildschirm anzuzeigen, allerdings muss ja RSS irgendwie mitkriegen was geschaltet wurde. Wie kann man das realisieren?
Ich hoffe ihr könnt mir helfen, ist bestimmt auch für andere interessant :)
Viele Grüße
Kuzl
Das geht viel einfacher :) Du kannst das nämlich direkt in der Layout-Definition Deines RSS abfragen und als Text darstellen.
text x y { "Status: ".ReadingsTimestamp("Schaltaktor","state","n/a") }
x und y sind die gwünschten Koordinaten, an denen der Text ausgegeben werden soll. Bei jeder Neuanzeige des RSS wird dann immer der aktuelle Zustand des Schaltaktors ermittelt.
Bei mir kommt da zum Beispiel einmal pro Minute sowas raus:
(http://up.picr.de/17522063dp.jpg)
Achso ja genau das funktioniert wunderbar, grad getestet :)
So wird mir dann immer der aktuelle Zustand angezeigt.
Aber ist es möglich, dass im "Normalzustand" immer nur die Uhr und das Wetter angezeigt wird, und nur wenn ein Schaltvorgang passiert, dies kurz durch den Bildschirm signalisiert wird?
Hintergrund ist, dass dieses Display seeeehr klein ist (300x400) , da passt alles zusammen einfach nicht drauf :(
Bin mir nicht sicher, ob das über RSS der richtige weg ist, evtl kann man ja auch irgendwie anders kurz einen Text ausgeben.
Der RSS ist ja letztenlich nichts weiter als ein statisches Bild (eine image Datei) damit kannst Du sowas nicht lösen.
Was Du aber im RSS machen kannst: Du kannst den Status nur dann anzeigen, wenn er einen bestimmten Wert hat. In meinem obigen Beispiel werden zum Beispiel die roten Schaltzustände nur dann angezeigt, wenn die Geräte angeschaltet sind. Ansosnten ist das schwarze Feld komplett leer. Genau so zeige ich z.B. auch die Wetterwarnungen des DWD an, WENN es welche gibt.
okay da lässt sich was machen danke dir :)
So kann ich zuminderst einen Teil umsetzen.
Theoretisch müsste es ja über die Konsole gehen oder? Also die Konsole auf das Framebufferdevice Mappen, dann mit echo die Meldung ausgeben und wieder Zurückschalten. Allerdings ist das dann Halt unschön und sehr klein :D Farbe könnte man ja anpassen allerdings die Schriftgröße nicht.
Falls das Anzeigegerät ein Android Device ist, dann schau Dir doch mal das webviewcontrol an, damit kann man auch von fhem aus Nachrichten an das Display schicken.
http://forum.fhem.de/index.php/topic,10628.0.html
Das ganze wird an einem Kleinen Display angezeigt, der über die GPIOs des Raspberrys angeschlossen ist, so als FHEM-Zentrale in der Art :D
Mitlerweile funktioniert es, einen Stream der IP-Cam darauf anzuzeigen, wenn geklingelt wird, aber schaltvorgänge hab ich einfach noch nicht hinbekommen
kannst Du nicht einfach die komplette Anzeige umschalten? Generier Dir doch ein jpg, das Du bei einem Schaltvorgang einfach anstatt des RSS anzeigst.
Ja ein jpg kann ich ganz normal anzeigen, allerdings müsste ich dann Für jedes Device und jeden Schaltzustand ein extra Bild erstellen oder?
oder kann man da jeweils eines Zeichnen lassen?
womit wir wieder am Anfang wären... ein RSS ist auch nur ein jpg...
ja dessen bin ich mir bewusst ich lasse ja auch das jpg, das von RSS erzeugt wird am Bildschirm anzeigen.
Zitatkannst Du nicht einfach die komplette Anzeige umschalten? Generier Dir doch ein jpg, das Du bei einem Schaltvorgang einfach anstatt des RSS anzeigst.
Aber irgendwoher muss das ja kommen, und dass es von RSS nicht kommen kann haben wir ja schon geklärt. Die Frage ist, ob es irgendwie sowas wie "Text2JPG" oder so gibt, da es nicht zielführend ist, für Jedes Device und jeden Zustand dazu ein Bild zu basteln.
brauchst Du doch gar nicht. Du brauchst doch nur einen zusätzlichen RSS, den Du mit allen beliebigen Werten füttern kannst.
ich glaub ich hab jetzt grad ein Brett vorm Kopf :D
ich kann den 2. RSS ja z.b. mit den Zuständen der Geräte füttern und dann beim Schaltvorgang angeigen lassen. Allerdings ist dann doch genau diese Änderung noch nicht dabei, da sich der RSS nur einmal pro Minute aktualisiert.
Das was ich auf dem Bildschirm ausgeben will ist z.b. wenn ich das Licht einschalte, dass kurz "Licht on" auf dem Bildschirm steht.
ich glaube um das mit RSS lösen zu können, müsste ich Variablen übergeben können