diff --git a/fhem/docs/commandref_frame.html b/fhem/docs/commandref_frame.html
index 69b78ef7d..3a38ec1f3 100644
--- a/fhem/docs/commandref_frame.html
+++ b/fhem/docs/commandref_frame.html
@@ -822,6 +822,8 @@ The following local attributes are used by a wider range of devices:
or all attributes for a device (if no <attrname> is defined).
See the Device specification section for details on
<devspec>.
+ <attrname> is in fact a regexp, complemented with ^ and $ as usual, so
+ a range of attributes can be deleted with one command.
After deleting the attribute, the global event "DELETEATTR" will be generated.
diff --git a/fhem/docs/commandref_frame_DE.html b/fhem/docs/commandref_frame_DE.html
index 45c533bd1..de4b3678a 100644
--- a/fhem/docs/commandref_frame_DE.html
+++ b/fhem/docs/commandref_frame_DE.html
@@ -850,6 +850,8 @@ Die folgenden lokalen Attribute werden von mehreren Geräten verwendet:
kein <attrname> angegeben wird).
Siehe den Abschnitt über Geräte-Spezifikation
für Details der <devspec>.
+ <attrname> ist ein Regexp, ergänzt mit ^ und $, damit eine Menge
+ von Attributen mit einem Befehl gelöscht werden kann.
Nach der Durchführung das globale Ereignis "DELETEATTR" wird generiert.
diff --git a/fhem/fhem.pl b/fhem/fhem.pl
index b792c4f92..331d408c0 100755
--- a/fhem/fhem.pl
+++ b/fhem/fhem.pl
@@ -2319,17 +2319,18 @@ CommandDeleteAttr($$)
next;
}
- if(@a == 1) {
+ if(@a == 1) { # Delete all attributes of a device
delete($attr{$sdev});
- addStructChange("deleteAttr", $sdev, $sdev);
- DoTrigger("global", "DELETEATTR $sdev", 1) if($init_done);
- } else {
- delete($attr{$sdev}{$a[1]}) if(defined($attr{$sdev}));
- addStructChange("deleteAttr", $sdev, join(" ", @a));
- DoTrigger("global", "DELETEATTR $sdev $a[1]", 1) if($init_done);
+ } else { # delete specified attribute(s)
+ if(defined($attr{$sdev})) {
+ map { delete($attr{$sdev}{$_}) if($_ =~ m/^$a[1]$/) }
+ keys %{$attr{$sdev}};
+ }
}
+ addStructChange("deleteAttr", $sdev, join(" ", @a));
+ DoTrigger("global", "DELETEATTR $sdev ".join(" ",@a), 1) if($init_done);
}