From 8812be8fca65a89e7b2868bd9dfbe6948cc62e92 Mon Sep 17 00:00:00 2001 From: Marko Oldenburg Date: Fri, 3 Jul 2020 13:27:11 +0200 Subject: [PATCH] =?UTF-8?q?add=20delete=20and=20shutdown=20Fn=20need=20to?= =?UTF-8?q?=20delete=20all=20Shutter=20timer=20then=20ASC=20delete=20=09ge?= =?UTF-8?q?=C3=A4ndert:=20=20=20=20=20=20=20FHEM/73=5FAutoShuttersControl.?= =?UTF-8?q?pm=20=09ge=C3=A4ndert:=20=20=20=20=20=20=20lib/FHEM/Automation/?= =?UTF-8?q?ShuttersControl.pm?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- FHEM/73_AutoShuttersControl.pm | 14 +++++++----- controls_AutoShuttersControl.txt | 4 ++-- lib/FHEM/Automation/ShuttersControl.pm | 31 ++++++++++++++++++++++++++ 3 files changed, 41 insertions(+), 8 deletions(-) diff --git a/FHEM/73_AutoShuttersControl.pm b/FHEM/73_AutoShuttersControl.pm index 58e3b1b..c723b5c 100644 --- a/FHEM/73_AutoShuttersControl.pm +++ b/FHEM/73_AutoShuttersControl.pm @@ -73,12 +73,14 @@ sub Initialize { ## Da ich mit package arbeite müssen in die Initialize für die jeweiligen hash Fn Funktionen der Funktionsname # und davor mit :: getrennt der eigentliche package Name des Modules - $hash->{SetFn} = \&FHEM::Automation::ShuttersControl::Set; - $hash->{GetFn} = \&FHEM::Automation::ShuttersControl::Get; - $hash->{DefFn} = \&FHEM::Automation::ShuttersControl::Define; - $hash->{NotifyFn} = \&FHEM::Automation::ShuttersControl::Notify; - $hash->{UndefFn} = \&FHEM::Automation::ShuttersControl::Undef; - $hash->{AttrList} = + $hash->{SetFn} = \&FHEM::Automation::ShuttersControl::Set; + $hash->{GetFn} = \&FHEM::Automation::ShuttersControl::Get; + $hash->{DefFn} = \&FHEM::Automation::ShuttersControl::Define; + $hash->{NotifyFn} = \&FHEM::Automation::ShuttersControl::Notify; + $hash->{UndefFn} = \&FHEM::Automation::ShuttersControl::Undef; + $hash->{DeleteFn} = \&FHEM::Automation::ShuttersControl::Delete; + $hash->{ShutdownFn} = \&FHEM::Automation::ShuttersControl::Shutdown; + $hash->{AttrList} = 'ASC_tempSensor ' . 'ASC_brightnessDriveUpDown ' . 'ASC_autoShuttersControlMorning:on,off ' diff --git a/controls_AutoShuttersControl.txt b/controls_AutoShuttersControl.txt index bd691cc..59a80e3 100644 --- a/controls_AutoShuttersControl.txt +++ b/controls_AutoShuttersControl.txt @@ -1,5 +1,5 @@ -UPD 2020-07-03_11:29:10 96885 FHEM/73_AutoShuttersControl.pm -UPD 2020-07-03_11:30:01 177284 lib/FHEM/Automation/ShuttersControl.pm +UPD 2020-07-03_13:18:05 97041 FHEM/73_AutoShuttersControl.pm +UPD 2020-07-03_13:26:42 177740 lib/FHEM/Automation/ShuttersControl.pm UPD 2020-06-22_09:41:40 2657 lib/FHEM/Automation/ShuttersControl/Dev.pm UPD 2020-07-03_11:29:10 2496 lib/FHEM/Automation/ShuttersControl/Roommate.pm UPD 2020-07-03_11:29:10 30710 lib/FHEM/Automation/ShuttersControl/Shutters.pm diff --git a/lib/FHEM/Automation/ShuttersControl.pm b/lib/FHEM/Automation/ShuttersControl.pm index 985eee0..1ae73f2 100644 --- a/lib/FHEM/Automation/ShuttersControl.pm +++ b/lib/FHEM/Automation/ShuttersControl.pm @@ -388,6 +388,23 @@ sub Undef { return; } +sub Delete { + my $hash = shift; + my $name = shift; + + RemoveShuttersTimer(); + + return; +} + +sub Shutdown { + my $hash = shift; + + RemoveShuttersTimer(); + + return; +} + sub Notify { my $hash = shift // return; my $dev = shift // return; @@ -4718,4 +4735,18 @@ sub _CheckShuttersConditionsForShadingFn { readingsEndUpdate( $shuttersDevHash, 1 ); } +sub RemoveShuttersTimer { + for my $shuttersDev ( @{ $hash->{helper}{shuttersList} } ) { + $shutters->setShuttersDev($shuttersDev); + + RemoveInternalTimer( $shutters->getInTimerFuncHash ); + $shutters->setInTimerFuncHash(undef); + } + + return; +} + + + + 1;