diff --git a/fhem/docs/commandref_frame.html b/fhem/docs/commandref_frame.html
index bc59ca00e..7c63fd333 100644
--- a/fhem/docs/commandref_frame.html
+++ b/fhem/docs/commandref_frame.html
@@ -1126,7 +1126,7 @@ The following local attributes are used by a wider range of devices:
Each device has different set parameters, see the corresponding device
section for details.
- From featurelevel 5.7 on the set command replaces:
+ From featurelevel 5.7 on the set (and setreading) command replaces:
- [device:reading] with the corresponding reading of device, if both device
and reading exists.
@@ -1196,7 +1196,8 @@ The following local attributes are used by a wider range of devices:
Set the reading <reading> for the device <name>
to
<value> without sending out commands to the device, but triggering
- events and eventMap/stateFormat transformations as usual.
+ events and eventMap/stateFormat transformations as usual. See the set
+ command documentation for replacement description.
Examples:
diff --git a/fhem/docs/commandref_frame_DE.html b/fhem/docs/commandref_frame_DE.html
index fa0235c2d..2224477d5 100644
--- a/fhem/docs/commandref_frame_DE.html
+++ b/fhem/docs/commandref_frame_DE.html
@@ -1188,7 +1188,7 @@ Die folgenden lokalen Attribute werden von mehreren Geräten verwendet:
werden können. Lesen Sie bitte den entsprechenden Abschnitt für
das Gerät für Details durch.
- Ab featurelevel 5.7 ersetzt das set Befehl
+ Ab featurelevel 5.7 ersetzt das set und setreading Befehl
- [device:reading] mit dem Wert des Readings für device, falls sowohl
device, als auch Reading existiert, und nicht leer ist.
@@ -1271,7 +1271,8 @@ Die folgenden lokalen Attribute werden von mehreren Geräten verwendet:
durchgeführt.
Siehe den Abschnitt über Geräte-Spezifikation
- für Details der <devspec>.
+ für Details der <devspec> und die Beschreibung des set Befehls
+ für Ersetzung.
Beispiel:
diff --git a/fhem/fhem.pl b/fhem/fhem.pl
index 3e8498c19..fd10b4d8e 100755
--- a/fhem/fhem.pl
+++ b/fhem/fhem.pl
@@ -1507,8 +1507,9 @@ CommandShutdown($$)
#####################################
sub
-ReplaceSetMagic(@) # Forum #38276
+ReplaceSetMagic($@) # Forum #38276
{
+ my $nsplit = shift;
my $a = join(" ", @_);
$a =~ s/\[([a-z0-9._]+):([A-z0-9._]+)\]/{
@@ -1521,7 +1522,7 @@ ReplaceSetMagic(@) # Forum #38276
$@ ? $1 : $x
}/eg;
- return (undef, split(" ", $a));
+ return (undef, split(" ", $a, $nsplit));
}
#####################################
@@ -1541,7 +1542,7 @@ DoSet(@)
@a = ReplaceEventMap($dev, \@a, 0) if($attr{$dev}{eventMap});
my $err;
- ($err, @a) = ReplaceSetMagic(@a) if($featurelevel >= 5.7);
+ ($err, @a) = ReplaceSetMagic(0, @a) if($featurelevel >= 5.7);
return $err if($err);
$hash->{".triggerUsed"} = 0;
@@ -2008,6 +2009,10 @@ CommandSetReading($$)
my @a = split(" ", $def, 3);
return "Usage: setreading \n$namedef" if(@a != 3);
+ my $err;
+ ($err, @a) = ReplaceSetMagic(3,@a) if($featurelevel >= 5.7);
+ return $err if($err);
+
my @rets;
foreach my $sdev (devspec2array($a[0])) {