EntertainTV - Modul zum steuern eines MR400

Begonnen von RalfP, 09 Juni 2019, 21:39:17

Vorheriges Thema - Nächstes Thema

RalfP

Hallo,

vielen Dank für euer Feedback. Habe ein kleines Update veröffentlicht - siehe 1. Beitrag.

Gruß
Ralf


Plextor

Hallo Ralf,

könntest du bei Gelegenheit noch den MR601 (das ist der Satellitenreceiver der Telekom) mit einfügen?

my %modelName = ( "dmr_tpb" => "MR400",
                  "MR401B_ACN"  => "MR401",
                  "MR601SAT_ACN"  => "MR601",
                  "MR201_ACN"  =>  "MR201"
                );


Das ist getestet und funktioniert hier ohne Probleme...

Gruß

halloaber

#62
https://forum.fhem.de/index.php/topic,39706.msg1018686.html#msg1018686
Hallo zusammen,
ist es möglich bzw. hat schon jemand von euch beobachtet, das es ein Problem (Konflikt) zwischen dem dlnaRenderer und dem Entertain Modul gibt.
Viele Grüße, Rainer

RalfP

Hallo,

den MR601 habe ich hinzugefügt => Version 1.0.0.4

Vielen Dank an Plextor

Gruß Ralf

RalfP

Hallo halloaber,

Ein Problem mit dlnaRenderer kann ich nicht bestätigen, da ich dieses nicht nutze, kann mir aber vorstellen, das sich da etwas beeinflussen kann. Beide Module nutzen die selbe Upnp Grundlage von Fhem. Ich würde nicht sagen wollen, das dies die Ursache wäre, sondern eher ein Portkonflikt auf dem selben Rechner.

Ich habe selbst schlechte Erfahrung gemacht mit meinem EntertainTV Modul, genutzt in zwei unterschiedlichen Fheminstanzen auf dem selben Rechner. Die Portkonstellation müsste man sich nochmals genauesten anschauen.

Ports die benutzt werden:
8085 => Subscrition Port für die UPnP Services, welche der Controlpoint anlegt. Würde sich auch über Attr subscritionPort ändern lassen.
1900 => Der UPnP-Check sendet eine sogenannte Discovery Anfrage über diesen Port.

Gruß Ralf

halloaber

Hallo Ralf,
ja, ich bin mir noch nicht ganz sicher, wo hier das Problem ist.
020.02.03 11:03:07 5: UPnPSocket_Entertain401_1900: <Read> received ssdp event needed to get information about removed or added devices,
2020.02.03 11:03:06 5: UPnPSocket_Entertain401_1900: <Read> received ssdp event needed to get information about removed or added devices,
2020.02.03 11:03:06 5: UPnPSocket_Entertain401_1900: <Read> received ssdp event needed to get information about removed or added devices,
2020.02.03 11:03:06 5: UPnPSocket_Entertain401_1900: <Read> received ssdp event needed to get information about removed or added devices,
2020.02.03 11:03:06 5: UPnPSocket_Entertain401_1900: <Read> received ssdp event needed to get information about removed or added devices,
2020.02.03 11:03:06 5: UPnPSocket_Entertain401_1900: <Read> received ssdp event needed to get information about removed or added devices,
2020.02.03 11:03:06 5: UPnPSocket_Entertain401_1900: <Read> received ssdp event needed to get information about removed or added devices,
2020.02.03 11:03:06 5: UPnPSocket_Entertain401_1900: <Read> received ssdp event needed to get information about removed or added devices,
2020.02.03 11:03:06 5: UPnPSocket_Entertain401_1900: <Read> received ssdp event needed to get information about removed or added devices,
2020.02.03 11:03:06 5: UPnPSocket_Entertain401_1900: <Read> received ssdp event needed to get information about removed or added devices,
2020.02.03 11:03:06 5: UPnPSocket_Entertain401_1900: <Read> received ssdp event needed to get information about removed or added devices,
2020.02.03 11:03:06 5: UPnPSocket_Entertain401_1900: <Read> received ssdp event needed to get information about removed or added devices,
2020.02.03 11:03:05 5: UPnPSocket_Entertain401_1900: <Read> received ssdp event needed to get information about removed or added devices,


Ich vermute, das die 78_Entertain den Socket sich exklusiv sichert, sodass kein anderer mehr Nachrichten empfangen oder senden kann.
Den Port 8085 hatte ich bereits ohne Erfolg geändert.
Viele Grüße, Rainer


RalfP

Hallo Rainer,

du hast evtl. global verbose auf 5 stehen. Damit bekommst du alles gemeldet, wenn etwas auf Port 1900 (in diesem Falle Multicast) reinkommt. Schau mal ab Zeile 329 im Code.

Was funktioniert denn eigentlich nicht? Geht das EntertainTV Modul nicht oder der dlnaRenderer nicht mehr?

PS: Bei mir läuft auch Sonos parallel auf der selben Maschine. Dies benutzt die selben Grundlagen von Upnp in Fhem.

Gruß Ralf

halloaber

Hallo Ralf,
ja, das war Verbose 5.
Das Modul läuft soweit gut.
Ich nutze: DLNA Modul, SamsungTV und dem Entertain Modul.
Was nicht geht:
Sobald das Entertain Modul geladen kann ich nicht mehr auf den SamsungTV Streamen.
Viele Grüße, Rainer

RalfP

Hallo Rainer,

ja, Upnp ist nicht so ganz trivial  ;)

Probiere mal in den einzelnen Modulen mit Attr ignoredIPs bzw. Art usedonlyIPs zu experimentieren. Du musst aber jedesmal Fhem neu starten. Ich kann es leider bei mir nicht nachstellen. Ich hoffe wir haben Erfolg damit. Im Prinzip habe ich den Aufbau des dlnaRenerers.pm betreffs Upnp-Grundlagen in meinem Modul nachgebaut.

Gruß Ralf

halloaber

Hallo Ralf,
das mit den verschiedenen zusätzlichen Attr hatte ich bereits im Vorfeld bei den Modulen durchgespielt.
Sie tun Wass sie sollen, aber es behebt nicht das Problem.
Z.Zt. behelfe ich mir mit einer 2. Instanz von Fhem auf einem 2. Rechner und einer Fhem2Fhem Kopplung. Nicht schön, aber so geht es erst einmal.
Verbose 5:
hier scheint in deinem Modul etwas anders zu sein als beim DLNA. Das DLNA Modul bleibt im Verb5 recht ruhig.
Viele Grüße, Rainer

RalfP

Hallo Rainer,

Ja, im Gegensatz zum dlnaRenderer habe ich im Read ein wenig mehr eingebracht fürs Logging, deshalb auch mehr Ausschrift bei global verbose 5.

Ich habe mir das Ganze nochmals angeschaut und ein wenig gesnifft. Ich lerne ja auch immer ein wenig mehr über Upnp. Man muss nur auch die Zeit dafür haben   :-\
In meiner Konstellation, das ich auf einem Pi (selbe IP) mein Modul in zwei Fhem Instanzen laufen lassen möchte (nur zum Test), geht das Eventing schief. Der ControlPoint scheint das Abonnement noch ordentlich zu senden, die Events kommen aber auf den zu erst definierten Port an. Der zweite definierte Port wird einfach nicht bedient. So als ob der Client (MR401) nur ein Eventing pro IP sich merkt. Die Konstellation mit zwei unterschiedlichen IP's (zwei Pi's) klappt wieder. Der Client schickt an beide IP:Port die Events raus, welche dann verarbeitet werden können.
Dies ist schon sehr tief im Upnp Protokoll. Ich habe bisher leider noch keine Spec betreffs diesem Verhalten finden können. Wenn jemand mich hierzu mal aufklären könnte, würde ich mich sehr freuen.

Auf Grund diesem Verhaltens, wo sich zwei ControlPoints in die Quere kommen, könnte ich mir vorstellen, das auch deine Konstellation damit ein Problem hatte.

Ich bin mir derzeitig nicht sicher, wo ich da ansetzen muss. Wenn das eher ein Client Problem ist, bin ich dann aber sowieso aussen vor.

Solange aber nur einmal das Modul läuft pro IP, scheint ja das Upnp sich gut zu finden. Mehrer Module gleichzeitig auf einer IP laufen zu lassen, ist eher etwas für Tester. Somit sollte es vorerst nicht große Probleme geben. Über Hinweise und Feedbacks  würde ich aber sehr freuen.

Gruß Ralf

halloaber

Hallo Ralf,
da es bei mir jetzt in einer 2. Instanz läuft, bin ich erst einmal entspannt.  8)
Meine Vermutung ist allerdings, dass das Entertain Modul die Verbindung nicht sauber wieder trennt. Das mit dem Multicast ist doch nur um aus dem x.x.x.255 zu erfahren, wer im Netz was anbietet bzw. was kann.
Danach läuft doch die Kommunikation direkt zum Device über die Unicast IP Adresse.

Viele Grüße, Rainer

halloaber

Hallo zusammen,
seit ein paar tagen habe ich ohne ersichtliche Änderungen das Problem, das kein Login mehr erfolgreich ist. Ein Login ins Kundencenter per Web ist OK.
Auch die App auf dem Handy ist OK.

Im Modul 78_Entertain - State: login failed

Hieraus resultier, dass die Receiver auch nicht mehr ins pairing kommen.

Hat noch jemand ein gleiches Problem?

Viele Grüße, Rainer

RalfP

Hallo,

...bin schon dran. Telekom hat die Loginprozedur geändert. Hab schon eine funktionierende Lösung seit <24h. Wollte es noch testweise etwas laufen lassen. Ich hoffe nur, die Änderung läuft dann bei allen Accounts, da diese ja durchaus unterschiedliche Buchungen haben können.

...noch ein wenig Geduld

Grüße
Ralf

halloaber

Super, danke ist mir erst gar nicht aufgefallen.
Doch meine Frau hat es bemerkt, dass der Komfort nicht mehr da ist :-)
Viele Grüße, Rainer