Multiroom Audio mit HomeMatic und Sony

User stellen ihre Haussteuerung vor

Moderator: Co-Administratoren

33zdenko
Beiträge: 343
Registriert: 21.12.2013, 16:50
Danksagung erhalten: 4 Mal

Re: Multiroom Audio mit HomeMatic und Sony

Beitrag von 33zdenko » 29.12.2013, 09:23

Hallo Mikewolf
Zuerst ob die transport uri 4 zeilen oder nur 2 zeilen lang ist oder sogar weniger, liegt es an der station wie sie bei vtuner gelistet ist
ich habe meine sender in favoriten gelegt: wenn du beim sender bist klickst du auf den pfeil rechts und dann auf add to favorites.
wenn du es gemacht hast, ist der sender dann zu finden bei vtuner/My favorites
die transport uri ist dann:

Code: Alles auswählen

local://192.168.1.42/a/proc/bivl2129%3aa%60favorites%230%7e0%5efavorites%60%230%7e2%5e18298
192.168.1.42 ist natürlich meine ip jetzt von sony lautsprecher, also die ersätzt du mit deiner ip-steht, gehst auf fritz.box auf wlan und dort siehst du die ip deiner lautsprecher und auch den namen.
Der name ist bei mir SA-NS410 - diesen brauchst du auch ic ccu programm.
Dann machst du ein neues programm in webui, erstmal ohne bediengungen zum testen
Bei aktivität dann machst du einen script

Code: Alles auswählen

string url="http://192.168.1.49:50000/upnpavtransporturi=SA-NS410";
url = url # "&uri=local://192.168.1.42/a/proc/bivl2129%3aa%60favorites%230%7e0%5efavorites%60%230%7e1%5e16940";
dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("wget -q -O /dev/null '"#url#"'");
bei diesem script ist die 192.168.1.49 die ip adresse menes tablets wo mediaplayer24 läuft - die ersäzst du mit deiner
weiter unten ist die ip 192.168.1.42 die ip wie oben schon gesagt die deine sony lautsprecher
und SA-NS410 ist der name die deine sony haben im wlan netz, steht bei fritz.box in wlan

Warum mediaplayer24? ist nur um über homematic mit den boxen zu komunizieren bzw mit homematic tts oder sounds abspielen zu können, usw. kannst auf der app seite nachsehen.
wichtig ist die ip deines tablets wo die app läuft, kannst auch sehen welche ip sie hat wenn du mplayer24 startest.
um über eine fernbedienung dieses radio zu starten musst nur eine bedingung wenn taste im program einfügen.

Zu playlist abspielen:
in app network audio druckst auf das noten symbol scrollst ganz unten, machst neue playliste z.b playlist. dann suchst nach songs auf deiner nas oder pc, bei jedem song druckst du auf das plus symbol
und fügst du die songs in playlist die du erstellt hast. wenn fertig klickst den ersten song in der playliste und mit device spy in windows suchst du transport uri
programm in ccu

Code: Alles auswählen

string url="http://192.168.1.49:50000/upnpavtransporturi=SA-NS410";
url = url # "&uri=http://192.168.1.45:10243/WMPNSSv4/3080541138/0_e0NFMjg0MUU0LTM4OTgtNDU3Ny05MjY0LURGMDEyMzQ2ODg4QX0uMC40.mp3";
dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("wget -q -O /dev/null '"#url#"'");
diesmal ist http://192.168.1.45 die ip meines pc da ich eine playliste erstellt habe für die songs auf dem pc. aber die steht dir schon richtig in der transport uri
diese musst du nur im code oben ersetzen
die songs spielen dann nacheinender
kannst aber noch ein programm anlegen next song

Code: Alles auswählen

string url="http://192.168.1.49:50000/upnpnext=SA-NS410";
dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("wget -q -O /dev/null '"#url#"'"); 
hier die weiteren befehle:
upnpplay=Device Name
upnpstop=Device Name
upnppause=Device Name
upnpnext=Device Name
upnppreviouse=Device Name
upnpmuteon=Device Name
upnpmuteoff=Device Name
upnpvolume=Device Name&volume=25 (0-100)
aber die kennst du schon :)
und sie funktionieren nur solange dein tablet an ist und dort der mediaplayer24 läuft, genauso die programme auf der ccu, ohne mediaplayer24 gehts nicht.

viel spass!

mikewolf99
Beiträge: 1322
Registriert: 13.08.2008, 20:57
Wohnort: Österreich nähe Wien
Hat sich bedankt: 7 Mal
Danksagung erhalten: 1 Mal

Re: Multiroom Audio mit HomeMatic und Sony

Beitrag von mikewolf99 » 29.12.2013, 23:40

Hallo ,
Super Danke jetzt funktionierts !!

einer der fehler war ausser mir das Tablet !

mfg
mikewolf
CCU2 mit Cuxd und HP CLX ,3 x FHZ2000,2 Funkgateway (eckig),und 2 Funkgateway (rund),RS LanGate
ca 590 Komponenten gemischt HM und FS20 90/10)`CCU auf Cubie LXCCU,CCU auf RPi3 Pivccu,Iobroker auf HPgen8,
Tinker,orangepi,Odroid .....,Sonoffs,Xiaomi und ne Menge esp8266

ChrisDaHub
Beiträge: 6
Registriert: 19.02.2014, 02:41

Re: Multiroom Audio mit HomeMatic und Sony

Beitrag von ChrisDaHub » 19.02.2014, 03:13

Wie macht ihr das nur alle???
Ich habe den Thread nun bestimmt 5x gelesen. Auch weitere Infos gesucht und gelesen.
Ok, ich bin wohl doch ein zu blutiger Anfänger mit der CCU2.

Ich habe CUxD installiert, Gerät erstellt, Taste belegt mit einem Programm (Skript).. Alles wie hier beschrieben,
Die Datei habe ich runter geladen, IP-Adresse angepasst, URI ausgelesen und angepasst, mit WinSCP in den richtigen Pfad kopiert, Rechte auf 755 gesetzt, aber es funktioniert einfach nicht.
Was kann denn noch sein? Ist hier irgendwas so logisch, dass es keiner erwähnt, oder warum bekomme ich direkt über meine CCU2 auf meinem SA-NS510 keinen Ton raus? Kann ich irgendwo ein Logfile auslesen, das mír auf die Sprünge hilft?
Im Systemprotokoll habe ich nur einen kurzen Eintrag, dass die Taste (kurz) gedrückt wurde.
Ich hänge hier schon seit zwei Tagen fest und komme keinen Deut weiter. Bitte gebt mir einen Tipp, der mich wieder in die Spur bringt. Mit FHEM bin ich ja auch zurecht gekommen....

LG
Chris

Kawanager
Beiträge: 19
Registriert: 06.10.2013, 19:39

Re: Multiroom Audio mit HomeMatic und Sony

Beitrag von Kawanager » 19.02.2014, 07:40

Moin,

Wenn di das Script direkt in WinSCP ausführst, funktioniert es dann?

Gruss

Kawanager

Benutzeravatar
Monty1979
Beiträge: 854
Registriert: 28.10.2010, 20:47
Wohnort: Bremen
Kontaktdaten:

Re: Multiroom Audio mit HomeMatic und Sony

Beitrag von Monty1979 » 19.02.2014, 11:35

Hallo ChrisDaHub,

beiden Scripts musst du wahrscheinlich die URL der Sender anpassen die haben sich in dem letzten halben Jahr 2x mal geändert.
z.b. aktuell kommt bei mir statt Energie der FFN - Niedersachsen

EnergyStar
Beiträge: 1276
Registriert: 27.07.2010, 11:38
Danksagung erhalten: 1 Mal

Re: Multiroom Audio mit HomeMatic und Sony

Beitrag von EnergyStar » 19.02.2014, 12:37

Hallo Chris,
da Du relativ ausführlich schreibst was Du gemacht hast, fehlt mir ein Punkt, der immer wieder gerne vergessen wird:
Nach der Installation von CUxD und dem Anlegen des ersten CUxD Gerätes muss zwingend die CCU einmal neu gestartet werden.

Da Du dies nicht aufgeführt hast, frage ich mich, ob Du dies vielleicht vergessen hast?

Gruß
EnergyStar
--------------------------------------------
CCU1 mit 1.514, CUxD 0.59b, Historian V0.7.6hf1
161 Kanäle in 35 Geräten
in schrittweiser Migration auf die
CCU2 mit 2.15.5, CUxD 0.68, Historian V0.7.6hf1
254 Kanäle in 88 Geräten
gesamte Funktionalität über die
CL-Box mit homeputer CLX Ver. 4.0 Rel. 150625
Ansichten: 17, Objekte: 882, Zeilen: 19863, Variablen: 1966

ChrisDaHub
Beiträge: 6
Registriert: 19.02.2014, 02:41

Re: Multiroom Audio mit HomeMatic und Sony

Beitrag von ChrisDaHub » 20.02.2014, 22:42

Hallo,

danke für die vielen Antworten, das macht mir wieder Hoffnung. Zwischenzeitlich hatte ich alles wieder in den Urzustand versetzt. Jetzt kann ich von vorne beginnen.

@Kawanager: wie soll denn das gehen?

@Monty1979: Die URI ist frisch erzeugt/ausgelesen mit DeviceSpy, wie empfohlen.

@EnergyStar: Nach der Installation von CUxD wollte die CCU2 ja selbst neu starten. Das wurde von mir natürlich abgenickt. Ich habe jetzt gerade wieder das "erste" Gerät (16-Fach Fernbedienung) angelegt, neu gestartet, danach aus dem Posteingang übernommen, wieder neu gestartet... so, nun das folgende Script auf Kanal 1, kurzer Tastendruck gelegt:

Code: Alles auswählen

dom.GetObject("CUxD.CUX4046719:1.CMD_EXEC").State("tclsh /usr/local/etc/config/addons/www/upnp.tcl");
wobei CUX4046719 die Fernbedienung ist.

Zur Vervollständigung hier das TCL-Script, welches ich als upnp.tcl im o.g. Pfad abgelegt habe (Rechte 755, Codierung UTF-8)

Code: Alles auswählen

#!/bin/tclsh

set address "192.168.222.29"
set port "8080"

# SetVolume
# SetMute - 0/1
# Play
# Stop
# Pause 
# AVTransport - local://192.168.222.29/a/proc/bivl2129%3aa%60favorites%230%7e0%5efavorites%60%230%7e0%5e46388
set action "AVTransport"
set value "local://192.168.222.29/a/proc/bivl2129%3aa%60favorites%230%7e0%5efavorites%60%230%7e0%5e46388"

######################
#ab hier nichts ändern
######################

set length [string length $value]
set content ""

if { $action == "SetVolume" } {

	append content "POST /RenderingControl/ctrl HTTP/1.1\n"
	append content "HOST: $address:$port\n"
	append content "SOAPACTION: \"urn:schemas-upnp-org:service:RenderingControl:1#SetVolume\"\n"
	append content "CONTENT-TYPE: text/xml; charset=\"utf-8\"\n"
	append content "Content-Length: [expr $length+404]\n"
	append content "CONNECTION: close\n"
	append content "\n"
	append content "<?xml version=\"1.0\" encoding=\"utf-8\"?>"
	append content "<s:Envelope s:encodingStyle=\"http://schemas.xmlsoap.org/soap/encoding/\" xmlns:s=\"http://schemas.xmlsoap.org/soap/envelope/\">"
	append content "<s:Body>"
	append content "<u:SetVolume xmlns:u=\"urn:schemas-upnp-org:service:RenderingControl:1\">"
	append content "<InstanceID>0</InstanceID>"
	append content "<Channel>Master</Channel>"
	append content "<DesiredVolume>$value</DesiredVolume>"
    append content "</u:SetVolume>"
   	append content "</s:Body>"
	append content "</s:Envelope>"
    
} elseif { $action == "SetMute" } {  	    

	append content "POST /RenderingControl/ctrl  HTTP/1.1\n"
	append content "HOST: $address:$port\n"
	append content "SOAPACTION: \"urn:schemas-upnp-org:service:RenderingControl:1#SetMute\"\n"
	append content "CONTENT-TYPE: text/xml; charset=\"utf-8\"\n"
	append content "Content-Length: 396\n"
	append content "CONNECTION: close\n"
	append content "\n"
	append content "<?xml version=\"1.0\" encoding=\"utf-8\"?>"
	append content "<s:Envelope s:encodingStyle=\"http://schemas.xmlsoap.org/soap/encoding/\" xmlns:s=\"http://schemas.xmlsoap.org/soap/envelope/\">"
    append content "<s:Body>"
    append content "<u:SetMute xmlns:u=\"urn:schemas-upnp-org:service:RenderingControl:1\">"
	append content "<InstanceID>0</InstanceID>"
	append content "<Channel>Master</Channel>"
	append content "<DesiredMute>$value</DesiredMute>"
	append content "</u:SetMute>"
	append content "</s:Body>"
	append content "</s:Envelope>"
    
} elseif { $action == "Play" } {  	    

	append content "POST /AVTransport/ctrl HTTP/1.1\n"
	append content "HOST: $address:$port\n"
	append content "SOAPACTION: \"urn:schemas-upnp-org:service:AVTransport:1#Play\"\n"
	append content "CONTENT-TYPE: text/xml; charset=\"utf-8\"\n"
	append content "Content-Length: 356\n"
	append content "CONNECTION: close\n"
	append content "\n"
	append content "<?xml version=\"1.0\" encoding=\"utf-8\"?>"
	append content "<s:Envelope s:encodingStyle=\"http://schemas.xmlsoap.org/soap/encoding/\" xmlns:s=\"http://schemas.xmlsoap.org/soap/envelope/\">"
   	append content "<s:Body>"
    append content "<u:Play xmlns:u=\"urn:schemas-upnp-org:service:AVTransport:1\">"
    append content "<InstanceID>0</InstanceID>"
    append content "<Speed>1</Speed>"
    append content "</u:Play>"
    append content "</s:Body>"
    append content "</s:Envelope>"

} elseif { $action == "Pause" } {  	    

	append content "POST /AVTransport/ctrl HTTP/1.1\n"
	append content "HOST: $address:$port\n"
	append content "SOAPACTION: \"urn:schemas-upnp-org:service:AVTransport:1#Pause\"\n"
	append content "CONTENT-TYPE: text/xml; charset=\"utf-8\"\n"
	append content "Content-Length: 331\n"
	append content "CONNECTION: close\n"
	append content "\n"
	append content "<?xml version=\"1.0\" encoding=\"utf-8\"?>"
    append content "<s:Envelope s:encodingStyle=\"http://schemas.xmlsoap.org/soap/encoding/\" xmlns:s=\"http://schemas.xmlsoap.org/soap/envelope/\">"
    append content "<s:Body>"
    append content "<u:Pause xmlns:u=\"urn:schemas-upnp-org:service:AVTransport:1\">"
    append content "<InstanceID>0</InstanceID>"
    append content "</u:Pause>"
    append content "</s:Body>"
    append content "</s:Envelope>"

} elseif { $action == "Stop" } {  	    

	append content "POST /AVTransport/ctrl HTTP/1.1\n"
	append content "HOST: $address:$port\n"
	append content "SOAPACTION: \"urn:schemas-upnp-org:service:AVTransport:1#Stop\"\n"
	append content "CONTENT-TYPE: text/xml; charset=\"utf-8\"\n"
	append content "Content-Length: 329\n"
	append content "CONNECTION: close\n"
	append content "\n"
	append content "<?xml version=\"1.0\" encoding=\"utf-8\"?>"
	append content "<s:Envelope s:encodingStyle=\"http://schemas.xmlsoap.org/soap/encoding/\" xmlns:s=\"http://schemas.xmlsoap.org/soap/envelope/\">"
   	append content "<s:Body>"
	append content "<u:Stop xmlns:u=\"urn:schemas-upnp-org:service:AVTransport:1\">"
	append content "<InstanceID>0</InstanceID>"
	append content "</u:Stop>"
	append content "</s:Body>"
	append content "</s:Envelope>"
    
} elseif { $action == "AVTransport" } {  	    

	append content "POST /AVTransport/ctrl HTTP/1.1\n"
	append content "HOST: $address:$port\n"
	append content "SOAPACTION: \"urn:schemas-upnp-org:service:AVTransport:1#SetAVTransportURI\"\n"
	append content "CONTENT-TYPE: text/xml; charset=\"utf-8\"\n"
	append content "Content-Length: [expr $length+394]\n"
	append content "CONNECTION: close\n"
	append content "\n"
	append content "<?xml version=\"1.0\"?>"
    append content "<s:Envelope xmlns:s=\"http://schemas.xmlsoap.org/soap/envelope/\"s:encodingStyle=\"http://schemas.xmlsoap.org/soap/encoding/\">"
    append content "<s:Body>"
    append content "<u:SetAVTransportURI xmlns:u=\"urn:schemas-upnp-org:service:AVTransport:1\">"
	append content "<InstanceID>0</InstanceID>"
	append content "<CurrentURI>$value</CurrentURI>"
	append content "<CurrentURIMetaData></CurrentURIMetaData>"
	append content "</u:SetAVTransportURI>"
	append content "</s:Body>"
    append content "</s:Envelope>"
}

if { $action != "" } {
  
  set chan [socket $address $port]
  puts $chan $content
  flush $chan     
  close $chan  
}
Bin hier echt langsam am verzweifeln. Vom Handy aus kann ich den Lautsprecher ganz normal steuern. Die IP stimmt ganz sicher, Firmware ist aktuell, sowohl die des Lautsprechers, als auch die der CCU2. WLAN-Geräte können miteinander kommunizieren.

Hat vll. noch jemand eine Idee? :shock:

Schönen Abend!
Chris

Kawanager
Beiträge: 19
Registriert: 06.10.2013, 19:39

Re: Multiroom Audio mit HomeMatic und Sony

Beitrag von Kawanager » 21.02.2014, 07:58

Moin,

Mit WinSCP auf die ccu, rechte Maustaste auf die TCL Datei, im Kontextmenü auf "Benutzerdefinierte Befehle" und dort auf "Ausführen". Erst wenn es damit funktioniert brauchst würd ich rückwarts suchen.

2. Schritt, wenn es geht mit Script testen einfach den Aufruf der tcl Datei machen. Und schauen ob das geht, dann erst mit einer Aktion verknüpfen.

Achtung, Gross/Kleinschreibung beiden Dateinamen beachten!

Schönes Wochenende

Kawanager

ChrisDaHub
Beiträge: 6
Registriert: 19.02.2014, 02:41

Re: Multiroom Audio mit HomeMatic und Sony

Beitrag von ChrisDaHub » 21.02.2014, 22:40

Okay, danke! Habe es gleich mal getestet und siehe da, ich bekomme prompt eine Fehlermeldung (siehe Screenshot). Leider fehlt mit die Erfahrung in TCL. Kann wer damit was anfangen?

Ihr seid super!
Dateianhänge

[Die Dateierweiterung bmp wurde deaktiviert und kann nicht länger angezeigt werden.]


ChrisDaHub
Beiträge: 6
Registriert: 19.02.2014, 02:41

Re: Multiroom Audio mit HomeMatic und Sony

Beitrag von ChrisDaHub » 21.02.2014, 23:15

Okay,war wohl doch der falsche Zeichensatz. Notepad hat UTF-8 daraus gemacht. Mit dem originalen Zeichensatz geht es. :mrgreen: :mrgreen: :mrgreen: Zumindest in WinSCP.. So wie es aussieht, muss ich immer erst die URI schicken, danach noch mal ausführen mit Action => Play... ich teste weiter

Wenn ich erst mal die Steuerung absetzen kann, versuche ich mich im Auslesen von Variablen. Wäre ja blöd, wenn ich für alles eine extra Datei bräuchte. :roll:n

Antworten

Zurück zu „Projektvorstellungen“