Jump to content

HOWTO: Steuerung AV-Verstärker über Netz


dbraner

Recommended Posts

Hallo,

 

ich nenne seit kurzem einen Pioneer VSX-921 AV-Verstärker mit Netzwerk-Anschluss mein Eigen. Letzte Woche bin ich nun im Netz auf dieses PDF (beim Öffnen die Installation des asiatischen Zeichensatzes abbrechen) von Pioneer gestossen, in dem erklärt wird, wie man den Verstärker über einfache Textkommandos auf den Port 23 steuern kann.

Soweit mir bekannt, geht das mit allen Netzwerk fähigen Pioneer AV-Verstärkern. Auch mit Onkyo Geräten sollte es möglich sein, da habe ich aber keine Befehlsliste vorliegen.

 

Die Idee: Wenn man im DVBViewer die AC3 Tonspur auswählt und auf AudioB schaltet (das ist bei mir der SPDIF-Ausgang), wird über die Command.vbs ein Script gestartet, das den Verstärker einschaltet und den richtigen Eingang auswählt. Man könnte sogar bei "Verstärker-Betrieb" Lauter / Leiser an den Verstärker weitergeben.

 

Hier ein Beispiel-Programm in AutoIt, mit dem man Befehle an den AV-Verstärker schicken kann. Das Script liefert auch die Antwort des Verstärkers zurück:

 

Local $socket
Local $port = 23
Local $response

If $CmdLine[0] <> 2 Then
  ConsoleWriteError ("Command line syntax error")
  Exit
EndIf

TCPStartup ()

$socket = TCPConnect ($CmdLine[1], 23)
If $socket > 0 Then
  $bytes = TCPSend ($socket, $CmdLine[2] & @CR)
  If $bytes > 0 Then
     Sleep (100)
     $response = TCPRecv ($socket, 512);
     If @error Then
        ConsoleWriteError ("No repsonse" & @CRLF)
     Else
        ConsoleWrite ($response)
     EndIf
  Else
     ConsoleWriteError ("Failed to send data" & @CRLF)
  EndIf
EndIf

TCPCloseSocket ($socket)
TCPShutdown ()

 

Das Script bzw. Programm kann nach der Compilierung wie folgt aufgerufen werden:

 

Script-Name IP-Verstärker Befehl

 

Beispiel (Verstärker einschalten): send 192.168.1.100 PO

 

BTW: Es gibt sogar EventGhost Plugins für Pioneer- und Onkyo-Geräte.

 

Zusammenfassung:

 

Steuerung Pioneer Verstärker

Yamaha Telnet Protokoll

Denon Telnet Protkoll

Edited by dbraner
Link to comment
  • Replies 80
  • Created
  • Last Reply

Top Posters In This Topic

  • nuts

    33

  • BALOU

    13

  • dbraner

    11

  • Frotzamuta

    9

Top Posters In This Topic

Posted Images

Sowas gibt es praktisch für jeden AVR mit Netzwerkanschluss.

Müssen ja alle "App-fähig" sein. :whistle:

 

Schöner Nebeneffekt für uns ist, dass man die Dinger nun auch mit dem PC steuern kann.

Für Yamaha gibt es auch ein fertiges Eventghost-Plugin.

Funktioniert mit der neusten Serie! (Link kann ich bei interesse raussuchen).

Link to comment

Sowas gibt es praktisch für jeden AVR mit Netzwerkanschluss.

Müssen ja alle "App-fähig" sein. :whistle:

 

Wichtig ist nur, dass der Hersteller das Protokoll offen legt. Sonst wird es mühsam und man muss Wireshark bemühen.

Link to comment

Für Yamaha gibt es auch ein fertiges Eventghost-Plugin.

Funktioniert mit der neusten Serie! (Link kann ich bei interesse raussuchen).

Bitte such mal raus! Hab mir grad frisch nen RX-V671 gegönnt.

 

Danke

Link to comment

Ich habe für meinen Pio VSX 920 das fehlende OSD durch ein kleines Delphi Programm ergänzt. Es zeigt Lautstärke, Eingangsformate und Ausgabeformate an und schaltet je nach Eingangssignal Soundmodi um. Anbei mal ein Bildchen wie es aussieht.

osdg2bk5.png

Link to comment

Das ist ja auch lustig.

Was macht dein Programm genau?

 

Ist das ein OSD-Plugin, das sich die Infos vom AVR übers Netzwerk holt?

Kriegt man das in ein AVR übergreifendes Konzept gepackt?

Link to comment

Es baut über Telnet eine Verbindung zum AVR auf und liest/sendet darüber die Infos bereitet sie auf und stellt sie dann dar....

Es ist kein DVBV Plugin sondern eigenständig.

Es ist halt schon ziemlich speziell auf meine Bedürfnisse zugeschnitten lässt sich aber recht einfach in den für mich wichtigen Punkten durch ne Config Datei anpassen.

Ich glaube Markenübergreifend dürfte das schwer werden

Link to comment
  • 7 months later...

Hier mal ein kurzes Beispiel für Yamaha mit autoit über WinHTTP:

 

#include <WinHTTP.au3>


Global $port=80
Global $ip="192.168.1.150"
Global $response=""

;Global $PostDaten='<YAMAHA_AV cmd="PUT"><Main_Zone><Volume><Mute>On</Mute></Volume></Main_Zone></YAMAHA_AV>'
Global $PostDaten='<YAMAHA_AV cmd="PUT"><Main_Zone><Volume><Mute>Off</Mute></Volume></Main_Zone></YAMAHA_AV>'


$hOpen = _WinHttpOpen()

$hConnect = _WinHttpConnect($hOpen, $ip, $port)

$hRequest = _WinHttpOpenRequest($hConnect, "POST", "/YamahaRemoteControl/ctrl")


_WinHttpSendRequest($hRequest, 'Content-type: text/xml'&@CRLF, $PostDaten)


_WinHttpReceiveResponse($hRequest)

$header = _WinHttpQueryHeaders($hRequest)
ConsoleWrite($header&@crlf)

If _WinHttpQueryDataAvailable($hRequest) Then

   Do
       $response&=_WinHttpReadData($hRequest)
   Until @error

   ConsoleWrite($response&@crlf)

EndIf

_WinHttpCloseHandle($hRequest)

_WinHttpCloseHandle($hConnect)

_WinHttpCloseHandle($hOpen)

exit

 

Wie man die Postdaten für den jeweiligen Befehl ermittel kann man hier nachlesen:

http://www.ip-symcon.de/forum/f39/howto-yamaha-verstaerker-per-lan-netzwerk-steuern-18509/

 

Bei Pioneer geht das über Telnet/Socket? Weiss jemand ob das bei Yamaha auch geht?

Das von mir verlinkte EG-Plugin verwendet auch WinHTTP (da hab ichs ja abgeschrieben :whistle: - nur sind die EG-Plugins immer so schwer zu lesen)

Edited by nuts
Link to comment

Wenn es für Yamaha eine App gibt, würde ich einfach mal die Kommunikation zwischn der App und dem Yamaha per Wireshark sniffen. Wenn sie sich über Port 23 unterhalten, nutzen sie Telnet.

 

Edit: kuckst Du hier

 

http://www.ip-symcon.de/forum/f39/befehle-steuerung-yamaha-receiver-15893/

Edited by dbraner
Link to comment

Mhm ok danke.

Ne fertige Liste mit Befehlen finde ich leider nicht (und die Yamaha Doku verstehe ich nicht so ganz :wacko: )

 

Da ist es schneller die benötigten Befehle aus dem EG Plugin abzuschreiben oder selbst zusammenzubasteln.

Edit\ Im verlinkten Post von dbraner sind die Befehle angehängt. :)

 

edit\ Wenn jemand ohne Skriptkenntnisse seinen Yamaha außerhalb von EG steuern möchte kann ich das gern mal etwas ausarbeiten.

IP, Port in eine ini auslagern und den Befehl per cmdline mitgeben oder so ähnlich.

Edited by nuts
Link to comment

Die Vorgehensweise ist immer ähnlich und die Anpassungen sollten dann nicht zu kompliziert sein.

 

Wäre schön wenn man das systematisieren könnte und als generische Schnittstelle z.B. in Form eines dotNET-Assembly zur Verfügung stellen könnte.

 

Immer ähnlich - ist das auf einer bestimmten IP-Adresse und einnem speziellen Port spezielle Kommandos (meist als Textstring) übertagen werden. Soweit das Gemeinsame. IP, Port und Kommandostrings könnte man aus einer Konfigurationsdatei auslesen.

 

Um zu den speziellen Unterschieden zu kommen. Ich hab sowas gerade in mein ExTen-Plugin zur Steuerung von Samsungs-TV's eingebaut. Hier müssen die Textkommandos base64-encoded werden und mit Längenbytes als Präfix versehen werden. Dazu kommen noch ein par spezielle Steuerbytes. Eine generische dotNET-Schnittstelle würde die Anwendbarkeit auf eine Menge von AVR/TV erweitern.

 

Eine gewisse Vereinheitlichung ist bei UPnP-Geräten gegeben. Die Services sind standardisiert. z.B. der Rendering Control Service. Neben den oben genannten Textkommandos kann man bei meinem TV z.b die Lautstärke auch so steuern:

 

MUTE stellt die Lautstärke zwar auf 0 lässt aber auf dem Schirm ein Mute-Logo umherwandern. Alternativ ohne Logo z.B. so.

 


POST /upnp/control/RenderingControl1 HTTP/1.1
Content-Type: text/xml; charset="utf-8
SOAPACTION: "SoapAction:urn:schemas-upnp-org:service:RenderingControl:1#SetVolume"
Cache-Control: no-cache
Host: 192.168.0.4:52235
Content-Length: 388
Connection: Close

<?xml version="1.0" encoding="utf-8"?>
<s:Envelope s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
<s:Body>
<ns0:SetVolume xmlns:ns0="urn:schemas-upnp-org:service:RenderingControl:1">
<InstanceID>0</InstanceID>
<Channel>Master</Channel>
<InstanceID>0</InstanceID>
<DesiredVolume>0</DesiredVolume>
</ns0:SetVolume>
</s:Body>
</s:Envelope>
[/codeBOX]

 

Der Vorteil: Mit dem gleichen Script/Code sollte man auch die oben genannten AVR steuern können. Zu ändern wäre IP/Port.

 

Wer probiert es mal aus?

 

Nachteil: Aktionen wie PowerOn/PowerOff, Quellenwahl etc gehen mit diesem Service wohl nicht.

 

 

erwin

Link to comment

Hab mir grad frisch nen RX-V671 gegönnt.

 

Hab mal ein paar Fragen zu dem Teil, weil so was ähnliches schon länger suche.

 

Kann der neben Audio-Dateien auch Video-Dateien direkt vom PC bzw. Media-Server abspielen? Wenn ja welche Codecs?

Und welche Protokolle werden unterstützt? Nur Laufwerksfreigabe oder auch uPnP?

 

Und das Wichtigste: Hat das Ding einen integrierten Webserver zum Steuern via Webbrowser? Damit man zum Musikhören keinen Montor anschließen muss.

 

Seit meinem Audiotron (für den es leider keine Updates mehr gibt) suche ich einen universellen Streaming-Client, der sich komplett per Webbrowser steuern lässt. Der Audiotron hatte sogar eine Web-API, über die mal alle Funktionen per Software steuern konnte. Aber sowas gibt es anscheinend nicht mehr.

Link to comment

RX-V671: Video-Datein kann er nicht abspielen (kaum ein AVR kann das).

Ansonsten: Ja es gibt einen Webbrowser und Webapi.

Als Streaming-Clients sind AVR's aber nicht so toll.

 

 

@erwin: Ich schaus mir mal an.

Link to comment

Nachtrag

 

Zu ändern wäre IP/Port.

 

Der Port ist nicht derselbe wie bei den "einfachen"-Net-Remote-Commands. Also suchen im INet oder Portscanner auf den AVR ansetzen.

 

 

erwin

Link to comment

Hm bei mir funktionierts noch nicht so richtig.

Mir fehlt jetzt etwas die Zeit das genauer zu untersuchen. Hast du ein fertiges Skript? Dann würd ichs mal mit dem versuchen.

 

Antwort vom Server:

HTTP/1.1 404 Not Found

Connection: close

Content-Length: 0

Server: AV_Receiver/3.1 (RX-A3010)

 

Skript (möglicherweise ein blöder Fehler - mit dem web Zeugs kenne ich mich nicht so gut aus)

 

Global $Yamaha_IP ="192.168.1.150"

Global $Yamaha_Port=49154

Global $POSTdata = ""

 

 

$POSTdata='<?xml version="1.0" encoding="utf-8"?>'& _

'<s:Envelope s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">'& _

"<s:Body>"& _

'<ns0:SetVolume xmlns:ns0="urn:schemas-upnp-org:service:RenderingControl:1">'& _

'<InstanceID>0</InstanceID>'& _

'<Channel>Master</Channel>'& _

'<InstanceID>0</InstanceID>'& _

'<DesiredVolume>0</DesiredVolume>'& _

'</ns0:SetVolume>'& _

'</s:Body>'& _

's:Envelope>'

 

 

_SendXML($Yamaha_IP, $Yamaha_Port, $POSTdata)

 

exit

 

 

Func _SendXML($IP, $Port, $data)

Local $hOpen, $hConnect, $hRequest, $header, $response

$hOpen = _WinHttpOpen()

 

$hConnect = _WinHttpConnect($hOpen, $IP, $Port)

 

$hRequest = _WinHttpOpenRequest($hConnect, "POST", "/upnp/control/RenderingControl1", "HTTP/1.1")

_WinHttpSendRequest($hRequest, 'Content-type: text/xml; charset="utf-8"' &@crlf)

_WinHttpSendRequest($hRequest, 'SOAPACTION: "SoapAction:urn:schemas-upnp-org:service:RenderingControl:1#SetVolume"' & @CRLF, $data, 388)

 

_WinHttpReceiveResponse($hRequest)

$header = _WinHttpQueryHeaders($hRequest)

 

ConsoleWrite($header&@crlf)

 

If _WinHttpQueryDataAvailable($hRequest) Then

 

Do

$response &= _WinHttpReadData($hRequest)

Until @error

 

ConsoleWrite($response&@crlf)

 

EndIf

 

_WinHttpCloseHandle($hRequest)

_WinHttpCloseHandle($hConnect)

_WinHttpCloseHandle($hOpen)

 

EndFunc ;==>_SendXML

 

P.S. Den Port hab ich ergoogelt. Müsste stimmen, da ansonsten gar nichts zurückkommt. Für wireshark usw. fehlt mir erstmal die Zeit. Am WE vielleicht.

Edited by nuts
Link to comment

Hast du ein fertiges Skript?

Leider nein.

 

Skript (möglicherweise ein blöder Fehler - mit dem web Zeugs kenne ich mich nicht so gut aus)

Ich leider mit deiner Scriptsprache überhaupt nicht.

 

Trotzdem für mich merkwürdig:

 

_WinHttpSendRequest($hRequest, 'Content-type: text/xml; charset="utf-8"' &@crlf)

_WinHttpSendRequest($hRequest, 'SOAPACTION: "SoapAction:urn:schemas-upnp-org:service:RenderingControl:1#SetVolume"' & @CRLF, $data, 388)

 

 

Wirlich 2 separate calls auf _WinHttpSendRequest()?

 

und

 

& @CRLF, nicht & @CRLFCRLF, am Headerende?

 

Ansonsten hilft wirklich da erstmal wireshark weiter.

 

erwin

Link to comment

Ich habs noch direkt übers Objekt versucht und deine XML Vorgaben mal abgespeichert:

 

dim $xml="D:\autoitskripte\HTPC\Samsung network\test.xml"

 

; Initialize COM error handler

$oMyError = ObjEvent("AutoIt.Error","MyErrFunc")

 

$objHTTP = ObjCreate("Microsoft.XMLHTTP")

$objReturn = ObjCreate("Msxml2.DOMDocument.3.0")

 

$objReturn.load($Xml)

$postXML=$objReturn.XML

 

ConsoleWrite("stringlen: "&stringlen($postXML)&@crlf)

 

; Set up to post to our local server

$objHTTP.open ("post","192.168.1.150:49154/upnp/control/RenderingControl1 HTTP/1.1")

 

; Set a standard SOAP/ XML header for the content-type

$objHTTP.setRequestHeader ("Content-Type", 'text/xml; charset="utf-8"')

 

; Set a header for the method to be called

$objHTTP.setRequestHeader ("SoapAction", "SoapAction:urn:schemas-upnp-org:service:RenderingControl:1#SetVolume")

 

 

ConsoleWrite("Content of the Soap envelope : "& @CR & $POSTxml & @CR & @CR)

 

; Make the SOAP call

$objHTTP.send($postXML)

 

 

; Get the return envelope

$strReturn = $objHTTP.responseText

 

ConsoleWrite("Debug : "& $strReturn & @CR & @CR)

 

; Load the return envelope into a DOM

;$objReturn.loadXML ($strReturn)

 

;ConsoleWrite("Return of the SOAP Msg : " & @CR & $objReturn.XML & @CR & @CR)

 

 

Func MyErrFunc()

$HexNumber=hex($oMyError.number,8)

ConsoleWrite("We intercepted a COM Error !" & @CRLF & @CRLF & _

"err.description is: " & @TAB & $oMyError.description & @CRLF & _

"err.windescription:" & @TAB & $oMyError.windescription & @CRLF & _

"err.number is: " & @TAB & $HexNumber & @CRLF & _

"err.lastdllerror is: " & @TAB & $oMyError.lastdllerror & @CRLF & _

"err.scriptline is: " & @TAB & $oMyError.scriptline & @CRLF & _

"err.source is: " & @TAB & $oMyError.source & @CRLF & _

"err.helpfile is: " & @TAB & $oMyError.helpfile & @CRLF & _

"err.helpcontext is: " & @TAB & $oMyError.helpcontext _

)

SetError(1) ; to check for after this function returns

Endfunc

 

Rückgabe:

 

We intercepted a COM Error !

 

err.description is: Ungültige Syntax

 

err.windescription: Ungültige Syntax

 

err.number is: 80020009

err.lastdllerror is: 0

err.scriptline is: 35

err.source is: msxml3.dll

err.helpfile is:

err.helpcontext is: 0

 

Scriptline35= $objHTTP.send($postXML)

 

Ich befürchte das geht so Geräteübergreifend nicht.

Oder ich bin zu blöd. :wacko:

Edited by nuts
Link to comment

versuch es nochmal!

 

Der Forumseditor treibt mich zum Wahnsinn. Ständig schneidet er an der url was ab. Selbst wenn ich den abgeschnittenen Teil als selbständige Zeile einfüge verschwindet sie beim speichern.

 

erwin

Link to comment

Ja schon richtig wenn du dich auf den letzten Post beziehst der als Lösung des Problems den Thread abschließt. Das eigentliche Problem war aber ein UPnP/SOAP-Yamaha-Problem, so wie bei dir. Zumindest weisst du nun dass du nicht allein bist. Vielleicht eine Yamaha Spezialität?

 

erwin

Link to comment

Möglich.

So wirklich einheitlich scheint mir das bei UPnP/DLNA nicht zu sein.

Lars kämpft auch ständig mit UPnP/DLNA bei neuen Geräten.

 

Ich denke hierfür will der Yamaha was anderes haben. Nur was genau? Da müsste man wireshark bemühen.

<?xml version="1.0" encoding="utf-8"?>

<s:Envelope s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">

<s:Body>

<ns0:SetVolume xmlns:ns0="urn:schemas-upnp-org:service:RenderingControl:1">

<InstanceID>0</InstanceID>

<Channel>Master</Channel>

<InstanceID>0</InstanceID>

<DesiredVolume>0</DesiredVolume>

</ns0:SetVolume>

</s:Body>

</s:Envelope>

Edited by nuts
Link to comment

Ich hab mal den UPnP-Inspector bemüht und der schafft es auch nicht mit dem Yamaha.

 

Mit dem Samsung TV funktionierts allerdings. Sogar mit meinem Skript.

Muss ich jetzt nochmal genauer anschauen.

Link to comment

in einem anderen Beitrag zu UPnP/SOAP-Yamaha Problemen mit SetVolume/SetMute wurde von Erfolgen mit den Get... calls berichtet also GetVolume etc. Das XML/SOAP dazu hab ich jetzt aber nicht bei der Hand

 

erwin

Link to comment

Ich hab mal den UPnP-Inspector bemüht und der schafft es auch nicht mit dem Yamaha.

Wie meldet der sich? Als MediaRenderer:1, MediaRenderer:2 oder MediaRenderer:3?

 

Mit dem Samsung TV funktionierts allerdings. Sogar mit meinem Skript.

Muss ich jetzt nochmal genauer anschauen.

Hast du den TV mi dem UPnp-Inspektor angesprochen? Wenn ja , hilf mir mal! Wie? Mein Sammy erscheint gleich gar nicht in der Device-Liste?

 

erwin

Link to comment

Ich hab mal den UPnP-Inspector bemüht und der schafft es auch nicht mit dem Yamaha.

Wie meldet der sich? Als MediaRenderer:1, MediaRenderer:2 oder MediaRenderer:3?

 

Mit dem Samsung TV funktionierts allerdings. Sogar mit meinem Skript.

Muss ich jetzt nochmal genauer anschauen.

Hast du den TV mi dem UPnp-Inspektor angesprochen? Wenn ja , hilf mir mal! Wie? Mein Sammy erscheint gleich gar nicht in der Device-Liste?

 

erwin

Link to comment

Ich hab mal ein Testskript für den SOAP-Aufruf gebastelt.

Dabei sind Werte vorbelegt, die für meinen Samsung funktionieren. Ich denke also den Aufruf hab ich grundsätzlich im Griff.

http://www.autoit.de/index.php?page=Thread&postID=264508#post264508

Die INI dürfte selbsterklärend sein.

 

 

Für die Yamaha webapi findet ihr dort auch ein etwas ausgearbeitetes Skript.

Ich habs im autoit Forum gepostet, da dort die Skripte besser lesbar sind.

Bei Interesse kann ichs auch hier hochladen.

Link to comment

Erst mal vielen Dank an dbraner für den Pioneerlink :D das ganze funktioniert ausgezeichnet mit dem Eventghostplugin.

Kleine Frage hätte ich da trotzdem noch

-damit das ganze ordentlich funktioniert muss man Audio A/B eine eigene Taste(2) zuordnen(das funktioniert auch Super über command.vbs)toggeln geht nicht einschaltzustand des AVR ist ja nicht immer bekannt.

Nun habe ich Audio A und B eigentlich über sendcommand von nuts immer separat betrieben musste also nicht eine Extrataste der FB Opfern.

Jetzt zum eigentlichen Problem kann Eventghost solche Befehle(also ActionID ohne Tastenzuordnung)irgendwie verarbeiten.

weiß jetzt auch nicht ob das hierhin gehört aber ich finde hier kann man das im Zusammenhang verstehen.

 

Kurz was ich bezwecke(funktioniert auch alles,allerdings muß ich 2Tasten Opfern)

Audio B - schaltet AVR an,switcht auf den richtigen Eingang und schaltet den gewünschten Soundmodi ein

Audio A - schaltet AVR aus

 

Wenn ich HTPC ausschalte wird immer auf Audio A umgeschaltet und AVR ausgeschaltet,ist Audio B aktiv regelt meine Hama FB die Lautstärke des AVR.

 

Mein Ziel die Audioumschaltung im DVBViewer über Eventghost nur mit Hilfe von ActionID(zusatzmenue sendcommand von nuts)

 

Ich hoffe ich habe mich verständlich ausgedrückt(ist ja eher eine Hilfe für Eventghost gesucht)

Link to comment

Die ActionID für den DVBViewer bekommt EG erstmal nicht mit.

Höchstens über ein anschließend abgefeuertes Event vom DVBV.

Das es beim Audio A/B aber wohl nicht gibt.

 

Ich hab irgendwo eine erweiterte Version vom sendcommand Skript.

Damit lassen sich neben den ActionID's viele Funktionen ausführen. Unter anderem kann ein Event in EG erzeugt werden.

Muss ich aber erst suchen.

Link to comment

Für AudioA und AudioB gibt es doch gar keine eigene Action-ID oder? Finde nur Audio A/B

Ich hab das Problem wohl doch nicht richtig verstanden.

 

Was lösen dein 2 geopferten Tasten auf der Fernbedienung aus?

Link to comment

über command.vbs funktioniert das(hier gilt der Dank auch dbraner)

 

Case 20480 ' Bei AudioA

If Datamanager.Value ("#Info") = "Audio-Ausgabe B" Then

SendCommand (133) ' Umschalten auf Audio A

End If

 

Case 20481 'Bei AudioB

If Datamanager.Value ("#Info") <> "Audio-Ausgabe B" Then

SendCommand (133) ' Umschalten auf Audio B

End If

 

Taste1-AudioA(HDMI Audiorenderer,AVR ausschalten)

Taste2-AudioB(SPDIF Audiorenderer,AVR ein,AVR schaltet auf gewünschten Eingang und Gewähltes Soundmodi)

Edited by BALOU
Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...