AHA
view release on metacpan or search on metacpan
example/lava_lamp.pl view on Meta::CPAN
$lamp->on();
update_status($status,1,$mode,time,$opts{label});
} else {
info("Lamp not switched on because the lamp was switched off just before ",
time - $last_hist->[0]," seconds");
}
} else {
# Notification received offtime, remember to switch on the lamp
# when in time
info("Notification received in an off-period: type = ",$type," | ",$opts{label});
set_trigger($status,$opts{label});
}
} elsif (lc($type) eq 'recovery') {
if ($is_on) {
# If it is a recovery switch it off
$lamp->off();
update_status($status,0,$mode,time,$opts{label});
} else {
# It's already off, but remove any trigger marker
delete_trigger($status);
}
example/lava_lamp.pl view on Meta::CPAN
eval $config;
die "Error evaluating $config: ",$@ if $@;
}
sub delete_trigger {
my $status = shift;
delete $status->{trigger_mark};
delete $status->{trigger_label};
}
sub set_trigger {
my $status = shift;
my $label = shift;
$status->{trigger_mark} = 1;
$status->{trigger_label} = $label;
}
sub has_trigger {
return shift->{trigger_mark};
}
=item $aha->on($ain)
Switch on the switch with the name or AIN C<$ain>.
=cut
sub on {
my $self = shift;
my $ain = $self->_ain(shift);
return $self->_execute_cmd("setswitchon",$ain);
}
=item $aha->off($ain)
Switch off the switch with the name or AIN C<$ain>.
=cut
sub off {
my $self = shift;
return $self->_execute_cmd("setswitchoff",$self->_ain(shift));
}
=item $is_present = $aha->is_present($ain)
Check whether the switch C<$ain> is present. This means, whether it is
registered at the Fritz Box at all in which case 1 is returned. If the switch
is not connected, 0 is returned.
=cut
sub is_present {
my $self = shift;
return $self->_execute_cmd("getswitchpresent",$self->_ain(shift));
}
=item $energy = $aha->energy($ain)
Get the amount of energy which has been consumed by the switch C<$ain> since
ever or since the reset of the energy statistics via the admin UI. The amount
is measured in Wh.
=cut
sub energy {
my $self = shift;
return $self->_execute_cmd("getswitchenergy",$self->_ain(shift));
}
=item $power = $aha->power($ain)
( run in 0.929 second using v1.01-cache-2.11-cpan-49f99fa48dc )