70_DENON_AVR: more modes, commands, readings (thx Shadow3561)
git-svn-id: https://svn.fhem.de/fhem/trunk@21261 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
@@ -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: more modes, commands, and readings (thx Shadow3561)
|
||||||
- change: 98_weekprofile: use module Attribute configFile also by configDB
|
- change: 98_weekprofile: use module Attribute configFile also by configDB
|
||||||
- bugfix: 98_weekprofile: use global logdir
|
- bugfix: 98_weekprofile: use global logdir
|
||||||
- change: 73_DoorBird.pm New behaviour in case of Undefine and fhem startup
|
- change: 73_DoorBird.pm New behaviour in case of Undefine and fhem startup
|
||||||
|
|||||||
@@ -76,7 +76,7 @@ my $DENON_db = {
|
|||||||
'SHR' => 'Surround-Hight-Right',
|
'SHR' => 'Surround-Hight-Right',
|
||||||
'TS' => 'Top-Surround',
|
'TS' => 'Top-Surround',
|
||||||
},
|
},
|
||||||
'CV' => {
|
'CV' => {
|
||||||
'FL' => 'FrontLeft',
|
'FL' => 'FrontLeft',
|
||||||
'FR' => 'FrontRight',
|
'FR' => 'FrontRight',
|
||||||
'C' => 'Center',
|
'C' => 'Center',
|
||||||
@@ -109,6 +109,19 @@ my $DENON_db = {
|
|||||||
'SHR' => 'SurroundHightRight',
|
'SHR' => 'SurroundHightRight',
|
||||||
'TS' => 'TopSurround',
|
'TS' => 'TopSurround',
|
||||||
},
|
},
|
||||||
|
'SSALSSET' => { #AutoLipSync
|
||||||
|
'on' => 'ON',
|
||||||
|
'off' => 'OFF',
|
||||||
|
},
|
||||||
|
'SSVCTZMADIS' => { #Lautstärkeanzeige
|
||||||
|
'relativ' => 'REL',
|
||||||
|
'absolute' => 'ABS',
|
||||||
|
},
|
||||||
|
'SSVCTZMAMLV' => { #MutingLevel
|
||||||
|
'mute' => 'MUT',
|
||||||
|
'-40db' => '040',
|
||||||
|
'-20db' => '060',
|
||||||
|
},
|
||||||
'DC' => {
|
'DC' => {
|
||||||
'AUTO' => 'auto',
|
'AUTO' => 'auto',
|
||||||
'PCM' => 'PCM',
|
'PCM' => 'PCM',
|
||||||
@@ -141,45 +154,44 @@ my $DENON_db = {
|
|||||||
'info' => 'INF',
|
'info' => 'INF',
|
||||||
},
|
},
|
||||||
'MS' => { #Surround-Mode
|
'MS' => { #Surround-Mode
|
||||||
'Movie' => 'MOVIE',
|
'Movie' => 'MOVIE',
|
||||||
'Music' => 'MUSIC',
|
'Music' => 'MUSIC',
|
||||||
'Game' => 'GAME',
|
'Game' => 'GAME',
|
||||||
'Direct' => 'DIRECT',
|
'Direct' => 'DIRECT',
|
||||||
'Pure_Direct' => 'PURE DIRECT',
|
'Pure_Direct' => 'PURE DIRECT',
|
||||||
'Stereo' => 'STEREO',
|
'Stereo' => 'STEREO',
|
||||||
'Auto' => 'AUTO',
|
'Auto' => 'AUTO',
|
||||||
'Dolby_Digital' => 'DOLBY DIGITAL',
|
'Dolby_Digital' => 'DOLBY DIGITAL',
|
||||||
'DTS_Surround' => 'DTS SURROUND',
|
'DTS_Surround' => 'DTS SURROUND',
|
||||||
'Auro3D' => 'AURO3D',
|
'Auro3D' => 'AURO3D',
|
||||||
'Auro2D_Surround' => 'AURO2DSURR',
|
'Auro2D_Surround' => 'AURO2DSURR',
|
||||||
'Multichannel_Stereo' => 'MCH STEREO',
|
'Multichannel_Stereo' => 'MCH STEREO',
|
||||||
'Wide_Screen' => 'WIDE SCREEN',
|
'Wide_Screen' => 'WIDE SCREEN',
|
||||||
'Super_Stadium' => 'SUPER STADIUM',
|
'Super_Stadium' => 'SUPER STADIUM',
|
||||||
'Rock_Arena' => 'ROCK ARENA',
|
'Rock_Arena' => 'ROCK ARENA',
|
||||||
'Jazz_Club' => 'JAZZ CLUB',
|
'Jazz_Club' => 'JAZZ CLUB',
|
||||||
'Classic_Concert' => 'CLASSIC CONCERT',
|
'Classic_Concert' => 'CLASSIC CONCERT',
|
||||||
'Mono_Movie' => 'MONO MOVIE',
|
'Mono_Movie' => 'MONO MOVIE',
|
||||||
'Matrix' => 'MATRIX',
|
'Matrix' => 'MATRIX',
|
||||||
'Video_Game' => 'VIDEO GAME',
|
'Video_Game' => 'VIDEO GAME',
|
||||||
'Virtual' => 'VIRTUAL',
|
'Dolby_Audio_Surround' => 'DOLBY AUDIO-DSUR',
|
||||||
'Left' => 'LEFT',
|
|
||||||
'Right' => 'RIGHT',
|
|
||||||
'Quick1' => 'QUICK1',
|
|
||||||
'Quick2' => 'QUICK2',
|
|
||||||
'Quick3' => 'QUICK3',
|
|
||||||
'Quick4' => 'QUICK4',
|
|
||||||
'Quick5' => 'QUICK5',
|
|
||||||
'Smart1' => 'SMART1',
|
|
||||||
'Smart2' => 'SMART2',
|
|
||||||
'Smart3' => 'SMART3',
|
|
||||||
'Smart4' => 'SMART4',
|
|
||||||
'Smart5' => 'SMART5',
|
|
||||||
'Dolby_Audio_Surround' => 'DOLBY AUDIO-DSUR',
|
|
||||||
'Neural:X' => 'NEURAL:X',
|
|
||||||
'Dolby_Audio_Digital' => 'DOLBY AUDIO-DD',
|
'Dolby_Audio_Digital' => 'DOLBY AUDIO-DD',
|
||||||
'Dolby_Audio_Digital-Surround' => 'DOLBY AUDIO-DD+DSUR',
|
'Dolby_Audio_Digital-Surround' => 'DOLBY AUDIO-DD+DSUR',
|
||||||
'Dolby_Audio_Digital-Neural:X' => 'DOLBY AUDIO-DD+NEURAL:X',
|
'Dolby_Audio_Digital-Neural:X' => 'DOLBY AUDIO-DD+NEURAL:X',
|
||||||
'Virtual' => 'VIRTUAL'
|
'Neural:X' => 'NEURAL:X',
|
||||||
|
'Virtual' => 'VIRTUAL',
|
||||||
|
'Left' => 'LEFT',
|
||||||
|
'Right' => 'RIGHT',
|
||||||
|
'Quick1' => 'QUICK1',
|
||||||
|
'Quick2' => 'QUICK2',
|
||||||
|
'Quick3' => 'QUICK3',
|
||||||
|
'Quick4' => 'QUICK4',
|
||||||
|
'Quick5' => 'QUICK5',
|
||||||
|
'Smart1' => 'SMART1',
|
||||||
|
'Smart2' => 'SMART2',
|
||||||
|
'Smart3' => 'SMART3',
|
||||||
|
'Smart4' => 'SMART4',
|
||||||
|
'Smart5' => 'SMART5',
|
||||||
},
|
},
|
||||||
'MU' => {
|
'MU' => {
|
||||||
'on' => 'ON',
|
'on' => 'ON',
|
||||||
@@ -188,7 +200,7 @@ my $DENON_db = {
|
|||||||
},
|
},
|
||||||
'NS' => {
|
'NS' => {
|
||||||
#System-Info:
|
#System-Info:
|
||||||
'FRN' => 'model', # device-type
|
'FRN' => 'Network-Name', # device-type
|
||||||
#Remote:
|
#Remote:
|
||||||
'up' => '90',
|
'up' => '90',
|
||||||
'down' => '91',
|
'down' => '91',
|
||||||
@@ -254,11 +266,11 @@ my $DENON_db = {
|
|||||||
},
|
},
|
||||||
'DYNEQ' => 'dynamicEQ',
|
'DYNEQ' => 'dynamicEQ',
|
||||||
'DYNVOL' => {
|
'DYNVOL' => {
|
||||||
'DYNVOL' => 'dynamicVolume',
|
'DYNVOL' => 'dynamicVolume',
|
||||||
'HEV' => 'heavy',
|
'HEV' => 'heavy',
|
||||||
'MED' => 'medium',
|
'MED' => 'medium',
|
||||||
'LIT' => 'light',
|
'LIT' => 'light',
|
||||||
'OFF' => 'off',
|
'OFF' => 'off',
|
||||||
},
|
},
|
||||||
'GEQ' => 'graphicEQ',
|
'GEQ' => 'graphicEQ',
|
||||||
'PAN' => 'panorama',
|
'PAN' => 'panorama',
|
||||||
@@ -269,14 +281,14 @@ my $DENON_db = {
|
|||||||
|
|
||||||
},
|
},
|
||||||
'PV' => {
|
'PV' => {
|
||||||
'off' => 'OFF',
|
'OFF' => 'off',
|
||||||
'Standard' => 'STD',
|
'STD' => 'standart',
|
||||||
'Movie' => 'MOV',
|
'MOV' => 'Movie',
|
||||||
'Vivid' => 'VVD',
|
'VVD' => 'Vivid',
|
||||||
'Stream' => 'STM',
|
'STM' => 'Stream',
|
||||||
'Costom' => 'CTM',
|
'CTM' => 'Custom',
|
||||||
'Day' => 'DAY',
|
'DAY' => 'ISF_Day',
|
||||||
'Night' => 'NGT',
|
'NGT' => 'ISF_Night',
|
||||||
},
|
},
|
||||||
'PW' => {
|
'PW' => {
|
||||||
'on' => 'ON',
|
'on' => 'ON',
|
||||||
@@ -453,7 +465,7 @@ my $DENON_db = {
|
|||||||
'00' => 'na 00',
|
'00' => 'na 00',
|
||||||
'01' => 'Analog',
|
'01' => 'Analog',
|
||||||
'02' => 'PCM',
|
'02' => 'PCM',
|
||||||
'03' => 'Dolby Digital',
|
'03' => 'Dolby Audio DD',
|
||||||
'04' => 'Dolby TrueHD',
|
'04' => 'Dolby TrueHD',
|
||||||
'05' => 'Dolby Atmos',
|
'05' => 'Dolby Atmos',
|
||||||
'06' => 'DTS',
|
'06' => 'DTS',
|
||||||
@@ -525,33 +537,25 @@ my $DENON_db = {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
'SLP' => { #sleep-Mode
|
'SLP' => { #sleep-Mode
|
||||||
'10min' => '010',
|
'10min' => '010',
|
||||||
'15min' => '015',
|
'15min' => '015',
|
||||||
'30min' => '030',
|
'30min' => '030',
|
||||||
'40min' => '040',
|
'40min' => '040',
|
||||||
'50min' => '050',
|
'50min' => '050',
|
||||||
'60min' => '060',
|
'60min' => '060',
|
||||||
'70min' => '070',
|
'70min' => '070',
|
||||||
'80min' => '080',
|
'80min' => '080',
|
||||||
'90min' => '090',
|
'90min' => '090',
|
||||||
'100min' => '100',
|
'100min' => '100',
|
||||||
'110min' => '110',
|
'110min' => '110',
|
||||||
'120min' => '120',
|
'120min' => '120',
|
||||||
'off' => 'OFF',
|
'off' => 'OFF',
|
||||||
},
|
},
|
||||||
'STBY' => { #autoStandby-Mode
|
'STBY' => { #autoStandby-Mode
|
||||||
'15min' => '15M',
|
'15min' => '15M',
|
||||||
'30min' => '30M',
|
'30min' => '30M',
|
||||||
'60min' => '60M',
|
'60min' => '60M',
|
||||||
'off' => 'OFF',
|
'off' => 'OFF',
|
||||||
},
|
|
||||||
'SSALSSET' => { #AutoLipSync
|
|
||||||
'on' => 'ON',
|
|
||||||
'off' => 'OFF',
|
|
||||||
},
|
|
||||||
'SSVCTZMADIS' => { #Lautstärkeanzeige
|
|
||||||
'relativ' => 'REL',
|
|
||||||
'absolute' => 'ABS',
|
|
||||||
},
|
},
|
||||||
'SV' => { #Video-Select
|
'SV' => { #Video-Select
|
||||||
'DVD' => 'DVD',
|
'DVD' => 'DVD',
|
||||||
@@ -619,13 +623,7 @@ my $DENON_db = {
|
|||||||
'PURE DIRECT' => 'Pure Direct',
|
'PURE DIRECT' => 'Pure Direct',
|
||||||
'DSD PURE DIRECT' => 'DSD Pure Direct',
|
'DSD PURE DIRECT' => 'DSD Pure Direct',
|
||||||
'PURE DIRECT EXT' => 'Pure Direct Ext',
|
'PURE DIRECT EXT' => 'Pure Direct Ext',
|
||||||
'MCH STEREO' => 'Multi Ch Stereo',
|
'MCH STEREO' => 'Multichannel Stereo',
|
||||||
'MONO MOVIE' => 'Mono Movie',
|
|
||||||
'ROCK ARENA' => 'Rock Arena',
|
|
||||||
'JAZZ CLUB' => 'Jazz Club',
|
|
||||||
'MATRIX' => 'Matrix',
|
|
||||||
'VIRTUAL' => 'Virtual',
|
|
||||||
'VIDEO GAME' => 'Video Game',
|
|
||||||
'ALL ZONE STEREO' => 'All Zone Stereo',
|
'ALL ZONE STEREO' => 'All Zone Stereo',
|
||||||
'AUDYSSEY DSX' => 'Audyssey DSX',
|
'AUDYSSEY DSX' => 'Audyssey DSX',
|
||||||
'PL DSX' => 'PL DSX',
|
'PL DSX' => 'PL DSX',
|
||||||
@@ -653,11 +651,10 @@ my $DENON_db = {
|
|||||||
'DOLBY D+PL2X C' => 'Dolby Digital+PL2X C',
|
'DOLBY D+PL2X C' => 'Dolby Digital+PL2X C',
|
||||||
'DOLBY D+PL2X M' => 'Dolby Digital+PL2X M',
|
'DOLBY D+PL2X M' => 'Dolby Digital+PL2X M',
|
||||||
'DOLBY D+PL2Z H' => 'Dolby Digital+PL2Z H',
|
'DOLBY D+PL2Z H' => 'Dolby Digital+PL2Z H',
|
||||||
'DOLBY D+DS' => 'Dolby Digital + Dolby Surround',
|
'DOLBY D+DS' => 'Dolby Digital+DS',
|
||||||
'DOLBY D+NEO:X C' => 'Dolby Digital+Neo:X C',
|
'DOLBY D+NEO:X C' => 'Dolby Digital+Neo:X C',
|
||||||
'DOLBY D+NEO:X M' => 'Dolby Digital+Neo:X M',
|
'DOLBY D+NEO:X M' => 'Dolby Digital+Neo:X M',
|
||||||
'DOLBY D+NEO:X G' => 'Dolby Digital+Neo:X G',
|
'DOLBY D+NEO:X G' => 'Dolby Digital+Neo:X G',
|
||||||
'DOLBY D+NEURAL:X' => 'Dolby Digital + Neural:X',
|
|
||||||
'DOLBY D+' => 'Dolby Digital Plus',
|
'DOLBY D+' => 'Dolby Digital Plus',
|
||||||
'DOLBY D+ +EX' => 'Dolby Digital Plus+PL2X C',
|
'DOLBY D+ +EX' => 'Dolby Digital Plus+PL2X C',
|
||||||
'DOLBY D+ +PL2X C' => 'Dolby Digital Plus+PL2X C',
|
'DOLBY D+ +PL2X C' => 'Dolby Digital Plus+PL2X C',
|
||||||
@@ -668,23 +665,22 @@ my $DENON_db = {
|
|||||||
'DOLBY D+ +NEO:X C' => 'Dolby Digital Plus+Neo:X C',
|
'DOLBY D+ +NEO:X C' => 'Dolby Digital Plus+Neo:X C',
|
||||||
'DOLBY D+ +NEO:X M' => 'Dolby Digital Plus+Neo:X M',
|
'DOLBY D+ +NEO:X M' => 'Dolby Digital Plus+Neo:X M',
|
||||||
'DOLBY D+ +NEO:X G' => 'Dolby Digital Plus+Neo:X G',
|
'DOLBY D+ +NEO:X G' => 'Dolby Digital Plus+Neo:X G',
|
||||||
'DOLBY HD' => 'Dolby TrueHD',
|
'DOLBY HD' => 'Dolby HD',
|
||||||
'DOLBY HD+EX' => 'Dolby HD+EX',
|
'DOLBY HD+EX' => 'Dolby HD+EX',
|
||||||
'DOLBY HD+PL2X C' => 'Dolby HD+PL2X C',
|
'DOLBY HD+PL2X C' => 'Dolby HD+PL2X C',
|
||||||
'DOLBY HD+PL2X M' => 'Dolby HD+PL2X M',
|
'DOLBY HD+PL2X M' => 'Dolby HD+PL2X M',
|
||||||
'DOLBY HD+PL2Z H' => 'Dolby HD+PL2Z H',
|
'DOLBY HD+PL2Z H' => 'Dolby HD+PL2Z H',
|
||||||
'DOLBY HD+DS' => 'Dolby TrueHD + Dolby Surround',
|
'DOLBY HD+DS' => 'Dolby HD+DS',
|
||||||
'DOLBY HD+NEO:X C' => 'Dolby HD+Neo:X C',
|
'DOLBY HD+NEO:X C' => 'Dolby HD+Neo:X C',
|
||||||
'DOLBY HD+NEO:X M' => 'Dolby HD+Neo:X M',
|
'DOLBY HD+NEO:X M' => 'Dolby HD+Neo:X M',
|
||||||
'DOLBY HD+NEO:X G' => 'Dolby HD+Neo:X G',
|
'DOLBY HD+NEO:X G' => 'Dolby HD+Neo:X G',
|
||||||
'DOLBY HD+NEURAL:X' => 'Dolby TrueHD + Neural:X',
|
|
||||||
'DTS SURROUND' => 'DTS Surround',
|
'DTS SURROUND' => 'DTS Surround',
|
||||||
'DTS ES DSCRT6.1' => 'DTS ES Dscrt 6.1',
|
'DTS ES DSCRT6.1' => 'DTS ES Dscrt 6.1',
|
||||||
'DTS ES MTRX6.1' => 'DTS ES Mtrx 6.1',
|
'DTS ES MTRX6.1' => 'DTS ES Mtrx 6.1',
|
||||||
'DTS+PL2X C' => 'DTS+PL2X C',
|
'DTS+PL2X C' => 'DTS+PL2X C',
|
||||||
'DTS+PL2X M' => 'DTS+PL2X M',
|
'DTS+PL2X M' => 'DTS+PL2X M',
|
||||||
'DTS+PL2Z H' => 'DTS+PL2Z H',
|
'DTS+PL2Z H' => 'DTS+PL2Z H',
|
||||||
'DTS+DS' => 'DTS + Dolby Surround',
|
'DTS+DS' => 'DTS+DS',
|
||||||
'DTS96/24' => 'DTS 96/24',
|
'DTS96/24' => 'DTS 96/24',
|
||||||
'DTS96 ES MTRX' => 'DTS 96 ES MTRX',
|
'DTS96 ES MTRX' => 'DTS 96 ES MTRX',
|
||||||
'DTS+NEO:6' => 'DTS+Neo:6',
|
'DTS+NEO:6' => 'DTS+Neo:6',
|
||||||
@@ -696,7 +692,6 @@ my $DENON_db = {
|
|||||||
'DTS+NEO:X M' => 'DTS+Neo:X M',
|
'DTS+NEO:X M' => 'DTS+Neo:X M',
|
||||||
'DTS+NEO:X G' => 'DTS+Neo:X G',
|
'DTS+NEO:X G' => 'DTS+Neo:X G',
|
||||||
'DTS+NEO:X G' => 'DTS+Neo:X G',
|
'DTS+NEO:X G' => 'DTS+Neo:X G',
|
||||||
'DTS+NEURAL:X' => 'DTS + Neural:X',
|
|
||||||
'DTS HD' => 'DTS-HD',
|
'DTS HD' => 'DTS-HD',
|
||||||
'DTS HD TR' => 'DTS-HD TR',
|
'DTS HD TR' => 'DTS-HD TR',
|
||||||
'DTS HD MSTR' => 'DTS-HD Mstr',
|
'DTS HD MSTR' => 'DTS-HD Mstr',
|
||||||
@@ -704,14 +699,12 @@ my $DENON_db = {
|
|||||||
'DTS HD+PL2X M' => 'DTS-HD+PL2X M',
|
'DTS HD+PL2X M' => 'DTS-HD+PL2X M',
|
||||||
'DTS HD+PL2Z H' => 'DTS-HD+PL2Z H',
|
'DTS HD+PL2Z H' => 'DTS-HD+PL2Z H',
|
||||||
'DTS HD+NEO:6' => 'DTS-HD+Neo:6',
|
'DTS HD+NEO:6' => 'DTS-HD+Neo:6',
|
||||||
'DTS HD+DS' => 'DTS-HD + Dolby Surround',
|
'DTS HD+DS' => 'DTS-HD+DS',
|
||||||
'DTS HD+NEO:X C' => 'DTS-HD+Neo:X C',
|
'DTS HD+NEO:X C' => 'DTS-HD+Neo:X C',
|
||||||
'DTS HD+NEO:X M' => 'DTS-HD+Neo:X M',
|
'DTS HD+NEO:X M' => 'DTS-HD+Neo:X M',
|
||||||
'DTS HD+NEO:X G' => 'DTS-HD+Neo:X G',
|
'DTS HD+NEO:X G' => 'DTS-HD+Neo:X G',
|
||||||
'DTS HD+NEURAL:X' => 'DTS-HD + Neural:X',
|
|
||||||
'DTS EXPRESS' => 'DTS Express',
|
'DTS EXPRESS' => 'DTS Express',
|
||||||
'DTS ES 8CH DSCRT' => 'DTS ES 8Ch Dscrt',
|
'DTS ES 8CH DSCRT' => 'DTS ES 8Ch Dscrt',
|
||||||
'DTS:X MSTR' => 'DTS:X MSTR',
|
|
||||||
'AURO3D' => 'Auro-3D',
|
'AURO3D' => 'Auro-3D',
|
||||||
'AURO2DSURR' => 'Auro-2D Surround',
|
'AURO2DSURR' => 'Auro-2D Surround',
|
||||||
'MPEG2 AAC' => 'MPEG2 AAC',
|
'MPEG2 AAC' => 'MPEG2 AAC',
|
||||||
@@ -735,7 +728,7 @@ my $DENON_db = {
|
|||||||
'M CH IN+NEO:X G' => 'Multi Ch In+Neo:X G',
|
'M CH IN+NEO:X G' => 'Multi Ch In+Neo:X G',
|
||||||
'NEO:6 C DSX' => 'Neo:6 C DSX',
|
'NEO:6 C DSX' => 'Neo:6 C DSX',
|
||||||
'NEO:6 M DSX' => 'Neo:6 M DSX',
|
'NEO:6 M DSX' => 'Neo:6 M DSX',
|
||||||
'NEURAL:X' => 'DTS Neural:X'
|
'7.1IN' => 'Multi Ch In 7.1',
|
||||||
},
|
},
|
||||||
'TF' => {
|
'TF' => {
|
||||||
'AN' => {
|
'AN' => {
|
||||||
@@ -1459,18 +1452,7 @@ DENON_AVR_Parse(@)
|
|||||||
|
|
||||||
$return = $power;
|
$return = $power;
|
||||||
}
|
}
|
||||||
#Channel-Level (older devices)
|
#Channel-Level
|
||||||
elsif ($msg =~ /^CV([A-Z2]+) (.+)/){
|
|
||||||
my $channel = DENON_GetValue('CV', $1);
|
|
||||||
my $volume = $2;
|
|
||||||
if (length($volume) == 2)
|
|
||||||
{
|
|
||||||
$volume = $volume."0";
|
|
||||||
}
|
|
||||||
readingsBulkUpdate($hash, "level".$channel, ($volume / 10 - 50).$dezibel) if($channel ne "unknown");
|
|
||||||
$return = "level".$channel." ".($volume / 10 - 50);
|
|
||||||
}
|
|
||||||
#Channel-Level (newer devices)
|
|
||||||
elsif ($msg =~ /^SSLEV([A-Z2]+) (.+)/){
|
elsif ($msg =~ /^SSLEV([A-Z2]+) (.+)/){
|
||||||
my $channel = DENON_GetValue('SSLEV', $1);
|
my $channel = DENON_GetValue('SSLEV', $1);
|
||||||
my $volume = $2;
|
my $volume = $2;
|
||||||
@@ -1500,12 +1482,23 @@ DENON_AVR_Parse(@)
|
|||||||
readingsBulkUpdate($hash, "mute", lc($1));
|
readingsBulkUpdate($hash, "mute", lc($1));
|
||||||
$return = lc($1);
|
$return = lc($1);
|
||||||
}
|
}
|
||||||
#Maximal Volume
|
#Maximal Volume
|
||||||
elsif ($msg =~ /^MVMAX (.+)/)
|
elsif ($msg =~ /^MVMAX(.+)/)
|
||||||
{
|
{
|
||||||
readingsBulkUpdate($hash, "volumeMax", $1.$percent);
|
readingsBulkUpdate($hash, "volumeMax", $1.$percent);
|
||||||
$return = "volumeMax ".$1;
|
$return = "volumeMax ".$1;
|
||||||
}
|
}
|
||||||
|
elsif ($msg =~ /^SSVCTZMALIM (.+)([0-9]{2})/) #/^0*([0-9]*)/; ^([A-Z]{3}) (.+)/
|
||||||
|
{
|
||||||
|
readingsBulkUpdate($hash, "Volume-Max", $2.$percent);
|
||||||
|
$return = "Volume-Max".$2;
|
||||||
|
}
|
||||||
|
#Einschaltlautstärke
|
||||||
|
elsif ($msg =~ /^SSVCTZMAPON (.+)/)
|
||||||
|
{
|
||||||
|
readingsBulkUpdate($hash, "Volume-Startup", $1);
|
||||||
|
$return = "Volume-Startup ".$1;
|
||||||
|
}
|
||||||
#Volume
|
#Volume
|
||||||
elsif ($msg =~ /^MV(.+)/)
|
elsif ($msg =~ /^MV(.+)/)
|
||||||
{
|
{
|
||||||
@@ -1519,26 +1512,6 @@ DENON_AVR_Parse(@)
|
|||||||
$return = "volume/volumeStraight ".($volume / 10)."/".($volume / 10 - 80);
|
$return = "volume/volumeStraight ".($volume / 10)."/".($volume / 10 - 80);
|
||||||
$hash->{helper}{volume} = $volume / 10;
|
$hash->{helper}{volume} = $volume / 10;
|
||||||
}
|
}
|
||||||
#Auto-LipSync
|
|
||||||
elsif ($msg =~ /^SSALSSET ([A-Z]+)/)
|
|
||||||
{
|
|
||||||
my $status = DENON_GetKey('SSALSSET', $1);
|
|
||||||
readingsBulkUpdate($hash, "autoLipSync", $status) if($status ne "unknown");
|
|
||||||
$return = "autoLipSync ".$status;
|
|
||||||
}
|
|
||||||
#Lautstärkeanzeige
|
|
||||||
elsif ($msg =~ /^SSVCTZMADIS ([A-Z]+)/)
|
|
||||||
{
|
|
||||||
my $status = DENON_GetKey('SSVCTZMADIS', $1);
|
|
||||||
readingsBulkUpdate($hash, "volumeDisplayType", $status) if($status ne "unknown");
|
|
||||||
$return = "volumeDisplayType ".$status;
|
|
||||||
}
|
|
||||||
#Einschaltlautstärke
|
|
||||||
elsif ($msg =~ /^SSVCTZMAPON (.+)/)
|
|
||||||
{
|
|
||||||
readingsBulkUpdate($hash, "volumePowerOn", $1.$percent);
|
|
||||||
$return = "volumePowerOn ".$1;
|
|
||||||
}
|
|
||||||
#Sound Parameter
|
#Sound Parameter
|
||||||
elsif ($msg =~ /^PS(.+)/)
|
elsif ($msg =~ /^PS(.+)/)
|
||||||
{
|
{
|
||||||
@@ -1588,10 +1561,6 @@ DENON_AVR_Parse(@)
|
|||||||
{
|
{
|
||||||
$volume = $volume." ms";
|
$volume = $volume." ms";
|
||||||
}
|
}
|
||||||
elsif($1 eq 'CLV')
|
|
||||||
{
|
|
||||||
$volume = ($volume -50).$dezibel;
|
|
||||||
}
|
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if (length($volume) == 2)
|
if (length($volume) == 2)
|
||||||
@@ -1668,6 +1637,13 @@ DENON_AVR_Parse(@)
|
|||||||
readingsBulkUpdate($hash, "videoSelect", $status) if($status ne "unknown");
|
readingsBulkUpdate($hash, "videoSelect", $status) if($status ne "unknown");
|
||||||
$return = "videoSelect ".$status;
|
$return = "videoSelect ".$status;
|
||||||
}
|
}
|
||||||
|
#Video-Select
|
||||||
|
elsif ($msg =~ /^PV(.+)/)
|
||||||
|
{
|
||||||
|
my $status = DENON_GetValue('PV', $1);
|
||||||
|
readingsBulkUpdate($hash, "pictureMode", $status) if($status ne "unknown");
|
||||||
|
$return = "pictureMode ".$status;
|
||||||
|
}
|
||||||
#Setup-Menu
|
#Setup-Menu
|
||||||
elsif ($msg =~ /^MNMEN ([A-Z]+)/)
|
elsif ($msg =~ /^MNMEN ([A-Z]+)/)
|
||||||
{
|
{
|
||||||
@@ -1768,6 +1744,33 @@ DENON_AVR_Parse(@)
|
|||||||
readingsBulkUpdate($hash, "tunerStationName", $1);
|
readingsBulkUpdate($hash, "tunerStationName", $1);
|
||||||
$return = "tunerStationName ".$1;
|
$return = "tunerStationName ".$1;
|
||||||
}
|
}
|
||||||
|
#elsif ($msg =~ /^NSFRN(.+)/) #Netwerk-Name
|
||||||
|
#{
|
||||||
|
# readingsBulkUpdate($hash, "Netzwerk-Name", $1);
|
||||||
|
# $return = "Netzwerk-Name ".$1;
|
||||||
|
#}
|
||||||
|
|
||||||
|
#Auto-LipSync
|
||||||
|
elsif ($msg =~ /^SSALSSET ([A-Z]+)/)
|
||||||
|
{
|
||||||
|
my $status = DENON_GetKey('SSALSSET', $1);
|
||||||
|
readingsBulkUpdate($hash, "Auto-Lip-Sync", $status) if($status ne "unknown");
|
||||||
|
$return = "Auto-Lip-Sync ".$status;
|
||||||
|
}
|
||||||
|
#Lautstärkeanzeige
|
||||||
|
elsif ($msg =~ /^SSVCTZMADIS.([A-Z]+)/)
|
||||||
|
{
|
||||||
|
my $status = DENON_GetKey('SSVCTZMADIS', $1);
|
||||||
|
readingsBulkUpdate($hash, "Volume-Display", $status) if($status ne "unknown");
|
||||||
|
$return = "Volume-Display ".$status;
|
||||||
|
}
|
||||||
|
#Muting-Pegel
|
||||||
|
elsif ($msg =~ /^SSVCTZMAMLV ([A-Z0-9]+)/)
|
||||||
|
{
|
||||||
|
my $status = DENON_GetKey('SSVCTZMAMLV', $1);
|
||||||
|
readingsBulkUpdate($hash, "Muting-Level", $status) if($status ne "unknown");
|
||||||
|
$return = "Muting-Level".$status;
|
||||||
|
}
|
||||||
#ECO-Mode
|
#ECO-Mode
|
||||||
elsif ($msg =~ /^ECO([A-Z]+)/)
|
elsif ($msg =~ /^ECO([A-Z]+)/)
|
||||||
{
|
{
|
||||||
@@ -1996,12 +1999,12 @@ DENON_AVR_Parse(@)
|
|||||||
#DENON_SetValue($3, 'SS', $1, $2);
|
#DENON_SetValue($3, 'SS', $1, $2);
|
||||||
$return = lc($3)." ".$2;
|
$return = lc($3)." ".$2;
|
||||||
}
|
}
|
||||||
elsif ($1 eq 'PAA') # SSPAA
|
# elsif ($1 eq 'PAA') # SSPAA
|
||||||
{
|
# {
|
||||||
my $status = DENON_GetValue('SS', $1, $2, $3);
|
# my $status = DENON_GetValue('SS', $1, $2, $3);
|
||||||
readingsBulkUpdate($hash, "ampAssign", $status) if($status ne "unknown");
|
# readingsBulkUpdate($hash, "ampAssign", $status) if($status ne "unknown");
|
||||||
$return = "ampAssign ".$status;
|
# $return = "ampAssign ".$status;
|
||||||
}
|
# }
|
||||||
elsif ($1 eq 'INF') # SSINFFRM 0000-0000-0000-00
|
elsif ($1 eq 'INF') # SSINFFRM 0000-0000-0000-00
|
||||||
{
|
{
|
||||||
#Firmware
|
#Firmware
|
||||||
@@ -2056,11 +2059,13 @@ DENON_AVR_Parse(@)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
#Model
|
#Model
|
||||||
elsif ($msg =~ /^NS([A-Z]{3}) .+ (.+)/){
|
elsif ($msg =~ /^NS([A-Z]{3}) (.+)/){
|
||||||
my $status = DENON_GetValue('NS', $1);
|
my $status = DENON_GetValue('NS', $1);
|
||||||
readingsBulkUpdate($hash, $status, $2) if($status ne "unknown");
|
readingsBulkUpdate($hash, $status, $2) if($status ne "unknown");
|
||||||
$return = $status." ".$2;
|
$return = $status." ".$2;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
elsif ($msg =~ /^VS(.+)/){
|
elsif ($msg =~ /^VS(.+)/){
|
||||||
my $cmd = $1;
|
my $cmd = $1;
|
||||||
if($cmd =~ /^(ASP)(.+)/)
|
if($cmd =~ /^(ASP)(.+)/)
|
||||||
@@ -2124,7 +2129,7 @@ DENON_AVR_Parse(@)
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if($msg eq "CVEND")
|
if($msg eq "CV END")
|
||||||
{
|
{
|
||||||
$return = "ignored";
|
$return = "ignored";
|
||||||
}
|
}
|
||||||
@@ -2258,6 +2263,7 @@ DENON_AVR_Set($@)
|
|||||||
my @presetCallAn = ("A1","A2","A3","A4","A5","A6","A7","A8","B1","B2","B3","B4","B5","B6","B7","B8","C1","C2","C3","C4","C5","C6","C7","C8","D1","D2","D3","D4","D5","D6","D7","D8","E1","E2","E3","E4","E5","E6","E7","E8","F1","F2","F3","F4","F5","F6","F7","F8","G1","G2","G3","G4","G5","G6","G7","G8");
|
my @presetCallAn = ("A1","A2","A3","A4","A5","A6","A7","A8","B1","B2","B3","B4","B5","B6","B7","B8","C1","C2","C3","C4","C5","C6","C7","C8","D1","D2","D3","D4","D5","D6","D7","D8","E1","E2","E3","E4","E5","E6","E7","E8","F1","F2","F3","F4","F5","F6","F7","F8","G1","G2","G3","G4","G5","G6","G7","G8");
|
||||||
my @inputs = ();
|
my @inputs = ();
|
||||||
my @inputSound = ();
|
my @inputSound = ();
|
||||||
|
my @pictureMode = ();
|
||||||
my @usedInputs = ();
|
my @usedInputs = ();
|
||||||
my @remoteControl = ();
|
my @remoteControl = ();
|
||||||
my @resolution = ();
|
my @resolution = ();
|
||||||
@@ -2318,6 +2324,11 @@ DENON_AVR_Set($@)
|
|||||||
push(@inputSound, $DENON_db->{'SD'}{$key});
|
push(@inputSound, $DENON_db->{'SD'}{$key});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
foreach my $key (sort(keys %{$DENON_db->{'PV'}})) {
|
||||||
|
push(@pictureMode, $DENON_db->{'PV'}{$key});
|
||||||
|
}
|
||||||
|
|
||||||
foreach my $key (sort(keys %{$DENON_db->{'TM'}{'AN'}})) {
|
foreach my $key (sort(keys %{$DENON_db->{'TM'}{'AN'}})) {
|
||||||
push(@tuner, $key);
|
push(@tuner, $key);
|
||||||
}
|
}
|
||||||
@@ -2375,6 +2386,7 @@ DENON_AVR_Set($@)
|
|||||||
$ceolEntry .
|
$ceolEntry .
|
||||||
"input:" . join(",", @inputs) . " " .
|
"input:" . join(",", @inputs) . " " .
|
||||||
"inputSound:" . join(",", @inputSound) . " " .
|
"inputSound:" . join(",", @inputSound) . " " .
|
||||||
|
"pictureMode:" . join(",", @pictureMode) . " " .
|
||||||
"usedInputs:multiple-strict," . join(",", @usedInputs) . " " .
|
"usedInputs:multiple-strict," . join(",", @usedInputs) . " " .
|
||||||
"remoteControl:" . join(",", @remoteControl) . " " .
|
"remoteControl:" . join(",", @remoteControl) . " " .
|
||||||
"surroundMode:" . join(",", sort keys %{$DENON_db->{'MS'}}) . " " .
|
"surroundMode:" . join(",", sort keys %{$DENON_db->{'MS'}}) . " " .
|
||||||
@@ -2717,6 +2729,14 @@ DENON_AVR_Set($@)
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
$channel = DENON_GetKey("CV", $command);
|
$channel = DENON_GetKey("CV", $command);
|
||||||
$volume = $a[3] + 50;
|
$volume = $a[3] + 50;
|
||||||
if ($volume % 1 == 0)
|
if ($volume % 1 == 0)
|
||||||
@@ -2908,6 +2928,14 @@ DENON_AVR_Set($@)
|
|||||||
readingsEndUpdate($hash, 1);
|
readingsEndUpdate($hash, 1);
|
||||||
return undef;
|
return undef;
|
||||||
}
|
}
|
||||||
|
elsif ($a[1] eq "pictureMode")
|
||||||
|
{
|
||||||
|
my $cmd = DENON_GetKey("PV", $a[2]);
|
||||||
|
DENON_AVR_Write($hash, "PV".$cmd, "pictureMode");
|
||||||
|
readingsBulkUpdate($hash, "pictureMode", $a[2]);
|
||||||
|
readingsEndUpdate($hash, 1);
|
||||||
|
return undef;
|
||||||
|
}
|
||||||
elsif ($a[1] eq "aspectRatio")
|
elsif ($a[1] eq "aspectRatio")
|
||||||
{
|
{
|
||||||
my $cmd = DENON_GetKey("VS", "ASP", $a[2]);
|
my $cmd = DENON_GetKey("VS", "ASP", $a[2]);
|
||||||
@@ -3269,8 +3297,10 @@ DENON_AVR_Command_StatusRequest($)
|
|||||||
DENON_AVR_Write($hash, "MNMEN?", "query"); #menu
|
DENON_AVR_Write($hash, "MNMEN?", "query"); #menu
|
||||||
DENON_AVR_Write($hash, "MNZST?", "query"); #All Zone Stereo
|
DENON_AVR_Write($hash, "MNZST?", "query"); #All Zone Stereo
|
||||||
DENON_AVR_Write($hash, "NSE", "query"); #Onscreen Display Information List
|
DENON_AVR_Write($hash, "NSE", "query"); #Onscreen Display Information List
|
||||||
DENON_AVR_Write($hash, "CV?", "query"); #channel volume
|
DENON_AVR_Write($hash, "CV ?", "query"); #channel volume
|
||||||
|
# DENON_AVR_Write($hash, "SSLEV ?", "query"); #channel volume new
|
||||||
# DENON_AVR_Write($hash, "SR?", "query"); #record select - older models
|
# DENON_AVR_Write($hash, "SR?", "query"); #record select - older models
|
||||||
|
DENON_AVR_Write($hash, "SSVCTZMA ?", "query"); #channel volume new
|
||||||
DENON_AVR_Write($hash, "SD?", "query"); #sound input mode
|
DENON_AVR_Write($hash, "SD?", "query"); #sound input mode
|
||||||
DENON_AVR_Write($hash, "DC?", "query"); #digital input
|
DENON_AVR_Write($hash, "DC?", "query"); #digital input
|
||||||
DENON_AVR_Write($hash, "SV?", "query"); #video select mode
|
DENON_AVR_Write($hash, "SV?", "query"); #video select mode
|
||||||
@@ -3604,7 +3634,7 @@ sub DENON_AVR_RClayout() {
|
|||||||
=pod
|
=pod
|
||||||
=item device
|
=item device
|
||||||
=item summary control for DENON (Marantz) AV receivers via network or serial connection
|
=item summary control for DENON (Marantz) AV receivers via network or serial connection
|
||||||
=item summary_DE Steuerung von DENON (Marantz) AV Receivern per Netzwerk oder RS-232
|
=item summary_DE Steuerung von DENON (Marantz) AV Receivern per LAN oder RS-232
|
||||||
=begin html
|
=begin html
|
||||||
|
|
||||||
|
|
||||||
@@ -4338,3 +4368,4 @@ sub DENON_AVR_RClayout() {
|
|||||||
=end html_DE
|
=end html_DE
|
||||||
|
|
||||||
=cut
|
=cut
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user