T-Entertain Mediareceiver steuern?

Begonnen von jhohn, 24 Februar 2013, 12:06:32

Vorheriges Thema - Nächstes Thema

jhohn

Von den T-Labs gibt es ja die Entertain Remote Control App, über die der Mediareceiver von Android/Apple Mobiles gesteuert werden kann.
Hat schon mal jemand versucht herauszufinden wie das funktioniert?
Ich habe die T-Labs mal angeschrieben und nach einer API gefragt aber ob man da je eine Antwort bekommt...?
FHEM auf Synology Diskstation DS413j (DSM4.3), HM LAN Adapter
Steuerung für Nachtspeicheröfen:
Ladung:   HM-WDS10-TH-O, HM-LC-Sw4-DR, Weather-Modul
Gebläse: HM-CC-TC, HM-LC-SW1-FM, HM-Sec-RHS
FHEM auf FritzBox 7390 für Telefon Funktionen

Hausmeister

Hallo,

es ist nun etwas zeit vergangen seit der ursprünglichen Frage bezüglich der Steuerung des T-Home Receivers und ich wollte diese Frage nochmal aufleben lassen.
Evtl. ist ja einer der fleißigen User schon am werkeln ?

Das dürfte für den ein oder anderen sicherlich auch interessant sein ?

MfG
Tim

jhohn

Die T-Labs haben sich jedenfalls nicht zu der Anfrage geäussert
FHEM auf Synology Diskstation DS413j (DSM4.3), HM LAN Adapter
Steuerung für Nachtspeicheröfen:
Ladung:   HM-WDS10-TH-O, HM-LC-Sw4-DR, Weather-Modul
Gebläse: HM-CC-TC, HM-LC-SW1-FM, HM-Sec-RHS
FHEM auf FritzBox 7390 für Telefon Funktionen

henryk

Moin,

vielen Dank für die Information, dass es da auch was gibt! Der Media Receiver fristet bei mir noch so ein bisschen ein Schattendasein weil es fast das letzte Gerät in meinem Mediensetup ist, was eine echte Fernbedienung benötigt und sich nicht mit meinem Handy steuern liess.

Also, ich hab das mal ausprobiert und dabei den Netzwerkverkehr mitgesnifft. Kurzfassung: Sieht schlimm aus. Die Software vom Media Receiver ist ja von Microsoft und das ist alles ein bisschen speziell. Nicht einfach nur Kommandos über TCP, oder gar nur XML über HTTP wie andere Leute es machen würden.

Anmerkung: Felder die ich nicht verstehe habe ich anonymisiert weil ich nicht weiss was darin steht: #### sind Hexdaten, @@@@ ist eine UUID, %%%% sind Binärdaten.

Erstens: wie funktioniert das Einrichten? Der Media Receiver sendet ständig ein UDP-Paket an die Multicast-Adresse 239.255.255.250 port 8082 Größe 599 Byte. Inhalt sind 49 Byte Binärdaten, dann

NOTIFY * HTTP/1.1
x-type: dvr
x-filter: @@@@
x-lastUserActivity: 10/7/2013 4:22:52 PM
x-location: http://192.168.146.101:8080/dvrfs/info.xml
x-device: @@@@
x-debug: http://192.168.146.101:8080

<node count='383078'><activities><schedver dver='3' ver='3543' pendcap='True' /><x/><p15n stamp='####'/><recordver ver='607' verid='0' size='137438953472' free='17045651456' /><x/></activities></node>


Ich würde mal hoffen, dass das ist wie das Handy ihn findet, ich hab sonst nichts passendes auf dem WLAN gesehen bevor das Handy den Media Receiver kontaktiert hat (ausser einer Reverse-DNS-Anfrage, da kannte es aber die IP-Adresse schon). Bzw. was auch noch sein kann, ist dass die beiden über Bande spielen. Ich sehe HTTPS-verschlüsselten Verkehr vom Handy zu fmpp1cms.eons.sfm.t-online.de. Mein Netz war nicht besonders gut für das Experiment aufgebaut (da lief noch was anderes und es ist etwas schwierig das zu trennen). Ggbf. muss ich das nochmal unter Laborbedingungen machen, dann am besten gleich mit HTTPS-MitM.

Erste Übertragung von meinem Handy zum Media Receiver

POST /companion?hash=####&cid=@@@@&seq=00000001 HTTP/1.1
Content-Type: text/plain
Content-Length: 24
User-Agent: Dalvik/1.4.0 (Linux; U; Android 2.3.7; HTC Vision Build/GRI40)
Host: 192.168.146.101:53208
Connection: Keep-Alive
Accept-Encoding: gzip

%%%%


Antwort vom Media Receiver
HTTP/1.1 200 OK
Connection: close
Cache-Control: no-cache
Access-Control-Expose-Headers: x-mediaroom-companion-signature, Content-Encoding
x-mediaroom-companion-signature: ####
Date: Mon, 07 Oct 2013 17:14:07 GMT
Content-Type: text/xml; charset=utf-8
Content-Encoding: x-mediaroom-companion-encoding
Content-Length: 336

%%%%


Wir lernen: Die Software heisst offenbar "MediaRoom" (gibt ein paar Treffer in Google dass das ein Microsoft-Produkt ist) und es ist alles ganz schlimmer Binärkram mit Custom Encoding (im besten Fall kann das XML in gzip sein, muss ich nochmal analysieren) und riecht, als ob sie da MACs oder zumindest Hashes machen. Die Software auf dem Handy heisst in deren Terminologie wohl "Companion".

Ich vermute mal, mit Analyse nur des Netzwerkverkehrs macht man sich keine Freude, in die Android-Applikation reingucken wäre vermutlich auch hilfreich. Und im schlimmsten Fall sind da kryptograpische Geheimnisse beteiligt. Die weiteren Transaktionen zwischen Handy und Media Receiver scheinen immer ein HTTP-POST/Response-Paar per TCP-Verbindung zu sein. Alles unlesbarer Binärkram.

--
Henryk Plötz
Grüße aus Berlin

xi23

Ich glaube die Handy-App spricht mit einem Server von T-Online, der wiederum dann die Verbindung zum Endgerät aufnimmt. Wahrscheinlich ist es einfacher diese Kommunikation zu analysieren anstatt zu versuchen die vom Server zum Gerät zu untersuchen.

Es gab zumindest mal ein Web-Frontend von T-Online selbst, vielleicht kann man das leichter per Code nachstellen.

Sind nur erste Ideen :)

dogexan

Hallo,

gibt es mittlerweile was neues von dem Unterfangen?

Gruß Alex

pix

Hallo,

bin neu hier und eigentlich im ioBroker- bzw. Homematic-Forum unterwegs. Gibt es mittlerweile einen neuen Ansatz für die Lösung des Problems? Mir geht es eigentlich auch nur um das Ein/Ausschalten des MR303 via LAN. Zumindest die Abfrage der XML-Datei http://ipreceiver:8080/dvrfs/info.xml wäre schön, damit mein System weiss, ob das Gerät eingeschaltet ist. Leider hat mich Wireshark bisher auch nicht weitergebracht.

Viele Grüße,
Pix

sbiermann

Hi,
ich hab einen etwas abgefahrenen Ansatz der funktionieren könnte. Mein Ansatz wäre die Java Klassen bzw. das Jar-File aus der Telekom App zu verwenden um mit dem Receiver zu sprechen. Soweit ich mir die Klassen und deren Aufbau bzw. Zusammenspiel angeschaut habe sollte das möglich sein, auch ohne das man ein Handy oder Emulator für ein Handy benutzt. Voraussetzung wäre halt das irgendwo der Java Prozess läuft. Idealerweise strickt man dann noch ein REST-Interface außen drum rum und kann dann ein FHEM Modul schreiben welches mit dem REST-Interface spricht. Die Java Klassen in Perl nach zu programmieren und direkt in FHEM verwenden wird schwierig bis unmöglich, da dort sehr viel Magic mit Verschlüsselung und Signierung der Daten gemacht wird, zum größten Teil mit eigenen Implementierungen und keine Standards die aus dem JDK kommen. Mir fehlen allerdings die PERL Kenntnisse um das wirklich abschließend beurteilen zu können.
Das einzige Problem ist, ich hab im Moment keine Zeit meinen Ansatz aus zu probieren.

Viele Grüße
Stefan

Thorsten Pferdekaemper

Hi,
vielleicht noch eine kleine Information (oder vielleicht auch nur ein Geruecht) zu dem Thema: Ich habe mich vor ein paar Monaten mal durch einige Levels des Telekom-Supports gekaempft, weil ich oft Probleme mit dem Webradio ueber T-Entertain habe. Ein anscheinend einigermassen informierter Kollege hat mir gesagt, dass momentan das ganze System fuer die Mediareceiver auf Linux umgebaut wird. Ich habe keine Ahnung, ob das wirklich alle Modelle betrifft, aber ich kann mir vorstellen, dass sich dadurch auch die Kommunikation mit den Teilen aendert. Natuerlich kann es auch sein, dass das nicht der Fall ist.
Gruss,
    Thorsten
FUIP

volschin

Das ist kein Gerücht. Es wurde bereits offiziell auf einem Treffen für institutionelle Anleger im Frühjahr mitgeteilt. Derzeit läuft unter NDA dafür ein Betatest.


Sent from my iPhone using Tapatalk
Intel NUC+Ubuntu 22.04+Docker+FHEM6
HomeMatic: HM-MOD-RPI-PCB+HM-USB-CFG2+hmland+diverse, HUE: Hue-Bridge, RaspBee+deCONZ+diverse
Amzn Dash-Buttons, Siro Rollos
4xRPi, 4xCO20, OWL+USB, HarmonyHub, FRITZ!Box 7590, Echo Dots+Show8, Logi Circle 2, HomeBridge
TIG Stack (Telegraf, InfluxDB, Grafana)

mheers


Thorsten Pferdekaemper

Zitat von: mheers am 02 Februar 2016, 09:53:12
Ich habe eine Lösung entwickelt: siehe https://github.com/mheers/entertain-remote
Hi,
ich würde das noch nicht wirklich eine Lösung nennen, aber es ist schonmal ein guter Anfang. Ich werde das wahrscheinlich noch nicht so schnell ausprobieren, aber ich habe zwei Fragen:
Zitat
1.root your Android-device
Warum ist das notendig? Welcher Schritt geht sonst nicht?

Zitat
7.run it with "java -cp classes-dex2jar.jar:./ MediaReceiverRemote command poweron" and your receiver should start
Ich nehme mal an, dass Du das von einem Windows-PC aus gemacht hast, oder? ...oder muss das dann auch auf einem Android-Gerät laufen?

Gruß,
   Thorsten
FUIP

mheers

Zitat von: Thorsten Pferdekaemper am 02 Februar 2016, 14:36:03
Warum ist das notendig? Welcher Schritt geht sonst nicht?
Siehe Schritte 3 bis 5. Diese sind ohne root nicht möglich, da der Zugriff darauf gesperrt ist.

Zitat von: Thorsten Pferdekaemper am 02 Februar 2016, 14:36:03
Ich nehme mal an, dass Du das von einem Windows-PC aus gemacht hast, oder? ...oder muss das dann auch auf einem Android-Gerät laufen?
Habe das auf einem Linux-PC entwickelt und getestet. Die Software läuft auf meinem Raspberry Pi 2 sehr gut. Sollte aber überall laufen, wo Java installiert ist.

rumors

Linux als OS wäre zwar sehr cool aber ich denke das wird nur den neueren Modellen vorbehalten sein.
Man kann bei defekt der HDD diese ja tauschen .... die wird dann wieder formatiert und danach geht der Receiver wieder.

Ich hab noch keine Info's ob der komplette Betrieb aus dem ROM läuft und die Platte nur für Aufnahmen und timeshift da ist, aber ein remote komplett update mit neuem OS kann ich mir seitens der Telekom schwer vorstellen

Wuppi68

wer kann mir die Entertain Java Klassen zur Verfügung stellen?

auf dem OSX kriege ich auf die schnelle den dex2jar nicht zum fliegen :-(
Jetzt auf nem I3 und primär Homematic - kein Support für cfg Editierer

Support heißt nicht wenn die Frau zu Ihrem Mann sagt: Geh mal bitte zum Frauenarzt, ich habe Bauchschmerzen