From 2283bc9a87098dbd6cea822100d7549b50f61887 Mon Sep 17 00:00:00 2001 From: risiko79 <> Date: Sat, 30 May 2015 18:00:55 +0000 Subject: [PATCH] 30_pilight_*: fix trigger changes twice git-svn-id: https://svn.fhem.de/fhem/trunk@8665 2b470e98-0d58-463d-a4d8-8e2adae1ed80 --- fhem/CHANGED | 2 +- fhem/FHEM/30_pilight_dimmer.pm | 11 +++++++---- fhem/FHEM/30_pilight_switch.pm | 5 ++++- 3 files changed, 12 insertions(+), 6 deletions(-) diff --git a/fhem/CHANGED b/fhem/CHANGED index 9e7ef189b..054d63f2a 100644 --- a/fhem/CHANGED +++ b/fhem/CHANGED @@ -1,6 +1,6 @@ # Add changes at the top of the list. Keep it in ASCII, and 80-char wide. # Do not insert empty lines here, update check depends on it. - - bugfix: 30_pilight_*: restore (StateFn) + - bugfix: 30_pilight_*: restore (StateFn), trigger changes twice - feature: 30_pilight_dimmer: new attributes dimlevel_on, dimlevel_off dimmers without direct dimlevel support (switch combined with screen) - bugfix: 73_km200: Bugfix for sorting and comparison method diff --git a/fhem/FHEM/30_pilight_dimmer.pm b/fhem/FHEM/30_pilight_dimmer.pm index 7504a80b1..c4ad65baf 100644 --- a/fhem/FHEM/30_pilight_dimmer.pm +++ b/fhem/FHEM/30_pilight_dimmer.pm @@ -112,9 +112,9 @@ sub pilight_dimmer_Parse($$) if ($state eq "down") { $dimlevel = $dimlevel_old - $dimlevel_step; $state="on"; - if ($dimlevel < 0) { + if ($dimlevel <= 0) { $state="off"; - $dimlevel = 0; + $dimlevel= AttrVal($chash->{NAME}, "dimlevel_off",0); } } @@ -127,7 +127,7 @@ sub pilight_dimmer_Parse($$) Log3 $chash->{NAME}, 5, "pilight_dimmer_Parse: $dimlevel_old $dimlevel"; $dimlevel = int($dimlevel+0.5); Log3 $chash->{NAME}, 5, "pilight_dimmer_Parse: $dimlevel_old round $dimlevel"; - readingsBulkUpdate($chash,"dimlevel",$dimlevel); + readingsBulkUpdate($chash,"dimlevel",$dimlevel) if ($dimlevel_old != $dimlevel); } readingsEndUpdate($chash, 1); @@ -260,7 +260,10 @@ sub pilight_dimmer_Set($$) delete $hash->{helper}{DEV_DIMLEVEL} if ($set eq "off"); pilight_dimmer_Write($hash,$set,$dimlevel); - return undef; + #keinen Trigger bei Set auslösen + #Aktualisierung erfolgt in Parse + my $skipTrigger = 1; + return undef,$skipTrigger; } ##################################### diff --git a/fhem/FHEM/30_pilight_switch.pm b/fhem/FHEM/30_pilight_switch.pm index aa75ed219..79be7cb11 100644 --- a/fhem/FHEM/30_pilight_switch.pm +++ b/fhem/FHEM/30_pilight_switch.pm @@ -124,7 +124,10 @@ sub pilight_switch_Set($$) my $msg = "$me,$v"; IOWrite($hash, $msg); - return undef; + #keinen Trigger bei Set auslösen + #Aktualisierung erfolgt in Parse + my $skipTrigger = 1; + return undef,$skipTrigger; }