mirror of
https://github.com/fhem/fhem-mirror.git
synced 2025-03-03 16:56:54 +00:00
57_SSCal: use addSendqueue from SMUtils, delete local addSendqueue
git-svn-id: https://svn.fhem.de/fhem/trunk@22931 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
parent
2b33ce8f5a
commit
ed557f874a
@ -41,7 +41,7 @@ use FHEM::SynoModules::API qw(apistatic); # API Modul
|
||||
use FHEM::SynoModules::SMUtils qw( completeAPI
|
||||
showAPIinfo
|
||||
showModuleInfo
|
||||
addSendqueueEntry
|
||||
addSendqueue
|
||||
listSendqueue
|
||||
purgeSendqueue
|
||||
checkSendRetry
|
||||
@ -139,6 +139,7 @@ BEGIN {
|
||||
|
||||
# Versions History intern
|
||||
my %vNotesIntern = (
|
||||
"2.4.4" => "06.10.2020 use addSendqueue from SMUtils, delete local addSendqueue ",
|
||||
"2.4.3" => "04.10.2020 use showStoredCredentials from SMUtils ",
|
||||
"2.4.2" => "03.10.2020 get from SMUtils: completeAPI showAPIinfo evaljson setReadingErrorState setReadingErrorNone showModuleInfo ".
|
||||
"login logout getClHash delClHash trim moduleVersion updQueueLength delReadings checkSendRetry startFunctionDelayed ".
|
||||
@ -579,7 +580,15 @@ sub _setcredentials {
|
||||
my ($success) = setCredentials($hash, "credentials", $prop, $prop1, $splitstr);
|
||||
|
||||
if($success) {
|
||||
addSendqueue ($name,"listcal","CAL","list","&is_todo=true&is_evt=true");
|
||||
my $params = {
|
||||
name => $name,
|
||||
opmode => "listcal",
|
||||
api => "CAL",
|
||||
method => "list",
|
||||
params => "&is_todo=true&is_evt=true",
|
||||
};
|
||||
|
||||
addSendqueue ($params);
|
||||
getApiSites ($name);
|
||||
return "credentials saved successfully";
|
||||
}
|
||||
@ -667,7 +676,16 @@ sub _setcalUpdate {
|
||||
}
|
||||
|
||||
my $lr = AttrVal($name,"showRepeatEvent", "true");
|
||||
addSendqueue ($name,"eventlist","EVENT","list","&cal_id_list=[$oids]&start=$tstart&end=$tend&list_repeat=$lr");
|
||||
|
||||
my $params = {
|
||||
name => $name,
|
||||
opmode => "eventlist",
|
||||
api => "EVENT",
|
||||
method => "list",
|
||||
params => "&cal_id_list=[$oids]&start=$tstart&end=$tend&list_repeat=$lr",
|
||||
};
|
||||
|
||||
addSendqueue ($params);
|
||||
getApiSites ($name);
|
||||
}
|
||||
else { # Modell Aufgabenliste
|
||||
@ -676,7 +694,15 @@ sub _setcalUpdate {
|
||||
my $filterdue = AttrVal($name,"filterDueTask", 3); # show tasks with and without due time
|
||||
my $filtercomplete = AttrVal($name,"filterCompleteTask", 3); # show completed and not completed tasks
|
||||
|
||||
addSendqueue ($name,"todolist","TODO","list","&cal_id_list=[$oids]&limit=$limit&offset=$offset&filter_due=$filterdue&filter_complete=$filtercomplete");
|
||||
my $params = {
|
||||
name => $name,
|
||||
opmode => "todolist",
|
||||
api => "TODO",
|
||||
method => "list",
|
||||
params => "&cal_id_list=[$oids]&limit=$limit&offset=$offset&filter_due=$filterdue&filter_complete=$filtercomplete",
|
||||
};
|
||||
|
||||
addSendqueue ($params);
|
||||
getApiSites ($name);
|
||||
}
|
||||
|
||||
@ -738,7 +764,15 @@ sub _setcleanCompleteTasks {
|
||||
Log3($name, 5, "$name - Calendar selection for add queue: $cals");
|
||||
|
||||
# <Name, operation mode, API (siehe $data{SSCal}{$name}{calapi}), auszuführende API-Methode, spezifische API-Parameter>
|
||||
addSendqueue ($name,"cleanCompleteTasks","TODO","clean_complete","&cal_id_list=[$oids]");
|
||||
my $params = {
|
||||
name => $name,
|
||||
opmode => "cleanCompleteTasks",
|
||||
api => "TODO",
|
||||
method => "clean_complete",
|
||||
params => "&cal_id_list=[$oids]",
|
||||
};
|
||||
|
||||
addSendqueue ($params);
|
||||
getApiSites ($name);
|
||||
|
||||
return;
|
||||
@ -755,8 +789,7 @@ sub _setdeleteEventId {
|
||||
|
||||
my $eventid = $prop;
|
||||
|
||||
# Blocknummer ermitteln
|
||||
my $bnr;
|
||||
my $bnr; # Blocknummer ermitteln
|
||||
my @allrds = keys%{$defs{$name}{READINGS}};
|
||||
|
||||
for my $key(@allrds) {
|
||||
@ -770,21 +803,26 @@ sub _setdeleteEventId {
|
||||
return "The blocknumber of specified event id could not be identified. Make sure you have specified a valid event id.";
|
||||
}
|
||||
|
||||
# die Summary zur Event Id ermitteln
|
||||
my $sum = ReadingsVal($name, $bnr."_01_Summary", "");
|
||||
my $sum = ReadingsVal($name, $bnr."_01_Summary", ""); # die Summary zur Event Id ermitteln
|
||||
|
||||
# Kalendername und dessen id und Typ ermitteln
|
||||
my $calname = ReadingsVal($name, $bnr."_90_calName", "");
|
||||
my $calname = ReadingsVal($name, $bnr."_90_calName", ""); # Kalendername und dessen id und Typ ermitteln
|
||||
my $calid = $hash->{HELPER}{CALENDARS}{"$calname"}{id};
|
||||
my $caltype = $hash->{HELPER}{CALENDARS}{"$calname"}{type};
|
||||
|
||||
# Kalender-API in Abhängigkeit des Kalendertyps wählen
|
||||
my $api = ($caltype eq "Event") ? "EVENT" : "TODO";
|
||||
my $api = ($caltype eq "Event") ? "EVENT" : "TODO"; # Kalender-API in Abhängigkeit des Kalendertyps wählen
|
||||
|
||||
Log3($name, 3, qq{$name - The event "$sum" with id "$eventid" will be deleted in calendar "$calname".});
|
||||
|
||||
# <Name, operation mode, API (siehe $data{SSCal}{$name}{calapi}), auszuführende API-Methode, spezifische API-Parameter>
|
||||
addSendqueue ($name,"deleteEventId",$api,"delete","&evt_id=$eventid");
|
||||
my $params = {
|
||||
name => $name,
|
||||
opmode => "deleteEventId",
|
||||
api => $api,
|
||||
method => "delete",
|
||||
params => "delete","&evt_id=$eventid",
|
||||
};
|
||||
|
||||
addSendqueue ($params);
|
||||
getApiSites ($name);
|
||||
|
||||
return;
|
||||
@ -908,7 +946,15 @@ sub _getapiInfo {
|
||||
getClHash ($hash,1); # übergebenen CL-Hash (FHEMWEB) in Helper eintragen
|
||||
|
||||
# Schema: <Name, operation mode, API (siehe $data{SSCal}{$name}{calapi}), auszuführende API-Methode, spezifische API-Parameter>
|
||||
addSendqueue ($name,"apiInfo","","","");
|
||||
my $params = {
|
||||
name => $name,
|
||||
opmode => "apiInfo",
|
||||
api => "",
|
||||
method => "",
|
||||
params => "",
|
||||
};
|
||||
|
||||
addSendqueue ($params);
|
||||
getApiSites ($name);
|
||||
|
||||
return;
|
||||
@ -927,7 +973,15 @@ sub _getgetCalendars {
|
||||
getClHash ($hash,1); # übergebenen CL-Hash (FHEMWEB) in Helper eintragen
|
||||
|
||||
# Schema: <Name, operation mode, API (siehe $data{SSCal}{$name}{calapi}), auszuführende API-Methode, spezifische API-Parameter>
|
||||
addSendqueue ($name,"listcal","CAL","list","&is_todo=true&is_evt=true");
|
||||
my $params = {
|
||||
name => $name,
|
||||
opmode => "listcal",
|
||||
api => "CAL",
|
||||
method => "list",
|
||||
params => "&is_todo=true&is_evt=true",
|
||||
};
|
||||
|
||||
addSendqueue ($params);
|
||||
getApiSites ($name);
|
||||
|
||||
return;
|
||||
@ -1039,37 +1093,6 @@ sub periodicCall {
|
||||
return;
|
||||
}
|
||||
|
||||
######################################################################################
|
||||
# Eintrag zur SendQueue hinzufügen
|
||||
# $name = Name Kalenderdevice
|
||||
# $opmode = operation mode
|
||||
# $api = API (siehe $data{SSCal}{$name}{calapi})
|
||||
# $method = auszuführende API-Methode
|
||||
# $params = spezifische API-Parameter
|
||||
#
|
||||
######################################################################################
|
||||
sub addSendqueue {
|
||||
my $name = shift;
|
||||
my $opmode = shift;
|
||||
my $api = shift;
|
||||
my $method = shift;
|
||||
my $params = shift;
|
||||
|
||||
my $hash = $defs{$name};
|
||||
|
||||
my $entry = {
|
||||
'opmode' => $opmode,
|
||||
'api' => $api,
|
||||
'method' => $method,
|
||||
'params' => $params,
|
||||
'retryCount' => 0
|
||||
};
|
||||
|
||||
addSendqueueEntry ($hash, $entry); # den Datensatz zur Sendqueue hinzufügen # updaten Länge der Sendequeue
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
####################################################################################
|
||||
# Einstiegsfunktion Queue Abarbeitung
|
||||
####################################################################################
|
||||
@ -1622,21 +1645,21 @@ sub extractEventlist { ## no critic 'complexi
|
||||
if ($p1 eq "FREQ") {
|
||||
$freq = $p2;
|
||||
}
|
||||
elsif ($p1 eq "COUNT") { # Event endet automatisch nach x Wiederholungen
|
||||
if ($p1 eq "COUNT") { # Event endet automatisch nach x Wiederholungen
|
||||
$count = $p2;
|
||||
}
|
||||
elsif ($p1 eq "INTERVAL") { # Wiederholungsintervall
|
||||
if ($p1 eq "INTERVAL") { # Wiederholungsintervall
|
||||
$interval = $p2;
|
||||
}
|
||||
elsif ($p1 eq "UNTIL") { # festes Intervallende angegeben
|
||||
if ($p1 eq "UNTIL") { # festes Intervallende angegeben
|
||||
$until = $p2;
|
||||
$until =~ s/[-:]//gx;
|
||||
$uets = (explodeDateTime ($hash, $until, 0, 0, 0))[4];
|
||||
}
|
||||
elsif ($p1 eq "BYMONTHDAY") { # Wiederholungseigenschaft -> Tag des Monats z.B. 13 (Tag 13)
|
||||
if ($p1 eq "BYMONTHDAY") { # Wiederholungseigenschaft -> Tag des Monats z.B. 13 (Tag 13)
|
||||
$bymonthday = $p2;
|
||||
}
|
||||
elsif ($p1 eq "BYDAY") { # Wiederholungseigenschaft -> Wochentag z.B. 2WE,-1SU,4FR (kann auch Liste bei WEEKLY sein)
|
||||
if ($p1 eq "BYDAY") { # Wiederholungseigenschaft -> Wochentag z.B. 2WE,-1SU,4FR (kann auch Liste bei WEEKLY sein)
|
||||
$byday = $p2;
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user