From 1f8c84b5b3a404a00d1490c5a73baa2ae6d76102 Mon Sep 17 00:00:00 2001 From: rudolfkoenig <> Date: Sun, 5 Jun 2011 11:10:34 +0000 Subject: [PATCH] Setstate bug (hopefully) fixed. toggle decoding did not worked. Reported by UliM git-svn-id: https://svn.fhem.de/fhem/trunk/fhem@909 2b470e98-0d58-463d-a4d8-8e2adae1ed80 --- fhem.pl | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/fhem.pl b/fhem.pl index b3543b8e9..31dafd630 100755 --- a/fhem.pl +++ b/fhem.pl @@ -167,7 +167,7 @@ my $nextat; # Time when next timer will be triggered. my $intAtCnt=0; my %duplicate; # Pool of received msg for multi-fhz/cul setups my $duplidx=0; # helper for the above pool -my $cvsid = '$Id: fhem.pl,v 1.140 2011-06-04 08:41:22 rudolfkoenig Exp $'; +my $cvsid = '$Id: fhem.pl,v 1.141 2011-06-05 11:10:34 rudolfkoenig Exp $'; my $namedef = "where is either:\n" . "- a single device name\n" . @@ -1736,14 +1736,14 @@ CommandSetstate($$) } else { - $oldvalue{$sdev}{VAL} = $d->{STATE}; - # Do not overwrite state like "opened" or "initialized" $d->{STATE} = $a[1] if($init_done || $d->{STATE} eq "???"); # This time is not the correct one, but we do not store a timestamp for # this reading. $oldvalue{$sdev}{TIME} = TimeNow(); + $oldvalue{$sdev}{VAL} = $d->{STATE}; + } } return join("\n", @rets); @@ -2121,7 +2121,7 @@ DoTrigger($$) # Used by triggered perl programs to check the old value # Not suited for multi-valued devices (KS300, etc) $oldvalue{$dev}{TIME} = TimeNow(); - $oldvalue{$dev}{VAL} = $defs{$dev}{CHANGED}[0]; + $oldvalue{$dev}{VAL} = $defs{$dev}{STATE}; delete($defs{$dev}{CHANGED}) if(!defined($defs{$dev}{INTRIGGER}));