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