if Abfrage in der Set Sub einfacher und struktirierter aufgebaut. Danke Andre (justme1968). Ausserdem habe ich die über gabe der Subs gleich aufgebaut, übergeben wird immer und der Name wird dann mittels ->{NAME} ermittelt
This commit is contained in:
parent
32b6d81661
commit
d317b6e33a
42
98_AMAD.pm
42
98_AMAD.pm
@ -70,8 +70,10 @@ sub AMAD_Undef($$) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
sub AMAD_Attr(@) {
|
sub AMAD_Attr(@) {
|
||||||
my ( $cmd, $name, $attrName, $attrVal) = @_;
|
# my ( $cmd, $name, $attrName, $attrVal) = @_; # alt
|
||||||
my $hash = $defs{$name};
|
my ( $cmd, $hash, $attrName, $attrVal) = @_;
|
||||||
|
# my $hash = $defs{$name}; # alt
|
||||||
|
my $name = $hash->{NAME};
|
||||||
|
|
||||||
if ($attrName eq "disable") {
|
if ($attrName eq "disable") {
|
||||||
if($cmd eq "set") {
|
if($cmd eq "set") {
|
||||||
@ -117,7 +119,7 @@ sub AMAD_GetUpdateTimer($)
|
|||||||
my ($hash) = @_;
|
my ($hash) = @_;
|
||||||
my $name = $hash->{NAME};
|
my $name = $hash->{NAME};
|
||||||
|
|
||||||
AMAD_RetrieveAutomagicInfo($name, 0) if ($hash->{STATE} eq "online" || $hash->{STATE} eq "active");
|
AMAD_RetrieveAutomagicInfo($hash, 0) if ($hash->{STATE} eq "online" || $hash->{STATE} eq "active");
|
||||||
|
|
||||||
InternalTimer(gettimeofday()+$hash->{INTERVAL}, "AMAD_GetUpdateTimer", $hash, 1);
|
InternalTimer(gettimeofday()+$hash->{INTERVAL}, "AMAD_GetUpdateTimer", $hash, 1);
|
||||||
Log3 $name, 3, "AMAD ($name) - Call AMAD_GetUpdateTimer";
|
Log3 $name, 3, "AMAD ($name) - Call AMAD_GetUpdateTimer";
|
||||||
@ -134,34 +136,24 @@ sub AMAD_Set($$@)
|
|||||||
. " setVolume"
|
. " setVolume"
|
||||||
. " mediaPlayer:play,stop,next,back";
|
. " mediaPlayer:play,stop,next,back";
|
||||||
|
|
||||||
# set screenMsg
|
|
||||||
if ( lc $cmd eq 'screenmsg') {
|
if ( lc $cmd eq 'screenmsg'
|
||||||
Log3 $name, 3, "AMAD ($name) - set $name $cmd ".join(" ", @val);
|
|| lc $cmd eq 'ttsmsg'
|
||||||
return AMAD_SetScreenMsg ($hash, @val);
|
|| lc $cmd eq 'setvolume'
|
||||||
}
|
|| lc $cmd eq 'mediaplayer') {
|
||||||
# set ttsMsg
|
Log3 $name, 3, "AMAD ($name) - set $name $cmd ".join(" ", @val);
|
||||||
elsif ( lc $cmd eq 'ttsmsg') {
|
return AMAD_SetScreenMsg ($hash, @val);
|
||||||
Log3 $name, 3, "AMAD ($name) - set $name $cmd ".join(" ", @val);
|
}
|
||||||
return AMAD_SetTtsMsg ($hash, @val);
|
|
||||||
}
|
|
||||||
# set setVolume
|
|
||||||
elsif ( lc $cmd eq 'setvolume') {
|
|
||||||
Log3 $name, 3, "AMAD ($name) - set $name $cmd ".join(" ", @val);
|
|
||||||
return AMAD_SetVolume ($hash, @val);
|
|
||||||
}
|
|
||||||
# set mediaPlayer
|
|
||||||
elsif ( lc $cmd eq 'mediaplayer') {
|
|
||||||
Log3 $name, 3, "AMAD ($name) - set $name $cmd ".join(" ", @val);
|
|
||||||
return AMAD_mediaplayer ($hash, @val);
|
|
||||||
}
|
|
||||||
|
|
||||||
return "Unknown argument $cmd or wrong parameter(s), choose one of $list";
|
return "Unknown argument $cmd or wrong parameter(s), choose one of $list";
|
||||||
}
|
}
|
||||||
|
|
||||||
sub AMAD_RetrieveAutomagicInfo
|
sub AMAD_RetrieveAutomagicInfo
|
||||||
{
|
{
|
||||||
my ($name, $blocking) = @_;
|
# my ($name, $blocking) = @_;
|
||||||
my $hash = $defs{$name};
|
my ($hash, $blocking) = @_;
|
||||||
|
# my $hash = $defs{$name};
|
||||||
|
my $name = $hash->{NAME};
|
||||||
my $host = $hash->{HOST};
|
my $host = $hash->{HOST};
|
||||||
my $port = $hash->{PORT};
|
my $port = $hash->{PORT};
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user