FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: Elbgeist am 08 August 2016, 16:29:08

Titel: Kalender - Daten auslesen und in Tablet Ui einbinden
Beitrag von: Elbgeist am 08 August 2016, 16:29:08
Hallo zusamen,

ich habe einen *.ics Kalender in meinem Netzwerk veröffentlicht und möchte diesen in FHEM einbinden bzw. im Tabet Ui anzeigen lassen - also immer die Termine der nächsten Tage o.ä. .
Problem ist, ich habe ein Device angelegt mit

define ical url http://192.168.xxx.xx:5005/web/kalender/xx/x.ics 10800


und es werden folgende Readings geliefert:


modeAlarm

2016-08-08 14:54:37  modeAlarmOrStart
2016-08-08 14:54:37  modeAlarmed
2016-08-08 14:54:37  modeChanged
2016-08-08 14:54:37  modeEnd
2016-08-08 14:54:37  modeEnded
2016-08-08 14:54:37  modeStart
2016-08-08 14:54:37  modeStarted
2016-08-08 14:54:37  modeUpcoming
2016-08-08 14:54:37  nextWakeup 2016-08-08 19:08:12 2016-08-08 16:08:12  state initialized 2016-08-08 16:22:28


Von einem Auslesen der eingetragenen Termine bzw. deren Texte wird nichts ausgegeben das ich weiterverwenden könnte (Tablet Ui einbinden etc.).

Im Forum fand ich diese Konstellation die mir weiter hätte helfen können so leider nicht. Es mag ganz sicher ein schlimmer Anfängerfehler sein, man möge es mir verzeihen.

Für den Schubs in die richtige Richtung bedanke ich mich schon jetzt.

Gruß
Thomas
Titel: Antw:Kalender - Daten auslesen und in Tablet Ui einbinden
Beitrag von: AbeamStart am 23 August 2016, 15:42:24
Hallo,
vielleicht können wir uns ja gegenseitig helfen nund ein erfahrener unterstütz uns hoffentlich.
Hier mal ein Bespiel wie ich das gemacht habe:

define abekalender Calendar ical url http://USER:PASS@10.0.0.252/owncloud/remote.php/dav/calendars/XXX/XXX?export 3600
define googlekalender Calendar ical url https://calendar.google.com/calendar/ical/USER.USER%40googlemail.com/private-XXXXXXX/basic.ics 3600
define kalenderviewabe CALVIEW abekalender 1
attr kalenderviewabe maxreadings 20
#attr kalenderviewabe hideOlderThan 1
define kalenderviewgoogle CALVIEW googlekalender 1
attr kalenderviewgoogle maxreadings 20
#attr kalenderviewgoogle hideOlderThan 1
define rg_KalenderTermineTest readingsGroup <Kalender>,<Datum>,<Uhrzeit>,<Text> calv_test:t_001_source,t_001_bdate,t_001_btime,t_001_summary calv_test:t_002_source,t_002_bdate,t_002_btime,t_002_summary calv_test:t_003_source,t_003_bdate,t_003_btime,t_003_summary calv_test:t_004_source,t_004_bdate,t_004_btime,t_004_summary calv_test:t_005_source,t_005_bdate,t_005_btime,t_005_summary calv_test:t_006_source,t_006_bdate,t_006_btime,t_006_summary calv_test:t_007_source,t_007_bdate,t_007_btime,t_007_summary calv_test:t_008_source,t_008_bdate,t_008_btime,t_008_summary calv_test:t_009_source,t_009_bdate,t_009_btime,t_009_summary calv_test:t_010_source,t_010_bdate,t_010_btime,t_010_summary calv_test:t_011_source,t_011_bdate,t_011_btime,t_011_summary calv_test:t_012_source,t_012_bdate,t_012_btime,t_012_summary calv_test:t_013_source,t_013_bdate,t_013_btime,t_013_summary calv_test:t_014_source,t_014_bdate,t_014_btime,t_014_summary calv_test:t_015_source,t_015_bdate,t_015_btime,t_015_summary calv_test:t_016_source,t_016_bdate,t_016_btime,t_016_summary calv_test:t_017_source,t_017_bdate,t_017_btime,t_017_summary calv_test:t_018_source,t_018_bdate,t_018_btime,t_018_summary calv_test:t_019_source,t_019_bdate,t_019_btime,t_019_summary calv_test:t_020_source,t_020_bdate,t_020_btime,t_020_summary
attr rg_KalenderTermineTest alias "Test"
attr rg_KalenderTermineTest group _KalenderView_
attr rg_KalenderTermineTest nonames 1
attr rg_KalenderTermineTest room Kalender


Und hier die Einbindung in TabletUI:

<header><div data-type="label" class="large">Abe Kalender</div></header>
        <table class="" width="100%" style="font-size:100%">
        <tr>
            <td>
            <div data-type="label" data-device="kalenderviewabe" data-get="t_001_bdate" data-part="(\d\d\.\d\d\.).*"></div>
            </td>
            <td>
                <div data-type="label" data-device="kalenderviewabe" data-get="t_001_btime" data-part="(\d\d\:\d\d).*"></div>
</td>
<td>
                <div data-type="label" data-device="kalenderviewabe" data-get="t_001_etime" data-part="(\d\d\:\d\d).*"></div>
</td>
            <td class="r"><div data-type="label" data-device="kalenderviewabe" data-get="t_001_summary" style="min-width:14em;"></div></td>
        </tr>
        <tr>
            <td>
            <div data-type="label" data-device="kalenderviewabe" data-get="t_002_bdate" data-part="(\d\d\.\d\d\.).*"></div>
            </td>
            <td>
                <div data-type="label" data-device="kalenderviewabe" data-get="t_002_btime" data-part="(\d\d\:\d\d).*"></div>
</td>
<td>
                <div data-type="label" data-device="kalenderviewabe" data-get="t_002_etime" data-part="(\d\d\:\d\d).*"></div>
            </td>
            <td class="r"><div data-type="label" data-device="kalenderviewabe" data-get="t_002_summary" ></div></td>
        </tr>
        <tr>
            <td>
            <div data-type="label" data-device="kalenderviewabe" data-get="t_003_bdate" data-part="(\d\d\.\d\d\.).*"></div>
            </td>
            <td>
                <div data-type="label" data-device="kalenderviewabe" data-get="t_003_btime" data-part="(\d\d\:\d\d).*"></div>
</td>
<td>
                <div data-type="label" data-device="kalenderviewabe" data-get="t_003_etime" data-part="(\d\d\:\d\d).*"></div>
            </td>
            <td class="r"><div data-type="label" data-device="kalenderviewabe" data-get="t_003_summary" ></div></td>
        </tr>       
        <tr>
            <td>
            <div data-type="label" data-device="kalenderviewabe" data-get="t_004_bdate" data-part="(\d\d\.\d\d\.).*"></div>
            </td>
            <td>
                <div data-type="label" data-device="kalenderviewabe" data-get="t_004_btime" data-part="(\d\d\:\d\d).*"></div>
</td>
<td>
                <div data-type="label" data-device="kalenderviewabe" data-get="t_004_etime" data-part="(\d\d\:\d\d).*"></div>
            </td>
            <td class="r"><div data-type="label" data-device="kalenderviewabe" data-get="t_004_summary" ></div></td>
        </tr>       
        <tr>
            <td>
            <div data-type="label" data-device="kalenderviewabe" data-get="t_005_bdate" data-part="(\d\d\.\d\d\.).*"></div>
            </td>
            <td>
                <div data-type="label" data-device="kalenderviewabe" data-get="t_005_btime" data-part="(\d\d\:\d\d).*"></div>
</td>
<td>
                <div data-type="label" data-device="kalenderviewabe" data-get="t_005_etime" data-part="(\d\d\:\d\d).*"></div>
            </td>
            <td class="r"><div data-type="label" data-device="kalenderviewabe" data-get="t_005_summary" ></div></td>
        </tr>
        <tr>
            <td>
            <div data-type="label" data-device="kalenderviewabe" data-get="t_006_bdate" data-part="(\d\d\.\d\d\.).*"></div>
            </td>
            <td>
                <div data-type="label" data-device="kalenderviewabe" data-get="t_006_btime" data-part="(\d\d\:\d\d).*"></div>
</td>
<td>
                <div data-type="label" data-device="kalenderviewabe" data-get="t_006_etime" data-part="(\d\d\:\d\d).*"></div>
</td>
            <td class="r"><div data-type="label" data-device="kalenderviewabe" data-get="t_006_summary" ></div></td>
        </tr>
        <tr>
            <td>
            <div data-type="label" data-device="kalenderviewabe" data-get="t_007_bdate" data-part="(\d\d\.\d\d\.).*"></div>
            </td>
            <td>
                <div data-type="label" data-device="kalenderviewabe" data-get="t_007_btime" data-part="(\d\d\:\d\d).*"></div>
</td>
<td>
                <div data-type="label" data-device="kalenderviewabe" data-get="t_007_etime" data-part="(\d\d\:\d\d).*"></div>
            </td>
            <td class="r"><div data-type="label" data-device="kalenderviewabe" data-get="t_007_summary" ></div></td>
        </tr>
        <tr>
            <td>
            <div data-type="label" data-device="kalenderviewabe" data-get="t_008_bdate" data-part="(\d\d\.\d\d\.).*"></div>
            </td>
            <td>
                <div data-type="label" data-device="kalenderviewabe" data-get="t_008_btime" data-part="(\d\d\:\d\d).*"></div>
</td>
<td>
                <div data-type="label" data-device="kalenderviewabe" data-get="t_008_etime" data-part="(\d\d\:\d\d).*"></div>
            </td>
            <td class="r"><div data-type="label" data-device="kalenderviewabe" data-get="t_008_summary" ></div></td>
        </tr>       
        <tr>
            <td>
            <div data-type="label" data-device="kalenderviewabe" data-get="t_009_bdate" data-part="(\d\d\.\d\d\.).*"></div>
            </td>
            <td>
                <div data-type="label" data-device="kalenderviewabe" data-get="t_009_btime" data-part="(\d\d\:\d\d).*"></div>
</td>
<td>
                <div data-type="label" data-device="kalenderviewabe" data-get="t_009_etime" data-part="(\d\d\:\d\d).*"></div>
            </td>
            <td class="r"><div data-type="label" data-device="kalenderviewabe" data-get="t_009_summary" ></div></td>
        </tr>       
        <tr>
            <td>
            <div data-type="label" data-device="kalenderviewabe" data-get="t_010_bdate" data-part="(\d\d\.\d\d\.).*"></div>
            </td>
            <td>
                <div data-type="label" data-device="kalenderviewabe" data-get="t_010_btime" data-part="(\d\d\:\d\d).*"></div>
</td>
<td>
                <div data-type="label" data-device="kalenderviewabe" data-get="t_010_etime" data-part="(\d\d\:\d\d).*"></div>
            </td>
            <td class="r"><div data-type="label" data-device="kalenderviewabe" data-get="t_010_summary" ></div></td>
        </tr>
        <tr>
            <td>
            <div data-type="label" data-device="kalenderviewabe" data-get="t_011_bdate" data-part="(\d\d\.\d\d\.).*"></div>
            </td>
            <td>
                <div data-type="label" data-device="kalenderviewabe" data-get="t_011_btime" data-part="(\d\d\:\d\d).*"></div>
</td>
<td>
                <div data-type="label" data-device="kalenderviewabe" data-get="t_011_etime" data-part="(\d\d\:\d\d).*"></div>
            </td>
            <td class="r"><div data-type="label" data-device="kalenderviewabe" data-get="t_011_summary" ></div></td>
        </tr>
    </table>
</li>
<li data-row="5" data-col="6" data-sizex="3" data-sizey="2">
<header><div data-type="label" class="large">Google Kalender</div></header>
        <table class="" width="100%" style="font-size:100%">
        <tr>
            <td>
            <div data-type="label" data-device="kalenderviewgoogle" data-get="t_001_bdate" data-part="(\d\d\.\d\d\.).*"></div>
            </td>
            <td>
                <div data-type="label" data-device="kalenderviewgoogle" data-get="t_001_btime" data-part="(\d\d\:\d\d).*"></div>
</td>
<td>
                <div data-type="label" data-device="kalenderviewgoogle" data-get="t_001_etime" data-part="(\d\d\:\d\d).*"></div>
</td>
            <td class="r"><div data-type="label" data-device="kalenderviewgoogle" data-get="t_001_summary" style="min-width:14em;"></div></td>
        </tr>
        <tr>
            <td>
            <div data-type="label" data-device="kalenderviewgoogle" data-get="t_002_bdate" data-part="(\d\d\.\d\d\.).*"></div>
            </td>
            <td>
                <div data-type="label" data-device="kalenderviewgoogle" data-get="t_002_btime" data-part="(\d\d\:\d\d).*"></div>
</td>
<td>
                <div data-type="label" data-device="kalenderviewgoogle" data-get="t_002_etime" data-part="(\d\d\:\d\d).*"></div>
            </td>
            <td class="r"><div data-type="label" data-device="kalenderviewgoogle" data-get="t_002_summary" ></div></td>
        </tr>
        <tr>
            <td>
            <div data-type="label" data-device="kalenderviewgoogle" data-get="t_003_bdate" data-part="(\d\d\.\d\d\.).*"></div>
            </td>
            <td>
                <div data-type="label" data-device="kalenderviewgoogle" data-get="t_003_btime" data-part="(\d\d\:\d\d).*"></div>
</td>
<td>
                <div data-type="label" data-device="kalenderviewgoogle" data-get="t_003_etime" data-part="(\d\d\:\d\d).*"></div>
            </td>
            <td class="r"><div data-type="label" data-device="kalenderviewgoogle" data-get="t_003_summary" ></div></td>
        </tr>       
        <tr>
            <td>
            <div data-type="label" data-device="kalenderviewgoogle" data-get="t_004_bdate" data-part="(\d\d\.\d\d\.).*"></div>
            </td>
            <td>
                <div data-type="label" data-device="kalenderviewgoogle" data-get="t_004_btime" data-part="(\d\d\:\d\d).*"></div>
</td>
<td>
                <div data-type="label" data-device="kalenderviewgoogle" data-get="t_004_etime" data-part="(\d\d\:\d\d).*"></div>
            </td>
            <td class="r"><div data-type="label" data-device="kalenderviewgoogle" data-get="t_004_summary" ></div></td>
        </tr>       
        <tr>
            <td>
            <div data-type="label" data-device="kalenderviewgoogle" data-get="t_005_bdate" data-part="(\d\d\.\d\d\.).*"></div>
            </td>
            <td>
                <div data-type="label" data-device="kalenderviewgoogle" data-get="t_005_btime" data-part="(\d\d\:\d\d).*"></div>
</td>
<td>
                <div data-type="label" data-device="kalenderviewgoogle" data-get="t_005_etime" data-part="(\d\d\:\d\d).*"></div>
            </td>
            <td class="r"><div data-type="label" data-device="kalenderviewgoogle" data-get="t_005_summary" ></div></td>
        </tr>
        <tr>
            <td>
            <div data-type="label" data-device="kalenderviewgoogle" data-get="t_006_bdate" data-part="(\d\d\.\d\d\.).*"></div>
            </td>
            <td>
                <div data-type="label" data-device="kalenderviewgoogle" data-get="t_006_btime" data-part="(\d\d\:\d\d).*"></div>
</td>
<td>
                <div data-type="label" data-device="kalenderviewgoogle" data-get="t_006_etime" data-part="(\d\d\:\d\d).*"></div>
</td>
            <td class="r"><div data-type="label" data-device="kalenderviewgoogle" data-get="t_006_summary" ></div></td>
        </tr>
        <tr>
            <td>
            <div data-type="label" data-device="kalenderviewgoogle" data-get="t_007_bdate" data-part="(\d\d\.\d\d\.).*"></div>
            </td>
            <td>
                <div data-type="label" data-device="kalenderviewgoogle" data-get="t_007_btime" data-part="(\d\d\:\d\d).*"></div>
</td>
<td>
                <div data-type="label" data-device="kalenderviewgoogle" data-get="t_007_etime" data-part="(\d\d\:\d\d).*"></div>
            </td>
            <td class="r"><div data-type="label" data-device="kalenderviewgoogle" data-get="t_007_summary" ></div></td>
        </tr>
        <tr>
            <td>
            <div data-type="label" data-device="kalenderviewgoogle" data-get="t_008_bdate" data-part="(\d\d\.\d\d\.).*"></div>
            </td>
            <td>
                <div data-type="label" data-device="kalenderviewgoogle" data-get="t_008_btime" data-part="(\d\d\:\d\d).*"></div>
</td>
<td>
                <div data-type="label" data-device="kalenderviewgoogle" data-get="t_008_etime" data-part="(\d\d\:\d\d).*"></div>
            </td>
            <td class="r"><div data-type="label" data-device="kalenderviewgoogle" data-get="t_008_summary" ></div></td>
        </tr>       
        <tr>
            <td>
            <div data-type="label" data-device="kalenderviewgoogle" data-get="t_009_bdate" data-part="(\d\d\.\d\d\.).*"></div>
            </td>
            <td>
                <div data-type="label" data-device="kalenderviewgoogle" data-get="t_009_btime" data-part="(\d\d\:\d\d).*"></div>
</td>
<td>
                <div data-type="label" data-device="kalenderviewgoogle" data-get="t_009_etime" data-part="(\d\d\:\d\d).*"></div>
            </td>
            <td class="r"><div data-type="label" data-device="kalenderviewgoogle" data-get="t_009_summary" ></div></td>
        </tr>       
        <tr>
            <td>
            <div data-type="label" data-device="kalenderviewgoogle" data-get="t_010_bdate" data-part="(\d\d\.\d\d\.).*"></div>
            </td>
            <td>
                <div data-type="label" data-device="kalenderviewgoogle" data-get="t_010_btime" data-part="(\d\d\:\d\d).*"></div>
</td>
<td>
                <div data-type="label" data-device="kalenderviewgoogle" data-get="t_010_etime" data-part="(\d\d\:\d\d).*"></div>
            </td>
            <td class="r"><div data-type="label" data-device="kalenderviewgoogle" data-get="t_010_summary" ></div></td>
        </tr>
    </table>
</li>


Ich habe jetzt nur das Problem dass mein Kalender einfach die falschen Termine anzeigt:
Siehe Screenshot! Heute ist der 23.08. Der Google Kalender liefert Werte vom 15.08 - 19.09 und der owncloud Kalender vom 21.07 - 01.08.

Hideolder funktioniert nicht...
Wer kann helfen?
Titel: Antw:Kalender - Daten auslesen und in Tablet Ui einbinden
Beitrag von: chris1284 am 24 August 2016, 18:48:19
editiere lieber nicht in der cfg sonder über das webif son kommt nur murks raus

das attribut
#attr kalenderviewabe hideOlderThan 1
ist zum einen auskommentiert und somit unwirksam und es zeigt auf die view und nicht den calendar. die view untertsützt das attribut garnicht

anbei eine sauber definition (die du lieber zusammenklicken als in der cfg eintragen solltest)
CALENDAR abekalender mit hideolderthan attribut

define abekalender Calendar ical url http://USER:PASS@10.0.0.252/owncloud/remote.php/dav/calendars/XXX/XXX?export 3600
attr abekalender hideOlderThan 1

CALENDAR googlekalender mit hideolderthan attribut

kalender googlekalender mit hideolderthan attribut
define googlekalender Calendar ical url https://calendar.google.com/calendar/ical/USER.USER%40googlemail.com/private-XXXXXXX/basic.ics 3600
attr googlekalender hideOlderThan 1

CALVIEW für den abekalender

define kalenderviewabe CALVIEW abekalender 1
attr kalenderviewabe maxreadings 20

CALVIEW für den googlekalender

define kalenderviewgoogle CALVIEW googlekalender 1
attr kalenderviewgoogle maxreadings 20

Readingsgroup

define rg_KalenderTermineTest readingsGroup <Kalender>,<Datum>,<Uhrzeit>,<Text> calv_test:t_001_source,t_001_bdate,t_001_btime,t_001_summary calv_test:t_002_source,t_002_bdate,t_002_btime,t_002_summary calv_test:t_003_source,t_003_bdate,t_003_btime,t_003_summary calv_test:t_004_source,t_004_bdate,t_004_btime,t_004_summary calv_test:t_005_source,t_005_bdate,t_005_btime,t_005_summary calv_test:t_006_source,t_006_bdate,t_006_btime,t_006_summary calv_test:t_007_source,t_007_bdate,t_007_btime,t_007_summary calv_test:t_008_source,t_008_bdate,t_008_btime,t_008_summary calv_test:t_009_source,t_009_bdate,t_009_btime,t_009_summary calv_test:t_010_source,t_010_bdate,t_010_btime,t_010_summary calv_test:t_011_source,t_011_bdate,t_011_btime,t_011_summary calv_test:t_012_source,t_012_bdate,t_012_btime,t_012_summary calv_test:t_013_source,t_013_bdate,t_013_btime,t_013_summary calv_test:t_014_source,t_014_bdate,t_014_btime,t_014_summary calv_test:t_015_source,t_015_bdate,t_015_btime,t_015_summary calv_test:t_016_source,t_016_bdate,t_016_btime,t_016_summary calv_test:t_017_source,t_017_bdate,t_017_btime,t_017_summary calv_test:t_018_source,t_018_bdate,t_018_btime,t_018_summary calv_test:t_019_source,t_019_bdate,t_019_btime,t_019_summary calv_test:t_020_source,t_020_bdate,t_020_btime,t_020_summary
attr rg_KalenderTermineTest alias "Test"
attr rg_KalenderTermineTest group _KalenderView_
attr rg_KalenderTermineTest nonames 1
attr rg_KalenderTermineTest room Kalender



es gibt für die tui und tui eval ein calview widget (für die eval würde allerdings irgendeines eingecheckt und nicht meines welches einiges mehr kann, das müsstets du per hand laden)