mirror of
https://github.com/fhem/fhem-mirror.git
synced 2025-04-20 19:36:02 +00:00
98_RandomTimer.pm: next steps towards better PBP conformity
git-svn-id: https://svn.fhem.de/fhem/trunk@21884 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
parent
4af95c98ba
commit
fa60ec1338
@ -92,11 +92,12 @@ sub Initialize {
|
|||||||
|
|
||||||
# regular Functions ##################################################################
|
# regular Functions ##################################################################
|
||||||
sub Define {
|
sub Define {
|
||||||
my ($hash, $def) = @_;
|
my $hash = shift;
|
||||||
|
my $def = shift // return;
|
||||||
|
|
||||||
RemoveInternalTimer($hash);
|
RemoveInternalTimer($hash);
|
||||||
my ($name, $type, $timespec_start, $device, $timespec_stop, $timeToSwitch, $variation) =
|
my ($name, $type, $timespec_start, $device, $timespec_stop, $timeToSwitch, $variation) =
|
||||||
split("[ \t][ \t]*", $def);
|
split m{\s+}, $def;
|
||||||
|
|
||||||
return "wrong syntax: define <name> RandomTimer <timespec_start> <device> <timespec_stop> <timeToSwitch> [<variations>]"
|
return "wrong syntax: define <name> RandomTimer <timespec_start> <device> <timespec_stop> <timeToSwitch> [<variations>]"
|
||||||
if(!defined $timeToSwitch);
|
if(!defined $timeToSwitch);
|
||||||
@ -238,7 +239,8 @@ sub Set {
|
|||||||
|
|
||||||
# module Fn ###################################################################
|
# module Fn ###################################################################
|
||||||
sub addDays {
|
sub addDays {
|
||||||
my ($now, $days) = @_;
|
my $now = shift;
|
||||||
|
my $days = shift // return;
|
||||||
|
|
||||||
my @jetzt_arr = localtime($now);
|
my @jetzt_arr = localtime($now);
|
||||||
$jetzt_arr[3] += $days;
|
$jetzt_arr[3] += $days;
|
||||||
@ -429,7 +431,8 @@ sub isDisabled {
|
|||||||
}
|
}
|
||||||
|
|
||||||
sub schaltZeitenErmitteln {
|
sub schaltZeitenErmitteln {
|
||||||
my ($hash,$now) = @_;
|
my $hash = shift;
|
||||||
|
my $now = shift // return;
|
||||||
|
|
||||||
startZeitErmitteln($hash, $now);
|
startZeitErmitteln($hash, $now);
|
||||||
stopZeitErmitteln ($hash, $now);
|
stopZeitErmitteln ($hash, $now);
|
||||||
@ -444,7 +447,8 @@ sub schaltZeitenErmitteln {
|
|||||||
}
|
}
|
||||||
|
|
||||||
sub setActive {
|
sub setActive {
|
||||||
my ($hash, $value) = @_;
|
my $hash = shift;
|
||||||
|
my $value = shift // return;
|
||||||
$hash->{helper}{active} = $value;
|
$hash->{helper}{active} = $value;
|
||||||
my $trigger = (isDisabled($hash)) ? 0 : 1;
|
my $trigger = (isDisabled($hash)) ? 0 : 1;
|
||||||
readingsSingleUpdate ($hash, "active", $value, $trigger);
|
readingsSingleUpdate ($hash, "active", $value, $trigger);
|
||||||
@ -468,7 +472,8 @@ sub setState {
|
|||||||
|
|
||||||
sub setSwitchmode {
|
sub setSwitchmode {
|
||||||
|
|
||||||
my ($hash, $attrVal) = @_;
|
my $hash = shift;
|
||||||
|
my $attrVal = shift // return;
|
||||||
my $mod = "[".$hash->{NAME} ."] ";
|
my $mod = "[".$hash->{NAME} ."] ";
|
||||||
|
|
||||||
|
|
||||||
@ -516,7 +521,8 @@ sub SetTimer {
|
|||||||
}
|
}
|
||||||
|
|
||||||
sub startZeitErmitteln {
|
sub startZeitErmitteln {
|
||||||
my ($hash,$now) = @_;
|
my $hash = shift;
|
||||||
|
my $now = shift // return;
|
||||||
|
|
||||||
my $timespec_start = $hash->{helper}{TIMESPEC_START};
|
my $timespec_start = $hash->{helper}{TIMESPEC_START};
|
||||||
|
|
||||||
@ -552,7 +558,8 @@ sub stopTimeReached {
|
|||||||
}
|
}
|
||||||
|
|
||||||
sub stopZeitErmitteln {
|
sub stopZeitErmitteln {
|
||||||
my ($hash,$now) = @_;
|
my $hash = shift;
|
||||||
|
my $now = shift // return;
|
||||||
|
|
||||||
my $timespec_stop = $hash->{helper}{TIMESPEC_STOP};
|
my $timespec_stop = $hash->{helper}{TIMESPEC_STOP};
|
||||||
|
|
||||||
@ -585,7 +592,7 @@ sub stopZeitErmitteln {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
sub Wakeup() {
|
sub Wakeup {
|
||||||
|
|
||||||
for my $hc ( sort keys %{$modules{RandomTimer}{defptr}} ) {
|
for my $hc ( sort keys %{$modules{RandomTimer}{defptr}} ) {
|
||||||
my $hash = $modules{RandomTimer}{defptr}{$hc};
|
my $hash = $modules{RandomTimer}{defptr}{$hc};
|
||||||
@ -627,7 +634,8 @@ sub MkInternalTimer {
|
|||||||
}
|
}
|
||||||
################################################################################
|
################################################################################
|
||||||
sub RmInternalTimer {
|
sub RmInternalTimer {
|
||||||
my ($modifier, $hash) = @_;
|
my $modifier = shift;
|
||||||
|
my $hash = shift // return;
|
||||||
|
|
||||||
my $timerName = "$hash->{NAME}_$modifier";
|
my $timerName = "$hash->{NAME}_$modifier";
|
||||||
my $myHash = $hash->{TIMER}{$timerName};
|
my $myHash = $hash->{TIMER}{$timerName};
|
||||||
@ -640,7 +648,8 @@ sub RmInternalTimer {
|
|||||||
}
|
}
|
||||||
|
|
||||||
sub GetHashIndirekt {
|
sub GetHashIndirekt {
|
||||||
my ($myHash, $function) = @_;
|
my $myHash = shift;
|
||||||
|
my $function = shift // return;
|
||||||
|
|
||||||
if (!defined($myHash->{HASH})) {
|
if (!defined($myHash->{HASH})) {
|
||||||
Log3 $myHash, 3, "[$function] myHash not valid";
|
Log3 $myHash, 3, "[$function] myHash not valid";
|
||||||
|
Loading…
x
Reference in New Issue
Block a user