From e8c5a5d3339be0d46b5d0001bd8f01f59a9bd8e0 Mon Sep 17 00:00:00 2001 From: markusbloch <> Date: Fri, 11 Oct 2019 18:32:58 +0000 Subject: [PATCH] FB_CALLLIST: new set command "removeItem" to delete a specific item from the calllist (Forum: #104063) git-svn-id: https://svn.fhem.de/fhem/trunk@20348 2b470e98-0d58-463d-a4d8-8e2adae1ed80 --- fhem/CHANGED | 1 + fhem/FHEM/72_FB_CALLLIST.pm | 16 +++++++++++++++- 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/fhem/CHANGED b/fhem/CHANGED index 43ca87709..8d89dbbf7 100644 --- a/fhem/CHANGED +++ b/fhem/CHANGED @@ -1,5 +1,6 @@ # Add changes at the top of the list. Keep it in ASCII, and 80-char wide. # Do not insert empty lines here, update check depends on it. + - feature: 72_FB_CALLLIST: new set command to remove a specific item from list - change: 49_SSCam: optimize memory usage when send images and recordings by email and/or telegram - feature: 70_CanOverEthernet: send and receive analog and digital values diff --git a/fhem/FHEM/72_FB_CALLLIST.pm b/fhem/FHEM/72_FB_CALLLIST.pm index c7db12fd7..05b27bdb7 100755 --- a/fhem/FHEM/72_FB_CALLLIST.pm +++ b/fhem/FHEM/72_FB_CALLLIST.pm @@ -227,8 +227,12 @@ sub FB_CALLLIST_Set($@) { my ($hash, $name, $cmd, $value) = @_; - my $usage = "Unknown argument $cmd, choose one of clear:noArg"; + my @list = FB_CALLLIST_getAllItemLines($hash); + + my $index_list = join(",", (1..@list)); + my $usage = "Unknown argument $cmd, choose one of clear:noArg removeItem:$index_list"; + if($cmd eq "clear") { delete($hash->{helper}{DATA}); @@ -242,6 +246,14 @@ sub FB_CALLLIST_Set($@) # Delete stored list FB_CALLLIST_saveList($hash); } + elsif($cmd eq "removeItem" and defined($value) and $value =~ /^\d+$/) + { + my $item = $list[$value - 1]; + + return $usage unless(defined($item)); + + FB_CALLLIST_deleteItem($hash, $item->{index}); + } else { return $usage; @@ -1557,6 +1569,7 @@ sub FB_CALLLIST_strftime(@) Set

@@ -1851,6 +1864,7 @@ sub FB_CALLLIST_strftime(@) Set-Kommandos