diff --git a/fhem/FHEM/AttrTemplate.pm b/fhem/FHEM/AttrTemplate.pm index 46ac642d6..a3a49fc5d 100644 --- a/fhem/FHEM/AttrTemplate.pm +++ b/fhem/FHEM/AttrTemplate.pm @@ -52,6 +52,9 @@ AttrTemplate_Initialize() } elsif($line =~ m/^desc:(.*)/) { $templates{$name}{desc} = $1; + } elsif($line =~ m/^farewell:(.*)/) { + $templates{$name}{farewell} = $1; + } else { push(@{$templates{$name}{cmds}}, $line); @@ -128,7 +131,8 @@ AttrTemplate_Set($$@) } if($perl_code) { - $perl_code =~ s/DEVICE/$name/g; + $perl_code =~ s/(?{farewell}) { + my $fw = $h->{farewell}; + if(!$cl || $cl->{TYPE} ne "FHEMWEB") { + $fw =~ s/
/\n/gi; + $fw =~ s/<[^>]+>//g; # remove html tags + } + return $fw if(!$cl); + InternalTimer(gettimeofday()+1, sub{asyncOutput($cl, $fw)}, undef, 0); + } + return undef; + } 1;