meldet eigentlich ein gerät per hdmi zurück ob es ac3 kann?
entsprechend könnte man ja den ac3 downmix komplett automatisieren...
wenn hdmi connect und gerät kann ac3 dann downmix an, wenn es kein ac3 kann dann aus 
wenn das nicht geht kannst du dir imho zumindest die anfrage an den receiver webif sparen, da du mit get vendor id per hdmi auch den vendor abfragen kannst.
und der ausgeschaltete receiver sollte ja nur passthrough machen, also als vendor und deviceid den tv rausgeben und nicht sich selbst.
sobald er eingeschaltet wird sollte dann nicht mehr der tv vendor/device kommen sondern der des receivers (nach einem hdmi disconnect-connect event).
edit:
eventuell kann man auch mit dem code 0x84 was machen.
am ende von dem artikel dort:
http://irq5.io/2013/10/27/exploring-hdmi-cec/
steht die cec spezifikation.
da gibt es einen "operand" namens device type:
“TV” 0
“Recording Device” 1
“Tuner” 3
“Playback Device” 4
“Audio System” 5
wenn man den also irgendwie zurückbekommt... dann würde das ja auch helfen 
im prinzip müsste man sich also mal anschauen was der tv zurückliefert auf diverse cec anfragen und was der receiver zurückmeldet.
daraus liesse sich dann der "trigger" doch basteln denke ich
edit2:
laut dem dokument müsste auf
0x84 ("<Report Physical Address>")
als antwort kommen:
[Physical Address]
[Device Type]
und somit müsste da beim tv eine 1 und beim receiver eine 5 kommen, oder?
edit3:
ich vergass: die device id ist bei tvs mandatory, bei allen anderen geräte optional. was kommt denn im hdmi log beim einschalten des tv anderes als beim einschalten des avr?
bzw beim ausschalten des avr?