Loewe Assist App - SOAP Interface

9000h

Loewe Assist App - SOAP Interface

#1 

Beitrag von 9000h »

Hi,

so sieht eine SOAP Aktion fuer "Mute" aus, vielleicht kann es jemand brauchen.

Code: Alles auswählen

POST /loewe_tablet_0001 HTTP/1.1
Host: 192.168.178.132:905
User-Agent: Assist%20Media/20 CFNetwork/548.1.4 Darwin/11.0.0
Content-Length: 361
Accept: */*
Content-Type: application/soap+xml; charset=utf-8
SOAPAction: InjectRCKey
Accept-Language: de-de
Accept-Encoding: gzip, deflate
Connection: keep-alive

<?xml version="1.0"?>
<env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ltv="urn:loewe.de:RemoteTV:Tablet"><env:Body><ltv:InjectRCKey><fcid>7</fcid><ClientId>LRemoteClient-0-1367414706</ClientId><InputEventSequence><RCKeyEvent alphabet="l2700" value="13" mode="release"/></InputEventSequence></ltv:InjectRCKey></env:Body></env:Envelope>
HTTP/1.1 200 OK
Date: Wed, 01 May 2013 15:29:11 GMT
Server: Nano HTTPD library
Content-Type: text/xml
Content-Length: 475

<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance" xmlns:xsd="http://www.w3.org/1999/XMLSchema" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"> <SOAP-ENV:Header/> <SOAP-ENV:Body>  <m:InjectRCKeyResponse xmlns:m="urn:loewe.de:RemoteTV:Tablet">  <m:fcid>7</m:fcid><m:ClientId>LRemoteClient-0-1367414706</m:ClientId></m:InjectRCKeyResponse> </SOAP-ENV:Body></SOAP-ENV:Envelope>

CU
9000h
Zuletzt geändert von 9000h am Mi 1. Mai 2013, 17:07, insgesamt 1-mal geändert.

Benutzeravatar
Loewengrube
Moderator
Beiträge: 27079
Registriert: Do 14. Apr 2011, 15:05
Wohnort: Bayern
Hat sich bedankt: Danksagungen
Danksagung erhalten: Danksagungen

#2 

Beitrag von Loewengrube »

Vielleicht den Threadtitel mal anpassen? 'Loewe Assit App' sagt nix :cry:
Loewe Reference 75 UHD mit Chassis SL420 und Software 5.4.6
Surround-Sound mit T+A KC 550 und 4x T+A K-Mini an Loewe Subwoofer 800
Fritz!Box 7530AX, Apple MacBook Pro, AppleTV 4K, iPad Pro, iPhone 14 Pro
Apple HomePod und HomePod mini, Apple AirPods Pro 2
Synology DS414 mit 4x Western Digital Red 3TB

Benutzeravatar
DanielaE
Spezialist
Beiträge: 3503
Registriert: Di 19. Apr 2011, 19:17
Wohnort: Nürnberg
Hat sich bedankt: Danksagungen
Danksagung erhalten: Danksagungen

#3 

Beitrag von DanielaE »

9000h hat geschrieben:so sieht eine SOAP Aktion fuer "Mute" aus, vielleicht kann es jemand brauchen...
Oh - ein Paradebeispiel dafür, warum ich SOAP so liebe :doh:
Eingepackt in vielen, vielen Matrjoschkas befindet sich ganz tief innendrin eingepackt ...
tadaaaa!
... ein RCx Tastendruckereignis.
In dem Fall das Loslassen von Taste 13 (Master Mute/Demute), d.h. das Fernsteuerprotokoll ist noch nicht einmal zustandslos.
Ciao, Dani

Loewe bild 7.55 (SL520+v6.sowas-von.β) an Screen-Wall-Mount 2, UniCAM EVO (4.0, Troja 4.60) mit HD+ HD02,
Yamaha RX-A1060, Pioneer DV-LX50, ShieldTV Pro (2019), FireTV Stick 4K Max, 2xAlcone Pascal XT Front, 1xAlcone Dirac XT Center, 2xAlcone Lagrange XT Rears, 2xSolid Monitore Presence/Height in Konfiguration 5.0.2

PGP:2CCB 3ECB 0954 5CD3 B0DB 6AA0 BA03 56A1 2C46 38C5

C0N4N

Re: Loewe Assist App - SOAP Interface

#4 

Beitrag von C0N4N »

Das ist seriell etwas einfacher :-)

Benutzeravatar
Rudi16
Profi
Beiträge: 1688
Registriert: Di 21. Feb 2012, 13:41
Wohnort: Ilmenau
Hat sich bedankt: Danksagungen
Danksagung erhalten: Danksagungen

#5 

Beitrag von Rudi16 »

Naja, effizent ist das nicht gerade. Aber so ist eben der Standard... Es gibt übrigens Tools, die einem Generierung und Parsen dieses XML-Geraffels ein wenig abnehmen. Hat Loewe zufällig ein WSDL-File dafür veröffentlicht ? Das könnte man einem entsprechenden Codegenerator zum Fraß vorwerfen...
Loewe Connect 40 3D DR+ (8.52.0), UniCAM V2 (Sparta 5.52), Yamaha Aventage RX-A810 / BD-1010, Canton GLE490.2, GLE455.2 und GLE430.2, Nubert AW-441, Fritzbox 4060+4040, iPhone10, Xperia10-II

Benutzeravatar
DanielaE
Spezialist
Beiträge: 3503
Registriert: Di 19. Apr 2011, 19:17
Wohnort: Nürnberg
Hat sich bedankt: Danksagungen
Danksagung erhalten: Danksagungen

#6 

Beitrag von DanielaE »

Rudi16 hat geschrieben:Aber so ist eben der Standard...
Das Schöne an Standards ist, daß es so viele davon gibt :D
Anstatt des fetten SOAP hätte ich eher REST gewählt, aber zum Glück muß ich den Kram nicht implementieren :pfeif:
Ciao, Dani

Loewe bild 7.55 (SL520+v6.sowas-von.β) an Screen-Wall-Mount 2, UniCAM EVO (4.0, Troja 4.60) mit HD+ HD02,
Yamaha RX-A1060, Pioneer DV-LX50, ShieldTV Pro (2019), FireTV Stick 4K Max, 2xAlcone Pascal XT Front, 1xAlcone Dirac XT Center, 2xAlcone Lagrange XT Rears, 2xSolid Monitore Presence/Height in Konfiguration 5.0.2

PGP:2CCB 3ECB 0954 5CD3 B0DB 6AA0 BA03 56A1 2C46 38C5

C0N4N

Re: Loewe Assist App - SOAP Interface

#7 

Beitrag von C0N4N »

Mit welchem Tool fängt man am besten an?

Benutzeravatar
Rudi16
Profi
Beiträge: 1688
Registriert: Di 21. Feb 2012, 13:41
Wohnort: Ilmenau
Hat sich bedankt: Danksagungen
Danksagung erhalten: Danksagungen

#8 

Beitrag von Rudi16 »

Als ich mal in der Verlegenheit war, soetwas zu brauchen, habe ich gSOAP verwendet. Ist allerdings auch nicht ganz trivial und setzt eine vom Anbieter des Dienstes (in diesem Fall also Loewe) gelieferte "Web Service Description" in Form von WSDL- und/oder XSD-Files voraus. Daraus generiert das Tool dann C bzw. C++ Code, so daß man als Programmierer letztlich keine einzige Zeile dieses XML-Geschwafels manuell schreiben muß und gleichzeitig sichergestellt ist, daß es die Gegenseite auch versteht. Für den Fall einer HTTPS-Verbindung unterstützt die zugehörige Runtime sogar das Einbinden von OpenSSL. Aber wie gesagt: So ganz simpel ist das nicht und in manchen Fällen vielleicht auch ein wenig Overkill :us:
Loewe Connect 40 3D DR+ (8.52.0), UniCAM V2 (Sparta 5.52), Yamaha Aventage RX-A810 / BD-1010, Canton GLE490.2, GLE455.2 und GLE430.2, Nubert AW-441, Fritzbox 4060+4040, iPhone10, Xperia10-II

9000h

#9 

Beitrag von 9000h »

Hi,

vielleicht kann ja jemand von Loewe mal was dazu sagen.

- gibt es eine Doku fuer die Steuerung via IP?
- wie geht die Steuerung des TV wenn die RS232 vom TV belegt ist zB. Soundprojector
- wird es ein SDK geben?

CU
9000h

C0N4N

Re: Loewe Assist App - SOAP Interface

#10 

Beitrag von C0N4N »

Woher kommt das obere Beispiel überhaupt ?

alternone

Android App

#11 

Beitrag von alternone »

Hallo zusammen,
ich habe eine gratis Remote für Android entwickelt welche kompatibel ist zu allen aktuellen LOEWE TV Geräten. Nutze genau dieses SOAP Interface dafür aus.
Sie trägt den Titel LOEWENBÄNDIGER REMOTE und ist im PlayStore von Google zu finden.

https://play.google.com/store/apps/deta ... oeweremote" onclick="window.open(this.href);return false;

Viel Spaß damit :)

Bild

alternone

Auslesen

#12 

Beitrag von alternone »

Der obige und weitere Befehle werden über IP im Netzwerk gesendet von der App zum TV. Da das ganze verpackt ist HTTP Post Kommandos kann man diese über einen HTTP Proxy als "Man in the MIddle" abfangen auslesen und dann bei Bedarf nachbilden wie in meiner App. Laut LOEWE werden Entwickler gewünscht und daher ist die Schnittstelle offen gehalten.

9000h

#13 

Beitrag von 9000h »

Hi,

sehr schoen, gibt es auch den source code fuer die app?

CU
9000h

alternone

Android Fernbedienung / Remote für LOEWE TV

#14 

Beitrag von alternone »

Hi

Den Source Code möchte ich nicht herausgeben. Jedoch können wir gern mal dazu schreiben / telefonieren wenn Interesse auf Programmieren besteht. Vielleicht kann man da auch was zusammen machen ;) Aktuell ist es eine 1 Mann Show.

alternone

Android Fernbedienung / Remote für LOEWE TV

#15 

Beitrag von alternone »

Meine Quellen bei Loewe sagen, dass eine API aktuell wohl nicht erscheinen wird, aber Entwickler gern gesehen sind. Die API ist generell recht einfach zu verstehen.

Gibt folgende Kommandos:

- Verbinden (ID abrufen)
- Sende Fernbedienungskommando
- Frage Senderliste ab
- Frage Sender ab
- Schalte auf Sender
- Starte App (zb Browser mit Webseite)
- Frage Aufnahmen ab
- Spiele Aufnahme
- Nimm Sendung auf

Viellleicht nicht vollständig aber so circa schaut es aus.

9000h

#16 

Beitrag von 9000h »

Hi,

ein paar Code Schnipsel waeren nicht schlecht, brauch es fuer Linux(VDR) um die Umschaltung fuer 3D zu realisieren, wenns die API hergibt.

CU
9000h

alternone

#17 

Beitrag von alternone »

Vollzitat gelöscht!

Also Trick ist der SOAP Request. Einfach einen HTTP POST Request bauen. Dann die Header wie alle setzen. dann den XML in den Body und einfach einen platzhalter einbauen als dummy welcher dann je nach ke ersetz wird. sieht dann bei mir so aus:

Code: Alles auswählen

	public void sendRemoteButton(String button, String mode){
		 HttpClient httpclient = new DefaultHttpClient();   
		 HttpResponse response;
		 String text1 = remoteButtonTemplate.replace("PHNUMBER", button);
		 String text2 = text1.replace("PHMODE", mode);
		 String text3 = text2.replace("PHCLIENTID", ClientID);
		 try {
	            HttpPost post = new HttpPost(IP);

	            //add headers
	            post.addHeader("User-Agent", "Assist%20Media/20 CFNetwork/609.1.4 Darwin/13.0.0");
	            post.addHeader("SOAPAction", "InjectRCKey");
	            post.addHeader("Content-Type","application/soap+xml;charset=UTF-8");
	            post.addHeader("Accept-Encoding","gzip, deflate");
	            post.addHeader("Accept","*/*");
	            post.addHeader("Accept-Language","de-de");
	            post.addHeader("Connection","keep-alive");
	            //add body
	            StringEntity se = new StringEntity(text3,HTTP.UTF_8);
	            post.setEntity(se);
	            
	            
				response = httpclient.execute(post);

			    StatusLine statusLine = response.getStatusLine();
			    if(statusLine.getStatusCode() == HttpStatus.SC_OK){
			        ByteArrayOutputStream out = new ByteArrayOutputStream();
			        response.getEntity().writeTo(out);
			        out.close();
			        String responseString = out.toString();
			        Log.d(responseString,"LOGGI");
			        //..more logic
			    } else{
			        //Closes the connection.
			        response.getEntity().getContent().close();
			    }

			} catch (Exception e1) {
				// TODO Auto-generated catch block
				e1.printStackTrace();
			}
			finally{
				
			}
	} 

thica

#18 

Beitrag von thica »

Hallo zusammen,

Sharp scheint in seinen aktuellen TV Modellen die Loewe Firmware zu verwenden. Da ich Entwickler einer universellen Andoid Remote App bin, versuche ich Gerade, das Kommunikations Protokoll zu Integrieren. Im Prinzip funktioniert das auch.

1) Discover: Geht!
2) Logon: Geht!
3) Senden von Befehlen per InjectRCKey: Geht!
.
Was mir fehlt is eigenlich eine komplette Liste der RC Key Nummern und deren Funktionen. Zudem wäre ich an der Syntax zu den anderen Funktionen interessiert:

- Verbinden (ID abrufen)
- Sende Fernbedienungskommando
- Frage Senderliste ab
- Frage Sender ab
- Schalte auf Sender
- Starte App (zb Browser mit Webseite)
- Frage Aufnahmen ab
- Spiele Aufnahme
- Nimm Sendung auf


Gibt es da Dokus zu (oder einen Kontakt bei Loewe)?

Gerne auch per PM

Sharp rückt nämlich nichts raus!

Grüße

Carsten!

Benutzeravatar
Loewengrube
Moderator
Beiträge: 27079
Registriert: Do 14. Apr 2011, 15:05
Wohnort: Bayern
Hat sich bedankt: Danksagungen
Danksagung erhalten: Danksagungen

#19 

Beitrag von Loewengrube »

Nur mal so als Hinweis: Klick.
Loewe Reference 75 UHD mit Chassis SL420 und Software 5.4.6
Surround-Sound mit T+A KC 550 und 4x T+A K-Mini an Loewe Subwoofer 800
Fritz!Box 7530AX, Apple MacBook Pro, AppleTV 4K, iPad Pro, iPhone 14 Pro
Apple HomePod und HomePod mini, Apple AirPods Pro 2
Synology DS414 mit 4x Western Digital Red 3TB

alternone

SOAP Protokoll

#20 

Beitrag von alternone »

Hi interessant :)

Also wir können gern mal telefonieren und über die API sprechen. Habe Android Code für jede Funktionalität und damit eine einfach API. Auch die Liste der InjectRCKey liegt mir vor.

PM an mich bei Interesse.

Gruß Chris

thica

#21 

Beitrag von thica »

Loewengrube hat geschrieben:Nur mal so als Hinweis: Klick.
Hab ich mir angeschaut. Bringt mich leider bei Sharp Geräten nicht weiter.. (Es sei denn, es wäre Open source, dann könnte ich mir die Begehle aus dem Quellcode suchen)

Trotzdem: Danke für den Hinweis

thica

#22 

Beitrag von thica »

alternone hat geschrieben:Hi interessant :)

Also wir können gern mal telefonieren und über die API sprechen. Habe Android Code für jede Funktionalität und damit eine einfach API. Auch die Liste der InjectRCKey liegt mir vor.

PM an mich bei Interesse.

Gruß Chris
Hallo Chris,

PM geht leider nicht, da ich mich erst vor kurzem angemeldet habe.. :sil:

Aber wahrscheinlich kann ich dir antworten, wenn Du mir eine PM schickst..
Und: Interesse ist mehr als vorhanden. Versprech Dir auch, das ich Dich nicht mich Fragen löcher...

Danke für Deinen Support

alternone

#23 

Beitrag von alternone »

Erledigt - PM ist raus an dich.

Wenn Interesse an einer Zusammenarbeit für weitere Programmierer besteht bin ich gern bereit den Code OpenSource zu stellen oder so.

Gruß Chris

Benutzeravatar
macpro
Mitglied
Beiträge: 92
Registriert: Sa 16. Apr 2011, 16:31
Wohnort: Grüßen aus die Niederlande!
Hat sich bedankt: Danksagungen
Danksagung erhalten: Danksagungen

#24 

Beitrag von macpro »

Ist es möglich mit ein SOAP request den aktuellen Programm Name zu bekommen?
(Nicht den Sendername, den habe ich schon.)

alternone

#25 

Beitrag von alternone »

Ich habe eine ähnliche Sache beobachtet aber es noch nicht getestet.

Der TV scheint eine Nachricht an Smartphone/Tablet zu senden wenn der Sender gewechselt wird wo die aktuelle Sendung drin steht. Jedoch kenne ich keine Abfrage von der anderen Seite aus. Vielleicht kann man das aber triggern.

Gruß Chris

Antworten

Zurück zu „Dies und Das“