diff --git a/fhem/docs/commandref_frame.html b/fhem/docs/commandref_frame.html
index 1aaf99c8a..e788aab68 100644
--- a/fhem/docs/commandref_frame.html
+++ b/fhem/docs/commandref_frame.html
@@ -1103,6 +1103,8 @@ The following local attributes are used by a wider range of devices:
- [device:reading] with the corresponding reading of device, if both device
and reading exists.
+ - [device:reading:d] same as above, but only the number is retrieved, see
+ ReadingsNum
- {(perlExpression)} with the result of perlExpression, if the expression
does not generates an error.
diff --git a/fhem/docs/commandref_frame_DE.html b/fhem/docs/commandref_frame_DE.html
index 03cd908b2..2b2d74bf3 100644
--- a/fhem/docs/commandref_frame_DE.html
+++ b/fhem/docs/commandref_frame_DE.html
@@ -1113,6 +1113,8 @@ Die folgenden lokalen Attribute werden von mehreren Geräten verwendet:
- [device:reading] mit dem Wert des Readings für device, falls sowohl
device, als auch Reading existiert, und nicht leer ist.
+ - [device:reading:d] wie ohne :d, aber alles nicht-numerische wird
+ entfernt, siehe ReadingsNum
- {(perlExpression)} mit dem Ergebnis der perlExpression, falls der Ausdruck
keinen Fehler generiert.
diff --git a/fhem/fhem.pl b/fhem/fhem.pl
index e68522c98..3eb370574 100755
--- a/fhem/fhem.pl
+++ b/fhem/fhem.pl
@@ -1543,7 +1543,7 @@ ReplaceSetMagic($$@) # Forum #38276
my $a = join(" ", @_);
my $oa = $a;
- $a =~ s/\[([a-z0-9._]+):([A-z0-9._]+)(:d)?\]/{
+ $a =~ s/\[([a-z0-9._]+):([a-z0-9._-]+)(:d)?\]/{
my $x = $3 ? ReadingsNum($1,$2,"") : ReadingsVal($1,$2,"");
$x eq "" ? "[$1:$2$3]" : $x
}/egi;