mirror of
https://github.com/fhem/fhem-mirror.git
synced 2025-05-04 22:19:38 +00:00
70_DENON_AVR: improved soundMode readings (thx Shadow3561)
git-svn-id: https://svn.fhem.de/fhem/trunk/fhem@21295 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
parent
47439ea10a
commit
5378edd90e
1
CHANGED
1
CHANGED
@ -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: 70_DENON_AVR: improved soundMode readings (thx Shadow3561)
|
||||||
- bugfix: 21_HEOSMaster: fix rename passwordstore bug
|
- bugfix: 21_HEOSMaster: fix rename passwordstore bug
|
||||||
- bugfix: 73_GardenaSmartBridge: fix rename passwordstore bug
|
- bugfix: 73_GardenaSmartBridge: fix rename passwordstore bug
|
||||||
- feature: 73_WaterCalculator: New Attribute DecimalPlace
|
- feature: 73_WaterCalculator: New Attribute DecimalPlace
|
||||||
|
@ -458,7 +458,8 @@ my $DENON_db = {
|
|||||||
'SUP03' => 'resolution3',
|
'SUP03' => 'resolution3',
|
||||||
'SUP04' => 'resolution4',
|
'SUP04' => 'resolution4',
|
||||||
},
|
},
|
||||||
'FRM' => 'firmware',
|
'FRMAVR' => 'firmware_AVR',
|
||||||
|
'FRMDTS' => 'firmware_DTS',
|
||||||
'AIS' => {
|
'AIS' => {
|
||||||
'FSV' => 'samplingRate',
|
'FSV' => 'samplingRate',
|
||||||
'FOR' => 'audioFormat',
|
'FOR' => 'audioFormat',
|
||||||
@ -1544,8 +1545,31 @@ DENON_AVR_Parse(@)
|
|||||||
#Einschaltlautstärke
|
#Einschaltlautstärke
|
||||||
elsif ($msg =~ /^SSVCTZMAPON (.+)/)
|
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
|
#Volume
|
||||||
elsif ($msg =~ /^MV(.+)/)
|
elsif ($msg =~ /^MV(.+)/)
|
||||||
@ -1732,8 +1756,8 @@ DENON_AVR_Parse(@)
|
|||||||
}
|
}
|
||||||
if ($sound ne "unknown")
|
if ($sound ne "unknown")
|
||||||
{
|
{
|
||||||
readingsBulkUpdate($hash, "sound", $sound);
|
readingsBulkUpdate($hash, "sound_out", $sound);
|
||||||
$return = "sound ".$sound;
|
$return = "sound_out ".$sound;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#tuner band
|
#tuner band
|
||||||
@ -2055,8 +2079,13 @@ DENON_AVR_Parse(@)
|
|||||||
# }
|
# }
|
||||||
elsif ($1 eq 'INF') # SSINFFRM 0000-0000-0000-00
|
elsif ($1 eq 'INF') # SSINFFRM 0000-0000-0000-00
|
||||||
{
|
{
|
||||||
#Firmware
|
#Firmware_AVR
|
||||||
if ($2 eq "FRM") { # SSINFFRM 0000-0000-0000-00
|
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);
|
my $status = DENON_GetValue('SS', $1, $2);
|
||||||
readingsBulkUpdate($hash, $status, $3) if($status ne "unknown");
|
readingsBulkUpdate($hash, $status, $3) if($status ne "unknown");
|
||||||
$return = $status." ".$3;
|
$return = $status." ".$3;
|
||||||
@ -2074,12 +2103,12 @@ DENON_AVR_Parse(@)
|
|||||||
if ($2 eq 'SIG')
|
if ($2 eq 'SIG')
|
||||||
{
|
{
|
||||||
my $signal = DENON_GetValue('SS', $cmd1, $1, $2, $value);
|
my $signal = DENON_GetValue('SS', $cmd1, $1, $2, $value);
|
||||||
readingsBulkUpdate($hash, "signal", $signal) if($signal ne "unknown");
|
readingsBulkUpdate($hash, "sound_signal_in", $signal) if($signal ne "unknown");
|
||||||
$return = "signal ".$signal;
|
$return = "sound_signal_in ".$signal;
|
||||||
if($signal =~ /^na (.+)/)
|
if($signal =~ /^na (.+)/)
|
||||||
{
|
{
|
||||||
my $sound = ReadingsVal( $name, "sound", "?" );
|
my $sound = ReadingsVal( $name, "sound_out", "?" );
|
||||||
Log3 $name, 2, "DENON_AVR $name: unknown input signal <$1>, sound <$sound>.";
|
Log3 $name, 2, "DENON_AVR $name: unknown input signal <$1>, sound_out <$sound>.";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
# samplingRate, audioFormat
|
# samplingRate, audioFormat
|
||||||
@ -2219,7 +2248,7 @@ DENON_AVR_Get($@)
|
|||||||
|
|
||||||
return "argument is missing" if (int(@a) < 2 && int(@a) > 3);
|
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")
|
if ($a[1] eq "statusRequest")
|
||||||
{
|
{
|
||||||
@ -2288,7 +2317,7 @@ DENON_AVR_Get($@)
|
|||||||
push(@inputs, $key);
|
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