[Gelöst] Pushover Termin-Tagesübersicht CALVIEW

Begonnen von thgorjup, 01 März 2017, 11:06:20

Vorheriges Thema - Nächstes Thema

thgorjup

Hallo zusammen,

ich möchte mir über Pushover morgens eine Übersicht aller Termine schicken lassen, die heute anstehen.
Ich habe unseren Google-Kalender eingebunden und auch CALVIEW darauf losgelassen. Zusätzlich habe ich ein kleines Script in 99_myUtils.pm eingebaut, welches mich über die Termine benachrichtigt.

Das funktioniert aber nur mit dem ersten Termin der im Kalender steht, da ich logischerweise auch nur diesen abfrage.
Ich würde aber gerne alle heutigen Termine gesammt als Nachricht versenden. Am besten morgens um 07:00 Uhr.

Könnt ihr mir bitte helfen, wie das scripttechnisch umzusetzen ist?

cvFamilie CALVIEW Readings (2 Termine 16h und 18:30h):

c-term 9
c-today 2
c-tomorrow 0
state t: 9 td: 2 tm: 0
t_001_bdate 01.03.2017
t_001_btime 16:00:00
t_001_daysleft 0
t_001_daysleftLong heute
t_001_edate 01.03.2017
t_001_etime 17:00:00
t_001_mode next
t_001_source Kalender_Familie
t_001_summary Kieferorthopädin
t_002_bdate 01.03.2017
t_002_btime 18:30:00
t_002_daysleft 0
t_002_daysleftLong heute
t_002_edate 01.03.2017
t_002_etime 19:30:00
t_002_mode next
t_002_source Kalender_Familie
t_002_summary Fotosbearbeitung mit Christian


Eintrag 99_myUtils.pm (Hier müsste man eine Schleife einbauen, welche t_001_* bis t_999_* berücksichtigt)

my $termin_name = ReadingsVal("cvFamilie", "t_001_summary", "0");
my $termin_start = ReadingsVal("cvFamilie", "t_001_btime", "0");
my $termin_ende = ReadingsVal("cvFamilie", "t_001_etime", "0");
if (ReadingsVal("cvFamilie", "c-today", "0") eq "1") {
fhem ("set pushmsg msg 'fhem' 'Termin heute $termin_start-$termin_ende - $termin_name'");
}


Danke und Gruß
Thomas
FHEM auf Ubuntu 18.04LTS, 2x nanoCUL, JeeLink, nanoPIR, MQTT, ESP-Easy, HUE.
Sensoren+Aktoren: HM, IT, Lacrosse, Multitrade-PIR, VU+, Somfy

thgorjup

Ich habe es fast selbst (für die ersten 9 Termine) hinbekommen und will es euch nicht vorenthalten.
Nur der Zeilenumbruch wird inPushover nicht umgesetzt. Vielleicht hat hierzu noch jemand eine Idee.


my $datum = strftime("%d.%m.%Y", localtime);
my $heute = "0";
my $value = "";
my $termin_datum = "";
my $termin_name = "";
my $termin_start = "";
my $termin_ende = "";
my $msg = "Termine heute:\n ";

for ( my $i=1;$i<=9;$i++){
$value = "00$i";
$termin_datum = ReadingsVal("cvFamilie", "t_".$value."_bdate", "0");
$termin_name = ReadingsVal("cvFamilie", "t_".$value."_summary", "0");
$termin_start = ReadingsVal("cvFamilie", "t_".$value."_btime", "0");
$termin_ende = ReadingsVal("cvFamilie", "t_".$value."_etime", "0");


if ( $termin_datum eq $datum ) {
$heute = "1";
$msg .= "$termin_start-$termin_ende - $termin_name\n ";

}
}

if ($heute eq "1" ) {
fhem ("set pushmsg msg '$msg'");

}
FHEM auf Ubuntu 18.04LTS, 2x nanoCUL, JeeLink, nanoPIR, MQTT, ESP-Easy, HUE.
Sensoren+Aktoren: HM, IT, Lacrosse, Multitrade-PIR, VU+, Somfy