Problem mit Lautstärkeänderung bei Yamaha RX-V1067

Begonnen von kroman, 13 Januar 2019, 18:58:46

Vorheriges Thema - Nächstes Thema

kroman

Hallo Markus,

ich bastle an einer Fernbedienung welche FHEM extern mit Signalen beliefert.
Daraus mache ich in FHEM "set yamaha volumeUp/Down x direct" Befehle.
Es kommt vor, dass mehrere solcher commandos innerhalb kurzer Zeit abgesetzt werden.
Das verursacht Probleme.

Beispiel: volumeStraight = -28, dann 2 commandos:


2019.01.13 18:24:37 5: YAMAHA_AVR (yamaha) - set yamaha volumeUp 1 direct
2019.01.13 18:24:37 4: YAMAHA_AVR (yamaha) - new target volume: -27
2019.01.13 18:24:37 4: YAMAHA_AVR (yamaha) - use smooth volume change (with 5 steps of 0 volume change to reach -27)
2019.01.13 18:24:37 4: YAMAHA_AVR (yamaha) - set volume to -27 dB
2019.01.13 18:24:37 4: YAMAHA_AVR (yamaha) - append to queue of device yamaha "volume -27": <?xml version="1.0" encoding="utf-8"?><YAMAHA_AV cmd="PUT"><Main_Zone><Volume><Lvl><Val>-270</Val><Exp>1</Exp><Unit>dB</Unit></Lvl></Volume></Main_Zone></YAMAHA_AV>
2019.01.13 18:24:37 5: YAMAHA_AVR (yamaha) - no commands currently running, but queue has pending commands. preparing new request
2019.01.13 18:24:37 5: YAMAHA_AVR (yamaha) - checking cmd queue item: 0 (cmd: volume, arg: -27, data: 1, priority: -, at_first: 0, not_before: 0)
2019.01.13 18:24:37 5: YAMAHA_AVR (yamaha) - choosed item 0 as next command
2019.01.13 18:24:37 4: YAMAHA_AVR (yamaha) - send command "volume -27": <?xml version="1.0" encoding="utf-8"?><YAMAHA_AV cmd="PUT"><Main_Zone><Volume><Lvl><Val>-270</Val><Exp>1</Exp><Unit>dB</Unit></Lvl></Volume></Main_Zone></YAMAHA_AV>
2019.01.13 18:24:37 5: YAMAHA_AVR (yamaha) - set yamaha ?
2019.01.13 18:24:37 5: YAMAHA_AVR (yamaha) - set yamaha volumeUp 2 direct
2019.01.13 18:24:37 4: YAMAHA_AVR (yamaha) - new target volume: -26
2019.01.13 18:24:37 4: YAMAHA_AVR (yamaha) - use smooth volume change (with 5 steps of 0 volume change to reach -26)
2019.01.13 18:24:37 4: YAMAHA_AVR (yamaha) - set volume to -26 dB
2019.01.13 18:24:37 4: YAMAHA_AVR (yamaha) - append to queue of device yamaha "volume -26": <?xml version="1.0" encoding="utf-8"?><YAMAHA_AV cmd="PUT"><Main_Zone><Volume><Lvl><Val>-260</Val><Exp>1</Exp><Unit>dB</Unit></Lvl></Volume></Main_Zone></YAMAHA_AV>
2019.01.13 18:24:37 5: YAMAHA_AVR (yamaha) - set yamaha ?
2019.01.13 18:24:37 4: YAMAHA_AVR (yamaha) - received HTTP code 200 for command "volume -27"
2019.01.13 18:24:37 4: YAMAHA_AVR (yamaha) - got response for "volume -27": <YAMAHA_AV rsp="PUT" RC="0"><Main_Zone><Volume><Lvl></Lvl></Volume></Main_Zone></YAMAHA_AV>
2019.01.13 18:24:37 4: YAMAHA_AVR (yamaha) - append to queue of device yamaha "statusRequest basicStatus": <?xml version="1.0" encoding="utf-8"?><YAMAHA_AV cmd="GET"><Main_Zone><Basic_Status>GetParam</Basic_Status></Main_Zone></YAMAHA_AV>
2019.01.13 18:24:37 5: YAMAHA_AVR (yamaha) - no commands currently running, but queue has pending commands. preparing new request
2019.01.13 18:24:37 5: YAMAHA_AVR (yamaha) - checking cmd queue item: 0 (cmd: volume, arg: -26, data: 1, priority: -, at_first: 0, not_before: 0)
2019.01.13 18:24:37 5: YAMAHA_AVR (yamaha) - checking cmd queue item: 1 (cmd: statusRequest, arg: basicStatus, data: 1, priority: -, at_first: 0, not_before: 0)
2019.01.13 18:24:37 5: YAMAHA_AVR (yamaha) - choosed item 0 as next command
2019.01.13 18:24:37 4: YAMAHA_AVR (yamaha) - send command "volume -26": <?xml version="1.0" encoding="utf-8"?><YAMAHA_AV cmd="PUT"><Main_Zone><Volume><Lvl><Val>-260</Val><Exp>1</Exp><Unit>dB</Unit></Lvl></Volume></Main_Zone></YAMAHA_AV>
2019.01.13 18:24:37 4: YAMAHA_AVR (yamaha) - append to queue of device yamaha "statusRequest partyModeStatus": <?xml version="1.0" encoding="utf-8"?><YAMAHA_AV cmd="GET"><System><Party_Mode><Mode>GetParam</Mode></Party_Mode></System></YAMAHA_AV>
2019.01.13 18:24:37 4: YAMAHA_AVR (yamaha) - append to queue of device yamaha "statusRequest surroundDecoder": <?xml version="1.0" encoding="utf-8"?><YAMAHA_AV cmd="GET"><Main_Zone><Surround><Sound_Program_Param><SUR_DECODE>GetParam</SUR_DECODE></Sound_Program_Param></Surround></Main_Zone></YAMAHA_AV>
2019.01.13 18:24:37 4: YAMAHA_AVR (yamaha) - append to queue of device yamaha "statusRequest displayBrightness": <?xml version="1.0" encoding="utf-8"?><YAMAHA_AV cmd="GET"><System><Misc><Display><FL>GetParam</FL></Display></Misc></System></YAMAHA_AV>
2019.01.13 18:24:37 4: YAMAHA_AVR (yamaha) - append to queue of device yamaha "statusRequest toneStatus": <?xml version="1.0" encoding="utf-8"?><YAMAHA_AV cmd="GET"><Main_Zone><Sound_Video><Tone><Bass>GetParam</Bass></Tone></Sound_Video></Main_Zone></YAMAHA_AV>
2019.01.13 18:24:37 4: YAMAHA_AVR (yamaha) - append to queue of device yamaha "statusRequest toneStatus": <?xml version="1.0" encoding="utf-8"?><YAMAHA_AV cmd="GET"><Main_Zone><Sound_Video><Tone><Treble>GetParam</Treble></Tone></Sound_Video></Main_Zone></YAMAHA_AV>
2019.01.13 18:24:37 5: YAMAHA_AVR (yamaha) - set yamaha ?
2019.01.13 18:24:37 4: YAMAHA_AVR (yamaha) - received HTTP code 200 for command "volume -26"
2019.01.13 18:24:37 4: YAMAHA_AVR (yamaha) - got response for "volume -26": <YAMAHA_AV rsp="PUT" RC="0"><Main_Zone><Volume><Lvl></Lvl></Volume></Main_Zone></YAMAHA_AV>
2019.01.13 18:24:37 4: YAMAHA_AVR (yamaha) - append to queue of device yamaha "statusRequest basicStatus": <?xml version="1.0" encoding="utf-8"?><YAMAHA_AV cmd="GET"><Main_Zone><Basic_Status>GetParam</Basic_Status></Main_Zone></YAMAHA_AV>
2019.01.13 18:24:37 5: YAMAHA_AVR (yamaha) - no commands currently running, but queue has pending commands. preparing new request
2019.01.13 18:24:37 5: YAMAHA_AVR (yamaha) - checking cmd queue item: 0 (cmd: statusRequest, arg: basicStatus, data: 1, priority: -, at_first: 0, not_before: 0)
2019.01.13 18:24:37 5: YAMAHA_AVR (yamaha) - checking cmd queue item: 1 (cmd: statusRequest, arg: partyModeStatus, data: 1, priority: -, at_first: 0, not_before: 0)
2019.01.13 18:24:37 5: YAMAHA_AVR (yamaha) - checking cmd queue item: 2 (cmd: statusRequest, arg: surroundDecoder, data: 1, priority: -, at_first: 0, not_before: 0)
2019.01.13 18:24:37 5: YAMAHA_AVR (yamaha) - checking cmd queue item: 3 (cmd: statusRequest, arg: displayBrightness, data: 1, priority: -, at_first: 0, not_before: 0)
2019.01.13 18:24:37 5: YAMAHA_AVR (yamaha) - checking cmd queue item: 4 (cmd: statusRequest, arg: toneStatus, data: 1, priority: -, at_first: 0, not_before: 0)
2019.01.13 18:24:37 5: YAMAHA_AVR (yamaha) - checking cmd queue item: 5 (cmd: statusRequest, arg: toneStatus, data: 1, priority: -, at_first: 0, not_before: 0)
2019.01.13 18:24:37 5: YAMAHA_AVR (yamaha) - checking cmd queue item: 6 (cmd: statusRequest, arg: basicStatus, data: 1, priority: -, at_first: 0, not_before: 0)
2019.01.13 18:24:37 5: YAMAHA_AVR (yamaha) - choosed item 0 as next command
2019.01.13 18:24:37 4: YAMAHA_AVR (yamaha) - send command "statusRequest basicStatus": <?xml version="1.0" encoding="utf-8"?><YAMAHA_AV cmd="GET"><Main_Zone><Basic_Status>GetParam</Basic_Status></Main_Zone></YAMAHA_AV>
2019.01.13 18:24:37 4: YAMAHA_AVR (yamaha) - append to queue of device yamaha "statusRequest partyModeStatus": <?xml version="1.0" encoding="utf-8"?><YAMAHA_AV cmd="GET"><System><Party_Mode><Mode>GetParam</Mode></Party_Mode></System></YAMAHA_AV>
2019.01.13 18:24:37 4: YAMAHA_AVR (yamaha) - append to queue of device yamaha "statusRequest surroundDecoder": <?xml version="1.0" encoding="utf-8"?><YAMAHA_AV cmd="GET"><Main_Zone><Surround><Sound_Program_Param><SUR_DECODE>GetParam</SUR_DECODE></Sound_Program_Param></Surround></Main_Zone></YAMAHA_AV>
2019.01.13 18:24:37 4: YAMAHA_AVR (yamaha) - append to queue of device yamaha "statusRequest displayBrightness": <?xml version="1.0" encoding="utf-8"?><YAMAHA_AV cmd="GET"><System><Misc><Display><FL>GetParam</FL></Display></Misc></System></YAMAHA_AV>
2019.01.13 18:24:37 4: YAMAHA_AVR (yamaha) - append to queue of device yamaha "statusRequest toneStatus": <?xml version="1.0" encoding="utf-8"?><YAMAHA_AV cmd="GET"><Main_Zone><Sound_Video><Tone><Bass>GetParam</Bass></Tone></Sound_Video></Main_Zone></YAMAHA_AV>
2019.01.13 18:24:37 4: YAMAHA_AVR (yamaha) - append to queue of device yamaha "statusRequest toneStatus": <?xml version="1.0" encoding="utf-8"?><YAMAHA_AV cmd="GET"><Main_Zone><Sound_Video><Tone><Treble>GetParam</Treble></Tone></Sound_Video></Main_Zone></YAMAHA_AV>
2019.01.13 18:24:37 5: YAMAHA_AVR (yamaha) - set yamaha ?
2019.01.13 18:24:37 4: YAMAHA_AVR (yamaha) - received HTTP code 200 for command "statusRequest basicStatus"
2019.01.13 18:24:37 4: YAMAHA_AVR (yamaha) - got response for "statusRequest basicStatus": <YAMAHA_AV rsp="GET" RC="0"><Main_Zone><Basic_Status><Power_Control><Power>On</Power><Sleep>Off</Sleep></Power_Control><Volume><Lvl><Val>-260</Val><Exp>1</Exp><Unit>dB</Unit></Lvl><Mute>Off</Mute></Volume><Input><Input_Sel>AV1</Input_Sel><Current_Input_Sel_Item><Param>AV1</Param><RW>RW</RW><Title>HTPC</Title><Icon><On>/YamahaRemoteControl/Icons/icon007.png</On><Off>/YamahaRemoteControl/Icons/icon006.png</Off></Icon><Src_Name></Src_Name><Src_Number>1</Src_Number></Current_Input_Sel_Item></Input><Surround><Program_Sel><Current><Straight>Off</Straight><Enhancer>On</Enhancer><Sound_Program>Drama</Sound_Program></Current></Program_Sel></Surround></Basic_Status></Main_Zone></YAMAHA_AV>
2019.01.13 18:24:37 5: YAMAHA_AVR (yamaha) - no commands currently running, but queue has pending commands. preparing new request
2019.01.13 18:24:37 5: YAMAHA_AVR (yamaha) - checking cmd queue item: 0 (cmd: statusRequest, arg: partyModeStatus, data: 1, priority: -, at_first: 0, not_before: 0)
2019.01.13 18:24:37 5: YAMAHA_AVR (yamaha) - checking cmd queue item: 1 (cmd: statusRequest, arg: surroundDecoder, data: 1, priority: -, at_first: 0, not_before: 0)
2019.01.13 18:24:37 5: YAMAHA_AVR (yamaha) - checking cmd queue item: 2 (cmd: statusRequest, arg: displayBrightness, data: 1, priority: -, at_first: 0, not_before: 0)
2019.01.13 18:24:37 5: YAMAHA_AVR (yamaha) - checking cmd queue item: 3 (cmd: statusRequest, arg: toneStatus, data: 1, priority: -, at_first: 0, not_before: 0)
2019.01.13 18:24:37 5: YAMAHA_AVR (yamaha) - checking cmd queue item: 4 (cmd: statusRequest, arg: toneStatus, data: 1, priority: -, at_first: 0, not_before: 0)
2019.01.13 18:24:37 5: YAMAHA_AVR (yamaha) - checking cmd queue item: 5 (cmd: statusRequest, arg: basicStatus, data: 1, priority: -, at_first: 0, not_before: 0)
2019.01.13 18:24:37 5: YAMAHA_AVR (yamaha) - checking cmd queue item: 6 (cmd: statusRequest, arg: partyModeStatus, data: 1, priority: -, at_first: 0, not_before: 0)
2019.01.13 18:24:37 5: YAMAHA_AVR (yamaha) - checking cmd queue item: 7 (cmd: statusRequest, arg: surroundDecoder, data: 1, priority: -, at_first: 0, not_before: 0)
2019.01.13 18:24:37 5: YAMAHA_AVR (yamaha) - checking cmd queue item: 8 (cmd: statusRequest, arg: displayBrightness, data: 1, priority: -, at_first: 0, not_before: 0)
2019.01.13 18:24:37 5: YAMAHA_AVR (yamaha) - checking cmd queue item: 9 (cmd: statusRequest, arg: toneStatus, data: 1, priority: -, at_first: 0, not_before: 0)
2019.01.13 18:24:37 5: YAMAHA_AVR (yamaha) - checking cmd queue item: 10 (cmd: statusRequest, arg: toneStatus, data: 1, priority: -, at_first: 0, not_before: 0)
2019.01.13 18:24:37 5: YAMAHA_AVR (yamaha) - choosed item 0 as next command
2019.01.13 18:24:37 4: YAMAHA_AVR (yamaha) - send command "statusRequest partyModeStatus": <?xml version="1.0" encoding="utf-8"?><YAMAHA_AV cmd="GET"><System><Party_Mode><Mode>GetParam</Mode></Party_Mode></System></YAMAHA_AV>
2019.01.13 18:24:37 4: YAMAHA_AVR (yamaha) - received HTTP code 200 for command "statusRequest partyModeStatus"
2019.01.13 18:24:37 4: YAMAHA_AVR (yamaha) - got response for "statusRequest partyModeStatus": <YAMAHA_AV rsp="GET" RC="0"><System><Party_Mode><Mode>Off</Mode></Party_Mode></System></YAMAHA_AV>
2019.01.13 18:24:37 5: YAMAHA_AVR (yamaha) - no commands currently running, but queue has pending commands. preparing new request
2019.01.13 18:24:37 5: YAMAHA_AVR (yamaha) - checking cmd queue item: 0 (cmd: statusRequest, arg: surroundDecoder, data: 1, priority: -, at_first: 0, not_before: 0)
2019.01.13 18:24:37 5: YAMAHA_AVR (yamaha) - checking cmd queue item: 1 (cmd: statusRequest, arg: displayBrightness, data: 1, priority: -, at_first: 0, not_before: 0)
2019.01.13 18:24:37 5: YAMAHA_AVR (yamaha) - checking cmd queue item: 2 (cmd: statusRequest, arg: toneStatus, data: 1, priority: -, at_first: 0, not_before: 0)
2019.01.13 18:24:37 5: YAMAHA_AVR (yamaha) - checking cmd queue item: 3 (cmd: statusRequest, arg: toneStatus, data: 1, priority: -, at_first: 0, not_before: 0)
2019.01.13 18:24:37 5: YAMAHA_AVR (yamaha) - checking cmd queue item: 4 (cmd: statusRequest, arg: basicStatus, data: 1, priority: -, at_first: 0, not_before: 0)
2019.01.13 18:24:37 5: YAMAHA_AVR (yamaha) - checking cmd queue item: 5 (cmd: statusRequest, arg: partyModeStatus, data: 1, priority: -, at_first: 0, not_before: 0)
2019.01.13 18:24:37 5: YAMAHA_AVR (yamaha) - checking cmd queue item: 6 (cmd: statusRequest, arg: surroundDecoder, data: 1, priority: -, at_first: 0, not_before: 0)
2019.01.13 18:24:37 5: YAMAHA_AVR (yamaha) - checking cmd queue item: 7 (cmd: statusRequest, arg: displayBrightness, data: 1, priority: -, at_first: 0, not_before: 0)
2019.01.13 18:24:37 5: YAMAHA_AVR (yamaha) - checking cmd queue item: 8 (cmd: statusRequest, arg: toneStatus, data: 1, priority: -, at_first: 0, not_before: 0)
2019.01.13 18:24:37 5: YAMAHA_AVR (yamaha) - checking cmd queue item: 9 (cmd: statusRequest, arg: toneStatus, data: 1, priority: -, at_first: 0, not_before: 0)
2019.01.13 18:24:37 5: YAMAHA_AVR (yamaha) - choosed item 0 as next command
2019.01.13 18:24:37 4: YAMAHA_AVR (yamaha) - send command "statusRequest surroundDecoder": <?xml version="1.0" encoding="utf-8"?><YAMAHA_AV cmd="GET"><Main_Zone><Surround><Sound_Program_Param><SUR_DECODE>GetParam</SUR_DECODE></Sound_Program_Param></Surround></Main_Zone></YAMAHA_AV>
2019.01.13 18:24:37 4: YAMAHA_AVR (yamaha) - received HTTP code 200 for command "statusRequest surroundDecoder"
2019.01.13 18:24:37 4: YAMAHA_AVR (yamaha) - got response for "statusRequest surroundDecoder": <YAMAHA_AV rsp="GET" RC="0"><Main_Zone><Surround><Sound_Program_Param><SUR_DECODE><Decoder_Type>Dolby PLII Game</Decoder_Type><Panorama>Off</Panorama><Center_Width><Val>3</Val><Exp>0</Exp><Unit></Unit></Center_Width><Dimension><Val>0</Val><Exp>0</Exp><Unit></Unit></Dimension><Center_Image><Val>3</Val><Exp>1</Exp><Unit></Unit></Center_Image></SUR_DECODE></Sound_Program_Param></Surround></Main_Zone></YAMAHA_AV>
2019.01.13 18:24:37 5: YAMAHA_AVR (yamaha) - no commands currently running, but queue has pending commands. preparing new request
2019.01.13 18:24:37 5: YAMAHA_AVR (yamaha) - checking cmd queue item: 0 (cmd: statusRequest, arg: displayBrightness, data: 1, priority: -, at_first: 0, not_before: 0)
2019.01.13 18:24:37 5: YAMAHA_AVR (yamaha) - checking cmd queue item: 1 (cmd: statusRequest, arg: toneStatus, data: 1, priority: -, at_first: 0, not_before: 0)
2019.01.13 18:24:37 5: YAMAHA_AVR (yamaha) - checking cmd queue item: 2 (cmd: statusRequest, arg: toneStatus, data: 1, priority: -, at_first: 0, not_before: 0)
2019.01.13 18:24:37 5: YAMAHA_AVR (yamaha) - checking cmd queue item: 3 (cmd: statusRequest, arg: basicStatus, data: 1, priority: -, at_first: 0, not_before: 0)
2019.01.13 18:24:37 5: YAMAHA_AVR (yamaha) - checking cmd queue item: 4 (cmd: statusRequest, arg: partyModeStatus, data: 1, priority: -, at_first: 0, not_before: 0)
2019.01.13 18:24:37 5: YAMAHA_AVR (yamaha) - checking cmd queue item: 5 (cmd: statusRequest, arg: surroundDecoder, data: 1, priority: -, at_first: 0, not_before: 0)
2019.01.13 18:24:37 5: YAMAHA_AVR (yamaha) - checking cmd queue item: 6 (cmd: statusRequest, arg: displayBrightness, data: 1, priority: -, at_first: 0, not_before: 0)
2019.01.13 18:24:37 5: YAMAHA_AVR (yamaha) - checking cmd queue item: 7 (cmd: statusRequest, arg: toneStatus, data: 1, priority: -, at_first: 0, not_before: 0)
2019.01.13 18:24:37 5: YAMAHA_AVR (yamaha) - checking cmd queue item: 8 (cmd: statusRequest, arg: toneStatus, data: 1, priority: -, at_first: 0, not_before: 0)
2019.01.13 18:24:37 5: YAMAHA_AVR (yamaha) - choosed item 0 as next command
2019.01.13 18:24:37 4: YAMAHA_AVR (yamaha) - send command "statusRequest displayBrightness": <?xml version="1.0" encoding="utf-8"?><YAMAHA_AV cmd="GET"><System><Misc><Display><FL>GetParam</FL></Display></Misc></System></YAMAHA_AV>
2019.01.13 18:24:37 4: YAMAHA_AVR (yamaha) - received HTTP code 200 for command "statusRequest displayBrightness"
2019.01.13 18:24:37 4: YAMAHA_AVR (yamaha) - got response for "statusRequest displayBrightness": <YAMAHA_AV rsp="GET" RC="0"><System><Misc><Display><FL><Dimmer>0</Dimmer><Scroll>Continue</Scroll></FL></Display></Misc></System></YAMAHA_AV>
2019.01.13 18:24:37 5: YAMAHA_AVR (yamaha) - no commands currently running, but queue has pending commands. preparing new request
2019.01.13 18:24:37 5: YAMAHA_AVR (yamaha) - checking cmd queue item: 0 (cmd: statusRequest, arg: toneStatus, data: 1, priority: -, at_first: 0, not_before: 0)
2019.01.13 18:24:37 5: YAMAHA_AVR (yamaha) - checking cmd queue item: 1 (cmd: statusRequest, arg: toneStatus, data: 1, priority: -, at_first: 0, not_before: 0)
2019.01.13 18:24:37 5: YAMAHA_AVR (yamaha) - checking cmd queue item: 2 (cmd: statusRequest, arg: basicStatus, data: 1, priority: -, at_first: 0, not_before: 0)
2019.01.13 18:24:37 5: YAMAHA_AVR (yamaha) - checking cmd queue item: 3 (cmd: statusRequest, arg: partyModeStatus, data: 1, priority: -, at_first: 0, not_before: 0)
2019.01.13 18:24:37 5: YAMAHA_AVR (yamaha) - checking cmd queue item: 4 (cmd: statusRequest, arg: surroundDecoder, data: 1, priority: -, at_first: 0, not_before: 0)
2019.01.13 18:24:37 5: YAMAHA_AVR (yamaha) - checking cmd queue item: 5 (cmd: statusRequest, arg: displayBrightness, data: 1, priority: -, at_first: 0, not_before: 0)
2019.01.13 18:24:37 5: YAMAHA_AVR (yamaha) - checking cmd queue item: 6 (cmd: statusRequest, arg: toneStatus, data: 1, priority: -, at_first: 0, not_before: 0)
2019.01.13 18:24:37 5: YAMAHA_AVR (yamaha) - checking cmd queue item: 7 (cmd: statusRequest, arg: toneStatus, data: 1, priority: -, at_first: 0, not_before: 0)
2019.01.13 18:24:37 5: YAMAHA_AVR (yamaha) - choosed item 0 as next command
2019.01.13 18:24:37 4: YAMAHA_AVR (yamaha) - send command "statusRequest toneStatus": <?xml version="1.0" encoding="utf-8"?><YAMAHA_AV cmd="GET"><Main_Zone><Sound_Video><Tone><Bass>GetParam</Bass></Tone></Sound_Video></Main_Zone></YAMAHA_AV>
2019.01.13 18:24:37 4: YAMAHA_AVR (yamaha) - received HTTP code 200 for command "statusRequest toneStatus"
2019.01.13 18:24:37 4: YAMAHA_AVR (yamaha) - got response for "statusRequest toneStatus": <YAMAHA_AV rsp="GET" RC="0"><Main_Zone><Sound_Video><Tone><Bass><Val>0</Val><Exp>1</Exp><Unit>dB</Unit></Bass></Tone></Sound_Video></Main_Zone></YAMAHA_AV>
2019.01.13 18:24:37 5: YAMAHA_AVR (yamaha) - no commands currently running, but queue has pending commands. preparing new request
2019.01.13 18:24:37 5: YAMAHA_AVR (yamaha) - checking cmd queue item: 0 (cmd: statusRequest, arg: toneStatus, data: 1, priority: -, at_first: 0, not_before: 0)
2019.01.13 18:24:37 5: YAMAHA_AVR (yamaha) - checking cmd queue item: 1 (cmd: statusRequest, arg: basicStatus, data: 1, priority: -, at_first: 0, not_before: 0)
2019.01.13 18:24:37 5: YAMAHA_AVR (yamaha) - checking cmd queue item: 2 (cmd: statusRequest, arg: partyModeStatus, data: 1, priority: -, at_first: 0, not_before: 0)
2019.01.13 18:24:37 5: YAMAHA_AVR (yamaha) - checking cmd queue item: 3 (cmd: statusRequest, arg: surroundDecoder, data: 1, priority: -, at_first: 0, not_before: 0)
2019.01.13 18:24:37 5: YAMAHA_AVR (yamaha) - checking cmd queue item: 4 (cmd: statusRequest, arg: displayBrightness, data: 1, priority: -, at_first: 0, not_before: 0)
2019.01.13 18:24:37 5: YAMAHA_AVR (yamaha) - checking cmd queue item: 5 (cmd: statusRequest, arg: toneStatus, data: 1, priority: -, at_first: 0, not_before: 0)
2019.01.13 18:24:37 5: YAMAHA_AVR (yamaha) - checking cmd queue item: 6 (cmd: statusRequest, arg: toneStatus, data: 1, priority: -, at_first: 0, not_before: 0)
2019.01.13 18:24:37 5: YAMAHA_AVR (yamaha) - choosed item 0 as next command
2019.01.13 18:24:37 4: YAMAHA_AVR (yamaha) - send command "statusRequest toneStatus": <?xml version="1.0" encoding="utf-8"?><YAMAHA_AV cmd="GET"><Main_Zone><Sound_Video><Tone><Treble>GetParam</Treble></Tone></Sound_Video></Main_Zone></YAMAHA_AV>
2019.01.13 18:24:38 4: YAMAHA_AVR (yamaha) - received HTTP code 200 for command "statusRequest toneStatus"
2019.01.13 18:24:38 4: YAMAHA_AVR (yamaha) - got response for "statusRequest toneStatus": <YAMAHA_AV rsp="GET" RC="0"><Main_Zone><Sound_Video><Tone><Treble><Val>0</Val><Exp>1</Exp><Unit>dB</Unit></Treble></Tone></Sound_Video></Main_Zone></YAMAHA_AV>
2019.01.13 18:24:38 5: YAMAHA_AVR (yamaha) - no commands currently running, but queue has pending commands. preparing new request
2019.01.13 18:24:38 5: YAMAHA_AVR (yamaha) - checking cmd queue item: 0 (cmd: statusRequest, arg: basicStatus, data: 1, priority: -, at_first: 0, not_before: 0)
2019.01.13 18:24:38 5: YAMAHA_AVR (yamaha) - checking cmd queue item: 1 (cmd: statusRequest, arg: partyModeStatus, data: 1, priority: -, at_first: 0, not_before: 0)
2019.01.13 18:24:38 5: YAMAHA_AVR (yamaha) - checking cmd queue item: 2 (cmd: statusRequest, arg: surroundDecoder, data: 1, priority: -, at_first: 0, not_before: 0)
2019.01.13 18:24:38 5: YAMAHA_AVR (yamaha) - checking cmd queue item: 3 (cmd: statusRequest, arg: displayBrightness, data: 1, priority: -, at_first: 0, not_before: 0)
2019.01.13 18:24:38 5: YAMAHA_AVR (yamaha) - checking cmd queue item: 4 (cmd: statusRequest, arg: toneStatus, data: 1, priority: -, at_first: 0, not_before: 0)
2019.01.13 18:24:38 5: YAMAHA_AVR (yamaha) - checking cmd queue item: 5 (cmd: statusRequest, arg: toneStatus, data: 1, priority: -, at_first: 0, not_before: 0)
2019.01.13 18:24:38 5: YAMAHA_AVR (yamaha) - choosed item 0 as next command
2019.01.13 18:24:38 4: YAMAHA_AVR (yamaha) - send command "statusRequest basicStatus": <?xml version="1.0" encoding="utf-8"?><YAMAHA_AV cmd="GET"><Main_Zone><Basic_Status>GetParam</Basic_Status></Main_Zone></YAMAHA_AV>
2019.01.13 18:24:38 4: YAMAHA_AVR (yamaha) - received HTTP code 200 for command "statusRequest basicStatus"
2019.01.13 18:24:38 4: YAMAHA_AVR (yamaha) - got response for "statusRequest basicStatus": <YAMAHA_AV rsp="GET" RC="0"><Main_Zone><Basic_Status><Power_Control><Power>On</Power><Sleep>Off</Sleep></Power_Control><Volume><Lvl><Val>-260</Val><Exp>1</Exp><Unit>dB</Unit></Lvl><Mute>Off</Mute></Volume><Input><Input_Sel>AV1</Input_Sel><Current_Input_Sel_Item><Param>AV1</Param><RW>RW</RW><Title>HTPC</Title><Icon><On>/YamahaRemoteControl/Icons/icon007.png</On><Off>/YamahaRemoteControl/Icons/icon006.png</Off></Icon><Src_Name></Src_Name><Src_Number>1</Src_Number></Current_Input_Sel_Item></Input><Surround><Program_Sel><Current><Straight>Off</Straight><Enhancer>On</Enhancer><Sound_Program>Drama</Sound_Program></Current></Program_Sel></Surround></Basic_Status></Main_Zone></YAMAHA_AV>
2019.01.13 18:24:38 5: YAMAHA_AVR (yamaha) - no commands currently running, but queue has pending commands. preparing new request
2019.01.13 18:24:38 5: YAMAHA_AVR (yamaha) - checking cmd queue item: 0 (cmd: statusRequest, arg: partyModeStatus, data: 1, priority: -, at_first: 0, not_before: 0)
2019.01.13 18:24:38 5: YAMAHA_AVR (yamaha) - checking cmd queue item: 1 (cmd: statusRequest, arg: surroundDecoder, data: 1, priority: -, at_first: 0, not_before: 0)
2019.01.13 18:24:38 5: YAMAHA_AVR (yamaha) - checking cmd queue item: 2 (cmd: statusRequest, arg: displayBrightness, data: 1, priority: -, at_first: 0, not_before: 0)
2019.01.13 18:24:38 5: YAMAHA_AVR (yamaha) - checking cmd queue item: 3 (cmd: statusRequest, arg: toneStatus, data: 1, priority: -, at_first: 0, not_before: 0)
2019.01.13 18:24:38 5: YAMAHA_AVR (yamaha) - checking cmd queue item: 4 (cmd: statusRequest, arg: toneStatus, data: 1, priority: -, at_first: 0, not_before: 0)
2019.01.13 18:24:38 5: YAMAHA_AVR (yamaha) - choosed item 0 as next command
2019.01.13 18:24:38 4: YAMAHA_AVR (yamaha) - send command "statusRequest partyModeStatus": <?xml version="1.0" encoding="utf-8"?><YAMAHA_AV cmd="GET"><System><Party_Mode><Mode>GetParam</Mode></Party_Mode></System></YAMAHA_AV>
2019.01.13 18:24:38 4: YAMAHA_AVR (yamaha) - received HTTP code 200 for command "statusRequest partyModeStatus"
2019.01.13 18:24:38 4: YAMAHA_AVR (yamaha) - got response for "statusRequest partyModeStatus": <YAMAHA_AV rsp="GET" RC="0"><System><Party_Mode><Mode>Off</Mode></Party_Mode></System></YAMAHA_AV>
2019.01.13 18:24:38 5: YAMAHA_AVR (yamaha) - no commands currently running, but queue has pending commands. preparing new request
2019.01.13 18:24:38 5: YAMAHA_AVR (yamaha) - checking cmd queue item: 0 (cmd: statusRequest, arg: surroundDecoder, data: 1, priority: -, at_first: 0, not_before: 0)
2019.01.13 18:24:38 5: YAMAHA_AVR (yamaha) - checking cmd queue item: 1 (cmd: statusRequest, arg: displayBrightness, data: 1, priority: -, at_first: 0, not_before: 0)
2019.01.13 18:24:38 5: YAMAHA_AVR (yamaha) - checking cmd queue item: 2 (cmd: statusRequest, arg: toneStatus, data: 1, priority: -, at_first: 0, not_before: 0)
2019.01.13 18:24:38 5: YAMAHA_AVR (yamaha) - checking cmd queue item: 3 (cmd: statusRequest, arg: toneStatus, data: 1, priority: -, at_first: 0, not_before: 0)
2019.01.13 18:24:38 5: YAMAHA_AVR (yamaha) - choosed item 0 as next command
2019.01.13 18:24:38 4: YAMAHA_AVR (yamaha) - send command "statusRequest surroundDecoder": <?xml version="1.0" encoding="utf-8"?><YAMAHA_AV cmd="GET"><Main_Zone><Surround><Sound_Program_Param><SUR_DECODE>GetParam</SUR_DECODE></Sound_Program_Param></Surround></Main_Zone></YAMAHA_AV>
2019.01.13 18:24:38 4: YAMAHA_AVR (yamaha) - received HTTP code 200 for command "statusRequest surroundDecoder"
2019.01.13 18:24:38 4: YAMAHA_AVR (yamaha) - got response for "statusRequest surroundDecoder": <YAMAHA_AV rsp="GET" RC="0"><Main_Zone><Surround><Sound_Program_Param><SUR_DECODE><Decoder_Type>Dolby PLII Game</Decoder_Type><Panorama>Off</Panorama><Center_Width><Val>3</Val><Exp>0</Exp><Unit></Unit></Center_Width><Dimension><Val>0</Val><Exp>0</Exp><Unit></Unit></Dimension><Center_Image><Val>3</Val><Exp>1</Exp><Unit></Unit></Center_Image></SUR_DECODE></Sound_Program_Param></Surround></Main_Zone></YAMAHA_AV>
2019.01.13 18:24:38 5: YAMAHA_AVR (yamaha) - no commands currently running, but queue has pending commands. preparing new request
2019.01.13 18:24:38 5: YAMAHA_AVR (yamaha) - checking cmd queue item: 0 (cmd: statusRequest, arg: displayBrightness, data: 1, priority: -, at_first: 0, not_before: 0)
2019.01.13 18:24:38 5: YAMAHA_AVR (yamaha) - checking cmd queue item: 1 (cmd: statusRequest, arg: toneStatus, data: 1, priority: -, at_first: 0, not_before: 0)
2019.01.13 18:24:38 5: YAMAHA_AVR (yamaha) - checking cmd queue item: 2 (cmd: statusRequest, arg: toneStatus, data: 1, priority: -, at_first: 0, not_before: 0)
2019.01.13 18:24:38 5: YAMAHA_AVR (yamaha) - choosed item 0 as next command
2019.01.13 18:24:38 4: YAMAHA_AVR (yamaha) - send command "statusRequest displayBrightness": <?xml version="1.0" encoding="utf-8"?><YAMAHA_AV cmd="GET"><System><Misc><Display><FL>GetParam</FL></Display></Misc></System></YAMAHA_AV>
2019.01.13 18:24:38 4: YAMAHA_AVR (yamaha) - received HTTP code 200 for command "statusRequest displayBrightness"
2019.01.13 18:24:38 4: YAMAHA_AVR (yamaha) - got response for "statusRequest displayBrightness": <YAMAHA_AV rsp="GET" RC="0"><System><Misc><Display><FL><Dimmer>0</Dimmer><Scroll>Continue</Scroll></FL></Display></Misc></System></YAMAHA_AV>
2019.01.13 18:24:38 5: YAMAHA_AVR (yamaha) - no commands currently running, but queue has pending commands. preparing new request
2019.01.13 18:24:38 5: YAMAHA_AVR (yamaha) - checking cmd queue item: 0 (cmd: statusRequest, arg: toneStatus, data: 1, priority: -, at_first: 0, not_before: 0)
2019.01.13 18:24:38 5: YAMAHA_AVR (yamaha) - checking cmd queue item: 1 (cmd: statusRequest, arg: toneStatus, data: 1, priority: -, at_first: 0, not_before: 0)
2019.01.13 18:24:38 5: YAMAHA_AVR (yamaha) - choosed item 0 as next command
2019.01.13 18:24:38 4: YAMAHA_AVR (yamaha) - send command "statusRequest toneStatus": <?xml version="1.0" encoding="utf-8"?><YAMAHA_AV cmd="GET"><Main_Zone><Sound_Video><Tone><Bass>GetParam</Bass></Tone></Sound_Video></Main_Zone></YAMAHA_AV>
2019.01.13 18:24:38 4: YAMAHA_AVR (yamaha) - received HTTP code 200 for command "statusRequest toneStatus"
2019.01.13 18:24:38 4: YAMAHA_AVR (yamaha) - got response for "statusRequest toneStatus": <YAMAHA_AV rsp="GET" RC="0"><Main_Zone><Sound_Video><Tone><Bass><Val>0</Val><Exp>1</Exp><Unit>dB</Unit></Bass></Tone></Sound_Video></Main_Zone></YAMAHA_AV>
2019.01.13 18:24:38 5: YAMAHA_AVR (yamaha) - no commands currently running, but queue has pending commands. preparing new request
2019.01.13 18:24:38 5: YAMAHA_AVR (yamaha) - checking cmd queue item: 0 (cmd: statusRequest, arg: toneStatus, data: 1, priority: -, at_first: 0, not_before: 0)
2019.01.13 18:24:38 5: YAMAHA_AVR (yamaha) - choosed item 0 as next command
2019.01.13 18:24:38 4: YAMAHA_AVR (yamaha) - send command "statusRequest toneStatus": <?xml version="1.0" encoding="utf-8"?><YAMAHA_AV cmd="GET"><Main_Zone><Sound_Video><Tone><Treble>GetParam</Treble></Tone></Sound_Video></Main_Zone></YAMAHA_AV>
2019.01.13 18:24:38 4: YAMAHA_AVR (yamaha) - received HTTP code 200 for command "statusRequest toneStatus"
2019.01.13 18:24:38 4: YAMAHA_AVR (yamaha) - got response for "statusRequest toneStatus": <YAMAHA_AV rsp="GET" RC="0"><Main_Zone><Sound_Video><Tone><Treble><Val>0</Val><Exp>1</Exp><Unit>dB</Unit></Treble></Tone></Sound_Video></Main_Zone></YAMAHA_AV>


Zuerst wird also um 1 erhöht, -28+1=-27 -> passt:


2019.01.13 18:24:37 5: YAMAHA_AVR (yamaha) - set yamaha volumeUp 1 direct
2019.01.13 18:24:37 4: YAMAHA_AVR (yamaha) - new target volume: -27


Dann wird um 2 erhöht, weggezählt wird offenbar aber immer noch von -28:


2019.01.13 18:24:37 5: YAMAHA_AVR (yamaha) - set yamaha volumeUp 2 direct
2019.01.13 18:24:37 4: YAMAHA_AVR (yamaha) - new target volume: -26


Liegt es daran, dass für den 1. Befehl das noch nicht zurückgekommen ist?


2019.01.13 18:24:37 4: YAMAHA_AVR (yamaha) - received HTTP code 200 for command "volume -27"


Der Receiver:


defmod yamaha YAMAHA_AVR yamaha mainzone 600
attr yamaha devStateIcon on:black_FS20.on:off off:black_FS20.off:on
attr yamaha event-on-change-reading input,state,volume,volumeStraight
attr yamaha group wohnzimmer
attr yamaha icon audio_eq
attr yamaha model RX-V1067
attr yamaha room kontrollzentrum
attr yamaha sortby 1
attr yamaha verbose 5


Das Modul:


71_YAMAHA_AVR.pm                      17547 2018-10-16 18:17:01Z markusbloch


Hast du eine Idee wie ich das lösen kann?

Danke und Gruß,
kroman

Markus Bloch

Hallo Kroman,

Zitat von: kroman am 13 Januar 2019, 18:58:46
Liegt es daran, dass für den 1. Befehl das noch nicht zurückgekommen ist?

Ja, das ist korrekt. Wenn man volumeUp/volumeDown ausführt, wird die aktuelle Lautstärke aus dem Reading "volume" benutzt um die Ziellautstärke zu ermitteln und dann wird der Befehl mit der berechneten Lautstärke in die Queue geschoben. Wenn man nun diese Befehle sehr schnell hintereinander ausführt, und das Reading noch nicht von dem ersten Befehl aktualisiert wurde, benutzt der 2. Befehl die selbe Ausgangslautstärke.

Es würde funktionieren, wenn die Antwort des Receivers von dem ersten volumeUp eintreffen würde bevor der 2. volumeUp-Befehl ausgeführt wird. Sobald die Antwort für den 1. volumeUp Befehl eintrifft wird direkt das Reading "volume" aktualisiert und ein neuer volumeUp-Befehl hätte die richtige Ausgangslautstärke zur Verfügung.

Um so schnelle volumeUp/volumeDown-Befehle richtig verarbeiten zu können,müsste Ich dazu die gesamte Lautstärke-Logik umbauen, damit bei volumeUp/volumeDown die Ausgangslautstärke erst dann aus dem Reading ausgelesen wird, wenn der Befehl aus der Queue ausgeführt wird und im Rahmen der Ausführung erst die Ausgangslautstärke ermittelt wird. Das macht es allerdings nicht gerade einfach in Verbindung mit Smoothing oder Direct,

Viele Grüße

Markus
Developer für Module: YAMAHA_AVR, YAMAHA_BD, FB_CALLMONITOR, FB_CALLLIST, PRESENCE, Pushsafer, LGTV_IP12, version

aktives Mitglied des FHEM e.V. (Technik)

kroman

Hallo Markus,

danke für die Erklärung.
Ich habe mit absoluter Lautstärke (set yamaha volumeStraight) und einem Zwischenspeicher rumprobiert und das funktioniert mit diesem notify auch soweit:


esp13_roti1:state:.*
{
my $mydiff = Value('esp13_roti1') - OldValue('esp13_roti1');
my $myabsdiff = abs($mydiff);
if ($mydiff > 0) {fhem("setreading n_esp13_roti1 log set yamaha volumeUp $mydiff")}
elsif ($mydiff < 0) {fhem("setreading n_esp13_roti1 log set yamaha volumeDown $myabsdiff")};

my $myyamahavolume = ReadingsVal("yamaha","volumeStraight",0);
fhem("setreading n_esp13_roti1 log yamaha volumeStraight: $myyamahavolume");

my $mystoredvolume = ReadingsVal("n_esp13_roti1","mystoredvolume",0);
fhem("setreading n_esp13_roti1 log yamaha mystoredvolume: $mystoredvolume");

my $mystoredvolumeage = ReadingsAge("n_esp13_roti1","mystoredvolume",0);
fhem("setreading n_esp13_roti1 log yamaha mystoredvolumeage: $mystoredvolumeage");

if ($myabsdiff < 11)
{
if ($mystoredvolumeage < 5)
{
my $mynewvolume = $mystoredvolume + $mydiff;
fhem("set yamaha volumeStraight $mynewvolume direct");
fhem("setreading n_esp13_roti1 log yamaha mynewvolume: $mynewvolume");
fhem("setreading n_esp13_roti1 mystoredvolume $mynewvolume");
}
else
{
my $mynewvolume = $myyamahavolume + $mydiff;
fhem("set yamaha volumeStraight $mynewvolume direct");
fhem("setreading n_esp13_roti1 log yamaha mynewvolume: $mynewvolume");
fhem("setreading n_esp13_roti1 mystoredvolume $mynewvolume");
}
}
else
{
fhem("setreading n_esp13_roti1 log yamaha diff $myabsdiff too high");
}
}

attr n_esp13_roti1 addStateEvent 1


Damit geht kein Befehl verloren und die Lautstärke wird korrekt geregelt.
Bei mehreren Befehlen dauert es eine Weile, weil nach jedem set volumeStraight folgendes gemacht wird:


2019.01.17 19:48:03 4: YAMAHA_AVR (yamaha) - append to queue of device yamaha "statusRequest basicStatus": <?xml version="1.0" encoding="utf-8"?><YAMAHA_AV cmd="GET"><Main_Zone><Basic_Status>GetParam</Basic_Status></Main_Zone></YAMAHA_AV>
2019.01.17 19:48:03 4: YAMAHA_AVR (yamaha) - append to queue of device yamaha "statusRequest partyModeStatus": <?xml version="1.0" encoding="utf-8"?><YAMAHA_AV cmd="GET"><System><Party_Mode><Mode>GetParam</Mode></Party_Mode></System></YAMAHA_AV>
2019.01.17 19:48:03 4: YAMAHA_AVR (yamaha) - append to queue of device yamaha "statusRequest surroundDecoder": <?xml version="1.0" encoding="utf-8"?><YAMAHA_AV cmd="GET"><Main_Zone><Surround><Sound_Program_Param><SUR_DECODE>GetParam</SUR_DECODE></Sound_Program_Param></Surround></Main_Zone></YAMAHA_AV>
2019.01.17 19:48:03 4: YAMAHA_AVR (yamaha) - append to queue of device yamaha "statusRequest displayBrightness": <?xml version="1.0" encoding="utf-8"?><YAMAHA_AV cmd="GET"><System><Misc><Display><FL>GetParam</FL></Display></Misc></System></YAMAHA_AV>
2019.01.17 19:48:03 4: YAMAHA_AVR (yamaha) - append to queue of device yamaha "statusRequest toneStatus": <?xml version="1.0" encoding="utf-8"?><YAMAHA_AV cmd="GET"><Main_Zone><Sound_Video><Tone><Bass>GetParam</Bass></Tone></Sound_Video></Main_Zone></YAMAHA_AV>
2019.01.17 19:48:03 4: YAMAHA_AVR (yamaha) - append to queue of device yamaha "statusRequest toneStatus": <?xml version="1.0" encoding="utf-8"?><YAMAHA_AV cmd="GET"><Main_Zone><Sound_Video><Tone><Treble>GetParam</Treble></Tone></Sound_Video></Main_Zone></YAMAHA_AV>


Bis von einem solchen Durchgang alle Antworten da sind, vergeht ca. 1 sek.
Bei mehreren meiner Befehle wird es entsprechend verzögert lauter/leiser.
Das gleiche wird nach Ablauf des status-interval gemacht.
Aber warum eigentlich hier und abschalten kann man das nicht, oder?

Smoothing verwende ich nicht, um es nicht noch komplizierter zu machen. Dabei ist mir eine Kleinigkeit aufgefallen.
Bei den set volume commandos mit direct, sollte die letzte Zeile nicht im log stehen, oder?


2019.01.17 20:47:53 5: YAMAHA_AVR (yamaha) - set yamaha volumeUp 5 direct
2019.01.17 20:47:53 4: YAMAHA_AVR (yamaha) - new target volume: -41.5
2019.01.17 20:47:53 4: YAMAHA_AVR (yamaha) - use smooth volume change (with 5 steps of +1 volume change to reach -41.5)


Gruß,
kroman