98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)

Begonnen von dominik, 04 August 2015, 20:23:38

Vorheriges Thema - Nächstes Thema

KölnSolar

Du hast zwar meinen Post zitiert, nicht aber meine verlinkte inoffizielle Version installiert. Geh ich recht in der Annahme, dass Du Dich erstmalig am DLNARenderer versuchst ? Weißt Du, ob Panasonic-TVs generell funktionieren ?

ZitatEs werden insgesamt 5 Einträge erzeugt
Das scheint mir richtig zu sein. 3 "support-devices" und ein 40" und ein 58".

ZitatLoading device description failed with error: 500 Can't connect to 192.168.178.57:80 (No route to host) (Location: http://192.168.178.57:80/files/webshared/upnp/ra0_descDoc.xml)
Das irritiert mich. Erst wird der TV mit der IP gefunden, der geloggte Link an den DLNARenderer übergeben und dann ist der TV nicht mehr erreichbar ? ??? Schlechte WLAN-Verbindung ?  :-\

Installier mal meine Version, die ist zwar bisher(meines Wissens) nur vielfach mit Samsung-TV getestet, aber vielleicht bringt sie auch Panasonics auf Trab.

Alternativ kannst Du, sofern Du DLNA-Newbie bist, mit dem Windows-Mediaplayer das Abspielen einer "Konserve" auf dem TV testen. einfach mit einem Rechtsklick auf z.B. ein Video und dann bei "Wiedergabe auf" Deinen TV auswählen.(sofern denn DLNA generell funktioniert).

Grüße Markus


RPi3/2 buster/stretch-SamsungAV_E/N-RFXTRX-IT-RSL-NC5462-Oregon-CUL433-GT-TMBBQ-01e-CUL868-FS20-EMGZ-1W(GPIO)-DS18B20-CO2-USBRS232-USBRS422-Betty_Boop-EchoDot-OBIS(Easymeter-Q3/EMH-KW8)-PCA301(S'duino)-Deebot(mqtt2)-zigbee2mqtt

mimue

#751
Danke für die ausführliche Antwort, Markus.

Inzwischen haben sich zwei Geräte mit der korrekten Bezeichnung eingestellt. (Panasonic Fernseher) play, mute und volume lassen mit sich spielen, sonst nichts. Auf 192.168.178.57 liegt eine NetIO Steckdosenleiste, keine Ahnung ob die DLNA fähig ist...

Der Tipp mit dem MediaPlayer ist gut, das kannte ich noch nicht.

Ich werde zunächst mal Deine Version installieren und wieder berichten.

Update:

So, jetzt. Ich hatte mich zwischenzeitlich etwas verlaufen :-(

Ich hoffe ich habe jetzt die richtige Version kopiert: v2.0.7Patch_3 - 20190107 ?

Jedenfalls taucht jetzt ein Gerät mehr auf (MediaPlayer auf meinem PC). Im Log 2020.05.15 09:22:10 3: DLNARenderer: DLNA Renderer v2.0.7Patch_3
2020.05.15 09:22:11 3: DLNARenderer: Created device DLNA_D8AFF148EAFE for 58DX730
2020.05.15 09:22:11 3: DLNARenderer: Created device DLNA_A813744B8908 for 40CX700
2020.05.15 09:22:11 3: DLNARenderer: DLNASocket-DLNA-33369, DLNA handleOnce failed, Not a HASH reference at ./FHEM/98_DLNARenderer.pm line 1226.
2020.05.15 09:22:12 3: DLNARenderer: DLNASocket-DLNA-33369, DLNA handleOnce failed, Not a HASH reference at ./FHEM/98_DLNARenderer.pm line 1226.
2020.05.15 09:22:17 1: PERL WARNING: Loading device description failed with error: 500 Can't connect to 192.168.178.57:80 (No route to host) (Location: http://192.168.178.57:80/files/webshared/upnp/ra0_descDoc.xml) at ./FHEM/98_DLNARenderer.pm line 276.
2020.05.15 09:22:22 3: DLNARenderer: Created device DLNA_1912b792737b for ######## (WORKSTATION1W10 : Windows Media Player)
2020.05.15 09:25:46 3: DLNARenderer: AVTransport, Play(0,1) failed, 500 Internal Server Error at FHEM/lib/UPnP/ControlPoint.pm line 937.
2020.05.15 09:26:02 3: DLNARenderer: DLNASocket-DLNA-33369, DLNA handleOnce failed, Not a HASH reference at ./FHEM/98_DLNARenderer.pm line 1226.


http://192.168.178.57:80/files/webshared/upnp/ra0_descDoc.xml kann ich per Browser erreichen und lesen (xml Geräte-Beschreibung)

mehr in Kürze, danke soweit

Gigabyte Brix, Arch Linux, CUL_MAX, TCM310, HM-Lan, LevelJET, VIERA, Fritz AHA, Fritz RC, FBDECT, NetIO, Alexa, Netatmo Presence

mimue

Zitat von: mimue am 15 Mai 2020, 08:33:32
Danke für die ausführliche Antwort, Markus.
mehr in Kürze, danke soweit

Inzwischen ergibt sich folgendes Bild: Meine beiden Panasonic Fernsehgeräte werden erkannt und und angelegt, außerdem mein MediaPlayer auf dem Client PC (Fhem läuft auf einem Linux Server unter ARCH Linux, headless)

Ich kann allerlei Funktionen ausführen: play, stream, speak, channel, mute und volume. Ich kann sogar den stream vom tuner des einen als streaming quelle für den anderen verwenden.

Wechseln lässt sich der Inhalt allerdings nur nach vorherigem "off", das bewirkt zwar nichts sichtbares am Gerät, scheint aber "die Leitung wieder freizumachen".

.ts/.mpeg Filme und .jpg Bilder kann ich auch anzeigen, allerdings nicht das FHEM rss aus dem Workshop. Das stellt sich zwar als .jpg vor, ist aber in Wahrheit .png ( kann man nur als .png oder .bmp aus dem Browser abspeichern ). Wenn ich das abgespeicherte rss-Bild mit Paint in .jpeg umwandle, wird es auch angezeigt. Da muß wohl noch am rss-Modul "geschraubt" werden.

Was nicht geht (leider) ist m3u oder m3u8 abspielen, das liegt aber an den Panasonic-Geräten die kein HLS unterstützen. Eventuell läßt sich da ein restreaming mit ffmpeg irgendwo einbauen.

Während volume und mute annähernd verzögerungsfrei wirken, gibt es bei der Medienübergabe deutliche Wartezeiten. Leider scheinen auch Veränderungen wie Kanalwechsel am Gerät nicht oder nur stark verzögert im Modul anzukommen, kann man da eine Aktualisierung auf Anfrage durchführen ? Oder geht das gegenwärtig nicht ?

Es wäre schön, wenn die Versionskontrolle für 98_DLNARenderer.pm und ControlPoint.pm mal _eindeutig_ fixiert werden könnte. Das ersparte doch eine Menge Rätselraten. Manche verwenden dafür GIT...

Einige Beiträge früher wurde auch schon mal die Frage aufgeworfen, warum Deine Version nicht ins FHEM repository eingepflegt wird. Ich schließe mich diesem Vorschlag an.

Meine Geräte sind 40CX700 und 58DX730

Wenn ich was beisteuern kann, gerne.
Gigabyte Brix, Arch Linux, CUL_MAX, TCM310, HM-Lan, LevelJET, VIERA, Fritz AHA, Fritz RC, FBDECT, NetIO, Alexa, Netatmo Presence

KölnSolar

ZitatWenn ich was beisteuern kann, gerne.
Hast Du ja schon. Danke.

ZitatDa muß wohl noch am rss-Modul "geschraubt" werden.
Oder vielleicht hilft das:
Zitat...Es ist das zusätzliche Attribut allowedHttpMethods mit GET|POST|HEAD einzurichten. Bedeutung u. Auswirkungen sind in der commandref  beschrieben. ...
(vollständiger Post)

ZitatEinige Beiträge früher wurde auch schon mal die Frage aufgeworfen, warum Deine Version nicht ins FHEM repository eingepflegt wird. Ich schließe mich diesem Vorschlag an.
Tja, Dominik und ich waren uns ja einig. Nur ist meinem Aufruf meine Version zu testen leider kein Nicht-Samsung-Nutzer gefolgt(oder hat zumindest keine Ergebnisse gepostet  :'()

ZitatEs wäre schön, wenn die Versionskontrolle für 98_DLNARenderer.pm und ControlPoint.pm mal _eindeutig_ fixiert werden könnte. Das ersparte doch eine Menge Rätselraten. Manche verwenden dafür GIT...
Meinst Du das jetzt nur auf meine Version bezogen ? Ansonsten dürfte es doch mit dem Auslieferungsstand des SVN keine Probleme geben.(Hab gerade noch mal geprüft, dass die ControlPoint.pm auch wirklich beim update "ausgeliefert" wird)

Und abschließend: Weißt Du, ob Panasonic-TVs auch mit der augenblicklich offiziellen SVN-Version funktionieren ? Ich geh mal davon aus, dass Du die speziell für Samsung eingeführten Attribute envPrefix u. envNamespace nicht gesetzt hast ?
RPi3/2 buster/stretch-SamsungAV_E/N-RFXTRX-IT-RSL-NC5462-Oregon-CUL433-GT-TMBBQ-01e-CUL868-FS20-EMGZ-1W(GPIO)-DS18B20-CO2-USBRS232-USBRS422-Betty_Boop-EchoDot-OBIS(Easymeter-Q3/EMH-KW8)-PCA301(S'duino)-Deebot(mqtt2)-zigbee2mqtt

mimue

#754
Zitat von: KölnSolar am 16 Mai 2020, 12:38:51
Hast Du ja schon. Danke.
Danke für die Blumen, so doll war's ja nun auch wieder nicht.
Zitat von: KölnSolar am 16 Mai 2020, 12:38:51
Oder vielleicht hilft das:(vollständiger Post)
Nein, leider nicht. Ich hatte übersehen, daß eine Autorisierung notwendig ist. Ich habe ein Gerät "rssweb" mit Port "8085" angelegt, damit reagiert jetzt der Fernsehapparat, allerdings zeigt er nur schwarz und fällt nach einigen Sekunden wieder auf das vorige Programm zurück. Ob ich "allowedHTTPMethods" setze oder nicht, macht soweit keinen Unterschied.
Zitat von: KölnSolar am 16 Mai 2020, 12:38:51
Tja, Dominik und ich waren uns ja einig. Nur ist meinem Aufruf meine Version zu testen leider kein Nicht-Samsung-Nutzer gefolgt(oder hat zumindest keine Ergebnisse gepostet  :'()
Wenn Du "Deine Version" einpflegst wird sich schon was rühren :-)

Zitat von: KölnSolar am 16 Mai 2020, 12:38:51Meinst Du das jetzt nur auf meine Version bezogen ? Ansonsten dürfte es doch mit dem Auslieferungsstand des SVN keine Probleme geben.(Hab gerade noch mal geprüft, dass die ControlPoint.pm auch wirklich beim update "ausgeliefert" wird)
Ich war mir da nicht sicher, nachdem ich die ganzen Diskussionsstränge gelesen habe, war ich etwas unsicher, wie der aktuelle Stand ist.
Zitat von: KölnSolar am 16 Mai 2020, 12:38:51
Und abschließend: Weißt Du, ob Panasonic-TVs auch mit der augenblicklich offiziellen SVN-Version funktionieren ? Ich geh mal davon aus, dass Du die speziell für Samsung eingeführten Attribute envPrefix u. envNamespace nicht gesetzt hast ?
Wenn Du damit ControlPoint.pm meinst, da verwende ich die offizielle Version, allerdings habe ich nach der Anleitung envPrefix s
envNameSpace <none>
gesetzt. Wenn Du meinst, das brauche ich nicht, nehme ich es wieder 'raus.

P.S. Da beide Panasonic-Geräte einen Firefox an Bord haben, habe ich mal von dort die rss-Seiten aufgerufen (png und jpg) beide werden auf beiden Geräten einwandfrei angezeigt, am Format kann's also wohl doch nicht liegen. Was bleibt ?
Gigabyte Brix, Arch Linux, CUL_MAX, TCM310, HM-Lan, LevelJET, VIERA, Fritz AHA, Fritz RC, FBDECT, NetIO, Alexa, Netatmo Presence

KölnSolar

ZitatNein, leider nicht.
Schade.
ZitatWenn Du "Deine Version" einpflegst wird sich schon was rühren :-)
Lach. Ich darf es nicht u. Dominik würde dann gegrillt.  ;D
ZitatWenn Du damit ControlPoint.pm meinst, da verwende ich die offizielle Version
Nein, ich meine die 98_DLNARenderer.pm (btw. Du weißt, dass Du im global device das Attribut exclude_from_update für 98_DLNARenderer setzen musst, damit beim nächsten update meine Version nicht von der offiziellen wieder überschrieben wird ?)
ZitatWenn Du meinst, das brauche ich nicht, nehme ich es wieder 'raus.
Die sind eigentlich nur für Samsung's eingebaut worden. Nimm sie mal raus. Wenn es danach nicht mehr funktioniert, wäre das der Beleg, dass nicht nur Samsung's meine Version brauchen. ;)
RPi3/2 buster/stretch-SamsungAV_E/N-RFXTRX-IT-RSL-NC5462-Oregon-CUL433-GT-TMBBQ-01e-CUL868-FS20-EMGZ-1W(GPIO)-DS18B20-CO2-USBRS232-USBRS422-Betty_Boop-EchoDot-OBIS(Easymeter-Q3/EMH-KW8)-PCA301(S'duino)-Deebot(mqtt2)-zigbee2mqtt

mimue

Zitat von: KölnSolar am 16 Mai 2020, 15:56:05
Nimm sie mal raus. Wenn es danach nicht mehr funktioniert, wäre das der Beleg, dass nicht nur Samsung's meine Version brauchen. ;)

So, Markus, nachdem ich mit der ganzen Geschichte ein wenig "ins Schleudern" gekommen bin, habe ich mal "tabula rasa" gemacht. Da ich noch einige Hardware in Lauerstellung habe, habe ich ein komplett leeres FHEM aufgesetzt, und nur mit den Standard-Modulen DLNA eingerichtet. (Dabei fragte ich mich, wieso Ihr das Teil in DLNARenderer umbenannt habt, eigentlich "rendert" es ja nichts, sondern verteilt nur, oder liege ich da falsch ? Falls nicht. wäre mein Vorschlag DLNAController.

Na ja, jedenfalls habe ich jetzt das myrss.jpg auf dem Schirm. Das Problem war: Die Zielangabe muß in Anführungszeichen gesetzt werden. Also nicht http://192.168.178.22:8085/fhem/rss/myrss.jpg sondern "http://192.168.178.22:8085/fhem/rss/myrss.jpg". Soweit ich sehen konnte, steht das nirgends, normal würde man das nur machen wenn in der Zeichenkette Leerzeichen enthalten sind. Gemerkt habe ich es an der sinnigen Fehlermeldung DLNARenderer: stream requires 1 parameter.. Die kommt aber, wenn keine Leerzeichen enthalten sind nur beim ersten Mal. Hat man es gemerkt und gibt die Anführungszeichen ein, verschiebt er das Datum nach Readings/stream und entfernt klammheimlich die Anführungszeichen wieder. Danach gibt es keinen Hinweis mehr und gehen tut es auch nicht.

Außerdem ist im Log ständig DLNARenderer: handleOnce failed, Not a HASH reference at ./FHEM/98_DLNARenderer.pm line 1146. zu lesen. Ich habe mal interessehalber davor eine Log-Meldung eingebaut.Log3 $hash, 1, "DLNARenderer: Line 1146: ". $hash .", " . $prefix .", ". $@;

Die hinterlässt im Log DLNARenderer: Line 1146: HASH(0x55aa3571aa58), current,
d.h. der Verweis auf das hash erfolgt mit leerem Argument, sollte wohl so nicht sein.

Die Frage ist jetzt: Soll ich bei dem Standard-Modul bleiben oder mit "Deinem" weitermachen ? Zwei Baustellen machen irgendwie keinen Sinn (schöner Anglizismus, gell ?), oder was meinst Du ?
Gigabyte Brix, Arch Linux, CUL_MAX, TCM310, HM-Lan, LevelJET, VIERA, Fritz AHA, Fritz RC, FBDECT, NetIO, Alexa, Netatmo Presence

KölnSolar

#757
Zitatwieso Ihr das Teil in DLNARenderer umbenannt habt, eigentlich "rendert" es ja nichts
Ich nicht.  ;) Ich sehe es aber ähnlich wie Du, bin aber nicht mehr so tief in der "Theorie" von DLNA. Was Dominik bewogen hat ? k.A. Dir ist sicherlich aufgefallen, dass der Vorgänger DLNAClient war. Dein Gedanke wäre aber eine Möglichkeit(wenn auch unschön, da ich Redundanzen hasse) meine Version produktiv zu machen....Im Augenblick wird an anderer Stelle eine Diskussion geführt, die dem jetzigen Modul quasi den softwaretechnischen Boden unter den Füßen wegziehen würde. Bisher alles sehr vage. Könnte zu einer kompletten Neuauflage führen.  :o :-\

ZitatDie Zielangabe muß in Anführungszeichen gesetzt werden.
Interessant. Hab mal auf die Schnelle geguckt: Ich muss das nicht. Womit wir bei der Frage wären: Hab ich da eine Kleinigkeit am Modul verbessert oder ist das eine Panasonic-Besonderheit ? :-\
Wäre prima, wenn andere Nutzer mal ihre Erkenntnisse dazu beisteuern, damit wir uns eine aufwändige Analyse sparen können.
An Dich zur Klarstellung ein paar einfache Fragen:
- Betrifft das nur RSS-Bilder oder alle "Konserven" ?
- Mit set ... stream "http://192.168.178.22:8085/fhem/rss/myrss.jpg" aufgerufen ?

ZitatIch habe mal interessehalber davor eine Log-Meldung eingebaut.
Ha, dann bist Du des Perl's vermutlich befähigter als ich. Gut zu wissen.  ;)

ZitatDLNARenderer: handleOnce failed
Die kommt aus den Tiefen der Controlpoint u. abhängigen Perl-"Standard"-Modulen. Und bei unseren 4 + n devices schwierig einzugrenzen. Ich meine mich zu erinnern, dass ich das in meiner Version etwas eingegrenzt habe. Kann sein, dass das mit dem tw. fehlerhaften subscribe_Mechanismus zusammenhing...(laaaange her) Das schieben wir mal auf. 8)

Ich würd sagen: Standard. Grund: Dich interessiert das Thema, Du hast die Bereitschaft der community etwas zurückzugeben und Du hast andere Hardware als ich. Du wirst sicherlich die ein oder andere Unzulänglichkeit aufdecken, die ich vielleicht bereits gelöst habe, vielleicht hardwarespezifisch oder generell noch  zu lösen ist.
Wichtig schon einmal: Panasonic-TV funktioniert mit dem offiziellen Modul(Das Problem bei den Samsungs zu finden u. notwendige Änderungen in die Controlpoint zu bekommen war ein ziemlich fürchterlicher Prozess  :'()
Und, wenn wir Detailproblemchen mit dem offiziellen Modul gelöst haben, kann ich das bei mir nachziehen und mit dem Umstieg bist Du dann erster Samsung-Fremdtester.

Zitatschöner Anglizismus, gell ?
Um das beantworten zu können, müsste ich den Anglizismus erkannt haben.  :-[ :-\ ???

ich bin noch gar nicht fertig mit dem Post, hab nur versehentlich den falschen Button geklickt  ::)
Jetzt aber.  ;)
RPi3/2 buster/stretch-SamsungAV_E/N-RFXTRX-IT-RSL-NC5462-Oregon-CUL433-GT-TMBBQ-01e-CUL868-FS20-EMGZ-1W(GPIO)-DS18B20-CO2-USBRS232-USBRS422-Betty_Boop-EchoDot-OBIS(Easymeter-Q3/EMH-KW8)-PCA301(S'duino)-Deebot(mqtt2)-zigbee2mqtt

mimue

#758
Zitat von: KölnSolar am 17 Mai 2020, 08:42:14
Ich nicht.  ;) Ich sehe es aber ähnlich wie Du, bin aber nicht mehr so tief in der "Theorie" von DLNA. Was Dominik bewogen hat ? k.A. Dir ist sicherlich aufgefallen, dass der Vorgänger DLNAClient war. Dein Gedanke wäre aber eine Möglichkeit(wenn auch unschön, da ich Redundanzen hasse) meine Version produktiv zu machen....Im Augenblick wird an anderer Stelle eine Diskussion geführt, die dem jetzigen Modul quasi den softwaretechnischen Boden unter den Füßen wegziehen würde. Bisher alles sehr vage. Könnte zu einer kompletten Neuauflage führen.

Ich habe so nebenbei mal versucht ein wenig besser zu verstehen um was es überhaupt geht und habe hier eine ganz brauchbare Zusammenfassung gefunden.

Meine Wünsche gehen mehr in Richtung Automatisierung: Etwa Türklingel läutet, Fernsehgerät zeigt Kamerastream und gibt irgendein Geräusch wieder. Oder Bewegungsmelder wird ausgelöst und alle Fernseher plärren auf voller Lautstärke irgendein Kriegsgetümmel vor sich hin. (Marke Kevin allein daheim). Wecken sowieso, Termiliste beim Frühstück anzeigen, etc.

Die Panasonic-Geräte können alle lokalen DLNA-Server durchsuchen und Bilder, Musik und Videos wiedergeben. Braucht halt nur einen "Steuermann" der die Dinge per Fernbedienung oder Smartphone-App(likation) lenkt. Panasonic bietet beispielsweise eine Media-Center App(likation) an, mit der man von überall die heimischen Inhalte und Fernsehprogramme abrufen kann. Aber eben keine Automatisierung. Auch die 70_VIERA.pm bringt von daher wenig, da sie im wesentlichen versucht die Fernbedienung nachzubilden (Habe ich aber schon zwei plus Smartphone) die Fernbedienungsbefehle kann man per shell-skript besser dosieren (und mit weniger Systemlast).

Was mir hier (DLNARenderer.pm) gefällt, ist die Möglichkeit Dinge programmatisch zu veranlassen, speziell die rss-Nummer finde ich reizvoll. Allerdings erlebe ich im Moment ein Antwortverhalten, das prohibitiv ist. Da steckt meiner Meinung nach irgendwo ein ganz dicker Wurm drin. 30+ Sekunden Wartezeit bis das Gerät auf einen Befehl reagiert ist nicht normal. Hinzu kommt, daß sich fast bei jedem Aufruf einer Aktivität ein anderes Verhalten einstellt. Was nicht sauber reproduzierbar ist, läßt sich auch kaum eingrenzen.

Die Erkenntnisse die ich Dir mitgeteilt habe, sind schon wieder ergänzungsbedürftig. Wenn ein Stream einmal angezeigt wurde, ist es ganz schwer den wieder gegen etwas anderes auszutauschen. Verschiedene Sequenzen von stop, off und stream sind erforderlich, und das auch noch mit Glücksfaktor. Das kann es nicht sein.

Zur Zeit verwende ich wieder "Deine" Version, weil ich da noch eher Ergebnisse sehe als beim Original.

Ich hänge mal meine Logdatei an, da siehst Du alles von der Einrichtung bis jetzt. Im wesentlichen Installation, und Versuche Inhalte an 58DX730 zu senden.

Interessant auch die Ausgabe zu Zeile 318 (original Modul), ob das normal (gewollt) ist, daß diese Schleife so häufig durchlaufen wird ? Das kostet jedenfalls eine Menge Zeit...

Ab dem restart um 10:38 verwende ich wieder "Dein" Modul.

Zitat von: KölnSolar am 17 Mai 2020, 08:42:14
Um das beantworten zu können, müsste ich den Anglizismus erkannt haben.
<VBG>
Gigabyte Brix, Arch Linux, CUL_MAX, TCM310, HM-Lan, LevelJET, VIERA, Fritz AHA, Fritz RC, FBDECT, NetIO, Alexa, Netatmo Presence

KölnSolar

Wann hast Du geschlafen ?(Logzeiten)

ZitatMeine Wünsche gehen mehr in Richtung Automatisierung:...
.
.Was mir hier (DLNARenderer.pm) gefällt, ist die Möglichkeit Dinge programmatisch zu veranlassen, speziell die rss-Nummer finde ich reizvoll
So wie bei mir. Filmchen, Bilder sind nicht so mein Ding. Allerdings beschränkt es sich bei mir auf die Anruferinfo(doorcam klappt noch nicht richtig). Das Ziel war anders, aber dann kam Alexa. Die erzählt mir alles.

ZitatAllerdings erlebe ich im Moment ein Antwortverhalten, das prohibitiv ist. Da steckt meiner Meinung nach irgendwo ein ganz dicker Wurm drin. 30+ Sekunden Wartezeit bis das Gerät auf einen Befehl reagiert ist nicht normal. Hinzu kommt, daß sich fast bei jedem Aufruf einer Aktivität ein anderes Verhalten einstellt. Was nicht sauber reproduzierbar ist, läßt sich auch kaum eingrenzen.
Recht hast Du. Daher Alexa  ;) Ich hab das schlechte Zeitverhalten nie näher analysiert, allerdings sind es bei mir auch keine 30s. Gefühlt liegt es am lahmen TV(WLAN ?), denn freezemon hält bzgl FHEM die Füße einigermaßen still. Aber es ist eine gefühlte Ewigkeit bis nach dem 1. Klingeln die Anruferinfo auf dem TV auftaucht.(gefühlt dauert der 1. DLNA-stream nach TV-Start deutlich länger als die n.). Ich teste das die Tage mal näher.... (speak bla lief gerade richtig zackig. delay < 1s)
btw. Hast Du etwas, womit Du  den allgemeinen TV-traffic ein wenig monitoren kannst ? Ich nutze pi-hole. Irre was da an DNS-Abfragen läuft. Möglicherweise ist das aber auch nur die Reaktion, dass ich viele domains gesperrt habe.  :-\ Kabel o. WiFi ?

ZitatWenn ein Stream einmal angezeigt wurde, ist es ganz schwer den wieder gegen etwas anderes auszutauschen. Verschiedene Sequenzen von stop, off und stream sind erforderlich, und das auch noch mit Glücksfaktor. Das kann es nicht sein.
Ich spekuliere, dass das mit den schlechten Antwortzeiten u. der verständlichen Ungeduld des Users zusammenhängt.

Zitatob das normal (gewollt) ist, daß diese Schleife so häufig durchlaufen wird ?
Das dürfte die dynamische Bereitstellung der set-Befehle anhand der services sein. Für jedes gefundene device 1-mal. Ich denke aber nur beim define/connect u. evtl. beim renewal der subscription.
Tipp: im global-device Attribut mseclog setzen --> timestamps im Log mit ms

Ansonsten sah ich im Log nicht viel(außer nervenaufreibenden Tests) und vielen 500er Verbindungsfehlern(lustigerweise auf dem Port den alte Samsungs für die Fernbed. nutzen). Mit verbose=5 würde ich sehen welches command abgesetzt wurde und die Zwischenschritte. Der TV war aus bei den 500ern ?(schönheitsfehler, müsste ich auch mal angehen)
RPi3/2 buster/stretch-SamsungAV_E/N-RFXTRX-IT-RSL-NC5462-Oregon-CUL433-GT-TMBBQ-01e-CUL868-FS20-EMGZ-1W(GPIO)-DS18B20-CO2-USBRS232-USBRS422-Betty_Boop-EchoDot-OBIS(Easymeter-Q3/EMH-KW8)-PCA301(S'duino)-Deebot(mqtt2)-zigbee2mqtt

mimue

#760
Zitat von: KölnSolar am 17 Mai 2020, 22:08:03
Wann hast Du geschlafen ?(Logzeiten)
Schlafen ? Machst Du sowas ? <VBG>

Inzwischen habe ich noch ein wenig "vergleichende Forschung" betrieben. Der Server Error 500 macht mich etwas ratlos. Wenn ich mit dem Media Player eine Datei an das Gerät schicke, läuft alles wie erwartet, Gerät geht an, Konserve wird gezeigt, Verzögerung kaum.

Ich habe mal zum Vergleich Developer Tools for UPnP Technologies v0.0.69 installiert, damit läßt sich sowas auch schön ausprobieren, dazu gibt es auch den Quellcode. Damit kann ich auch Medien zum Fernsehapparat senden, ohne daß irgendetwas lästig in Ercheinung tritt.

Hingegen beim Universal Media Server (auch mit Quellcode) bekomme ich nur Server Error 500 sobald ich ein Medium zu übertragen versuche, Mute und Volume gehen verzögerungs- und fehlerfrei.

Nun ist ja Server Error 500 ungefähr so aussagekräftig, wie die Klage beim Arzt "Mir tut was weh !", das Einzige was feststeht, ist daß die Meldung vom Adressaten kommt. Meine Vermutung ist derzeit, daß zwar eine Aufforderung zum Abspielen geschickt wird, daß aber das Medium nicht geliefert wird. Alles ?? andere müsste eine Rückmeldung im 4xx-Bereich liefern.

Bei den UPnP-Tools ist ja auch ein "Sniffer" enthalten, der sich auf UPnP Meldungen beschränkt allerdings läuft der auf meinem PC, da kommt nicht alles vorbei, was vom und zum Fernsehgerät geht. Ich werde also mal die Netzwerkverbindung des Panasonic über eine eigene Fritz!Box leiten. Die hat die Möglichkeit Pakete mitzuschneiden und als Datei zu speichern. Analyse dann mit Wireshark. Damit müsste mindestens sichergestellt sein, daß _alle_ Pakete zum/vom Panasonic erfasst werden.

Was bedeutet UPnP nochmal ? Eigentlich wollte ich nur den Live-Stream meiner Außenkameras auf dem Gerät anzeigen, wenn etwas durch den Erfassungsbereich trappst. :-( , vermutlich hat Einstein die Relativitätstheorie auch nur entdeckt, weil er eigentlich zu Hause das Licht einschalten wollte.

Vielleicht bringt ja auch der Universal Media Server noch Erkenntnisse, da kann man pro Renderer eine eigene Konfigurationsdatei hinterlegen.

Dabei fällt mir noch ein, daß es eventuell Berechtigungs-Probleme beim Zugriff auf die Medien geben könnte, bei 98_DLNARenderer.pm gebe ich ja absolute Speicherorte an. Die sind möglicherweise nicht für alle Netzwerkgeräte (Renderer) freigegeben. Wenn mir jemand ein Päckchen hinstellt, das ich nicht öffnen kann schreie ich auch laut "500". Der Media Player und die UPnP Tools verwenden DLNA Addressen, da man mit beiden DLNA-Inhalte "browsen" kann.

Etwa http://192.168.178.21:8200/MediaItems/A0$50594059.mpg?type=3,client=26,mime=video/mpeg,pn=MPEG_PS_PAL,ext=.mpg&WMContentFeatures=DLNA.ORG_PN=MPEG_PS_PAL;DLNA.ORG_OP=01;DLNA.ORG_CI=0;DLNA.ORG_FLAGS=01700000000000000000000000000000&WMHME=1&WMDuration=26100000000&WMQ=1&WMHMETitle=RQBpAG4AIABQAHIAaQBuAHoAIAB1AG4AdABlAHIAIABJAG4AZABpAGEAbgBlAHIAbgAgAC0AIABEAGkAZQAgAFIAZQBpAHMAZQBuACAAZABlAHMAIABNAGEAeABpAG0AaQBsAGkAYQBuACAAegB1AHIAIABXAGkAZQBkAA== gegenüber Z:\Öffentliche Videos\Fernsehfilme\Ein Prinz unter Indianern - Die Reisen des Maximilian zur Wied.mpeg

Ach ja, auch noch interessant viera-control, da hat jemand die grossartige Idee gehabt auf hunderte Zeilen Spaghetti-Code zu verzichten und stattdessen den ganzen UPnP-Aufruf in eine CURL-Zeile zu packen. Läßt sich leicht anpassen und liefert aussagekräftige Antworten vom Adressaten.

Wenn man das als Einzeiler in FHEM einbaut, kann man auch schon eine ganze Menge bewirken, spart eine Menge Frust...

Nachtrag: Sowohl 98_DLNARenderer.pm als auch Universal Media Server liefern verzögerungsfrei, wenn die DLNA-Adresse verwendet wird, Netzwerk- oder Dateisystem-Adressen erzeugen 500. Jetzt bleibt noch zu klären, wie das Eine in das Andere umzuwandeln wäre (am Besten implizit im 98_DLNARenderer.pm). Bei Datenströmen von meinen Netatmo-Außenkameras spielt das keine Rolle, da in der Netzwerkadresse ein Autorisierungs-Token "eingebaut" ist.

Allerdings kann 98_DLNARenderer.pm, im Gegensatz zu Media Player, erst etwas Neues veranlassen, wenn der laufende Inhalt mit STOP oder OFF, am Besten mit beidem, angehalten wurde. Media Player veranlasst sofortige Wiedergabe, egal was gerade läuft. Lästig...

Gigabyte Brix, Arch Linux, CUL_MAX, TCM310, HM-Lan, LevelJET, VIERA, Fritz AHA, Fritz RC, FBDECT, NetIO, Alexa, Netatmo Presence

KölnSolar

ZitatWenn mir jemand ein Päckchen hinstellt, das ich nicht öffnen kann schreie ich auch laut "500".
Eher 401(Berechtigung). Der 500 ist meines Erachtens schon recht aussagekräftig. Aber Ursache kann natürlich trotzdem vieles sein.

ZitatWas bedeutet UPnP nochmal ?
Schön einfach u. Standard. Wie oft hab ich mich das gefragt, als ich das für den Samsung analysiert habe. monatelanges im Dunklen fischen.
Das ist dann auch genau das Problem für ein Standard-Modul, wenn jeder Hersteller doch seinen eigenen Standard hat bzw. der Standard viele Türen hat und jeder Hersteller andere Türen nutzt.

Zitatauch noch interessant viera-control
Das sieht mir jetzt aber auch nur nach ein paar Befehlen aus. Ohne aber das, was DLNA ausmacht (sollte): streaming.

RPi3/2 buster/stretch-SamsungAV_E/N-RFXTRX-IT-RSL-NC5462-Oregon-CUL433-GT-TMBBQ-01e-CUL868-FS20-EMGZ-1W(GPIO)-DS18B20-CO2-USBRS232-USBRS422-Betty_Boop-EchoDot-OBIS(Easymeter-Q3/EMH-KW8)-PCA301(S'duino)-Deebot(mqtt2)-zigbee2mqtt

mimue

Zitat von: KölnSolar am 19 Mai 2020, 08:13:02
Das sieht mir jetzt aber auch nur nach ein paar Befehlen aus. Ohne aber das, was DLNA ausmacht (sollte): streaming.

Stimmt, das Wesentliche ist sogar nur eine Zeile (CURL-Aufruf), "einmal hin, alles drin." um einen abgedroschenen Werbespruch zu strapazieren.

Panasonic-Geräte bieten, je nach Modell, unterschiedliche Dienste an. Dieses Beispiel verwendet NRC (Network Remote Control). Gibt man in der Adresszeile des Browsers http://meinfernseher:55000/nrc/ddd.xml ein, bekommt man ein XML Dokument mit näheren Angaben. Desgleichen bei http://meinfernseher:55000/dmr/ddd.xml für den Device Media Renderer.

Daß es "nur ein paar Befehle" sind macht ja gerade den Reiz aus, die lassen sich relativ schnell (außer für LRS-Patienten) lesen und vor allem verstehen. Ich bin nicht sicher, wie viele Menschen es gibt, die FHEM-Module oder gar das Gesamt-Kunstwerk bis in die letzten Winkel verstehen. Rudi+5 ?

Eine Zeile shell-Skript erschließt sich dagegen schon einem breiteren Publikum...
Gigabyte Brix, Arch Linux, CUL_MAX, TCM310, HM-Lan, LevelJET, VIERA, Fritz AHA, Fritz RC, FBDECT, NetIO, Alexa, Netatmo Presence

KölnSolar

Zitatdas Gesamt-Kunstwerk bis in die letzten Winkel verstehen. Rudi+5
Selbst Rudi nicht.

Zitathttp://meinfernseher:55000/dmr/ddd.xml
Klar, dass ist genau das, was eben das DLNA des devices beschreibt. Services, URL's der services, für subscription.....

ZitatStimmt, das Wesentliche ist sogar nur eine Zeile (CURL-Aufruf), "einmal hin, alles drin."
Versteh ich nicht so ganz. Entweder möchte man DLNA in allen Facetten(automatische device-Erkennung, Statusübertragungen, streaming, einfache volume-Steuerung) oder eben wie in Deinem Link nur einfache volume-Steuerung eines bekannten device-types. Einfache Dinge lassen sich einfach u. übersichtlich realisieren, komplexe sind nunmal komplex. DLNA ist ja u.a., dass der Status des devices an den Controller "gepushed" wird. Dazu ist dann wiederum subscription erforderlich, das regelmäßig "aufgefrischt" werden muss. Wie soll das mit einem Einzeiler gehen ? Der DLNARenderer kennt keine Hersteller, Gerätetypen u. deren Services. Er "lernt" das per DLNA. Das einfache Skript "weiß" bereits alles. Aber nur für einen bestimmten device-type. Meine Samsung's können (vermutlich) mit dem Skript rein gar nichts anfangen.
RPi3/2 buster/stretch-SamsungAV_E/N-RFXTRX-IT-RSL-NC5462-Oregon-CUL433-GT-TMBBQ-01e-CUL868-FS20-EMGZ-1W(GPIO)-DS18B20-CO2-USBRS232-USBRS422-Betty_Boop-EchoDot-OBIS(Easymeter-Q3/EMH-KW8)-PCA301(S'duino)-Deebot(mqtt2)-zigbee2mqtt

mimue

Zitat von: KölnSolar am 19 Mai 2020, 09:45:49
Versteh ich nicht so ganz.

Na ja, ist ja auch ganz schön kompliziert so eine Zeile bash ;-)

Ich habe das jetzt für mich gelöst. Meine Erkundungen und -kenntnisse habe ich in einem bash-skript festgehalten. Vielleicht hilft es ja dem einen oder anderen.

Gigabyte Brix, Arch Linux, CUL_MAX, TCM310, HM-Lan, LevelJET, VIERA, Fritz AHA, Fritz RC, FBDECT, NetIO, Alexa, Netatmo Presence