MagentaTV

Begonnen von RalfP, 31 Januar 2021, 16:21:29

Vorheriges Thema - Nächstes Thema

RalfP

## MagentaTV Version 1.1.3 #################################################################

Neue ClienID für das Login notwendig gewesen.

## MagentaTV Version 1.1.2 Beta ##############################################################

Es baut auf den Erfahrungen des EntertainTV Modules auf. MagenaTV nutzt jetzt einen vollwertigen Zugang zu eurem Telekom Account.
Das bedeutet, das das Modul jetzt einen eurer, 5 möglichen, Clients benutzt. Der Vorteil ist, das jetzt aktuelle Programinformationen angezeigt werden können, wie auch die Senderlisten denen entsprechen, wie auf euren Receivern.

Das Ganze ist natürlich noch an mancher Stelle evtl. nicht ganz stabil, deshalb auch noch als Beta bezeichnet. Ich übernehme keinerlei Gewähr. Auch scheint MagentaTV immer mal wieder Änderungen im Login zu etablieren, was natürlich zu Anpassungen führt, sofern die Änderungen nachvollziehbar sind und ich sie implementieren kann.

Getestet hab ich es mit einem MR401 und MR400.

Bitte nicht MagentaTV und EntertainTV auf dem gleichen Rechner benutzen. Das klappt nach meiner Erfahrung nicht, betreffs der Callbacks beim Upnp.

Schaut vor allem mal bitte auf das Langzeitverhalten.

Das Modul ist auf meinem Webaccount verfügbar und lässt sich wie folgt einbinden:
update all https://www.rp-dev.de/fhem/magentatv/controls_magentatv.txt
oder
update add https://www.rp-dev.de/fhem/magentatv/controls_magentatv.txt

define <name> MagentaTV username password

username und password sind die eures gültigen Telekom Accounts

viel Spaß
Ralf

gotmoon

Hi,
bin vom EntertainTV Modul auf das MagentaTV Modul umgestiegen, seit dem ich die neuen Magenta TV Boxen im Einsatz habe.

Folgendes Bild:
Erstmalig einloggen ging, aber leider nicht sehr lange.
Er hat alle Geräte gefunden. Ich finde die Anzeige mit den Bildchen etwas überdimensioniert, aber ist nicht schlimm. Vielleicht kann man das ja irgendwie ausschalten?

Mittlerweile ist mein Log voll mit folgenden Daten:
"2021.04.07 05:35:33 3: MagentaTV: <Read> Socked UPnPSocket_MagentaTV_1900 - handleOnce failed: Use of uninitialized value in concatenation (.) or string
2021.04.07 05:35:33 3: RECEIVER_AC6FBB9B3EAC: current status during the Upnp search response - standby"

Ich habe die Magenta TV Box und die Magenta TV Box Play, dazu 2x MR201 im Einsatz

Der Status des Moduls ist "Connection failed, retries to get new credentials in 5min"

Wenn ich ein Refresh der Credentials mache, scheint er aber nicht ins Internet zu greifen. Jedenfalls meldet mein DNS (pi-Hole) keine Anfrage.

Gruß

RalfP

Hallo,

ja, das Selbige ist auch bei mir. Leider hat die Telekom nun auch den zweiten Loginweg abgeschaltet. Hatte Anfang des Jahres schon mal reagieren müssen, hatte aber noch eine Möglichkeit gefunden. Nun bin ich etwas aufgeschmissen.

Setze vorerst im ACCOUNT Attr retryConnection = 0, damit wird erstmal nicht aller 5min wieder ein Login versucht. Die andere Meldung mit dem MagentaTV: <Read> Socked UPnPSocket_MagentaTV_1900 - handleOnce failed habe ich mit einem Neustart der Fheminstanz und einem Neustart des Receivers vorerst beruhigen können. Was aber die Funktion nicht gänzlich wieder herstellt.

Ich bin derzeitig beruflich stark eingebunden, so das eine Lösung leider noch dauern könnte.

Bin am überlegen, ob ich evtl. nur eine sehr lokale Anwendung baue, wo die UserId über Umwege beschafft werden muss.

Tut mir leid, das ich dies hier mitteilen muss. Meine Frau schimpft auch schon, das sie den Receiver und Fernseher nicht mehr per Siri abends ausschalten kann. Damit habe ich aber mindestens einen Anreiz hier weiter zu machen.

Grüße
Ralf

aski71

Ich kriege hier neuerdings den Log zugekleistert mit:

2021.04.08 19:54:51 1: MagentaTV: error while HTTP requesting URL:https://accounts.login.idm.telekom.com/oauth2/tokens - Bad Request 401

Ist das die gleiche Ursache?

RalfP

ja, leider.

Ich bekomme seit einiger Zeit ein Bad Request 401 auf die Token Abfrage (Login). Die ClientID wird abgelehnt. Bis jetzt hatte sie funktioniert. Eine andere, die jetzt in der WebAnwendung verwendet wird, funktioniert leider nicht. Wie ihr evtl. bemerkt habt, hat sich ja auch dort das Login verändert.
Leider wird es wieder viel Analysen und Zeitaufwand bedeuten, hier einen gangbaren Weg zu finden.

Gruß
Ralf

RalfP

Hallo,

ihr könnt auf 1.1.3 updaten. Habe eine neue ClientId gefunden. HTTP Catcher sei Dank. Läuft bei mir jetzt >2h. Meldet Euch, wenn etwas ungewöhnliches passiert.

Meine Frau freut sich wieder  ;)

Gruß
Ralf

berniie

Hallo Ralf,
ich bekomme egal welchen Button ich drücke folgende Fehlermeldung
2021.04.10 19:09:29.400 1: RECEIVER_AC6FBB4F28F1: URL:http://192.168.207.219:8081/upnp/service/X-CTC_RemoteControl/Control
SOAP request returned: 400 Bad Request
2021.04.10 19:09:29.400 1: RECEIVER_AC6FBB4F28F1: SendKey - wrong code


Der receiver ist ein mr401.


LG Jörg

RalfP

...könnte sein, das das Pairing nicht stimmt. Mache deinen Receiver mal stromlos, warte ein paar Sekunden und schalt ihn wieder ein. Warte dann mal geduldig und schau was das pairing sagt.

Gruß
Ralf

berniie

Im log mit verbose sieht das so aus

Body:<u:X_CTC_RemoteKey xmlns:u="urn:schemas-upnp-org:service:X-CTC_RemoteControl:1"><InstanceID>0</InstanceID><KeyCode>keyCode=0x0111^1234567890123456789012:^userID:1234567890123456789012</KeyCode></u:X_CTC_RemoteKey>

Im Netz hab ich das gefunden
<KeyCode>keyCode=$keyCode^$pairingDeviceID:$verificationCode^userID:$userID</KeyCode>
Sieht für mich so aus, als ob da der verificationCode fehlt.

berniie

Danke für den Hinweis.

Das  pairing reading ist im state  initializing

berniie

Das userID reading im MagentaTV Account hat einen anderen Wert als im pairing request.

2021.04.10 19:33:32.919 5: RECEIVER_AC6FBB4F28F1: <pairingRequest> URL:http://192.168.207.219:8081/upnp/service/X-CTC_RemotePairing/Control
Action:"urn:schemas-upnp-org:service:X-CTC_RemotePairing:1#X-pairingRequest"
Body:<u:X-pairingRequest xmlns:u="urn:schemas-upnp-org:service:X-CTC_RemotePairing:1">
<pairingDeviceID>12345678901234567890123456789012</pairingDeviceID>
<friendlyName>PAD:Fhem</friendlyName>
<userID>12345678901234567890123456789012</userID>
</u:X-pairingRequest>


Könnte das das Problem sein?

berniie

Jetzt läuft es. Hab fhem ein paar Mal neu gestartet.
Danke für das Modul.

LG Jörg

halloaber

Hi Ralf,
danke für das Modul.
Ich habe noch Schwierigkeiten, bei dem neuen Modul Channels zu schalten.
Weder der 401 noch der 201. Er schaltet nicht wenn ich mit set channel xx einen Befehl absetze. UP/Down funktioniert.
Gibt es einen Tip von Dir?
Viele Grüße, Rainer

RalfP

Hallo Rainer,

ich bin gerade dienstlich unterwegs und kann aus der Ferne nur meinen MR400 testen. Müsste aber vergleichbar sein and dieser Stelle. Ich denke du willst den Befehle irgendwo benutzen oder oben in der Eingabezeile. Probier bitte mal das channel groß zu schreiben - Channel z.B. set RECEIVER_AC6FBB233860 Channel 11.

Hab es leider so programmiert. Kann ja später mal noch ne Wandlung machen.

Grüße
Ralf

halloaber

#14
Hallo Ralf,
Dienstreise? in dieser Zeit ;-)
Ich habe es bereits mit allen Schreibweisen probiert. Kein Erfolg (set RECEIVER_AC6FBB7209DF Channel x)
In. der Vergangenheit war es problemlos möglich (altes Modul) bin mir aber auch nicht sicher, ob es seit dem letzten Update (Magenta) noch funktionierte.
Ich nutze den Set Befehl, um beim einschalten des TV zeitgesteuert das passendere Prog. bei entertain zu wählen.
Viele Grüße, Rainer

UPDATE:
als Workaround ist es möglich über SendKey x den entsprechenden Programmplatz zu wählen.
Bei 2stelligen Zahlen muss SendKey 2x direkt hintereinander ausgeführt werden.
set RECEIVER_AC6FBB7209DF SendKey 1;  set RECEIVER_AC6FBB7209DF SendKey 1; für Prog 11.
Viele Grüße, Rainer

RalfP

Hallo Rainer,

du hast Recht. Habe soeben meine Frau zu Hause geärgert  ;)
Der Senderwechsel in dieser Art klappt beim MR401 derzeitig nicht. Beim MR400 scheint es ja noch zu funktionieren.

Der Senderwechsel basierte auf dem Transport Service per Upnp, nicht wie alle anderen Tasten eine Fernbedienung über der Remote Service. Hier scheint sich etwas geändert zu haben. Das muss ich mir zu Hause anschauen und Einiges Sniffen.
Zum Glück gibt es ja noch die Funktion im EPG der MagentaTV App, wo man ein Program mit "Zum TV" auf den Receiver / Fernseher bringen kann.

Hab bitte etwas Geduld. Bin gespannt, was jetzt geändert wurde.

PS: Dein vorgeschlagener Weg die Tasten separat zu senden, war auch meine erste Variante. Die hatte aber die Einschränkung, das es nur mit 1 und 2 stelligen Nummern klappte, ab der dritten gab es Problem. Darum war ich happy über die jetzige Methode, die leider nun nicht mehr funktioniert.

Grüße
Ralf

halloaber

Hi Ralf,
hab gerade keinen Proxy laufen, sonst hätte ich selbst mal schauen können.
bin mal gespannt was bei Dir raus kommt.
Viele Grüße, Rainer

RalfP

Hallo,

...leider nichts Gutes. Die Verbindung der App (Remote) zum Receiver (MR401) wird wohl nicht mehr per Upnp gemacht. Wir haben wohl derzeitig Glück, das zumindest noch die Fernbedienungsbefehle angenommen werden. Derzeitig ist eine sogenannte "Smarte Steuerung" etabliert, die die Fernsteuerung von Mobilgeräten, wie auch Smartspeaker ermöglichen soll. Diese Kommunikation scheint aber nicht über HTTP / HTTPS zu laufen und mit hoher Wahrscheinlichkeit auch nicht direkt zwischen den Geräten, sondern über die Telekomserver. Ich kann  leider nichts Lesbares derzeitig aufzeichnen, was mir weiterhilft.

Wenn jemand hier unterstützen kann, wär ich froh. Ich versuche dran zu bleiben.

Grüße
Ralf 

halloaber

Hallo Ralf,
ich habe mich da auch noch mal etwas schlau gemacht. Ja es geht nichts mehr ohne Backend! Zum Glück gibt es ja noch eine Fernbedienung. Somit könnte man ja per IR Steuern :-)
Ich versuche hier mal noch etwas mehr i.E. zu bringen. Die APP geht ja schließlich auch und hat auch nur ein login.
Viele Grüße, Rainer

RalfP

Hallo,

ich denke, ich weiß jetzt, wie die Kommunikation der Fernbedienung gemacht ist - MQTT

??? leider habe ich damit noch keine Erfahrung, werd aber schauen was sich da machen läßt.

Grüße
Ralf

aski71

Hi,

ich stelle gerade fest, dass bei mir die Programmumschaltung mittels set Channel oder set ChannelName nicht mehr funktioniert.
Woran kann das liegen?

Danke,
Alex

gotmoon

Musste heute morgen leider das Modul komplett deaktivieren. Mein gesamtes FHEM System hat gelahmt. Hatte erst ein paar andere Module in Verdacht, da dort die meisten Fehler im Log standen (deConz, km200, RaspberryMatic), aber erst mit Abschalten (delete) des MagentaTV Moduls war Fhem gewohnt schnell.

Fehlermeldung im Log:

MagentaTV: <Read> Socket UPnPSocket_MagentaTV_1900 - handleOnce failed: Loading device descriptopm failed with error: 500 Can't connect to 192.168.99.68:8081 (Connection timed out) (Location: http://192.168.99.68:8081/xml/dial.xml)

Vielleicht zum Hintergrund: Ich habe 3x MagentaTV Box, 3x MagentaTVBox Play, 2x MR 201 im Einsatz
Das betroffene Gerät hier ist eine MagentaTV Box Play

Es ist zusätzlich zu vermuten, dass die Telekom ein Software-Update eingespielt hat. Hatte gestern größere Probleme mit den neuen TV Boxen, die sich nach dem Abschalten nicht mehr anschalten ließen. Ich habe zusammen mit der Hotline alle Geräte ein Firmwareupdate machen lassen. Seit dem funktionieren die Boxen wieder.  Der zeitliche Zusammenhang ist verdächtig, aber ob das wirklich der Grund ist kann ich nicht sagen. Das Modul bleibt bei mir vorerst aus  :(

aski71

Zitat von: aski71 am 20 April 2021, 20:30:52
Hi,

ich stelle gerade fest, dass bei mir die Programmumschaltung mittels set Channel oder set ChannelName nicht mehr funktioniert.
Woran kann das liegen?

Danke,
Alex

Gibt's dazu was Neues?
Es ist schade, dass man die Programme nicht mehr umschalten kann.

halloaber

versuch es mal mit:
set RECEIVER_AC6xxxxx SendKey 1; sleep 3.5; set RECEIVER_AC6xxxx SendKey 5
für Prog. 15.
Sendkey muss einstellig sein.
ich hoffe es hilft.

Viele Grüße

aski71

Zitat von: halloaber am 05 Februar 2022, 19:01:47
versuch es mal mit:
set RECEIVER_AC6xxxxx SendKey 1; sleep 3.5; set RECEIVER_AC6xxxx SendKey 5
für Prog. 15.
Sendkey muss einstellig sein.
ich hoffe es hilft.

Viele Grüße

Danke für den Tipp. Werde ich probieren. Allerdings fand ich die Klarnamenschaltung besser. Wenn sich mal die Nummerieriung ändert, ist "arte" halt immer "arte".

Aber ... 3,5 Sekunden Zeitdifferenz für zwei Tastendrücke? Ist das das kürzestes, was möglich ist?!

halloaber

ja, der Klarname ist besser.
Die Telekom hat hier ihr Verhalten geändert. Anfragen laufen jetzt durch die Cloud um eine Steuerung über Alex... und Apple machen zu können.
Du kannst die 3,5 auch verkürzen. Bei mir geht es damit gut.
viele Grüße

aski71

Ich hab das jetzt mal probiert mit SendKey.
Mein Problem ist jetzt, dass ich über ein readingsProxy per setFN scheinbar nur 1 Kommando schicken kann.
Also geht's leider wieder nicht.  8)
Oder hat jemand eine Lösung, wie man SendKey - Sleep - SendKey per setFN umsetzen kann?!

RalfP

Hallo,

die zugrunde liegende Funktion übermittelt immer nur ein Zeichen, wie auch bei einer IF Fernbedienung. Ich hatte anfänglich mal eine Funktion integriert, die eine Folge von Befehlen in einem String auseinander nahm und einzeln schickte. Das hat nur für die ersten beiden Befehle halbwegs sicher funktioniert. Egal welche Verzögerung ich benutzte. Es war nicht möglich eine stabile Folge hinzubekommen, somit hatte ich diese Funktion auch wieder entfernt.

Leide habe ich bisher aber auch keine Möglichkeit gefunden, die neue Übermittlung für einen Kanalwechsel zu analysieren. Meine Vermutung ist ja MQTT und alles verschlüsselt.

Grüße
Ralf

halloaber

verschlüsseltes MQTT bedeutet natürlich,
dass der Schlüssel in der TV APP auf dem Handy liegen muss, da hier der Prog. Wechsel möglich ist.
Ich vermute, dass der überall gleich ist.

RalfP

Ja & Nein. Meine einzige Quelle ist derzeitig ein rückübersetztes Android APK. Das klappt aber natürlich nicht zu 100%. Evtl. wird ja auch etwas per Token ausgehandelt. Irgendwo spielt auch die Sprachsteuerung eine Rolle. Es ist nicht einfach, vor allem sehr zeitaufwendig.

Zumindest ist es nicht mehr so einfach wie vorher, wo man vieles im Netzwerk sehen konnte.

halloaber

beim Rückübersetzen bin ich bei Dir.
Doch ich glaube nicht an den Token, dies würden es bei der Vielzahl der gleichzeitigen Nutzer wirtschaftlich sinnvoll machen, zudem der Inhalt des MQTT nicht einer besonderen Schutzklasse zugeordnet sein wird.
Das ist bestimmt einfacher gelöst.

zap

Mit den Modulen AndroidDB und AndroidDBHost kann man zumindest die Android Devices der Telekom (MagentaTV Stick und MagentaTV One) steuern. Das Senden von Kommandos nutzt die ADB Schnittstelle von Android.
2xCCU3, Fenster, Rollläden, Themostate, Stromzähler, Steckdosen ...)
Entwicklung: FHEM auf AMD NUC (Ubuntu)
Produktiv inzwischen auf Home Assistant gewechselt.
Maintainer: FULLY, Meteohub, HMCCU, AndroidDB

SamNitro

Hey hat noch jemand Probleme mit der Verbindung zu MagentaTV?

Connection failed, retries to get new credentials in 5min

Besteht seit 1-2 Tage
(Intel-Nuc Proxmox) (Homematic) (EnOcean) (CUL868) (CUL433) (Zigbee2MQTT) (ESP8266) (Echo) (DUOFERN)

SamNitro

Hey habe jetzt eine Magenta TV One Box bekommen, hat die schon jemand eingebunden?
Sie wird leider nicht als Receiver erkannt.
Oder geht da was über Android?
(Intel-Nuc Proxmox) (Homematic) (EnOcean) (CUL868) (CUL433) (Zigbee2MQTT) (ESP8266) (Echo) (DUOFERN)

Rewe2000

Hallo SamNitro,

bist du da mit deiner MagentaTV One Box schon weitergekommen?
Ich wollte auch diese Box aus der Ferne bedienen und würde mich über eure Erfahrungen mit dieser Hardware freuen.
Zu meinem Problem habe ich einen eigenen Beitrag dazu geöffnet: https://forum.fhem.de/index.php?topic=134592.0

Gruß Reinhard
Fhem 6.3 auf Raspberry Pi4 SSD mit Raspbian Bookworm, Homematic, Homematic IP, CCU3 mit RapberryMatic, WAGO 750-880, E3DC S10E Hauskraftwerk, E3DC Wallbox, my-PV AC ELWA-E Heizstab, Fritz!Box 7590, KIA Bluelinky