FHEMWEB inform: remove \n from the STATE, since \n is record separator

git-svn-id: https://svn.fhem.de/fhem/trunk@3386 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
rudolfkoenig
2013-07-05 08:23:03 +00:00
parent 2bb7f84f8b
commit 3fef9cc1af

View File

@@ -2344,14 +2344,16 @@ FW_roomStatesForInform($)
my ($room) = @_;
return "" if(!$room);
my $data = "";
my @rl = devspec2array("room=$room");
my %extPage = ();
my @data;
foreach my $dn (@rl) {
my ($allSet, $cmdlist, $txt) = FW_devState($dn, "", \%extPage);
$data .= "$dn<<$defs{$dn}{STATE}<<$txt\r\n"
if($defs{$dn} && $defs{$dn}{STATE} && $defs{$dn}{TYPE} ne "weblink");
if($defs{$dn} && $defs{$dn}{STATE} && $defs{$dn}{TYPE} ne "weblink") {
push @data, "$dn<<$defs{$dn}{STATE}<<$txt";
}
}
my $data = join("\n", map { s/\n/ /gm; $_ } @data)."\n";
return $data;
}
@@ -2365,7 +2367,7 @@ FW_Notify($$)
my $ln = $ntfy->{NAME};
my $dn = $dev->{NAME};
my $data;
my @data;
my %extPage;
my $rn = AttrVal($dn, "room", "");
@@ -2381,7 +2383,7 @@ FW_Notify($$)
my ($allSet, $cmdlist, $txt) = FW_devState($dn, "", \%extPage);
($FW_wname, $FW_ME, $FW_ss, $FW_tp, $FW_subdir) = @old;
$data = "$dn<<$dev->{STATE}<<$txt\n";
push @data, "$dn<<$dev->{STATE}<<$txt";
#Add READINGS
if($dev->{CHANGED}) { # It gets deleted sometimes (?)
@@ -2392,8 +2394,8 @@ FW_Notify($$)
next; #ignore 'set' commands
}
my ($readingName,$readingVal) = split(": ",$dev->{CHANGED}[$i],2);
$data .= "$dn-$readingName<<$readingVal<<$readingVal\n";
$data .= "$dn-$readingName-ts<<$tn<<$tn\n";
push @data, "$dn-$readingName<<$readingVal<<$readingVal";
push @data, "$dn-$readingName-ts<<$tn<<$tn";
}
}
} elsif($filter eq "console") {
@@ -2406,15 +2408,14 @@ FW_Notify($$)
my $max = int(@{$dev->{CHANGED}});
my $dt = $dev->{TYPE};
for(my $i = 0; $i < $max; $i++) {
$data .= "$tn $dt $dn ".$dev->{CHANGED}[$i]."<br>\n";
push @data,("$tn $dt $dn ".$dev->{CHANGED}[$i]."<br>");
}
}
}
if($data) {
if(@data) {
# Collect multiple changes (e.g. from noties) into one message
$ntfy->{INFORMBUF} .= $data;
$ntfy->{INFORMBUF} .= join("\n", map { s/\n/ /gm; $_ } @data)."\n";
RemoveInternalTimer($ln);
if(length($ntfy->{INFORMBUF}) > 1024) {
FW_FlushInform($ln);