2
0
mirror of https://github.com/fhem/fhem-mirror.git synced 2025-03-03 10:46:53 +00:00

WriteStatefile now escapes ;

git-svn-id: https://svn.fhem.de/fhem/trunk@1397 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
rudolfkoenig 2012-03-30 06:23:41 +00:00
parent b287ba0f88
commit b88ece1aaf

View File

@ -1011,10 +1011,15 @@ WriteStatefile()
next if($defs{$d}{TEMPORARY}); next if($defs{$d}{TEMPORARY});
print SFH "define $d $defs{$d}{TYPE} $defs{$d}{DEF}\n" print SFH "define $d $defs{$d}{TYPE} $defs{$d}{DEF}\n"
if($defs{$d}{VOLATILE}); if($defs{$d}{VOLATILE});
print SFH "setstate $d $defs{$d}{STATE}\n"
if(defined($defs{$d}{STATE}) && my $val = $defs{$d}{STATE};
$defs{$d}{STATE} ne "unknown" && if(defined($val) &&
$defs{$d}{STATE} ne "Initialized"); $val ne "unknown" &&
$val ne "Initialized" &&
$val ne "???") {
$val =~ s/;/;;/g;
print SFH "setstate $d $val\n"
}
############# #############
# Now the detailed list # Now the detailed list
@ -1022,14 +1027,19 @@ WriteStatefile()
if($r) { if($r) {
foreach my $c (sort keys %{$r}) { foreach my $c (sort keys %{$r}) {
if(!defined($r->{$c}{TIME})) { my $rd = $r->{$c};
Log 3, "WriteStatefile $d $c: Missing TIME"; if(!defined($rd->{TIME})) {
} elsif(!defined($r->{$c}{VAL})) { Log 4, "WriteStatefile $d $c: Missing TIME, using current time";
Log 3, "WriteStatefile $d $c: Missing VAL"; $rd->{TIME} = TimeNow();
} else { }
print SFH "setstate $d $r->{$c}{TIME} $c $r->{$c}{VAL}\n";
}
if(!defined($rd->{VAL})) {
Log 4, "WriteStatefile $d $c: Missing VAL, setting it to 0";
$rd->{VAL} = 0;
}
my $val = $rd->{VAL};
$val =~ s/;/;;/g;
print SFH "setstate $d $rd->{TIME} $c $val\n";
} }
} }
} }