From a4a858c5a78b50e5036efd7a39379d69993853d7 Mon Sep 17 00:00:00 2001 From: rudolfkoenig <> Date: Thu, 11 Feb 2021 20:16:27 +0000 Subject: [PATCH] 93_FHEM2FHEM.pm: add setState Attribute (Forum #118707) git-svn-id: https://svn.fhem.de/fhem/trunk@23722 2b470e98-0d58-463d-a4d8-8e2adae1ed80 --- fhem/FHEM/93_FHEM2FHEM.pm | 32 +++++++++++++++++++++++--------- 1 file changed, 23 insertions(+), 9 deletions(-) diff --git a/fhem/FHEM/93_FHEM2FHEM.pm b/fhem/FHEM/93_FHEM2FHEM.pm index 5341f60e1..15f2856b9 100644 --- a/fhem/FHEM/93_FHEM2FHEM.pm +++ b/fhem/FHEM/93_FHEM2FHEM.pm @@ -33,7 +33,8 @@ FHEM2FHEM_Initialize($) $hash->{DefFn} = "FHEM2FHEM_Define"; $hash->{UndefFn} = "FHEM2FHEM_Undef"; $hash->{AttrList}= "addStateEvent:1,0 dummy:1,0 disable:0,1 ". - "disabledForIntervals eventOnly:1,0 excludeEvents"; + "disabledForIntervals eventOnly:1,0 excludeEvents ". + "setState"; } ##################################### @@ -177,7 +178,11 @@ FHEM2FHEM_Read($) if($msg =~ m/^([^:]*): (.*)$/) { readingsSingleUpdate($defs{$rname}, $1, $2, 1); } else { - readingsSingleUpdate($defs{$rname}, "state", $msg, 1); + if(AttrVal($name,"setState",0)) { + AnalyzeCommand($hash, "set $rname $msg"); + } else { + readingsSingleUpdate($defs{$rname}, "state", $msg, 1); + } } } @@ -338,7 +343,7 @@ FHEM2FHEM_Attr(@) my ($type, $devName, $attrName, @param) = @_; my $hash = $defs{$devName}; - return undef if($attrName ne "addStateEvent"); + return undef if($attrName && $attrName ne "addStateEvent"); $attr{$devName}{$attrName} = 1; FHEM2FHEM_CloseDev($hash); FHEM2FHEM_OpenDev($hash, 1); @@ -450,19 +455,23 @@ FHEM2FHEM_Attr(@)
  • dummy
  • disable
  • disabledForIntervals
  • -
  • eventOnly
    +
  • eventOnly
    if set, generate only events, do not set corresponding readings. This is a compatibility feature, available only for LOG-Mode.
  • -
  • addStateEvent
    +
  • addStateEvent
    if set, state events are transmitted correctly. Notes: this is relevant only with LOG mode, setting it will generate an additional "reappeared" Log entry, and the remote FHEM must support inform onWithState (i.e. must be up to date).
  • -
  • excludeEvents <regexp> +
  • excludeEvents <regexp> do not publish events matching <regexp>
  • +
  • setState + if set to 1, and there is a local device with the same name, then remote + set commands will be executed for the local device. +
  • @@ -579,20 +588,25 @@ FHEM2FHEM_Attr(@)
  • dummy
  • disable
  • disabledForIntervals
  • -
  • eventOnly
    +
  • eventOnly
    falls gesetzt, werden nur die Events generiert, und es wird kein Reading aktualisiert. Ist nur im LOG-Mode aktiv.
  • -
  • addStateEvent
    +
  • addStateEvent
    falls gesetzt, werden state Events als solche uebertragen. Zu beachten: das Attribut ist nur für LOG-Mode relevant, beim Setzen wird eine zusätzliche reopened Logzeile generiert, und die andere Seite muss aktuell sein.
  • -
  • excludeEvents <regexp> +
  • excludeEvents <regexp> die auf das <regexp> zutreffende Events werden nicht bereitgestellt.
  • +
  • setState + falls gesetzt (auf 1), und ein lokales Gerät mit dem gleichen Namen + existiert, dann werden set Befehle vom entfernten Gerät als Solches + übertragen. +