diff --git a/fhem/FHEM/93_FHEM2FHEM.pm b/fhem/FHEM/93_FHEM2FHEM.pm
index e9523c2c9..0ccb0f8f7 100755
--- a/fhem/FHEM/93_FHEM2FHEM.pm
+++ b/fhem/FHEM/93_FHEM2FHEM.pm
@@ -156,7 +156,6 @@ FHEM2FHEM_Read($)
Log3 $name, 4, "$name: $rmsg";
if(!$defs{$name}) {
- #LoadModule($type); Why do we need this line?
$defs{$name}{NAME} = $name;
$defs{$name}{TYPE} = $type;
$defs{$name}{STATE} = $msg;
@@ -166,7 +165,11 @@ FHEM2FHEM_Read($)
delete($defs{$name});
} else {
- DoTrigger($name, $msg);
+ if($msg =~ m/^([^:]*): (.*)$/) {
+ readingsSingleUpdate($defs{$name}, $1, $2, 1);
+ } else {
+ DoTrigger($name, $msg);
+ }
}
@@ -362,8 +365,10 @@ FHEM2FHEM_Set($@)
FHEM. It is possible to create a device with the same name on both FHEM
instances, but if both of them receive the same event (e.g. because both
of them have a CUL attached), then all associated FileLogs/notifys will be
- triggered twice.
-
+ triggered twice.
+ If the remote device is created with the same name locally (e.g. as dummy),
+ then the local readings are also updated.
+
RAW
By using this type the local FHEM will receive raw events from the remote
FHEM device devicename, just like if it would be attached to the
@@ -456,7 +461,11 @@ FHEM2FHEM_Set($@)
angesprochen werden. Auf beiden FHEM-Installationen können
Geräte gleichen Namens angelegt werden, aber wenn beide dasselbe
Ereignis empfangen (z.B. wenn an beiden Installationen CULs angeschlossen
- sind), werden alle FileLogs und notifys doppelt ausgelöst.
+ sind), werden alle FileLogs und notifys doppelt ausgelöst.
+ Falls man lokal Geräte mit dem gleichen Namen (z.Bsp. als dummy)
+ angelegt hat, dann werden die Readings von dem lokalen Gerät
+ aktualisiert.
+
RAW
Bei diesem Verbindungstyp werden unaufbereitete Ereignisse (raw messages)
diff --git a/fhem/fhem.pl b/fhem/fhem.pl
index 932e2715a..7d55955a6 100755
--- a/fhem/fhem.pl
+++ b/fhem/fhem.pl
@@ -4496,10 +4496,14 @@ notifyRegexpChanged($$)
$hash->{NOTIFYDEV} = $dev;
} elsif($re =~ m/\|/ && $re =~ /^\(?([^().+*?\[\]\\]+)\)?$/) { # Regexp Wizard
- my @list = split(/\|/, $1); # Forum #54536
- @list = map { m/^([^:]*)(?::.*)?$/ ? $1 : "" } @list;
- $hash->{NOTIFYDEV} = join(",", @list) if(@list && @list <= 5);
- delete($hash->{NOTIFYDEV}) if(@list && @list > 5);
+ my @list2 = split(/\|/, $1); # Forum #54536
+ my @list = grep { m/./ } # Forum #62369
+ map { (m/^([^:]*)(?::.*)?$/ && $defs{$1}) ? $1 : "" } @list2;
+ if(@list && @list <= 5 && int(@list) == int(@list2)) {
+ $hash->{NOTIFYDEV} = join(",", @list);
+ } else {
+ delete($hash->{NOTIFYDEV});
+ }
} else {
delete($hash->{NOTIFYDEV}); # when called by modify