mirror of
https://github.com/fhem/fhem-mirror.git
synced 2025-04-21 01:46:08 +00:00
70_DENON_AVR: improved soundMode readings (thx Shadow3561)
git-svn-id: https://svn.fhem.de/fhem/trunk@21295 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
parent
54155b71aa
commit
6c2c966054
@ -1,5 +1,6 @@
|
||||
# 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.
|
||||
- change: 70_DENON_AVR: improved soundMode readings (thx Shadow3561)
|
||||
- bugfix: 21_HEOSMaster: fix rename passwordstore bug
|
||||
- bugfix: 73_GardenaSmartBridge: fix rename passwordstore bug
|
||||
- feature: 73_WaterCalculator: New Attribute DecimalPlace
|
||||
|
@ -458,7 +458,8 @@ my $DENON_db = {
|
||||
'SUP03' => 'resolution3',
|
||||
'SUP04' => 'resolution4',
|
||||
},
|
||||
'FRM' => 'firmware',
|
||||
'FRMAVR' => 'firmware_AVR',
|
||||
'FRMDTS' => 'firmware_DTS',
|
||||
'AIS' => {
|
||||
'FSV' => 'samplingRate',
|
||||
'FOR' => 'audioFormat',
|
||||
@ -1541,12 +1542,35 @@ DENON_AVR_Parse(@)
|
||||
readingsBulkUpdate($hash, "Volume-Max", $2.$percent);
|
||||
$return = "Volume-Max".$2;
|
||||
}
|
||||
#Einschaltlautstärke
|
||||
#Einschaltlautstärke
|
||||
elsif ($msg =~ /^SSVCTZMAPON (.+)/)
|
||||
{
|
||||
readingsBulkUpdate($hash, "Volume-Startup", $1);
|
||||
$return = "Volume-Startup ".$1;
|
||||
}
|
||||
|
||||
my $mutelevel = $1;
|
||||
|
||||
if($1 eq 'LAS')
|
||||
{
|
||||
readingsBulkUpdate($hash, "Volume-Startup", "last") if($mutelevel ne "unknown");
|
||||
$return = "Volume-Startup"."$1";
|
||||
|
||||
}
|
||||
elsif($1 eq 'MUT')
|
||||
{
|
||||
readingsBulkUpdate($hash, "Volume-Startup", "mute") if($mutelevel ne "unknown");
|
||||
$return = "Volume-Startup"."$1";
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
if (length($mutelevel) == 2)
|
||||
{
|
||||
$mutelevel = $mutelevel."";
|
||||
|
||||
readingsBulkUpdate($hash, "Volume-Startup", $mutelevel) if($mutelevel ne "unknown");
|
||||
$return = "Volume-Startup".$mutelevel;
|
||||
}
|
||||
}
|
||||
}
|
||||
#Volume
|
||||
elsif ($msg =~ /^MV(.+)/)
|
||||
{
|
||||
@ -1721,7 +1745,7 @@ DENON_AVR_Parse(@)
|
||||
$return = "smartselect ".$quick;
|
||||
}
|
||||
}
|
||||
#Sound
|
||||
#Sound
|
||||
elsif ($msg =~ /^MS(.+)/)
|
||||
{
|
||||
my $sound = DENON_GetValue('SOUND', $1);
|
||||
@ -1732,8 +1756,8 @@ DENON_AVR_Parse(@)
|
||||
}
|
||||
if ($sound ne "unknown")
|
||||
{
|
||||
readingsBulkUpdate($hash, "sound", $sound);
|
||||
$return = "sound ".$sound;
|
||||
readingsBulkUpdate($hash, "sound_out", $sound);
|
||||
$return = "sound_out ".$sound;
|
||||
}
|
||||
}
|
||||
#tuner band
|
||||
@ -2055,8 +2079,13 @@ DENON_AVR_Parse(@)
|
||||
# }
|
||||
elsif ($1 eq 'INF') # SSINFFRM 0000-0000-0000-00
|
||||
{
|
||||
#Firmware
|
||||
if ($2 eq "FRM") { # SSINFFRM 0000-0000-0000-00
|
||||
#Firmware_AVR
|
||||
if ($2 eq "FRMAVR") { # SSINFFRMAVR 0000-0000-0000-00
|
||||
my $status = DENON_GetValue('SS', $1, $2);
|
||||
readingsBulkUpdate($hash, $status, $3) if($status ne "unknown");
|
||||
$return = $status." ".$3;
|
||||
}
|
||||
if ($2 eq "FRMDTS") { # SSINFFRMDTS 0.00.00.00
|
||||
my $status = DENON_GetValue('SS', $1, $2);
|
||||
readingsBulkUpdate($hash, $status, $3) if($status ne "unknown");
|
||||
$return = $status." ".$3;
|
||||
@ -2070,18 +2099,18 @@ DENON_AVR_Parse(@)
|
||||
|
||||
if ($1 eq 'AIS')
|
||||
{
|
||||
#input signal
|
||||
#input signal
|
||||
if ($2 eq 'SIG')
|
||||
{
|
||||
my $signal = DENON_GetValue('SS', $cmd1, $1, $2, $value);
|
||||
readingsBulkUpdate($hash, "signal", $signal) if($signal ne "unknown");
|
||||
$return = "signal ".$signal;
|
||||
readingsBulkUpdate($hash, "sound_signal_in", $signal) if($signal ne "unknown");
|
||||
$return = "sound_signal_in ".$signal;
|
||||
if($signal =~ /^na (.+)/)
|
||||
{
|
||||
my $sound = ReadingsVal( $name, "sound", "?" );
|
||||
Log3 $name, 2, "DENON_AVR $name: unknown input signal <$1>, sound <$sound>.";
|
||||
my $sound = ReadingsVal( $name, "sound_out", "?" );
|
||||
Log3 $name, 2, "DENON_AVR $name: unknown input signal <$1>, sound_out <$sound>.";
|
||||
}
|
||||
}
|
||||
}
|
||||
# samplingRate, audioFormat
|
||||
elsif ($2 eq 'FSV' || $2 eq 'FOR')
|
||||
{
|
||||
@ -2219,7 +2248,7 @@ DENON_AVR_Get($@)
|
||||
|
||||
return "argument is missing" if (int(@a) < 2 && int(@a) > 3);
|
||||
|
||||
if ($a[1] =~ /^(power|volumeStraight|volume|mute|eco|display|input|disconnect|reconnect|remotecontrol|autoStandby|sound|statusRequest|mediaInfo|surroundMode|zone)$/)
|
||||
if ($a[1] =~ /^(power|volumeStraight|volume|mute|eco|display|input|disconnect|reconnect|remotecontrol|autoStandby|sound_out|statusRequest|mediaInfo|surroundMode|zone)$/)
|
||||
{
|
||||
if ($a[1] eq "statusRequest")
|
||||
{
|
||||
@ -2288,7 +2317,7 @@ DENON_AVR_Get($@)
|
||||
push(@inputs, $key);
|
||||
}
|
||||
}
|
||||
return "Unknown argument $a[1], choose one of power volumeStraight volume mute eco display input disconnect reconnect remotecontrol autoStandby sound statusRequest mediaInfo surroundMode zone:2,3,4";
|
||||
return "Unknown argument $a[1], choose one of power volumeStraight volume mute eco display input disconnect reconnect remotecontrol autoStandby sound_out statusRequest mediaInfo surroundMode zone:2,3,4";
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user