FTUI Widget Calview

Aus FHEMWiki

Das Calview Widget ist ein Widget für FHEM Tablet UI, welches Einträge aus einem CALVIEW-Device anzeigen kann.

Attribute

Attribut Beschreibung Standard-Wert Beispiel
data-device Name des CALVIEW-Devices, dessen Reading dargestellt werden sollen
data-get Welche Termine angezeigt werden sollen (all, today, tomorrow) STATE data-get="all"
data-start Termine von heute oder heute+morgen nicht anzeigen. Gilt nur für data-get="all". Mögliche Werte: none, all, notoday und notomorrow all data-start="notoday"
data-max Bestimmt, wie viele Termine angezeigt werden 10 data-max="20"
data-color Textfarbe als HEX-Angabe oder Farbnamen data-color="#ff0000"
data-class Formatierung der Anzeige, es lassen sich alle im FTUI verfügbaren class-Werte einfügen. data-class="left-align small"
data-detail Array von CALVIEW-Details, die angezeigt werden sollen ["bdate", "btime", "summary", "location", "edate", "etime", "source", "age", "description"]
data-detailwidth Breite der einzelnen Spalten in % data-detailwidth='["15","25","20","20","20"]'
data-dateformat Formatierung der Datumsanzeige ohne Jahreszahl long data-dateformat="short"
data-timeformat Formatierung der Uhrzeitanzeige ohne Sekunden long data-timeformat="short"
data-showempty Zeigt einen Text an, wenn keine Termine im angegebenen Zeitraum vorhanden sind true data-showempty="false"
data-oneline Zu langen Text einer Spalte abschneiden (... wird ans Ende gesetzt) statt umzubrechen no data-oneline="yes"

Beispiele

Einfaches Beispiel

Folgendes Beispiel zeigt die nächsten zehn Kalender-Einträge in einer unformatierten Liste an.

<div data-type="calview"
     data-device="myCalView"
     data-get="all"
     data-detail='["bdate","btime","summary"]'
     data-detailwidth='["30","30","40"]'></div>

Geburtstagskalender mit Berechnung des Alters

Das Beispiel zeigt einen Geburtstagskalender der Geburtstage ab heute - eine oft gewünschte Funktion. Das Lebensalter (Anna wird 35 Jahre) wird berechnet und angezeigt.

Anders als in vielen im FHEM-Forum und im Internet zu findenden Beispielen kommt es ohne zusätzlich einzubindende PERL-Funktion(en) aus.

Die iCal-Datei (hier: test.ics) der Geburtstage hat so auszusehen - meine Mutter wurde am 24. Mai 1931 geboren:

BEGIN:VCALENDAR
PRODID:-//calcurse//NONSGML v4.0.0//EN
VERSION:2.0
BEGIN:VEVENT
DTSTART:19310524
DTEND:19310524
RRULE:FREQ=YEARLY
SUMMARY: Geburtstag meiner Mutter
DESCRIPTION: 1931
END:VEVENT
END:VCALENDAR

Wichtig ist hier insbesondere "DESCRIPTION", hier muss das Geburtsjahr stehen: Diese Angabe ist Basis für die Berechnung des Lebensalters.

Dieser Kalender, der natürlich nicht nur den Geburtstag der Mutter hat, muss in fhem.cfg eingebunden sein:

defmod Testkalender Calendar ical file FHEM/test.ics 86400
attr Testkalender hideOlderThan 3600s

Um den Kalender anzusehen, benötigen wir in fhem.cfg noch eine CalView-Device:

defmod TestkalenderView CALVIEW Testkalender 1
attr TestkalenderView isbirthday 1
attr TestkalenderView modes next
attr TestkalenderView yobfield _description

Abschließend muss in einer FTUI-Seite des FHEM Tablet UI eine Gridster-Kachel gefunden werden, in die das folgende gehört:

<!-- https://forum.fhem.de/index.php?topic=91903.new;topicseen#new #15 -->
    <div data-type="calview"
     data-device="TestkalenderView"
     data-get="all"
     data-max="5"
     data-detail='["bdate","summary","age"]'
     data-detailwidth='["25","70","5"]'
     data-showempty="true"
     data-onelinesum="yes"
     data-sourcecolor="yes"
     data-dateformat="short"
     data-timeformat="short"
     data-dayname="yes"
     data-oneline="yes"
     data-class='left-align'
     >
</div>

Anmerkung: Screenshot fehlt noch. Curt (Diskussion) 04:11, 14. Okt. 2018 (CEST)