mirror of
https://github.com/fhem/fhem-mirror.git
synced 2025-03-10 03:06:37 +00:00
59_WUup: switch to packages
git-svn-id: https://svn.fhem.de/fhem/trunk@21693 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
parent
fc7c4dfa85
commit
688b0070c3
@ -1,5 +1,6 @@
|
|||||||
# Add changes at the top of the list. Keep it in ASCII, and 80-char wide.
|
# 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.
|
# Do not insert empty lines here, update check depends on it.
|
||||||
|
- change: 59_WUup: switch to packages
|
||||||
- feature: 72_FB_CALLMONITOR: new attribute "internal-number-filter" to
|
- feature: 72_FB_CALLMONITOR: new attribute "internal-number-filter" to
|
||||||
process only calls for specific internal numbers
|
process only calls for specific internal numbers
|
||||||
- change: 93_Log2Syslog: switch to packages, improve IETF octet count
|
- change: 93_Log2Syslog: switch to packages, improve IETF octet count
|
||||||
|
@ -24,18 +24,45 @@
|
|||||||
#
|
#
|
||||||
################################################################################
|
################################################################################
|
||||||
|
|
||||||
package main;
|
package FHEM::WUup; ## no critic ( RequireFilenameMatchesPackage )
|
||||||
|
|
||||||
use strict;
|
use strict;
|
||||||
use warnings;
|
use warnings;
|
||||||
use 5.010;
|
use 5.010;
|
||||||
use Time::HiRes qw(gettimeofday);
|
use Time::HiRes qw(gettimeofday);
|
||||||
use POSIX qw(strftime);
|
use POSIX qw(strftime);
|
||||||
use HttpUtils;
|
|
||||||
use UConv;
|
use UConv;
|
||||||
use FHEM::Meta;
|
use FHEM::Meta;
|
||||||
|
use GPUtils qw(GP_Import GP_Export);
|
||||||
|
|
||||||
my $version = q(0.9.18);
|
## Import der FHEM Funktionen
|
||||||
|
#-- Run before package compilation
|
||||||
|
BEGIN {
|
||||||
|
# Import from main context
|
||||||
|
GP_Import(
|
||||||
|
qw( attr
|
||||||
|
AttrVal
|
||||||
|
CommandDeleteReading
|
||||||
|
defs
|
||||||
|
HttpUtils_NonblockingGet
|
||||||
|
init_done
|
||||||
|
InternalTimer
|
||||||
|
IsDisabled
|
||||||
|
Log3
|
||||||
|
readingFnAttributes
|
||||||
|
readingsBeginUpdate
|
||||||
|
readingsBulkUpdate
|
||||||
|
readingsEndUpdate
|
||||||
|
readingsSingleUpdate
|
||||||
|
ReadingsVal
|
||||||
|
RemoveInternalTimer )
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
#-- Export to main context with different name
|
||||||
|
GP_Export(qw( Initialize ));
|
||||||
|
|
||||||
|
my $version = q(0.10.0);
|
||||||
|
|
||||||
################################################################################
|
################################################################################
|
||||||
#
|
#
|
||||||
@ -43,13 +70,13 @@ my $version = q(0.9.18);
|
|||||||
#
|
#
|
||||||
################################################################################
|
################################################################################
|
||||||
|
|
||||||
sub WUup_Initialize {
|
sub Initialize {
|
||||||
my ($hash) = @_;
|
my ($hash) = @_;
|
||||||
|
|
||||||
$hash->{DefFn} = 'WUup_Define';
|
$hash->{DefFn} = \&Define;
|
||||||
$hash->{UndefFn} = 'WUup_Undef';
|
$hash->{UndefFn} = \&Undef;
|
||||||
$hash->{SetFn} = 'WUup_Set';
|
$hash->{SetFn} = \&Set;
|
||||||
$hash->{AttrFn} = 'WUup_Attr';
|
$hash->{AttrFn} = \&Attr;
|
||||||
$hash->{AttrList} =
|
$hash->{AttrList} =
|
||||||
'disable:1,0 '
|
'disable:1,0 '
|
||||||
. 'disabledForIntervals '
|
. 'disabledForIntervals '
|
||||||
@ -68,7 +95,7 @@ sub WUup_Initialize {
|
|||||||
return FHEM::Meta::InitMod( __FILE__, $hash );
|
return FHEM::Meta::InitMod( __FILE__, $hash );
|
||||||
}
|
}
|
||||||
|
|
||||||
sub WUup_Define {
|
sub Define {
|
||||||
my $hash = shift;
|
my $hash = shift;
|
||||||
my $def = shift;
|
my $def = shift;
|
||||||
|
|
||||||
@ -97,30 +124,30 @@ sub WUup_Define {
|
|||||||
RemoveInternalTimer($hash);
|
RemoveInternalTimer($hash);
|
||||||
|
|
||||||
$init_done
|
$init_done
|
||||||
? WUup_stateRequestTimer($hash)
|
? &stateRequestTimer($hash)
|
||||||
: InternalTimer( gettimeofday(), 'WUup_stateRequestTimer', $hash, 0 );
|
: InternalTimer( gettimeofday(), \&stateRequestTimer, $hash, 0 );
|
||||||
|
|
||||||
Log3( $name, 3, qq{WUup ($name): defined} );
|
Log3( $name, 3, qq{WUup ($name): defined} );
|
||||||
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
sub WUup_Undef {
|
sub Undef {
|
||||||
my $hash = shift;
|
my $hash = shift;
|
||||||
RemoveInternalTimer($hash);
|
RemoveInternalTimer($hash);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
sub WUup_Set {
|
sub Set {
|
||||||
my $hash = shift;
|
my $hash = shift;
|
||||||
my $name = shift;
|
my $name = shift;
|
||||||
my $cmd = shift // return qq{set $name needs at least one argument};
|
my $cmd = shift // return qq{set $name needs at least one argument};
|
||||||
|
|
||||||
return WUup_stateRequestTimer($hash) if ( $cmd eq 'update' );
|
return &stateRequestTimer($hash) if ( $cmd eq 'update' );
|
||||||
return qq{Unknown argument $cmd, choose one of update:noArg};
|
return qq{Unknown argument $cmd, choose one of update:noArg};
|
||||||
}
|
}
|
||||||
|
|
||||||
sub WUup_Attr {
|
sub Attr {
|
||||||
my $cmd = shift;
|
my $cmd = shift;
|
||||||
my $name = shift;
|
my $name = shift;
|
||||||
my $attrName = shift;
|
my $attrName = shift;
|
||||||
@ -128,7 +155,7 @@ sub WUup_Attr {
|
|||||||
my $hash = $defs{$name};
|
my $hash = $defs{$name};
|
||||||
|
|
||||||
if ( $attrName eq 'disable' ) {
|
if ( $attrName eq 'disable' ) {
|
||||||
if ( $cmd eq 'set' and $attrVal eq '1' ) {
|
if ( $cmd eq 'set' and $attrVal == 1 ) {
|
||||||
readingsSingleUpdate( $hash, 'state', 'disabled', 1 );
|
readingsSingleUpdate( $hash, 'state', 'disabled', 1 );
|
||||||
Log3( $name, 3, qq{WUup ($name) - disabled} );
|
Log3( $name, 3, qq{WUup ($name) - disabled} );
|
||||||
}
|
}
|
||||||
@ -172,7 +199,7 @@ sub WUup_Attr {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
sub WUup_stateRequestTimer {
|
sub stateRequestTimer {
|
||||||
my ($hash) = @_;
|
my ($hash) = @_;
|
||||||
my $name = $hash->{NAME};
|
my $name = $hash->{NAME};
|
||||||
|
|
||||||
@ -185,7 +212,7 @@ sub WUup_stateRequestTimer {
|
|||||||
)
|
)
|
||||||
);
|
);
|
||||||
|
|
||||||
WUup_send($hash);
|
sendtowu($hash);
|
||||||
|
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
@ -193,15 +220,15 @@ sub WUup_stateRequestTimer {
|
|||||||
}
|
}
|
||||||
|
|
||||||
InternalTimer( gettimeofday() + $hash->{INTERVAL},
|
InternalTimer( gettimeofday() + $hash->{INTERVAL},
|
||||||
'WUup_stateRequestTimer', $hash, 1 );
|
\&stateRequestTimer, $hash, 1 );
|
||||||
|
|
||||||
Log3( $name, 5,
|
Log3( $name, 5,
|
||||||
qq{Sub WUup_stateRequestTimer ($name) - Request Timer is called} );
|
qq{Sub stateRequestTimer ($name) - Request Timer is called} );
|
||||||
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
sub WUup_send {
|
sub sendtowu {
|
||||||
my ($hash) = @_;
|
my ($hash) = @_;
|
||||||
my $name = $hash->{NAME};
|
my $name = $hash->{NAME};
|
||||||
my $ver = $hash->{VERSION};
|
my $ver = $hash->{VERSION};
|
||||||
@ -267,7 +294,7 @@ sub WUup_send {
|
|||||||
hash => $hash,
|
hash => $hash,
|
||||||
method => 'GET',
|
method => 'GET',
|
||||||
header => "agent: FHEM-WUup/$ver\r\nUser-Agent: FHEM-WUup/$ver",
|
header => "agent: FHEM-WUup/$ver\r\nUser-Agent: FHEM-WUup/$ver",
|
||||||
callback => \&WUup_receive
|
callback => \&receive
|
||||||
};
|
};
|
||||||
|
|
||||||
Log3( $name, 5, qq{WUup ($name) - full URL: $url} );
|
Log3( $name, 5, qq{WUup ($name) - full URL: $url} );
|
||||||
@ -284,7 +311,7 @@ sub WUup_send {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
sub WUup_receive {
|
sub receive {
|
||||||
my $param = shift;
|
my $param = shift;
|
||||||
my $err = shift;
|
my $err = shift;
|
||||||
my $data = shift;
|
my $data = shift;
|
||||||
@ -574,7 +601,7 @@ sub WUup_receive {
|
|||||||
"license": [
|
"license": [
|
||||||
"gpl_2"
|
"gpl_2"
|
||||||
],
|
],
|
||||||
"version": "v0.9.18",
|
"version": "v0.10.0",
|
||||||
"release_status": "stable",
|
"release_status": "stable",
|
||||||
"author": [
|
"author": [
|
||||||
"Manfred Winter <mahowi@gmail.com>"
|
"Manfred Winter <mahowi@gmail.com>"
|
||||||
@ -596,7 +623,6 @@ sub WUup_receive {
|
|||||||
"requires": {
|
"requires": {
|
||||||
"FHEM": 0,
|
"FHEM": 0,
|
||||||
"FHEM::Meta": 0,
|
"FHEM::Meta": 0,
|
||||||
"HttpUtils": 0,
|
|
||||||
"UConv": 0,
|
"UConv": 0,
|
||||||
"POSIX": 0,
|
"POSIX": 0,
|
||||||
"Time::HiRes": 0,
|
"Time::HiRes": 0,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user