mirror of
https://github.com/fhem/fhem-mirror.git
synced 2025-02-08 05:15:10 +00:00
57_CALVIEW.pm: new version for new calendar-modul
git-svn-id: https://svn.fhem.de/fhem/trunk@10768 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
parent
f49a2d9b50
commit
53e3872e38
@ -20,7 +20,7 @@ sub CALVIEW_Initialize($)
|
||||
$hash->{AttrList} = "do_not_notify:1,0 " .
|
||||
"maxreadings " .
|
||||
"oldStyledReadings:1,0 " .
|
||||
"modes:multiple,all,modeAlarm,modeAlarmOrStart,modeAlarmed,modeChanged,modeEnd,modeEnded,modeStart,modeStarted,modeUpcoming,stateChanged,stateDeleted,stateNew,stateUpdated ".
|
||||
"modes:next ".
|
||||
$readingFnAttributes;
|
||||
}
|
||||
sub CALVIEW_Define($$){
|
||||
@ -42,9 +42,9 @@ sub CALVIEW_Define($$){
|
||||
$hash->{STATE} = "Initialized";
|
||||
$hash->{INTERVAL} = $inter;
|
||||
$modes = 1 if (!defined($modes));
|
||||
if($modes == 1) {$attr{$name}{modes} = "modeAlarm,modeStart,modeStarted,modeUpcoming";}
|
||||
elsif($modes == 0){$attr{$name}{modes} = "modeAlarm,modeStart,modeStarted";}
|
||||
elsif($modes == 2){$attr{$name}{modes} = "all";}
|
||||
if($modes == 1) {$attr{$name}{modes} = "next";}
|
||||
elsif($modes == 0){$attr{$name}{modes} = "next";}
|
||||
elsif($modes == 2){$attr{$name}{modes} = "next";}
|
||||
else {return "invalid mode \"$modes\", use 0,1 or 2!"}
|
||||
InternalTimer(gettimeofday()+2, "CALVIEW_GetUpdate", $hash, 0);
|
||||
return undef;
|
||||
@ -194,18 +194,35 @@ sub getsummery($)
|
||||
my $modi = $attr{$name}{modes};
|
||||
my @modes = split(/,/,$modi);
|
||||
foreach my $calendername (@calendernamen){
|
||||
foreach my $mode (@modes){
|
||||
my $all = ReadingsVal($calendername, $mode, "");
|
||||
my @uids=split(/;/,$all);
|
||||
#foreach my $mode (@modes){
|
||||
my $all = CallFn($calendername, "GetFn", $defs{$calendername},(" ","full", "next"));
|
||||
my @termine=split(/\n/,$all);
|
||||
|
||||
foreach my $uid (@uids){
|
||||
my $terminstart = CallFn($calendername, "GetFn", $defs{$calendername},(" ","start", $uid));
|
||||
my $termintext = CallFn($calendername, "GetFn", $defs{$calendername}, (" ","summary", $uid));
|
||||
my $terminend = CallFn($calendername, "GetFn", $defs{$calendername}, (" ","end", $uid));
|
||||
my $terminort = CallFn($calendername, "GetFn", $defs{$calendername}, (" ","location", $uid));
|
||||
push(@terminliste, [$terminstart, $termintext, $terminend, $calendername, $terminort, $mode]);
|
||||
foreach my $termin (@termine){
|
||||
my @uid=split(/\s+/,$termin);
|
||||
|
||||
#für jedes event die einzelnen infos holen
|
||||
my $tmpstarts = CallFn($calendername, "GetFn", $defs{$calendername},(" ","start", $uid[0]));
|
||||
my @starts = split(/\n/,$tmpstarts);
|
||||
#my $tmptexts = CallFn($calendername, "GetFn", $defs{$calendername},(" ","text", $uid[0]));
|
||||
#my @texts = split(/\n/,$tmptexts);
|
||||
my $tmpends = CallFn($calendername, "GetFn", $defs{$calendername},(" ","end", $uid[0]));
|
||||
my @ends = split(/\n/,$tmpends);
|
||||
my $tmpsummarys = CallFn($calendername, "GetFn", $defs{$calendername},(" ","summary", $uid[0]));
|
||||
my @summarys = split(/\n/,$tmpsummarys);
|
||||
my $tmplocations = CallFn($calendername, "GetFn", $defs{$calendername},(" ","location", $uid[0]));
|
||||
my @locations = split(/\n/,$tmplocations);
|
||||
|
||||
for(my $i = 1; $i <= (scalar(@starts)); $i++) {
|
||||
my $internali = $i-1;
|
||||
my $terminstart = $starts[$internali];
|
||||
my $termintext = $summarys[$internali];
|
||||
my $terminend = $ends[$internali];
|
||||
my $terminort = $locations[$internali];
|
||||
push(@terminliste, [$terminstart, $termintext, $terminend, $calendername, $terminort, "next"]);
|
||||
}
|
||||
};
|
||||
};
|
||||
#};
|
||||
};
|
||||
return @terminliste;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user