diff --git a/fhem/docs/commandref_frame.html b/fhem/docs/commandref_frame.html
index c36d4672f..04bd6a1c6 100644
--- a/fhem/docs/commandref_frame.html
+++ b/fhem/docs/commandref_frame.html
@@ -1120,7 +1120,7 @@ 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.
- - {perlExpression} with the result of perlExpression, if the expression
+
- {(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 0ac5b785f..0439506bf 100644
--- a/fhem/docs/commandref_frame_DE.html
+++ b/fhem/docs/commandref_frame_DE.html
@@ -1183,7 +1183,7 @@ 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.
- - {perlExpression} mit dem Ergebnis der perlExpression, falls der Ausdruck
+
- {(perlExpression)} mit dem Ergebnis der perlExpression, falls der Ausdruck
keinen Fehler generiert.
diff --git a/fhem/fhem.pl b/fhem/fhem.pl
index 50705d4be..db237b1d7 100755
--- a/fhem/fhem.pl
+++ b/fhem/fhem.pl
@@ -1511,10 +1511,10 @@ ReplaceSetMagic(@) # Forum #38276
my $x = ReadingsVal($1,$2,""); $x eq "" ? "[$1:$2]" : $x
}/egi;
- $a =~ s/({[^}]+})/{
+ $a =~ s/{\((.*)\)}/{
my $x = eval $1;
Log 1, "ReplaceSetMagic: $1 -> $@" if($@);
- ($@ || ref($x) eq "HASH") ? $1 : $x
+ $@ ? $1 : $x
}/eg;
return split(" ", $a);