From d317b6e33ad1a19dd48b89d4163654b43e667616 Mon Sep 17 00:00:00 2001 From: Marko Oldenburg Date: Wed, 29 Jul 2015 15:23:01 +0200 Subject: [PATCH] =?UTF-8?q?if=20Abfrage=20in=20der=20Set=20Sub=20einfacher?= =?UTF-8?q?=20und=20struktirierter=20aufgebaut.=20Danke=20Andre=20(justme1?= =?UTF-8?q?968).=20Ausserdem=20habe=20ich=20die=20=C3=BCber=20gabe=20der?= =?UTF-8?q?=20Subs=20gleich=20aufgebaut,=20=C3=BCbergeben=20wird=20immer?= =?UTF-8?q?=20=20und=20der=20Name=20wird=20dann=20mittels=20->{NAME}=20erm?= =?UTF-8?q?ittelt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 98_AMAD.pm | 42 +++++++++++++++++------------------------- 1 file changed, 17 insertions(+), 25 deletions(-) diff --git a/98_AMAD.pm b/98_AMAD.pm index a5bf843..5531ffb 100644 --- a/98_AMAD.pm +++ b/98_AMAD.pm @@ -70,8 +70,10 @@ sub AMAD_Undef($$) { } sub AMAD_Attr(@) { - my ( $cmd, $name, $attrName, $attrVal) = @_; - my $hash = $defs{$name}; +# my ( $cmd, $name, $attrName, $attrVal) = @_; # alt + my ( $cmd, $hash, $attrName, $attrVal) = @_; +# my $hash = $defs{$name}; # alt + my $name = $hash->{NAME}; if ($attrName eq "disable") { if($cmd eq "set") { @@ -117,7 +119,7 @@ sub AMAD_GetUpdateTimer($) my ($hash) = @_; 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); Log3 $name, 3, "AMAD ($name) - Call AMAD_GetUpdateTimer"; @@ -134,34 +136,24 @@ sub AMAD_Set($$@) . " setVolume" . " mediaPlayer:play,stop,next,back"; - # set screenMsg - if ( lc $cmd eq 'screenmsg') { - Log3 $name, 3, "AMAD ($name) - set $name $cmd ".join(" ", @val); - return AMAD_SetScreenMsg ($hash, @val); - } - # set ttsMsg - elsif ( lc $cmd eq 'ttsmsg') { - 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); - } + + if ( lc $cmd eq 'screenmsg' + || lc $cmd eq 'ttsmsg' + || lc $cmd eq 'setvolume' + || lc $cmd eq 'mediaplayer') { + Log3 $name, 3, "AMAD ($name) - set $name $cmd ".join(" ", @val); + return AMAD_SetScreenMsg ($hash, @val); + } return "Unknown argument $cmd or wrong parameter(s), choose one of $list"; } sub AMAD_RetrieveAutomagicInfo { - my ($name, $blocking) = @_; - my $hash = $defs{$name}; +# my ($name, $blocking) = @_; + my ($hash, $blocking) = @_; +# my $hash = $defs{$name}; + my $name = $hash->{NAME}; my $host = $hash->{HOST}; my $port = $hash->{PORT};