From eeca34431539610cef66e66ca007c9f091e5226b Mon Sep 17 00:00:00 2001 From: markusbloch Date: Sat, 1 Mar 2014 09:52:13 +0000 Subject: [PATCH] YAMAHA_AVR: check for existing zone, input data also in set commands git-svn-id: svn://svn.code.sf.net/p/fhem/code/trunk@5083 2b470e98-0d58-463d-a4d8-8e2adae1ed80 --- fhem/FHEM/71_YAMAHA_AVR.pm | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/fhem/FHEM/71_YAMAHA_AVR.pm b/fhem/FHEM/71_YAMAHA_AVR.pm index 261013861..8acbea700 100755 --- a/fhem/FHEM/71_YAMAHA_AVR.pm +++ b/fhem/FHEM/71_YAMAHA_AVR.pm @@ -75,7 +75,7 @@ YAMAHA_AVR_GetStatus($;$) my $device = $hash->{helper}{ADDRESS}; # get the model informations and available zones if no informations are available - if(not defined($hash->{ACTIVE_ZONE}) or not defined($hash->{MODEL}) or not defined($hash->{FIRMWARE})) + if(not defined($hash->{ACTIVE_ZONE}) or not defined($hash->{helper}{ZONES}) or not defined($hash->{MODEL}) or not defined($hash->{FIRMWARE})) { unless(defined(YAMAHA_AVR_getModel($hash))) { @@ -272,6 +272,19 @@ YAMAHA_AVR_Set($@) my $result = ""; my $command; my $target_volume; + + # get the model informations and available zones if no informations are available + if(not defined($hash->{ACTIVE_ZONE}) or not defined($hash->{helper}{ZONES}) or not defined($hash->{MODEL}) or not defined($hash->{FIRMWARE})) + { + YAMAHA_AVR_getModel($hash); + } + + # get all available inputs if nothing is available + if(not defined($hash->{helper}{INPUTS}) or length($hash->{helper}{INPUTS}) == 0) + { + YAMAHA_AVR_getInputs($hash); + } + my $zone = YAMAHA_AVR_getZoneName($hash, $hash->{ACTIVE_ZONE}); my $inputs_piped = defined($hash->{helper}{INPUTS}) ? YAMAHA_AVR_InputParam2Fhem(lc($hash->{helper}{INPUTS}), 0) : "" ;