dbraner Posted January 19, 2012 Share Posted January 19, 2012 (edited) 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 January 21, 2013 by dbraner Quote Link to comment
nuts Posted January 19, 2012 Share Posted January 19, 2012 Sowas gibt es praktisch für jeden AVR mit Netzwerkanschluss. Müssen ja alle "App-fähig" sein. 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). Quote Link to comment
dbraner Posted January 19, 2012 Author Share Posted January 19, 2012 Sowas gibt es praktisch für jeden AVR mit Netzwerkanschluss. Müssen ja alle "App-fähig" sein. Wichtig ist nur, dass der Hersteller das Protokoll offen legt. Sonst wird es mühsam und man muss Wireshark bemühen. Quote Link to comment
trudeh Posted January 19, 2012 Share Posted January 19, 2012 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 Quote Link to comment
nuts Posted January 19, 2012 Share Posted January 19, 2012 Bitte schön: https://github.com/BirdAPI/RX-V867-EventGhost-Plugin Funktioniert mit meinem A3010 wunderbar. Sollte es mit dem RX-V671 nicht funktionieren kannst du dich ja mal um das Protokoll bemühen. Die Vorgehensweise ist immer ähnlich und die Anpassungen sollten dann nicht zu kompliziert sein. Quote Link to comment
trudeh Posted January 19, 2012 Share Posted January 19, 2012 Danke Werd mich bei Gelegenheit mit dem Thema auseinander setzen. Konnte mich bisher noch nie mit EG anfreunden. Quote Link to comment
Frotzamuta Posted January 19, 2012 Share Posted January 19, 2012 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. Quote Link to comment
nuts Posted January 19, 2012 Share Posted January 19, 2012 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? Quote Link to comment
Frotzamuta Posted January 19, 2012 Share Posted January 19, 2012 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 Quote Link to comment
nuts Posted September 17, 2012 Share Posted September 17, 2012 (edited) 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 - nur sind die EG-Plugins immer so schwer zu lesen) Edited September 17, 2012 by nuts Quote Link to comment
dbraner Posted September 17, 2012 Author Share Posted September 17, 2012 (edited) 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 September 17, 2012 by dbraner Quote Link to comment
nuts Posted September 17, 2012 Share Posted September 17, 2012 (edited) Mhm ok danke. Ne fertige Liste mit Befehlen finde ich leider nicht (und die Yamaha Doku verstehe ich nicht so ganz ) 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 September 17, 2012 by nuts Quote Link to comment
erwin Posted September 18, 2012 Share Posted September 18, 2012 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.1Content-Type: text/xml; charset="utf-8SOAPACTION: "SoapAction:urn:schemas-upnp-org:service:RenderingControl:1#SetVolume"Cache-Control: no-cacheHost: 192.168.0.4:52235Content-Length: 388Connection: 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 Quote Link to comment
dgdg Posted September 18, 2012 Share Posted September 18, 2012 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. Quote Link to comment
nuts Posted September 18, 2012 Share Posted September 18, 2012 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. Quote Link to comment
BALOU Posted September 18, 2012 Share Posted September 18, 2012 BTW: Es gibt sogar EventGhost Plugins für Pioneer- und Onkyo-Geräte. hab mal ein wenig gegoogelt aber ein Pioneer Plugin konnte ich nicht finden,eventuell mal einen Link Quote Link to comment
nuts Posted September 18, 2012 Share Posted September 18, 2012 https://github.com/ThomasBott Quote Link to comment
erwin Posted September 18, 2012 Share Posted September 18, 2012 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 Quote Link to comment
nuts Posted September 18, 2012 Share Posted September 18, 2012 (edited) 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 September 18, 2012 by nuts Quote Link to comment
BALOU Posted September 18, 2012 Share Posted September 18, 2012 https://github.com/ThomasBott Danke Quote Link to comment
erwin Posted September 18, 2012 Share Posted September 18, 2012 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 Quote Link to comment
nuts Posted September 18, 2012 Share Posted September 18, 2012 (edited) 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. Edited September 18, 2012 by nuts Quote Link to comment
trudeh Posted September 18, 2012 Share Posted September 18, 2012 Und welche Protokolle werden unterstützt? Nur Laufwerksfreigabe oder auch uPnP? Er macht nur uPnP keine Laufwerksfreigabe. Quote Link to comment
erwin Posted September 19, 2012 Share Posted September 19, 2012 (edited) @nuts schau mal hier: Link erwin Edited September 19, 2012 by erwin Quote Link to comment
nuts Posted September 19, 2012 Share Posted September 19, 2012 Der Linkt geht leider nicht. Quote Link to comment
erwin Posted September 19, 2012 Share Posted September 19, 2012 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 Quote Link to comment
nuts Posted September 19, 2012 Share Posted September 19, 2012 Im Link gehen die aber nicht über die allgemeingültigen UPnP-Aufrufe nach deinem Format, sondern über die Yamaha Web-API. Das funktioniert ja (s. Bsp. auf Seite1). Quote Link to comment
erwin Posted September 19, 2012 Share Posted September 19, 2012 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 Quote Link to comment
nuts Posted September 19, 2012 Share Posted September 19, 2012 (edited) 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 September 19, 2012 by nuts Quote Link to comment
nuts Posted September 19, 2012 Share Posted September 19, 2012 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. Quote Link to comment
erwin Posted September 19, 2012 Share Posted September 19, 2012 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 Quote Link to comment
erwin Posted September 19, 2012 Share Posted September 19, 2012 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 Quote Link to comment
erwin Posted September 19, 2012 Share Posted September 19, 2012 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 Quote Link to comment
nuts Posted September 19, 2012 Share Posted September 19, 2012 Ein Bild sagt mehr als 1000 Worte Warum das bei dir nicht funktioniert weiss ich leider nicht. Firewall? Quote Link to comment
nuts Posted September 19, 2012 Share Posted September 19, 2012 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. Quote Link to comment
BALOU Posted September 20, 2012 Share Posted September 20, 2012 Erst mal vielen Dank an dbraner für den Pioneerlink 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) Quote Link to comment
nuts Posted September 20, 2012 Share Posted September 20, 2012 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. Quote Link to comment
BALOU Posted September 20, 2012 Share Posted September 20, 2012 das klingt doch schon mal gut Quote Link to comment
nuts Posted September 20, 2012 Share Posted September 20, 2012 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? Quote Link to comment
BALOU Posted September 20, 2012 Share Posted September 20, 2012 (edited) ü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 September 20, 2012 by BALOU Quote Link to comment
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.