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

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

Vorheriges Thema - Nächstes Thema

dominik

Bzgl. Playlists, könnt ihr mal mit UPnPTester prüfen ob die Devices "SetStreamingPlaylist" oder "SetStaticPlaylist" Kommandos unterstützen? Damit könnte man Playlist Support einführen.

@Kokosnuss, mit dem DLNAClient Modul funktioniert dein Samsung nur mit DLNARenderer nun nicht mehr, hab ich das richtig verstanden? Welche Kommandos funktionieren?
fhempy -  https://github.com/fhempy/fhempy: GoogleCast, Tuya, UPnP, Ring, EQ3BT, Nespresso, Xiaomi, Spotify, Object Detection, ...
Kaffeespende: https://paypal.me/todominik

knopf_piano

#466
Hi,
ich hab ne frage zu set <dlnadev> stream ....
ich möchte eine bestehende m3u-playlist meines minidlna automatisiert streamen.
wenn ich die mit bubble manuell anstoße steht im device
Internals:
   CFGFN
   DEF        uuid:2d4bbf56-2d4e-d423-56c4-26230c01f2d1
   NAME       DLNA_26230c01f2d1
   NR         23680
   STATE      playing
   TYPE       DLNARenderer
   UDN        uuid:2d4bbf56-2d4e-d423-56c4-26230c01f2d1
   Readings:
     2017-02-26 21:27:51   currentAlbum    Renee Olstead
     2017-02-26 21:27:51   currentArtist   Renee Olstead
     2017-02-26 21:27:51   currentDuration
     2017-02-26 21:27:51   currentOriginalTrackNumber 33
     2017-02-26 21:27:51   currentTitle    What A Wonderful World
     2017-02-26 21:27:51   currentTrackURI http://192.168.50.1:8200/MediaItems/13453.mp3
     2017-02-26 18:57:26   friendlyName    FarTV
     2017-02-26 18:57:26   manufacturer    XBMC Foundation
     2017-02-26 18:57:26   manufacturerURL http://kodi.tv/
     2017-02-26 18:57:26   modelDescription Kodi - Media Renderer
     2017-02-26 18:57:26   modelName       Kodi
     2017-02-26 18:57:26   modelNumber     15.2 Git:02e7013
     2017-02-26 18:57:26   modelURL        http://kodi.tv/
     2017-02-26 18:57:27   multiRoomSupport 0
     2017-02-26 18:57:27   multiRoomVolume 100
     2017-02-26 18:03:19   mute            0
     2017-02-26 18:57:26   presence        online
     2017-02-26 18:57:26   presentationURL http://192.168.50.46/
     2017-02-26 21:27:51   state           playing
     2017-02-26 21:22:15   stream          /media/data_server/music/____playlists/Rock.m3u
     2017-02-26 21:27:49   transportState  PLAYING
     2017-02-26 18:03:19   transportStatus OK
     2017-02-26 18:03:19   volume          100
   Helper:
     caskeid    0
     caskeidClients
Attributes:
   alias      FarTV
   userattr   channel_01 channel_02 channel_03 channel_04 channel_05 channel_06 channel_07 channel_08 channel_09 channel_10 multiRoomGroups ttsLanguage
   webCmd     volume

wie kann ich auf ein bestehende/andere m3u zugreifen und entsprechen automatisch streamen, ich kenn die Ablage vom minidlna mit den mediaItems und der zugehörigen playlist ja nicht?
wenn ich den absolut-pfad der m3u (also ohne http) als stream übergeb klappts auch nicht, siehe oben im reading stream
zotac nano mit proxmox und ganz viel zeug drauf

willibutz

Zitat@Kokosnuss, mit dem DLNAClient Modul funktioniert dein Samsung nur mit DLNARenderer nun nicht mehr, hab ich das richtig verstanden? Welche Kommandos funktionieren?

@dominik, Ich war erstaunt deine Frage zu den verschiedenen Modulen zu lesen. Ich dachte, der DLNARenderer wäre die neue, bessere Version, die natürlich alles kann, was der DLNAClient auch schon konnte  ???

Ich hatte zuerst den DLNAClient benutzt und damit z.B. eine NS-510 betrieben. Als dann der DLNARenderer kam, bin ich auf dieses Modul umgestiegen und alles lief problemlos mit zusätzlichen Funktionen weiter (dank dir hier noch für deine gute Arbeit  :) )

Inzwischen habe ich ein neues Gerät im Haus. Wieder von Sony aber natürlich etwas neuer - ein HT-XT3. Leider wird von diesem Gerät zwar alles perfekt angezeigt, es kann nur überhaupt nichts gesteuert werde. Startet ich also einen Auftrag von irgendeiner APP, so zeigt der DLNARenderer genau an, was das Gerät gerade macht. Er kann den Auftrag aber werden stoppen noch z.B. die Lautstärke ändern.

Nachdem in deine Frage an Kokusnuss gelesen hatte, habe ich einfach noch mal einen DLNAClient definiert. Tatsächlich scheint der HT-XT3 damit fast ohne Probleme zu funktionieren. Das einzige, was beim ersten Test nicht funktioniert hat: beim Start eines Auftrages geht der Status auf buffering und bleibt dann dort. Die Musik startet, aber der Status wechselt nicht auf playing.

Hast du eine Idee warum der DLNARenderer das Gerät überhaupt nicht ansteuern kann? Ich würde natürlich lieber ein als zwei Module verwenden und auch gerne die neuen Funktionen verwenden. Wenn ich dir zur Diagnose irgendwelche Infos aus meinen System sammeln soll, sag einfach was du brauchst bzw. wie ich an die Daten komme.

Danke dir auf jeden Fall schon mal, schon der Hinweis auf den DLNAClient hat mich wieder ein Stück weiter gebracht  8)
Gruß willi

dominik

Hallo willibutz,

danke auch für die wichtige Info bzgl. DLNAClient. Ich werde da nochmals prüfen woran das liegt, damit sollte eine Implementierung im DLNARenderer  auf alle Fälle möglich sein.

Gruß,
Dominik
fhempy -  https://github.com/fhempy/fhempy: GoogleCast, Tuya, UPnP, Ring, EQ3BT, Nespresso, Xiaomi, Spotify, Object Detection, ...
Kaffeespende: https://paypal.me/todominik

sd

Hallo Dominik,

danke für das tolle Modul. Ich steuere damit Kodi auf einen Tablet. Probleme habe ich mit der Funktion speak. Sobald ich mehrere Worte einsetze, ist alles still. Nach mehreren Versuchen habe ich die Ursache gefunden. Die Leerzeichen müssen durch %20 ersetzt werden, dann funktioniert es. Kannst du das übernehmen?

Gruß Steffen
Gruß
Steffen

Brice

Hallo Dominik,

die Sony NS-SA310 läßt mich gerade verzweifeln, da sie mehrmals am Tag mit folgender Meldung aussteigt:

2017.03.29 14:28:42 3: DLNARenderer: AVTransport, Stop(0) failed, 500 Can't connect to 192.XXX.XXX.39:8080 at FHEM/lib/UPnP/ControlPoint.pm line 847.

Bisher war die lediglich sporadisch im Einsatz. Als Radio-Ersatz im Bad, gesteuert durch einen Bewegungsmelder, stört das jedoch erheblich. Der Fehler kommt sowohl im WLan-Betrieb, als auch per LAN über einen Powerlan-Adapter. Zeile 847 von ControlPoint.pm:

return UPnP::ControlPoint::ActionResult->new(
  Action => $action,
  Service => $service,
  SOM => $proxy->call($method => @inArgs));
}

# ----------------------------------------------------------------------


Hast du eine Erklärung, was da schief läuft?

Stefan
FHEM auf RPi 4 4GB (Buster) | produktiv) CUL 868 für FS20 | S300TH | KS300 | Max!Cube als CUN 868 für TechemWZ | HM-MOD-RPI-PCB für HM | Z-Wave ZME_UZB1 | FRITZ!DECT 200 | HUE | Lightify | Echo Dot | WS3080

dominik

Hi Stefan,

die Meldung kommt mir bekannt vor. Zumindest hatte ich diese auch schon mal. Irgendwo ist da in der FHEM ControlPoint.pm noch der Wurm drin. Muss das mal genauer analysieren. Kann dir aber noch nicht versprechen bis wann ich da was finde, da meine Zeit gerade sehr begrenzt ist.

Gruß,
Dominik
fhempy -  https://github.com/fhempy/fhempy: GoogleCast, Tuya, UPnP, Ring, EQ3BT, Nespresso, Xiaomi, Spotify, Object Detection, ...
Kaffeespende: https://paypal.me/todominik

dominik

Hi Stefan,

kannst du mal die Version anbei ausprobieren?

# v2.0.4 - 20170402 - to be released
# - FEATURE: support $readingFnAttributes
# - BUGFIX:  fix some freezes
# - BUGFIX:  retry UPnP call 3 times if it fails (error 500)
fhempy -  https://github.com/fhempy/fhempy: GoogleCast, Tuya, UPnP, Ring, EQ3BT, Nespresso, Xiaomi, Spotify, Object Detection, ...
Kaffeespende: https://paypal.me/todominik

Brice

Hallo Dominik,

kurze Rückmeldung: die Meldungen kommen nicht mehr. Allerdings weiß ich nicht, aufgrund welcher Version der 98_DLNARenderer.pm, da noch zwei weitere Versionen per FHEM-update zur Verfügung gestellt worden sind. Anyway...

Vielen Dank
Stefan
FHEM auf RPi 4 4GB (Buster) | produktiv) CUL 868 für FS20 | S300TH | KS300 | Max!Cube als CUN 868 für TechemWZ | HM-MOD-RPI-PCB für HM | Z-Wave ZME_UZB1 | FRITZ!DECT 200 | HUE | Lightify | Echo Dot | WS3080

Fhemotto

Hallo Dominik,

Ich nutze nun schon fast von Begin an, den (alten) DLNAClient und wollte nun endlich mal auf den neuen Renderer umsteigen / Testen.
Leider ohne Erfolg.  Mein Gerät, ein FRITZ!WLAN Repeater N/G reagiert leider auf gar nichts.

defmod DLNA_9CC7A60FA3AE DLNARenderer uuid:fa095ecc-e13e-40e7-8e6c-9CC7A60FA3AE
attr DLNA_9CC7A60FA3AE userattr channel_01 channel_02 channel_03 channel_04 channel_05 channel_06 channel_07 channel_08 channel_09 channel_10 multiRoomGroups ttsLanguage
attr DLNA_9CC7A60FA3AE alias AVM FRITZ!MediaRenderer
attr DLNA_9CC7A60FA3AE room Media
attr DLNA_9CC7A60FA3AE verbose 5
attr DLNA_9CC7A60FA3AE webCmd volume

setstate DLNA_9CC7A60FA3AE online
setstate DLNA_9CC7A60FA3AE 2017-04-11 14:53:51 friendlyName AVM FRITZ!MediaRenderer
setstate DLNA_9CC7A60FA3AE 2017-04-11 14:53:52 manufacturer AVM Berlin
setstate DLNA_9CC7A60FA3AE 2017-04-11 14:53:52 manufacturerURL http://www.avm.de
setstate DLNA_9CC7A60FA3AE 2017-04-11 14:53:51 modelDescription FRITZ!MediaRenderer
setstate DLNA_9CC7A60FA3AE 2017-04-11 14:53:52 modelName FRITZ!WLAN Repeater N/G
setstate DLNA_9CC7A60FA3AE 2017-04-11 14:53:52 modelNumber avm
setstate DLNA_9CC7A60FA3AE 2017-04-11 14:53:52 modelURL http://fritz.repeater
setstate DLNA_9CC7A60FA3AE 2017-04-11 14:53:52 multiRoomSupport 0
setstate DLNA_9CC7A60FA3AE 2017-04-11 14:53:52 presence online
setstate DLNA_9CC7A60FA3AE 2017-04-11 14:53:52 presentationURL http://fritz.repeater
setstate DLNA_9CC7A60FA3AE 2017-04-11 14:53:52 state online
setstate DLNA_9CC7A60FA3AE 2017-04-11 14:55:48 stream http://www.jumpradio.de/static/webchannel/jump_live_channel_high.m3u



Folgende Meldungen erscheinen im Log.

2017.04.11 14:09:20 4: DLNARenderer: deviceAdded, AVM FRITZ!MediaRenderer
2017.04.11 14:09:20 5: DLNARenderer: AVTransport: urn:schemas-upnp-org:service:AVTransport:1 found. OK.
2017.04.11 14:09:20 5: DLNARenderer: AVTransport: urn:schemas-upnp-org:service:AVTransport:1 found. OK.
2017.04.11 14:09:20 5: DLNARenderer: RenderingControl: urn:schemas-upnp-org:service:RenderingControl:1 found. OK.
2017.04.11 14:09:20 5: DLNARenderer: RenderingControl: urn:schemas-upnp-org:service:RenderingControl:1 found. OK.
2017.04.11 14:09:20 4: DLNARenderer: SpeakerManagement unknown for DLNA_9CC7A60FA3AE.
2017.04.11 14:09:20 4: DLNARenderer: SessionManagement unknown for DLNA_9CC7A60FA3AE.
2017.04.11 14:09:23 3: DLNARenderer: handleOnce failed, junk '' after XML element
2017.04.11 14:09:23 3: DLNARenderer: handleOnce failed, junk '' after XML element
2017.04.11 14:09:23 3: DLNARenderer: handleOnce failed, junk '' after XML element
2017.04.11 14:09:23 3: DLNARenderer: handleOnce failed, junk '' after XML element
2017.04.11 14:09:32 3: DLNARenderer: handleOnce failed, junk '' after XML element
2017.04.11 14:09:32 3: DLNARenderer: handleOnce failed, junk '' after XML element

2017.04.11 14:11:49 5: DLNARenderer: AVTransport: urn:schemas-upnp-org:service:AVTransport:1 found. OK.
2017.04.11 14:11:50 5: DLNARenderer: AVTransport, Stop(0) succeed.
2017.04.11 14:12:00 5: DLNARenderer: AVTransport: urn:schemas-upnp-org:service:AVTransport:1 found. OK.
2017.04.11 14:12:00 5: DLNARenderer: AVTransport, Play(0,1) succeed.

2017.04.11 14:53:55 3: DLNARenderer: handleOnce failed, junk '' after XML element
2017.04.11 14:55:48 5: DLNARenderer: AVTransport: urn:schemas-upnp-org:service:AVTransport:1 found. OK.
2017.04.11 14:55:48 5: DLNARenderer: AVTransport, SetAVTransportURI(0,http://www.jumpradio.de/static/webchannel/jump_live_channel_high.m3u,<DIDL-Lite xmlns="urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/" xmlns:upnp="urn:schemas-upnp-org:metadata-1-0/upnp/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dlna="urn:schemas-dlna-org:metadata-1-0/" xmlns:sec="http://www.sec.co.kr/"><item id="-1" parentID="parent" restricted="1"><upnp:class>object.item.audioItem.musicTrack</upnp:class><dc:title>http://www.jumpradio.de/static/webchannel/jump_live_channel_high.m3u</dc:title><upnp:album>http://www.jumpradio.de/static/webchannel/jump_live_channel_high.m3u</upnp:album><res protocolInfo="http-get:*:audio/x-mpegurl:DLNA.ORG_OP=01;DLNA.ORG_FLAGS=01700000000000000000000000000000" size="254">http://www.jumpradio.de/static/webchannel/jump_live_channel_high.m3u</res></item></DIDL-Lite>) succeed.
2017.04.11 14:55:48 5: DLNARenderer: AVTransport: urn:schemas-upnp-org:service:AVTransport:1 found. OK.
2017.04.11 14:55:48 5: DLNARenderer: AVTransport, Play(0,1) succeed.
2017.04.11 14:55:55 5: DLNARenderer: AVTransport: urn:schemas-upnp-org:service:AVTransport:1 found. OK.
2017.04.11 14:55:55 5: DLNARenderer: AVTransport, Play(0,1) succeed.


In einem älteren Post "442" wurde von einem ähnlichen Problem berichtet, leider ohne Rückmeldung.
Allerdings geht es bei mir, im Gegensatz zu dem im Post beschriebenen Test mit dem UPNP-Tester auch ohne   ,,CurrentURIMetaData=http://mp3-live.swr3.de/swr3_m.m3u".

Ich habe auch die im letzten Post von dir angehangene Version v2.0.4 - 20170402 probiert, ohne Erfolg.

Kannst du mir einen Tip geben was ich noch probieren / testen kann bzw. dich diesem Problem annehmen.

Vielen Dank schon mal.


Norberto

Hallo Dominik,

mit der neuesten Version welches Du anscheinend in den letzten Tagen eingepflegt hast funktioniert bei mir die Aktualisierung der Readings nicht mehr vollständig. Ich habe es nicht weiter untersucht aber zumindest volume und state werden nicht mehr aktualisiert. Zurückspielen der alten Version behebt das Problem, ich bin mir also sicher dass es an Deinen letzten Änderungen liegt.

Ein anderes Problem welches aber nichts mit den letzten Änderungen zu tun hat: die Routine DLNARenderer_updateStereoMode blockiert alle 300 Sekunden für ca. 2 Sekunden, und dies 1x für jeden caskeid Renderer mit Stereo Unterstützung welcher online ist.

Perfmon und apptime geben dann folgendes aus:


2017.04.23 16:03:48 1: Perfmon: possible freeze starting at 16:03:46, delay is 2.191
2017.04.23 16:03:51 1: Perfmon: possible freeze starting at 16:03:49, delay is 2.215
2017.04.23 16:03:54 1: Perfmon: possible freeze starting at 16:03:52, delay is 2.599
2017.04.23 16:03:57 1: Perfmon: possible freeze starting at 16:03:55, delay is 2.814
2017.04.23 16:04:01 1: Perfmon: possible freeze starting at 16:03:58, delay is 3.76
2017.04.23 16:04:05 1: Perfmon: possible freeze starting at 16:04:02, delay is 3.023

2017.04.23 16:08:48 1: Perfmon: possible freeze starting at 16:08:47, delay is 1.652
2017.04.23 16:08:51 1: Perfmon: possible freeze starting at 16:08:50, delay is 1.376
2017.04.23 16:08:54 1: Perfmon: possible freeze starting at 16:08:53, delay is 1.394
2017.04.23 16:08:57 1: Perfmon: possible freeze starting at 16:08:56, delay is 1.31
2017.04.23 16:09:00 1: Perfmon: possible freeze starting at 16:08:59, delay is 1.619
2017.04.23 16:09:04 1: Perfmon: possible freeze starting at 16:09:03, delay is 1.522

                                name             function    max  count    total  average maxDly
   tmr-DLNARenderer_updateStereoMode      HASH(0x2e86998)   2439      1     2439  2439.00      2 HASH(MunetAL)
   tmr-DLNARenderer_updateStereoMode      HASH(0x2843c00)   2420      1     2420  2420.00      2 HASH(MunetKL)
   tmr-DLNARenderer_updateStereoMode      HASH(0x2e858c8)   2350      1     2350  2350.00      2 HASH(MunetSL)
   tmr-DLNARenderer_updateStereoMode      HASH(0x2ebfd90)   2336      1     2336  2336.00      2 HASH(MunetAR)
   tmr-DLNARenderer_updateStereoMode      HASH(0x2844518)   2312      1     2312  2312.00      2 HASH(MunetKR)
   tmr-DLNARenderer_updateStereoMode      HASH(0x2e86120)   2263      1     2263  2263.00      2 HASH(MunetSR)


Bei apptime steht für count eine 1 da ich es zwischendurch geresettet hatte.

Das erste Problem ist das dringendere, aber wäre nett wenn Du auch mal nach dem blocking in der Funktion DLNARenderer_updateStereoMode schauen könntest. Lass mich wissen falls ich irgendwie unterstützen kann oder etwas testen muss.

Grüße, Norbert

dominik

Hi Norbert,

danke für die Info. Das kann eigentlich nur sein, wenn die Subscription keine Events liefert. Hast du die Updates bisher immer sofort erhalten, oder mit 1-3 Minuten Verzögerung?

Wegen updateStereoMode prüfe ich mal woran das liegt.

Gruß,
Dominik
fhempy -  https://github.com/fhempy/fhempy: GoogleCast, Tuya, UPnP, Ring, EQ3BT, Nespresso, Xiaomi, Spotify, Object Detection, ...
Kaffeespende: https://paypal.me/todominik

Norberto

Hallo Dominik,

Danke für die fixe Rückmeldung. Bis jetzt wurden Readings unmittelbar aktualisiert.

Grüße, Norbert

Fhemotto

#478
Hallo Dominik,

wollte noch mal kurz nachfragen zu meinem Post ,,474"   4 weiter oben.
Gibt es hier noch Möglichkeiten was zu machen oder Dinge die bei mir falsch sind (alte Bibliotheken oder so)?
Gerät ist schon älter, möglicherweise auch nicht ganz konform.

Wenn dies größeren Aufwand machen sollte bzw. nicht ohne weiteres möglich ist,
so würde ich dann wohl beim alten  DLNAClient  bleiben müssen.

Über eine kurze Rückmeldung würde ich mich freuen.

Danke
Uwe

martins

Hallo Dominik,

ich habe ebenfalls das Problem das seit dem Update auf die neue Version die Readings nicht mehr aktualisiert werden, mit der alten Version geht dies sofort.

Viele Grüße
Martin