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

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

Vorheriges Thema - Nächstes Thema

KölnSolar

Ja, die ganze Zeile von
Zitat2018-05-07   19:56:17   Error   : 3: DLNARenderer: Error! UPnP-Fault-Fields: Code: s:Client"
:o ;)
Eigentlich sieht die so aus:
Zitat2018.04.28 23:47:37 3: DLNARenderer: Error! UPnP-Fault-Fields: Code: "s:Client", String: "UPnPError", Actor: "-", Detail: "{UPnPError => {errorDescription => 'XML error', errorCode => 502}}"
:-\
Was ist bei Dir "speziell, dass das logfile (für mich) so ungwöhnlich aussieht ? :-[ Dürfen da evtl. keine " auftreten  :-\
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

willibutz

Zitat von: KölnSolar am 08 Mai 2018, 00:27:54
Ja, die ganze Zeile

Hallo Markus,
weil der Zugriff auf große Logs immer so lange dauert, habe ich irgendwann mal beschlossen alles mit Log2Syslog an meine Synology NAS weiterzuschicken (auf der läuft auch die FHEM-Instanz). Da kann man dann im Protokoll-Center schön filtern und suchen. Bis jetzt war ich der Meinung, dass dort auch alles ankommt, ist wohl aber nicht so :-(

also hier nochmal die komplette Zeile aus dem FHEM-Log:

2018.05.07 19:56:17 3: DLNARenderer: Error! UPnP-Fault-Fields: Code: "s:Client", String: "UPnPError", Actor: "-", Detail: "{UPnPError => {errorCode => 501, errorDescription => 'Action Failed'}}"


LG willibutz

mumpitzstuff

Sollte das Modul auch durch fhem ausgelieferte mp3 Dateien abspielen können oder nur Dateien von einem dlna Server wie z.b. miniDLNA?

KölnSolar

Zitatalles mit Log2Syslog an meine Synology NAS weiterzuschicken
Ah ja, kannte ich so nicht.
Zitat{errorCode => 501, errorDescription => 'Action Failed'
Das ist doch schon mal was. Ich würd vorschlagen Du probierst mal Lautstärke/mute und dann mal das streamen von "einfacheren" Medien. tts hab ich nämlich bei mir auch noch nicht geschafft.  :'(
ZitatSollte das Modul auch durch fhem ausgelieferte mp3 Dateien abspielen können oder nur Dateien von einem dlna Server wie z.b. miniDLNA?
Welche Dateien meinst Du damit z.B. ? Ich kämpfe ja gerade damit, dass das streaming eines RSS-Bildes zu einem 30 Sek.-freeze führt und leider nicht angezeigt wird  :'( Rufe ich das RSS-Bild von einem 2. FHEM-Server ab, funktioniert es problemlos.
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

mumpitzstuff

Ich habe einfach mal eine mp3 Datei unter /opt/fhem/www/images/1.mp3 abgelegt und versucht das zu streamen mit http://192.168.1.x:8083/fhem/www/images/1.mp3. Ich habe aber auch einen freeze und nichts passiert. Das nichts passiert liegt wahrscheinlich daran, das mein Radio ein HEAD request beim setzen der uri absetzt und den damit nicht umgehen kann.
Ich habe mir jetzt mal mit HTTP:Daemon einen kleinen Webserver erzeugt und kann damit lokale mp3 Dateien ausliefern und per dlna abspielen.

frank

ZitatDas nichts passiert liegt wahrscheinlich daran, das mein Radio ein HEAD request beim setzen der uri absetzt und den damit nicht umgehen kann.
probiere mal "attr myFHEMWEB allowedHttpMethods GET|POST|HEAD". dann sendet fhem eine get antwort als head verpackt. mein samsung tv kann damit umgehen.
FHEM: 6.0(SVN) => Pi3(buster)
IO: CUL433|CUL868|HMLAN|HMUSB2|HMUART
CUL_HM: CC-TC|CC-VD|SEC-SD|SEC-SC|SEC-RHS|Sw1PBU-FM|Sw1-FM|Dim1TPBU-FM|Dim1T-FM|ES-PMSw1-Pl
IT: ITZ500|ITT1500|ITR1500|GRR3500
WebUI [HMdeviceTools.js (hm.js)]: https://forum.fhem.de/index.php/topic,106959.0.html

mumpitzstuff

Oh je was sind das wieder für geheime Settings. :) (Unendliche Weiten...)

Danke werde ich probieren!

willibutz

Zitat von: KölnSolar am 09 Mai 2018, 06:52:31
Ah ja, kannte ich so nicht.Das ist doch schon mal was. Ich würd vorschlagen Du probierst mal Lautstärke/mute

Hallo Markus,
habe mal mute getestet mit dem gleichen Fehler Action Failed (501).
Ich habe dann noch mal eine Wireshark-Aufzeichnung gestartet und einmal mit FHEM (funktioniert nicht) und dann mit UPnP Inspector (funktioniert) den MUTE-Befehl abgesetzt. Das sieht schon ziemlich verschieden aus. Ich habe dir die Gegenüberstellung mal angehängt, vielleicht kannst du ja dort ein Problem erkennen.

LG willibutz

KölnSolar

Schön aufbereitet  :) Mustergültig  ;)
Das sieht mir nach dem selben Problem wie beim FritzRepeater aus. In der 98_DLNARenderer müsstest du 2 Zeilen ->ns("u") finden, die Du rausschmeißen(#-Zeichen davor setzen u. damit ist es eine Kommentarzeile) musst. Reinerlein arbeitet da ja noch an einer Lösung, dass man das zukünftig per Attribut einstellen kann.
Schönen Feiertag
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

willibutz

Hallo Markus,
ich habe die beiden Zeilen mal in ControlPoint auskommentiert, im DLNARenderer waren sie nicht zu finden  ;)

Das Ergebnis sieht dann so aus:
2018.05.12 16:37:07 5: DLNARenderer: AVTransport: urn:schemas-upnp-org:service:AVTransport:1 found. OK.
2018.05.12 16:37:07 3: DLNARenderer: AVTransport, Play(0,1) failed, Can't call method "call" on an undefined value at /usr/local/FHEM/share/fhem/FHEM/lib/UPnP/ControlPoint.pm line 914.
2018.05.12 16:37:07 3: DLNARenderer: AVTransport, Play(0,1) failed, Can't call method "call" on an undefined value at /usr/local/FHEM/share/fhem/FHEM/lib/UPnP/ControlPoint.pm line 914.
2018.05.12 16:37:07 3: DLNARenderer: AVTransport, Play(0,1) failed, Can't call method "call" on an undefined value at /usr/local/FHEM/share/fhem/FHEM/lib/UPnP/ControlPoint.pm line 914.
2018.05.12 16:37:13 5: DLNARenderer: RenderingControl: urn:schemas-upnp-org:service:RenderingControl:1 found. OK.
2018.05.12 16:37:13 3: DLNARenderer: RenderingControl, SetMute(0,Master,1) failed, Can't call method "call" on an undefined value at /usr/local/FHEM/share/fhem/FHEM/lib/UPnP/ControlPoint.pm line 914.
2018.05.12 16:37:13 3: DLNARenderer: RenderingControl, SetMute(0,Master,1) failed, Can't call method "call" on an undefined value at /usr/local/FHEM/share/fhem/FHEM/lib/UPnP/ControlPoint.pm line 914.
2018.05.12 16:37:13 3: DLNARenderer: RenderingControl, SetMute(0,Master,1) failed, Can't call method "call" on an undefined value at /usr/local/FHEM/share/fhem/FHEM/lib/UPnP/ControlPoint.pm line 914.


In Wireshark ist gar nichts mehr zu sehen.

Irgendwie habe ich den Eindruck, dass schon beim Modul- bzw. FHEM-Start etwas nicht passt und alle späteren Versuche nur noch mit "Action failed" quittiert werden, was einem ja auch nicht weiterhilft. Vielleicht sollte man eher bei den Startmeldungen ansetzen?

Line 548293: 2018.05.12 16:24:34 3: DLNARenderer: DLNA Renderer v2.0.7Patch
Line 548293: 2018.05.12 16:24:34 3: DLNARenderer: DLNA Renderer v2.0.7Patch
Line 548495: 2018.05.12 16:27:04 5: DLNARenderer: AVTransport: urn:schemas-upnp-org:service:AVTransport:1 found. OK.
Line 548496: 2018.05.12 16:27:04 5: DLNARenderer: AVTransport: urn:schemas-upnp-org:service:AVTransport:1 found. OK.
Line 548497: 2018.05.12 16:27:04 1: PERL WARNING: Subscription request failed with error: 400 Bad Request at /usr/local/FHEM/share/fhem/FHEM/98_DLNARenderer.pm line 1433.
Line 548498: 2018.05.12 16:27:04 5: DLNARenderer: RenderingControl: urn:schemas-upnp-org:service:RenderingControl:1 found. OK.
Line 548499: 2018.05.12 16:27:04 5: DLNARenderer: RenderingControl: urn:schemas-upnp-org:service:RenderingControl:1 found. OK.
Line 548500: 2018.05.12 16:27:04 1: PERL WARNING: Subscription request failed with error: 400 Bad Request at /usr/local/FHEM/share/fhem/FHEM/98_DLNARenderer.pm line 1437.
Line 548501: 2018.05.12 16:27:04 4: DLNARenderer: SpeakerManagement unknown for DLNA_104fa8052a77.
Line 548501: 2018.05.12 16:27:04 4: DLNARenderer: SpeakerManagement unknown for DLNA_104fa8052a77.
Line 548502: 2018.05.12 16:27:04 4: DLNARenderer: SessionManagement unknown for DLNA_104fa8052a77.
Line 548502: 2018.05.12 16:27:04 4: DLNARenderer: SessionManagement unknown for DLNA_104fa8052a77.


Dir auch noch ein schönes Rest-Wochenende,
LG willibutz

KölnSolar

Zitatich habe die beiden Zeilen mal in ControlPoint auskommentiert, im DLNARenderer waren sie nicht zu finden  ;)
Klar  ::) :-[
Zitat2018.05.12 16:37:07 5: DLNARenderer: AVTransport: urn:schemas-upnp-org:service:AVTransport:1 found. OK.
Sieht gut aus :D
Zitat2018.05.12 16:37:07 3: DLNARenderer: AVTransport, Play(0,1) failed, Can't call method "call" on an undefined value at /usr/local/FHEM/share/fhem/FHEM/lib/UPnP/ControlPoint.pm line 914.
Da kann ich mir keinen Reim drauf machen  :-\ Vielleicht hat Reinerlein eine Idee ? :-\
ZitatVielleicht sollte man eher bei den Startmeldungen ansetzen?
Die stehen nicht im Zusammenhang. Da handelt es sich um Fehler bei der Subscription. Die ist dafür da, dass FHEM beim device angemeldet wird, um später über Veränderungen informiert zu werden, also z.B. Lautstärkeänderungen durch die FB.
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

willibutz

was ist denn mit diesen Meldungen beim Start:


Line 548501: 2018.05.12 16:27:04 4: DLNARenderer: SpeakerManagement unknown for DLNA_104fa8052a77.
Line 548501: 2018.05.12 16:27:04 4: DLNARenderer: SpeakerManagement unknown for DLNA_104fa8052a77.
Line 548502: 2018.05.12 16:27:04 4: DLNARenderer: SessionManagement unknown for DLNA_104fa8052a77.
Line 548502: 2018.05.12 16:27:04 4: DLNARenderer: SessionManagement unknown for DLNA_104fa8052a77.


kann das nicht evtl. dazu führen, dass später kein Ausgabe zustande kommt, weil nicht klar ist, welche der "vielen Multiroom-Lausprecher" gemeint war?

KölnSolar

Nein. Das ist nur etwas unschön umgesetzt, dass bei jedem gefundenen device die subscription für AVTransport, RenderingControl, SpeakerManagement versucht wird auszuführen. Das sollte eigentlich nur für services gemacht werden, die das device gemeldet hatte.


Der stream wurde an den Sony übertragen, oder ? Das müsstest Du an den readings beobachten können u. das play mit dem DLNAClient würd ich erwarten funktioniert auch.
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

willibutz

ja mit dem DLNAClient hatte es schon mal funktioniert, mit dem DLNARenderer allerdings nicht.

KölnSolar

Ich glaube Du hast mich missverstanden. Dass es generell mit dem DLNAClient mal funktionierte, weiß ich ja.

Hier meinte ich etwas anderes. Es werden ja 2 Befehle abgesetzt. Der erste lädt den stream auf das device. Man sieht das auch daran, dass das device den state "buffering" zurückmeldet(bei Dir wahrscheinlich nicht, weil Du ja auch Probleme bei der Subscription hast). Der 2. Befehl(play) spielt dann den stream ab. Beim DLNAClient wirst Du beobachten können, dass nach dem Befehl stream nur noch play oder on absetzen musst, um den selben stream erneut abzuspielen.

Und in Deinem Fall sieht es so aus, als ob mit dem DLNARenderer das laden des streams funktioniert hätte. Das könntest Du dann verifizieren, indem Du im DLNAClient ein play absetzt(ggfs. siehst Du es bereits an den readings).
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