FHEM Forum

FHEM - Anwendungen => Multimedia => Thema gestartet von: dominik am 04 August 2015, 20:23:38

Titel: 98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: dominik am 04 August 2015, 20:23:38
Das Modul ist ab sofort im offiziellen FHEM Repository. Prüft bitte vor Verwendung die Perl Library Voraussetzungen.

Das DLNARenderer Modul listet automatisch alle eure DLNA Renderer Devices im Netzwerk unter "Unsorted". Danach könnt ihr darüber per set <devicename> stream http://... beliebige Streams abspielen, Lautstärke steuern oder Devices mit Caskeid Unterstützung (z.B. MUNET) im Multiroom Modus betreiben. Sofern der DLNA Renderer auch Events unterstützt, werden diese vom Modul verarbeitet und im Reading angezeigt (z.B. aktueller Titel, Album, Lautstärke, ...).

Bitte meldet Bugs & Ideen in diesem Thread, nur durch eure Hilfe wird die Qualität besser!

Voraussetzung
SOAP::Lite
LWP::Simple
XML::Simple

Schnellanleitung
define dlnadevices DLNARenderer (ca. 2 Minuten warten, dann erscheinen die Devices unter Unsorted)
set <devicename> stream http://mp3-live.swr3.de/swr3_m.m3u (SWR3 starten)
set <devicename> playEverywhere (auf allen Caskeid Lautsprechern synchron abspielen)

Changelog
v2.0.0 RC5 - 20160614
- BUGFIX: support events from devices with wrong serviceId
- BUGFIX: fix perl warning on startup
- BUGFIX: fix error if LastChange event is empty

v2.0.0 RC4 - 20160613
- FEATURE: support devices with wrong serviceId
- BUGFIX: fix crash during stereo mode update for caskeid players
- FEATURE: add stereoPairName reading
- CHANGE: add version string to main device internals
- BUGFIX: fix error when UPnP method is not implemented
- FEATURE: identify stereo support (reading: stereoSupport)

v2.0.0 RC3 - 20160609
- BUGFIX: check correct number of params for all commands
- BUGFIX: fix addUnitToSession/removeUnitFromSession for MUNET/Caskeid devices
- BUGFIX: support devices with non-standard UUIDs
- CHANGE: use BlockingCall for subscription renewal
- CHANGE: remove ignoreUDNs attribute from play devices
- CHANGE: remove multiRoomGroups attribute from main device
- CHANGE: split stereoDevices reading into stereoLeft/stereoRight
- FEATURE: support multiRoomVolume to change volume of all group speakers e.g.
              set <name> multiRoomVolume +10
              set <name> multiRoomVolume 25
- FEATURE: support channel_01-10 attribute
              attr <name> channel_01 http://... (save URI to channel_01)
              set <name> channel 1 (play channel_01)
- FEATURE: support speak functionality via Google Translate
              set <name> speak "This is a test."
              attr <name> ttsLanguage de
              set <name> speak "Das ist ein Test."
- FEATURE: automatically retrieve stereo mode from speakers and update stereoId/Left/Right readings
- FEATURE: support mute
              set <name> mute on/off

v2.0.0 RC2 - 20160510
- BUGFIX: fix multiroom for MUNET/Caskeid devices

v2.0.0 RC1 - 20160509
- CHANGE: change state to offline/playing/stopped/paused/online
- CHANGE: removed on/off devstateicon on creation due to changed state values
- CHANGE: play is NOT setting AVTransport any more
- CHANGE: code cleanup
- CHANGE: handle socket via fhem main loop instead of InternalTimer
- BUGFIX: do not create new search objects every 30 minutes
- FEATURE: support pauseToggle
- FEATURE: support SetExtensions (on-for-timer, off-for-timer, ...)
- FEATURE: support relative volume changes (e.g. set <device> volume +10)

v2.0.0 BETA3 - 20160504
- BUGFIX: XML parsing error "NOT_IMPLEMENTED"
- CHANGE: change readings to lowcaseUppercase format
- FEATURE: support pause
- FEATURE: support seek REL_TIME
- FEATURE: support next/prev

v2.0.0 BETA2 - 20160403
- FEATURE: support events from DLNA devices
- FEATURE: support caskeid group definitions
                set <name> saveGroupAs Bad
                set <name> loadGroup Bad
- FEATURE: support caskeid stereo mode
                set <name> stereo MUNET1 MUNET2 MunetStereoPaar
                set <name> standalone
- CHANGE: use UPnP::ControlPoint from FHEM library
- BUGFIX: fix presence status

v2.0.0 - 20160321 - !! BETA !!
- FEATURE: autodiscover and autocreate DLNA devices
       just use "define dlnadevices DLNARenderer" and wait 2 minutes
- FEATURE: support Caskeid (e.g. MUNET devices) with following commands
                set <name> playEverywhere
                set <name> stopPlayEverywhere
                set <name> addUnit <UNIT>
                set <name> removeUnit <UNIT>
                set <name> enableBTCaskeid
                set <name> disableBTCaskeid
- FEATURE: display multiroom speakers in multiRoomUnits reading
- FEATURE: automatically set alias for friendlyname
- FEATURE: automatically set webCmd volume
- FEATURE: automatically set devStateIcon audio icons
- FEATURE: ignoreUDNs attribute in main
- FEATURE: scanInterval attribute in main
20160216, v1.23
- BUGFIX: call GetVolume only after scan
- FEATURE: add presence based on first scan
20160214, v1.22
- CHANGED: set state offline on startup and off when found
- BUGFIX: add use Blocking
- FEATURE: log version on startup
20160210, v1.21
- BUGFIX: fix handling if device was not found
20160210, v1.20:
- CHANGED: removed all iThreads
- CHANGED: use BlockingCall for upnp search
20160105, v1.11:
- FIXED: support all versions of RenderingControl UPnP service (by MichaelT)
20151201, v1.10:
- CHANGED: set MyPlayer stream <url> instead of set MyPlayer <url>
- CHANGED: states are now on/off only
- FIXED: fhem hanging when starting play
- FIXED: issue with multiple DLNAClients (by ufo-hans)
- FIXED: shutdown warning regarding active threads (by ufo-hans)
- FIXED: arguments are now properly shown in the webgui
20150820, v1.9-beta:
- Fixed crash when device is offline and set methods are used.
- Still beta due to an issue on shutdown: (2015.08.19 18:16:09 1: PERL WARNING: Perl exited with active threads:
        1 running and unjoined
        0 finished and unjoined
        0 running and detached)
20150819, v1.8-beta:
- Fix threading issue, now only 1 thread is created instead of "unlimited".
- Still beta due to an issue on shutdown: (2015.08.19 18:16:09 1: PERL WARNING: Perl exited with active threads:
        1 running and unjoined
        0 finished and unjoined
        0 running and detached)
20150818, v1.7-beta:
- Search every 5 minutes for the device in a separate thread
    e.g. if the device isn't available at startup, it can still be found afterwards
20150817, v1.6:
- Fixed DLNA client support with blanks in their name (thx2Sukaos)
    e.g. define MyPlayer DLNAClient Samsung TV
20150814, v1.5:
- Code cleanup
- Set "stream" reading instead of "state"
- Load last "stream" reading when switching "on"
20150814, v1.2:
- Fix current status detection
- Fix search for rendering devices with special characters
20150804:
- Added volume control (set DLNA_Device volume 20)



gruß
dominik
Titel: Antw:98_DLNAClient.pm (UPnP)
Beitrag von: dominik am 11 August 2015, 21:55:04
Ich habe mir nochmals Gedanken über dieses Modul und den Aufbau gemacht.

Würde gerne folgenden Punkt implementieren:
- Autosearch für DLNA Renderer welche der User dann auswählen kann. Gibt es dazu Möglichkeiten in FHEM? Ich müsste die gefundenen Geräte irgendwo hinschreiben wo der User sie auswählen kann. Bislang ist mir da in FHEM noch nichts bekannt wie das machbar wäre. Jemand eine Idee??
Titel: Antw:98_DLNAClient.pm (UPnP)
Beitrag von: dominik am 13 August 2015, 21:46:36
Mir ist gerade die Idee gekommen, dass man die gefundenen Devices doch gleich alle in FHEM erstellen könnte. So würde jedes Device gleich als DLNAClient angezeigt werden. Denke die autocreate Funktionalität macht ja ähnliches - hab keine Devices die das nutzen um es zu prüfen.

Btw, nutzt eigentlich außer mir jemand dieses Modul? Wenn ja, bitte um Feedback ob es funktioniert oder ob Fehler auftreten.
Titel: Antw:98_DLNAClient.pm (UPnP)
Beitrag von: Sukaos am 14 August 2015, 14:24:26
Ich versuche das zu verwenden, habe aber momentan noch keine Zeit dafür gehabt.
Kurzer Test funktionierte aber nicht. Er sagt immer
2015.08.14 14:18:27 3: DLNAClient: Device current state is <<>>.
2015.08.14 14:18:27 3: DLNAClient: Device is in bad state, starting up!

Ich kann das erst in 2-3 Wochen genauer testen.
Titel: Antw:98_DLNAClient.pm (UPnP)
Beitrag von: dominik am 14 August 2015, 15:39:31
Danke für das Feedback Sukaos.
Anbei eine aktualisierte Version welche den Device State korrekt ausliest.

Der wichtigste Part des Moduls ist der beim Starten. Da sollten folgende Meldungen im Log kommen:
2015.08.10 22:42:06 3: DLNAClient: Searching for renderers...
2015.08.10 22:42:10 3: DLNAClient: found [1] : device name: [Kodi (htpc)]
2015.08.10 22:42:10 3: DLNAClient: skipping this device.
2015.08.10 22:42:10 3: DLNAClient: found [2] : device name: [Speaker]


Wenn kein Device gefunden wird, dann funktioniert es nicht. Also auf alle Fälle sicherstellen, dass FHEM im gleichen Netz ist, so dass das Device gefunden wird.
Titel: Antw:98_DLNAClient.pm (UPnP)
Beitrag von: Powermac_G5 am 14 August 2015, 16:16:07
Nutze dein Modul ebenfalls! Vielen Dank schonmal dafür.
Bei meinem Kodi Mediaplayer funktioniert das Modul. Bei meinem Samsung Fernseher jedoch nicht. Das Modul erkennt zwar das der Fernseher verfügbar ist überspringt ihn aber. Ich denke es liegt daran dass der Geräte meines Fernsehers mit [TV] anfängt. Hast du eine Ahnung ob das gefixt werden kann? Am TV selbst kann ich den Gerätenamen nicht ändern.

Gruß!
Titel: Antw:98_DLNAClient.pm (UPnP)
Beitrag von: dominik am 14 August 2015, 16:23:49
@Powermac_G5
Danke für das Feedback. Probier bitte mal die Version anbei.
Wichtig: In dieser Version muss der Name des Devices 100% korrekt geschrieben sein. Vorher war es ein RegExp Match.
Titel: Antw:98_DLNAClient.pm (UPnP)
Beitrag von: Powermac_G5 am 14 August 2015, 16:41:35
Also das nenne ich mal Support, funktioniert nun einwandfrei!
Vielen Dank dafür!
Titel: Antw:98_DLNAClient.pm (UPnP)
Beitrag von: dominik am 14 August 2015, 19:39:29
v1.5 im ersten Post
- Code aufgeräumt
- State wird nun nicht mehr mit dem Stream beschrieben (sah nicht so schön aus)
- Eigenes Reading für "stream"
- Zuletzt gehörter "stream" (anhand Reading) wird beim Einschalten wieder geladen

Bitte gebt mir Feedback wenn etwas nicht funktioniert bzw. wenn ihr Ideen für weitere Funktionen habt :)
Titel: Antw:98_DLNAClient.pm (UPnP)
Beitrag von: Sukaos am 16 August 2015, 17:22:24
Ich habe mal auf die Schnelle die Define Funktion wie folgt modifiziert, damit auch DLNA Renderer die ein Leerzeichen im Namen haben gefunden werden.

return "too few parameters: define <name> DLNAClient <DLNAName>" if(int(@param) < 3);
   
    my $name            = $param[0];
    my $clientName      = "";
for(my $i = 2; $i < @param; $i++) {
  $clientName .= " ".$param[$i];
}
$clientName =~ s/^\s+|\s+$//g;
    $hash->{CLIENTNAME} = $clientName;


Die Steuerung scheint aber noch nicht zu funktionieren. Allerdings konnte ich das eben auch nur mit einem älteren Harman Kardon receiver probieren, der nicht so die tolle Implementierung von DLNA hat und ein gmrender auf einem Raspberry Pi ist zudem in ein OpenHome Server eingebunden und scheint daher Probleme zu machen. Der OpenHome Renderer wird nämlich gar nicht gefunden. Dieser wird aber auch von Windows als anderer Geräte Typ angezeigt. Da muss ich mich noch einmal schlau machen.
Titel: Antw:98_DLNAClient.pm (UPnP)
Beitrag von: dominik am 16 August 2015, 21:37:09
Danke für das Update Sukao, werde deine Änderung dann morgen in den Code mit einbauen.

Bzgl. der Funktionalität, probier mal den Receiver mit den UpnpTester (Google chip download) ausfindig zu machen. Dort sollte der Receiver gefunden werden. Wenn er den Service AVTransport hat und dort die Funktion SetAVTransportURI dann müsste das klappen. So habe ich die diversen DLNA Funktionalitäten meiner Geräte ausgewertet.
Titel: Antw:98_DLNAClient.pm (UPnP)
Beitrag von: Sukaos am 17 August 2015, 10:35:22
Danke für den Tipp. Tool funktioniert, jetzt muss ich nur noch gucken, was da nicht wollte gestern. Wird aber erst nach dem 28. etwas.
AVTransport, ConnectionManager und RenderingControl haben beide Geräte.
Der OpenHome-Server zeigt sich aber als "DeviceType: urn:linn-co-uk:device:Source:1" und nicht als MediaRenderer. Das funktioniert dementsprechend gänzlich anders über den Services Playlist, Info, Volume und Time.

Vielen Dank also nochmal für den Hinweis mit dem Tool. Dann kann ich demnächst endlich die Musik im Wohnzimmer über fhem steuern. :)

Viele Grüße

Wulf
Titel: Antw:98_DLNAClient.pm (UPnP)
Beitrag von: Brockmann am 17 August 2015, 16:01:14
Wollte nur Rückmeldung geben, dass ich das Modul nun auch mal getestet habe.
Es klappt deutlich besser als die frühere Version, mit der es für mich letztlich nicht nutzbar war.

So werde ich es mal integrieren und länger testen.

Titel: Antw:98_DLNAClient.pm (UPnP)
Beitrag von: dominik am 17 August 2015, 18:59:42
Danke für die Rückmeldung Brockmann.

@Sukaos:
Version 1.6 im ersten Post aktualisiert.
Titel: Antw:98_DLNAClient.pm (UPnP)
Beitrag von: det. am 17 August 2015, 20:08:00
Hallo,


hab das Modul auch eben mal getestet mit einem Philips NP 2900. Lautstärkeänderungen gehen prima. Einen Radiosender bekomme ich nicht abgespielt. Da versucht das Device immer auf einen (dann immer nicht vorhandenen) Mediaserver zuzugreifen. Leider spielt das Ding nach dem Einschalten (Neustart) nichts ab, sodern zeigt das Menü an. Mein Ziel wäre es, früh das Ding über Funksteckdose einzuschalten und einen Radiosender abzuspielen.
Kann ich irgendwie beim Testen helfen?
Titel: Antw:98_DLNAClient.pm (UPnP)
Beitrag von: dominik am 17 August 2015, 22:09:21
Hallo det.,

verstehe ich richtig, wenn du den NP2900 über Nacht komplett eingeschalten lässt (also nicht die Funksteckdose ausschaltest), dann kannst du den Radiosender in der Früh starten? So nutze ich es zumindest mit einem Sony SA-NS510.

Ich versuche gerade noch die Funktionalität zu implementieren, dass das Modul im Hintergrund die ganze Zeit nach dem DLNA Device sucht. Also auch wenn es in der Nacht nicht verfügbar ist, es in der Früh gefunden und damit bespielbar ist. Leider habe ich da noch das Problem, dass der BlockingCall nur Strings zurückgeben kann, ich aber als Ergebnis das Device als instanziertes DLNA Objekt benötige. Hier steh ich im Moment komplett an...
Titel: Antw:98_DLNAClient.pm (UPnP)
Beitrag von: det. am 17 August 2015, 22:24:06
Hallo  Dominik,


Ja genau so geht es, aber nur bei Druck auf den Start Knopf am Gerät oder an der Fernbedienung aber leider (noch) nicht mit Deinem Modul. Wenn Du das hinbekommst, das wäre großartig. Auf das trennen des Radios vom Netz über Nacht könnte ich verzichten, aber automatische Musik am Morgen wäre schick.
Gegenüber meinen SONOS hat das Philips Radio im Bad den Vorteil des eigenen Displays und der Fernbedienung. So fällt mir nicht aus Versehen das IPad ins Wasser. Sonst wäre das Ding schon lange ausgemustert.
Titel: Antw:98_DLNAClient.pm (UPnP)
Beitrag von: dominik am 17 August 2015, 22:28:52
Kannst du auch mal probieren nach dem Einschalten das Gerät (im Menü Modus) mit UpnpTester (google) zu suchen? Wenn es dort gefunden wird, müsste man die Steuerung hinbekommen.
Titel: Antw:98_DLNAClient.pm (UPnP)
Beitrag von: det. am 17 August 2015, 22:59:25
Hallo  Dominik,


LOG anbei...
Titel: Antw:98_DLNAClient.pm (UPnP)
Beitrag von: dominik am 17 August 2015, 23:35:23
Bekommst du diesen Output bereits wenn am NP2900 noch Menü steht? Das würde bedeuten, dass der DLNA Server zumindest schon läuft.
Titel: Antw:98_DLNAClient.pm (UPnP)
Beitrag von: det. am 18 August 2015, 08:21:49
ja, aber ich kann erst heute Abend weiter testen
Titel: Antw:98_DLNAClient.pm (UPnP)
Beitrag von: det. am 18 August 2015, 19:14:05
Zitat von: dominik am 17 August 2015, 23:35:23
Bekommst du diesen Output bereits wenn am NP2900 noch Menü steht? Das würde bedeuten, dass der DLNA Server zumindest schon läuft.
ja eben noch mal probiert - gleiches Ergebnis
Titel: Antw:98_DLNAClient.pm (UPnP)
Beitrag von: dominik am 18 August 2015, 19:22:20
Versuch mal über den UpnpTester folgendes:
- AVTransport rechtsklick Properties
- SetAVTransportURI auswählen
- Folgende Eintragungen durchführen: InstanceID=0, CurrentURI=http://mp3-live.swr3.de/swr3_m.m3u, CurrentURIMetaData=<leer lassen>
- Invoke drücken und warten bis OK unten beim Status erscheint
- Dann bei Action "Play" auswählen
- InstanceID=0, Speed=1
- Invoke drücken und warten bis OK unten beim Status erscheint

Nun sollte der Player eigentlich den Stream abspielen.
Titel: Antw:98_DLNAClient.pm (UPnP)
Beitrag von: det. am 18 August 2015, 19:45:39
sorry, gemacht - kommt "Der Server ist derzeit nicht verfügbar" auf dem Playerdisplay nach einem kurzen Hinweis, "ein externer UPnp Kontrollpunkt ist aktiv"
Titel: Antw:98_DLNAClient.pm (UPnP)
Beitrag von: dominik am 18 August 2015, 19:55:37
Wenn du vorher in den DLNA Mode wechselst, dann funktioniert es?
Titel: Antw:98_DLNAClient.pm (UPnP)
Beitrag von: det. am 18 August 2015, 20:49:12
Zitat von: dominik am 18 August 2015, 19:55:37
Wenn du vorher in den DLNA Mode wechselst, dann funktioniert es?
Ich kann Dir leider nicht folgen..?
Titel: Antw:98_DLNAClient.pm (UPnP)
Beitrag von: dominik am 18 August 2015, 21:18:20
Am NP2900...also wie stellst du dort auf DLNA um, so dass das DLNA Streaming funktioniert? So wie ich das verstanden habe, musst du am NP2900 immer auf "DLNA wechseln" damit das Abspielen dann klappt. Oder?
Titel: Antw:98_DLNAClient.pm (UPnP)
Beitrag von: det. am 18 August 2015, 21:50:20
das mache ich bisher am Menü über die FB. Internetradio->Lieblingssender->sender->OK und spielt.. sorry ich bin keine große Hilfe
Mediendateien (mp3,flac) auf dem Windows Rechner ins Gerätefenster des Players ziehen geht, die spielt er ab
Titel: Antw:98_DLNAClient.pm (UPnP)
Beitrag von: dominik am 18 August 2015, 22:04:04
Ich hab keinen NP2900, daher muss ich dich einfach viel Fragen - eine Hilfe bist du mir daher trotzdem :)
Kannst du den NP2900 über den Windows Media Player (Send to... Methode) bespielen?
Titel: Antw:98_DLNAClient.pm (UPnP)
Beitrag von: dominik am 18 August 2015, 22:16:23
Version 1.7 im 1. Post aktualisiert.
Es wird nun alle 5 Minuten das DLNA Device gesucht. Sollte das Device also beim Startup nicht zur Verfügung stehen, dann kann es danach weiterhin gefunden werden.

Bin mir zwar noch nicht 100% sicher ob ich die Threads richtig handhabe, aber es funktioniert zumindest :)
Titel: Antw:98_DLNAClient.pm (UPnP)
Beitrag von: det. am 18 August 2015, 22:22:27
Zitat von: dominik am 18 August 2015, 22:04:04
Ich hab keinen NP2900, daher muss ich dich einfach viel Fragen - eine Hilfe bist du mir daher trotzdem :)
Kannst du den NP2900 über den Windows Media Player (Send to... Methode) bespielen?
Ja, das geht - zumindest mit Musikdateien vom Server - Über Rechtsklick - Umwandeln in Gerät "Bad"
Titel: Antw:98_DLNAClient.pm (UPnP)
Beitrag von: Tommy82 am 19 August 2015, 06:38:19
Hi,
bin hier auf das Modul gestossen und wollte mir das auch mal ansehen.
Hab es mal definiert, aber der state bleibt auf "???"
Wenn ich ein "set on" mache, stürzt fhem komplett ab bei mir.
2015.08.19 06:45:59.459 3: DLNAClient: Searching for renderers...
2015.08.19 06:46:04.406 3: DLNAClient: found [1] : device name: [HOME-SERVER]
2015.08.19 06:46:04.407 3: DLNAClient: skipping this device.
2015.08.19 06:49:59.705 3: DLNAClient: Searching for renderers...
2015.08.19 06:50:04.212 3: DLNAClient: found [1] : device name: [HOME-SERVER]
2015.08.19 06:50:04.212 3: DLNAClient: matching device.
Can't call method "postaction" on an undefined value at /usr/share/perl5/Net/UPnP/AV/MediaRenderer.pm line 139.


Was läuft da noch schief?

Danke
Titel: Antw:98_DLNAClient.pm (UPnP)
Beitrag von: Brockmann am 19 August 2015, 08:03:28
Zitat von: dominik am 18 August 2015, 22:16:23
Version 1.7 im 1. Post aktualisiert.
Es wird nun alle 5 Minuten das DLNA Device gesucht. Sollte das Device also beim Startup nicht zur Verfügung stehen, dann kann es danach weiterhin gefunden werden.
Ist das ein BlockingCall?
Könnte man das vielleicht per Attribut konfigurierbar machen, so dass 0 = gar nicht und alles >0 = Minuten für das Suchintervall?
Titel: Antw:98_DLNAClient.pm (UPnP)
Beitrag von: dominik am 19 August 2015, 18:25:55
Neue Version 1.8 im 1. Post.
Da ist mir in v1.7 ein Fehler unterlaufen. Hatte alle 5 Minuten einen neuen Thread erzeugt. Nun wird nur mehr 1 Thread erstellt und dieser immer wieder durchlaufen (alle 30s). Kann ich danach noch konfigurierbar machen, möchte aber zuerst das Threadhandling korrekt implementieren.

Aktuell kommt noch folgender Fehler beim Shutdown (und nur dann):
2015.08.19 18:16:09 1: PERL WARNING: Perl exited with active threads:
        1 running and unjoined
        0 finished and unjoined
        0 running and detached
Obwohl ich in der Undef Methode den Thread joine. Hat da jemand eine Idee wie man den Thread richtig beendet?

Aja, in v1.8 wird nun auch "offline" als state angezeigt wenn das Device nicht gefunden wird.
Habe es als "beta" markiert, da das Threading Problem oben noch gelöst werden muss.

@det., ich glaube dein NP2900 blockiert irgendwo das Streaming mit externen Server. Zumindest hab ich so das Gefühl. Findest du im UpnpTester vielleicht spezielle Methoden (Actions)? Eventuell muss man noch was anderes verwenden statt nur "SetAVTransportURI" & "play".
Titel: Antw:98_DLNAClient.pm (UPnP)
Beitrag von: Tommy82 am 19 August 2015, 21:53:55
Hi,
mit der neuen Version bekomm ich jetzt den state off, allerdings stürzt fhem immer noch bei einem set on ab

Im Log gibts dann diese Meldung:
Can't call method "postaction" on an undefined value at /usr/share/perl5/Net/UPnP/AV/MediaRenderer.pm line 139.
2015.08.19 21:36:51.539 1: PERL WARNING: Perl exited with active threads:
1 running and unjoined
0 finished and unjoined
0 running and detached
Titel: Antw:98_DLNAClient.pm (UPnP)
Beitrag von: dominik am 19 August 2015, 23:38:20
Hi Tommy82,
was für ein Device nutzt du? Kannst du auch mal mit den UpnpTester (google) prüfen was passiert wenn du folgendes durchführst - siehe Post:
http://forum.fhem.de/index.php/topic,39706.msg323948.html#msg323948
Titel: Antw:98_DLNAClient.pm (UPnP)
Beitrag von: dominik am 19 August 2015, 23:42:21
Zitat von: Brockmann am 19 August 2015, 08:03:28
Ist das ein BlockingCall?
Könnte man das vielleicht per Attribut konfigurierbar machen, so dass 0 = gar nicht und alles >0 = Minuten für das Suchintervall?
Ich nutze keinen BlockingCall, da man damit leider nur Strings zurück geben kann und ich im Falle der Upnp Library ein Objekt benötige. Daher bin ich auf Threads umgestiegen, wo man über Queues auch Objektereferenzen übergeben kann.
Die Anpassung des Suchintervalls bau ich dann mal später ein. Zuerst möchte ich es noch stabil zum Laufen bekommen :)
Titel: Antw:98_DLNAClient.pm (UPnP)
Beitrag von: antonwinden am 20 August 2015, 15:25:08
Ich habe eine Frage zu dem Modul:
wie kann ich ein Device angeben wenn im gleichen Netz mehrere dieser Devices vorhanden sind diese aber verschiedene IP's haben?
Geht das überhaupt?
danke anton
Titel: Antw:98_DLNAClient.pm (UPnP)
Beitrag von: dominik am 20 August 2015, 18:45:08
Zitat von: antonwinden am 20 August 2015, 15:25:08
Ich habe eine Frage zu dem Modul:
wie kann ich ein Device angeben wenn im gleichen Netz mehrere dieser Devices vorhanden sind diese aber verschiedene IP's haben?
Geht das überhaupt?
danke anton
Du musst die Devices nur unterschiedlich benennen (Einstellung am Device), dann kannst du für jedes Device einen eigenen FHEM DLNAClient anlegen. Gibt es einen Grund wieso die Devices gleich heißen?
Titel: Antw:98_DLNAClient.pm (UPnP)
Beitrag von: det. am 20 August 2015, 18:56:05
Hallo dominik,

nach set MyPlayer http://mp3-live.swr3.de/swr3_m.m3u (http://mp3-live.swr3.de/swr3_m.m3u) Kommt im LOG

http://www.bilder-upload.eu/show.php?file=0ad668-1440090397.jpg (http://www.bilder-upload.eu/show.php?file=0ad668-1440090397.jpg)

nach Deinen Logging Veränderungen
Titel: Antw:98_DLNAClient.pm (UPnP)
Beitrag von: dominik am 20 August 2015, 21:07:26
Hi det.,
das sieht ja schon mal "gut" aus, zumindest bekommen wir einen Fehler zurück :)

Kannst du bitte nochmals per UpnpTester ein Invoke von SetAVTransportURI durchführen und dort prüfen was da für eine Fehlermeldung zurück kommt? Probier bitte auch mal bei AVTransportURIMetaData als Parameter irgendwas einzutragen - ich weiß leider noch nicht was für eine URL man dort angeben soll. Weil der NP2900 meldet ja zurück, dass die Argumente nicht stimmen.
Titel: Antw:98_DLNAClient.pm (UPnP)
Beitrag von: Fhemotto am 20 August 2015, 21:10:26
Hallo

Bei mir stürzt  FHEM auch ab, bei set "on"

Can't locate object method "getservicebyname" via package "offline" (perhaps you forgot to load "offline"?) at ./FHEM/98_DLNAClient.pm line 182.
2015.08.20 20:39:45 1: PERL WARNING: Perl exited with active threads:
1 running and unjoined
0 finished and unjoined
0 running and detached


Raspberry PI2
libnet-upnp-perl  1.4.2-1

Weitere Frage: wäre es nicht sinnvoll dies unter ,,FHEM Forum »FHEM - Anwendungen - Multimedia ,, abzulegen/weiter zu führen?

vielen Dank
Titel: Antw:98_DLNAClient.pm (UPnP)
Beitrag von: dominik am 20 August 2015, 21:17:50
Hi Fhemotto,
kannst du bitte mal die Version anbei testen? So wie es aussieht, war dein DLNA Device noch nicht "online" also du auf "on" geklickt hast - sollte natürlich nicht crashen, hab ich nun behoben.
Erst wenn der Device state = off ist, dann wurde das Device gefunden.

Gib Bescheid ob die Version anbei bei dir funktioniert.

gruß
Titel: Antw:98_DLNAClient.pm (UPnP)
Beitrag von: Fhemotto am 20 August 2015, 21:57:48
Hi dominik

Neue Version benutzt, nun erst einmal alles OK soweit.
Werde weiter testen.

Danke
Titel: Antw:98_DLNAClient.pm (UPnP)
Beitrag von: dominik am 20 August 2015, 22:18:18
Zitat von: Fhemotto am 20 August 2015, 21:57:48
Hi dominik

Neue Version benutzt, nun erst einmal alles OK soweit.
Werde weiter testen.

Danke
Super, danke fürs Testen! Aktualisiert im 1. Post.
Titel: Antw:98_DLNAClient.pm (UPnP)
Beitrag von: dominik am 20 August 2015, 22:35:10
@Fhemotto, hab es in den Multimedia Bereich verschoben. :)
Titel: Antw:98_DLNAClient.pm (UPnP)
Beitrag von: Tommy82 am 21 August 2015, 21:41:03
Zitat von: dominik am 19 August 2015, 23:38:20
Hi Tommy82,
was für ein Device nutzt du? Kannst du auch mal mit den UpnpTester (google) prüfen was passiert wenn du folgendes durchführst - siehe Post:
http://forum.fhem.de/index.php/topic,39706.msg323948.html#msg323948

Hi,
UpnpTester läuft bei mir niergens (opensuse) , kanns daher nicht testen.

Mein HomeServer ist ein WHS2011http://forum.home-server-blog.de/viewforum.php?f=61 auf dem als Serviio http://serviio.org
läuft

Mit der neuesten Version, stürzt fhem bei einem set on nicht mehr ab, aber der Status ist auch nur noch offline
Internals:
   CLIENTNAME HOME-SERVER
   DEF        HOME-SERVER
   DEV
   NAME       DLNA
   NR         274
   STATE      offline
   TYPE       DLNAClient
   CHANGETIME:
   Helper:
     Dblog:
       State:
         Mydblog:
           TIME       1440185745.88335
           VALUE      offline
   Readings:
     2015-08-21 21:35:45   state           offline
Attributes:
Titel: Antw:98_DLNAClient.pm (UPnP)
Beitrag von: Brockmann am 08 September 2015, 09:38:52
Beim FHEM-Update ist mir gerade folgenden Fehlermeldung aufgefallen:

2015-09-08 09:35:40 Global global Calling /usr/bin/perl ./contrib/commandref_join.pl, this may take a while
2015-09-08 09:36:08 Global global *** EN FHEM/98_DLNAClient.pm: ignoring text due to DOS encoding
Titel: Antw:98_DLNAClient.pm (UPnP)
Beitrag von: danieljo am 11 September 2015, 21:14:43
Kurze Frage. Mit diesem Modul ist es aber nicht möglich einen Receiver Remote zu steuern oder? Also z.B. die Lautstärker meine Harman & Kardon AVR171 zusteuern. Dieser hat ja auch nen eigenen DLNA/UPNP

MFG, Daniel Joachims
Titel: Antw:98_DLNAClient.pm (UPnP)
Beitrag von: dominik am 13 September 2015, 19:14:16
Zitat von: danieljo am 11 September 2015, 21:14:43
Kurze Frage. Mit diesem Modul ist es aber nicht möglich einen Receiver Remote zu steuern oder? Also z.B. die Lautstärker meine Harman & Kardon AVR171 zusteuern. Dieser hat ja auch nen eigenen DLNA/UPNP

MFG, Daniel Joachims
Doch, das sollte möglich sein. Ich steuer die Lautstärke meines DLNA Devices darüber, da ich die Sony Fernbedienung einfach nicht angelernt bekommen habe. Und noch dazu hat es den Vorteil, dass es nun über WLAN statt Infrarot läuft :)

@Brockmann, danke für die Info. Werde ich beim nächsten Update korrigieren.
Titel: Antw:98_DLNAClient.pm (UPnP)
Beitrag von: danieljo am 14 September 2015, 20:43:13
Ich habs gestern mal versucht aber da passiert nix bzw. bekomme keine Verbindung oder ähnliches. Muss ich da was speziell beachten?
Titel: Antw:98_DLNAClient.pm (UPnP)
Beitrag von: dominik am 14 September 2015, 20:45:54
Stell mal den Loglevel auf 5 und poste das Log hier.
Titel: Antw:98_DLNAClient.pm (UPnP)
Beitrag von: danieljo am 14 September 2015, 22:26:10
2015.09.14 22:16:22 4: HTTP FHEMWEB:192.168.1.117:49472 GET /fhem?cmd={AttrVal(%22HarmanKardonAVR171%22,%22room%22,%22%22)}&XHR=1
2015.09.14 22:16:22 4: 28922:FHEMWEB:192.168.1.117:49472: /fhem?cmd={AttrVal(%22HarmanKardonAVR171%22,%22room%22,%22%22)}&XHR=1 / RL:21 / text/plain; charset=UTF-8 / Content-Encoding: gzip
/
2015.09.14 22:16:22 4: HTTP FHEMWEB:192.168.1.117:49475 GET /fhem/images/default/fhemicon_dark.png
2015.09.14 22:16:22 4: HTTP FHEMWEB:192.168.1.117:49477 GET /fhem?cmd={ReadingsVal(%22HarmanKardonAVR171%22,%22volume%22,%22%22)}&XHR=1
2015.09.14 22:16:22 4: 28922:FHEMWEB:192.168.1.117:49477: /fhem?cmd={ReadingsVal(%22HarmanKardonAVR171%22,%22volume%22,%22%22)}&XHR=1 / RL:21 / text/plain; charset=UTF-8 / Content-Encoding: gzip
/
2015.09.14 22:16:22 4: HTTP FHEMWEB:192.168.1.117:49474 GET /fhem?XHR=1&inform=type=status;filter=HarmanKardonAVR171;since=1442261781;fmt=JSON&timestamp=1442254579351
2015.09.14 22:16:24 4: HTTP FHEMWEB:192.168.1.117:49472 GET /fhem?cmd=save&XHR=1
2015.09.14 22:16:24 4: 28922:FHEMWEB:192.168.1.117:49472: /fhem?cmd=save&XHR=1 / RL:52 / text/plain; charset=UTF-8 / Content-Encoding: gzip
/
2015.09.14 22:16:29 4: HTTP FHEMWEB:192.168.1.117:49472 GET /fhem&detail=HarmanKardonAVR171&dev.setHarmanKardonAVR171=HarmanKardonAVR171&cmd.setHarmanKardonAVR171=set&arg.setHarmanKardonAVR171=volume&val.setHarmanKardonAVR171=14
2015.09.14 22:16:29 4: 28922:FHEMWEB:192.168.1.117:49472: /fhem&detail=HarmanKardonAVR171&dev.setHarmanKardonAVR171=HarmanKardonAVR171&cmd.setHarmanKardonAVR171=set&arg.setHarmanKardonAVR171=volume&val.setHarmanKardonAVR171=14 / RL:1016 / text/html; charset=UTF-8 / Content-Encoding: gzip
Titel: Antw:98_DLNAClient.pm (UPnP)
Beitrag von: dominik am 15 September 2015, 17:52:53
Wird der Receiver auch als Online angezeigt? Oder Offline? Weil im Offline State funktioniert es nicht...
Titel: Antw:98_DLNAClient.pm (UPnP)
Beitrag von: danieljo am 15 September 2015, 22:01:37
Woran sehe ich das? In deinem Modul steht bei "STATE" on
Titel: Antw:98_DLNAClient.pm (UPnP)
Beitrag von: Tommy82 am 16 September 2015, 20:28:33
Zitat von: dominik am 19 August 2015, 23:38:20
Hi Tommy82,
was für ein Device nutzt du? Kannst du auch mal mit den UpnpTester (google) prüfen was passiert wenn du folgendes durchführst - siehe Post:
http://forum.fhem.de/index.php/topic,39706.msg323948.html#msg323948

Hi,
ZitatVersuch mal über den UpnpTester folgendes:
- AVTransport rechtsklick Properties
- SetAVTransportURI auswählen
- Folgende Eintragungen durchführen: InstanceID=0, CurrentURI=http://mp3-live.swr3.de/swr3_m.m3u, CurrentURIMetaData=<leer lassen>
- Invoke drücken und warten bis OK unten beim Status erscheint
- Dann bei Action "Play" auswählen
- InstanceID=0, Speed=1
- Invoke drücken und warten bis OK unten beim Status erscheint

Nun sollte der Player eigentlich den Stream abspielen.

ehrlich gesagt weiss ich nicht wo ich da was eingeben soll, der Upnp Tester zeigt bei mir folgendes
Titel: Antw:98_DLNAClient.pm (UPnP)
Beitrag von: majorshark am 16 September 2015, 21:56:35
Hallo dominik, Hallo Forum.

Habe das Modul gerade gefunden, definiert und auf meinem NP2900 getestet. Toll das Du so ein Modul entwickeln möchtest. Das wäre in meiner "Hütte" noch das Highlight.

Was geht:
- Einschalten
- Volume up/down

Was geht nicht:
- Ausschalten
- Radiosender wählen auch nicht via (http://forum.fhem.de/index.php/topic,39706.msg323948.html#msg323948)

Die Anweisungen wir im Thread habe ich dem NP2900 übermittelt. Er hat immer fein OK angezeigt. Abgespielt hat er nichts. Und auch die gleiche Fehlermeldung wie oben angezeigt. Nach dem Setzen der URI scheint sich der NP2900 das zu merken und kommt dann immer mit der gleichen Fehlermeldungmeldung. Erst ein Wechsel des Senders mit der Fernbedienung lässt ihn wieder normal arbeiten.

Falls ich mit Tests bei der Entwicklung weiterhelfen kann einfach bei mir melden.

Grüße Frank
Titel: Antw:98_DLNAClient.pm (UPnP)
Beitrag von: dominik am 16 September 2015, 22:04:42
Zitat von: danieljo am 15 September 2015, 22:01:37
Woran sehe ich das? In deinem Modul steht bei "STATE" on
Wenn "on" steht, dann wurde der DLNA Client zumindest gefunden. Ansonsten würde "offline" stehen. Spielt der Receiver etwas ab wenn du eine Stream URI übergibst? Was passiert wenn du über DLNA etwas abspielst (per Windows MP3 abspielen oder so) und dann die Lautstärke mit dem Modul regeln versuchst, klappt es dann?
Titel: Antw:98_DLNAClient.pm (UPnP)
Beitrag von: dominik am 16 September 2015, 22:08:22
Zitat von: Tommy82 am 16 September 2015, 20:28:33
Hi,
ehrlich gesagt weiss ich nicht wo ich da was eingeben soll, der Upnp Tester zeigt bei mir folgendes
Ich glaub du versuchst das Modul gerade "falsch herum" einzusetzen ;) Das Modul verbindet sich nur zu DLNA Renderern, nicht zu einem DLNA Server. Also wenn du einen DLNA fähigen Lautsprecher/TV/... hast, dann kannst du das Modul nutzen und per URI einen Stream dorthin schicken.
Titel: Antw:98_DLNAClient.pm (UPnP)
Beitrag von: dominik am 16 September 2015, 22:13:52
Zitat von: majorshark am 16 September 2015, 21:56:35
Hallo dominik, Hallo Forum.

Habe das Modul gerade gefunden, definiert und auf meinem NP2900 getestet. Toll das Du so ein Modul entwickeln möchtest. Das wäre in meiner "Hütte" noch das Highlight.

Was geht:
- Einschalten
- Volume up/down

Was geht nicht:
- Ausschalten
- Radiosender wählen auch nicht via (http://forum.fhem.de/index.php/topic,39706.msg323948.html#msg323948)

Die Anweisungen wir im Thread habe ich dem NP2900 übermittelt. Er hat immer fein OK angezeigt. Abgespielt hat er nichts. Und auch die gleiche Fehlermeldung wie oben angezeigt. Nach dem Setzen der URI scheint sich der NP2900 das zu merken und kommt dann immer mit der gleichen Fehlermeldungmeldung. Erst ein Wechsel des Senders mit der Fernbedienung lässt ihn wieder normal arbeiten.

Falls ich mit Tests bei der Entwicklung weiterhelfen kann einfach bei mir melden.

Grüße Frank
det. hatte das gleiche Problem mit dem NP2900. Kann der NP2900 sonst irgendwie per Netzwerk über andere Apps/Programme per DLNA gesteuert werden? Wenn ja, wäre ein Netzwerklog (Wireshark) interessant um zu sehen was da über DLNA gesendet wird. Dann könnte man das sicher implementieren.
Titel: Antw:98_DLNAClient.pm (UPnP)
Beitrag von: majorshark am 17 September 2015, 07:08:24
Hallo.

Ja kann er. Aber nur Musik von einem DLNA-Server streamen. Die Steuerung erfolgt dann über Smartphone oder Tab. Eine App/Soft für die Steuerung des Internetradios habe ich bislang noch nicht gefunden. Von Phillips gibt es da nichts.

Um Wireshark konnte ich mich bisher drücken ;-). Werde mich mal versuchen da einzuarbeiten.

Grüße Frank
Titel: Antw:98_DLNAClient.pm (UPnP)
Beitrag von: Brice am 17 September 2015, 11:29:09
Ich habe das Modul auch testweise installiert. Sony SA-NS310 wird auch gefunden und Lautstärke kann gesteuert werden. Es werden aber keine Streams abgespielt, es blinkt lediglich die weiße Lampe dauerhaft (Vorbereitung der Wiedergabe). Gleiches Verhalten über UNpN-Tester.

Abspielen von Streams (play to) funktioniert, ebenso wie das Streaming über FritzFon.

Beim Einschalten des Bügeleisen wird per Funk-Master-Slave der WLan-Lautsprecher eingeschaltet. Dann manuell per Fritzfon SWR3 darauf gestreamt, was meine Frau natürlich nicht macht. Eine Lösung zur weiteren Automatisierung suche ich schon seit fast einem Jahr...

edit: "senden an" durch "play to" ersetzt
Titel: Antw:98_DLNAClient.pm (UPnP)
Beitrag von: dominik am 17 September 2015, 22:50:56
Das ist interessant, dass der Sony SA-NS310 nicht funktioniert. Ich betreibe das ganze nämlich mit einem Sony SA-NS510, da läufts problemlos - dauert meistens bis zu 10s bis der Stream startet.
Was bekommst du für eine Fehlermeldung beim Upnp-Tester?
Titel: Antw:98_DLNAClient.pm (UPnP)
Beitrag von: Brice am 18 September 2015, 06:47:35
Keine Fehlermeldung, wird ok angezeigt.
Titel: Antw:98_DLNAClient.pm (UPnP)
Beitrag von: Brockmann am 18 September 2015, 09:42:48
Damit nicht immer nur Probleme gewälzt werden:

Mit einem Pioneer XW-SMA4-K läuft es bei mir nur schon eine ganze Weile recht zuverlässig.  :)
Titel: Problem behoben
Beitrag von: Brice am 18 September 2015, 15:44:16
Die Sony SA-NS310 läuft nach einem Netzwerk-Update jetzt auch. Ich war mir sicher, das Update 2013 durchgeführt zu haben, kann aber nicht ausschließen, dass ich den Lautsprecher wegen Probleme auf Werkseinstellung zurück gesetzt hatte. Der Blick auf die Sony-Seite gestern hatte zwar mein Augenmerk auf "Update verfügbar" gelenkt, aber die Meldung war von 2012...

Die Funktion "Bügeleisen wird eingeschaltet und Musik auf den WLAN-Lautsprecher gestreamt" läuft. Der Stream ist innerhalb 2 sec da. Prima, dass der zuletzt gestreamte Sender gespeichert wird. Das wird meiner Frau sicherlich gefallen.

Die bisher genutzte FS20ST zur Einschaltung des WLAN-Lautsprechers kann einer anderen Verwendung zugeführt werden. Es wäre zwar schön, den Verbraucher auszuschalten, aber da der DLNAClient nach Einschaltung nicht sofort da ist, funktioniert das nicht. Damit kann ich leben. Den Standby-Stromverbrauch der Sony SA-NS310 werde ich demnächst mal messen.

Vielen Dank für die bisherige Arbeit. Wenn ich irgendwie helfen kann, bitte per PN nachfragen.

Stefan
Titel: Antw:98_DLNAClient.pm (UPnP)
Beitrag von: antonwinden am 21 September 2015, 16:59:14
mein denon avr-3313 funktioniert auch damit.
kann ich damit auch lokale mp3 files vom raspi abspielen?
oder geht es nur mit z.b. twonkymedia? wenn es nur mit twonkymedia geht wie schaut da der aufrauf aus?
danke anton
Titel: Antw:98_DLNAClient.pm (UPnP)
Beitrag von: dominik am 21 September 2015, 19:16:01
Zitat von: antonwinden am 21 September 2015, 16:59:14
mein denon avr-3313 funktioniert auch damit.
kann ich damit auch lokale mp3 files vom raspi abspielen?
oder geht es nur mit z.b. twonkymedia? wenn es nur mit twonkymedia geht wie schaut da der aufrauf aus?
danke anton
Probier mal
x-file-cifs://SHARE/datei.mp3 (share)
file://SHARE/datei.mp3 (lokale Datei)
müsste funktionieren wenn das der Denon unterstützt. Mein Lautsprecher unterstützt leider nur http.
Titel: Antw:98_DLNAClient.pm (UPnP)
Beitrag von: Sukaos am 18 Oktober 2015, 18:17:28
Ich wollte das ganze jetzt mal voran bringen. Habe auch vieles auf urn:linn-co-uk:device:Source:1 statt urn:schemas-upnp-org:device:MediaRenderer:1 angepasst. Aber es gibt da gerade Zweierlei (mit dem normalen DLNA Modul genauso wie mit meiner Kopie für BubbleUPnPServer):

1.) Wenn ich ein DLNA Gerät definiert habe stürzt FHEM ab, wenn ich z.B. die fhem.cfg speichere:

*** glibc detected *** perl: corrupted double-linked list: 0x02bf6f48 ***

Sobald ich das Modul nicht nutze läuft fhem sauber weiter.

2.) Mit dem UPnP Tester kann ich wunderbar SetAVTransportURI und Play und Stop, etc ausführen. Mit dem Modul hier geht das nicht. Er ändert den State des Moduls zwar z.B. auf Stop, mein AV Receiver spielt aber munter weiter.

libnet-upnp-perl ist die aktuelle Version laut apt-get (1.4.2-1), aber ich meine das einfaches vor und zurückspringen in der Playlist vor ein paar Wochen schonmal funktionierte. Daher eben die Vermutung, dass es an einer aktualisierten perl oder libnet-upnp-perl Version liegt, oder sich etwas bei fhem verändert hat. Hat jemand Ideen?
Titel: Antw:98_DLNAClient.pm (UPnP)
Beitrag von: Sukaos am 21 Oktober 2015, 11:29:23
Der erste Punkt hat sich mit einem update des raspis von wheezy auf jessie erledigt. FHEM stürzt nicht mehr ab.

Steuern lässt sich das ganze aber immer noch nicht.
Titel: Antw:98_DLNAClient.pm (UPnP)
Beitrag von: Brice am 22 Oktober 2015, 10:57:42
Zitat von: Sukaos am 18 Oktober 2015, 18:17:28
1.) Wenn ich ein DLNA Gerät definiert habe stürzt FHEM ab, wenn ich z.B. die fhem.cfg speichere:

*** glibc detected *** perl: corrupted double-linked list: 0x02bf6f48 ***

Dieses Verhalten habe ich auf meinem Produktivsystem, das in den letzten 3,5 Jahren gewachsen ist. Ich habe mir schon angewöhnt, die fhem.cfg über die Weboberfläche zu editieren ;D.

Auf meinem Testsystem ist neben DLNAClient zur Steuerung des SONY-NS SA310 nur ein Wecker und SysMon installiert. Und hier kann ich die fhem.cfg ohne Absturz von FHEM editieren. Erstaunlich...

Produktivsystem auf RPi 2 am 30.09.2015 neu aufgesetzt und alte cfg übernommen
Testsystem auf RPi 1B+ am 18.10.2015 neu aufgesetzt und cfg neu über die Weboberfläche geschrieben. Läuft ohne CUL.

Der Grund für das unterschiedliche Verhalten würde mich interessieren. Update auf Jessie habe ich nicht geplant.
Titel: Antw:98_DLNAClient.pm (UPnP)
Beitrag von: dominik am 26 Oktober 2015, 18:39:15
Zitat von: Sukaos am 21 Oktober 2015, 11:29:23
Der erste Punkt hat sich mit einem update des raspis von wheezy auf jessie erledigt. FHEM stürzt nicht mehr ab.

Steuern lässt sich das ganze aber immer noch nicht.
Kannst du mal im Code die Rückgabewerte von deinem DLNA Device ausgeben lassen? Wäre interessant was da für Fehler zurück kommen.
Titel: Antw:98_DLNAClient.pm (UPnP)
Beitrag von: tagedieb am 18 November 2015, 20:21:02
Hallo und Guten Abend

nachdem ich diesen Thread mehrmals gelesen habe, versuchte ich meine LG Multiroomlautsprecher damit "anzusprechen"
leider komme ich da irgendwie nicht weiter
jedoch weiss ich nicht, ob es an meinem Unwissen oder an den Lautsprecher liegt

ich habe mitdefine MusicFlowFluroben DLNAClient Music Flow H5(88:02) das "Teil" angelegt,
nach einer sehr kurzen Offlinephase wechselte der Status in "off"
Internals:
   CFGFN
   CLIENTNAME Music Flow H5(88:02)
   DEF        Music Flow H5(88:02)
   NAME       MusicFlowFluroben
   NR         1864
   STATE      off
   TYPE       DLNAClient
   Readings:
     2015-11-18 19:59:02   state           off
Attributes:
   room       Test

ich kann die Lautstärke verändern, oder on/off usw einstellen und es bleibt auch bei der Einstellung - jedoch verändert sich am Lautsprecher nichts - er bleibt stumm  :-[

weiterhin lädt sich FHEM bei einem "restart" nicht wieder - sondern zeigt mir an, das die Seite nicht erreichbar ist
lösche ich alles wieder, funktioniert auch der Neustart reibungslos  :-\

habt ihr einen Rat?

Danke im voraus

Gruss tagedieb
Titel: Antw:98_DLNAClient.pm (UPnP)
Beitrag von: Brice am 19 November 2015, 15:13:38
Ob die Lautsprecher generell ansprechbar sind, kann über das Tool UPNPTest getestet werden, Anleitung gibt es hier im Thread oder ist zumindest verlinkt.
Zitat von: tagedieb am 18 November 2015, 20:21:02ich kann die Lautstärke verändern, oder on/off usw einstellen und es bleibt auch bei der Einstellung - jedoch verändert sich am Lautsprecher nichts - er bleibt stumm  :-[
Meine Sony SA-NS310 ist durch "set <Name des Device> an" einschaltbar, mit "on" bleibt der State auf "off". Versuch doch mal "an" bzw. "aus".
Zitatweiterhin lädt sich FHEM bei einem "restart" nicht wieder - sondern zeigt mir an, das die Seite nicht erreichbar ist
lösche ich alles wieder, funktioniert auch der Neustart reibungslos  :-\
Shutdown restart funktioniert bei mir (Version 5.6), allerdings schmiert FHEM beim editieren der cfg ab und muss manuell gestartet werden. Hatte ich schon beschrieben.

Das nehme ich aber in Kauf. Mir sind die mit dem Modul realisierbaren Funktionalitäten wichtiger:

- Bügeleisen wird in die Funk-Master-Slave eingesteckt, per watchdog wird der Lautsprecher aktiviert und SWR3 abgespielt
- Radiosender wird auf den LS gestreamt, wenn bettfertig

Leider geht mir jedes Programmierverständnis ab, so dass ich mich an der Weiterentwicklung des Moduls, ausser als Tester, nicht beteiligen kann.
Titel: Antw:98_DLNAClient.pm (UPnP)
Beitrag von: dominik am 19 November 2015, 21:19:07
Hallo zusammen,

@tagedieb, probier es bitte mal mit dem UPnPTester. Nachdem der Status bei dir von offline auf off geht, wurde das Device zumindest gefunden. Das ist schon mal gut. Was passiert wenn du wenn du zuvor über Windows einen DLNA Stream startest und dann lauter/leiser über fhem verwendest? Geht das dann?
Meinst du mit "lösche ich alles wieder, funktioniert auch der neustart" nur die define Zeile oder mehr?

Ich verwende das Modul aktuell mit fhem 5.7. Den Crash kann ich leider nicht reproduzieren :( Wenn ich mal wieder etwas mehr Zeit habe, werde ich das Modul nochmals bearbeiten. Es blockiert nämlich auch noch beim "play" wenn das länger dauert.

@Brice, du verwendest wirklich "set <Device> an"?? Das müsste eigentlich zu einem Fehler auf dem Device führen :) Weil dann der Stream auf "an" statt "http://..." gesetzt wird.

Also generell kann das Modul nach dem define (state darf nicht "offline" sein) über
- set <device> http://...
oder danach (wichtig, es muss mindestens 1x der Stream über http gesetzt werden)
- set <device> on (oder play)
gestartet werden.
Titel: Antw:98_DLNAClient.pm (UPnP)
Beitrag von: tagedieb am 19 November 2015, 23:04:20
Hallo Brice

Danke für deinen Hinweis, er bringt folgende Änderung
wenn ich "set MusikFlowK an" oder ein setze bringt keine Änderung, bei "set MusikFlowK on" ändert sich jedoch der Status im FHEM
im Log ist aber keine Eintragung, weder bei der einen, noch bei der anderen Formulierung
im event Monitor erscheint eigenartigerweise bei "set MusikFlowK on" = DLNAClient MusikFlow on
bei "set MusikFlowK an" DLNAClient MusikFlow stream:an , ebenso bei "set MusikFlow ein"  "...stream:ein"
doch der Lausprecher selbst ändert seinen "Zustand" nicht

Hallo dominik
habe gerade deinen Hinweis gelesen -
ich hatte das ganze Device gelöscht (mit delete this device) - nach dem heutigen Neuanlegen - funktioniert jedoch ein restart reibungslos - irgend etwas habe ich das letzte mal bestimmt falsch gemacht
die Ausgabe vom UPnP tester habe ich angehangen
bei der Durchführung deines Hinweises vom « Antwort #22 am: 18 August 2015, 19:22:20 » bekomme ich die Fehlermeldung:
Result:There are no arguments or variable to display 
Status: Invalid arguments (0x80040208)

die Lautsärke, bei einem DLNA Stream über Windows lässt sich von FHEM aus, nicht verändern - über Windows direkt :ja  :-\

Gruss tagedieb

Titel: Antw:98_DLNAClient.pm (UPnP)
Beitrag von: Brice am 20 November 2015, 10:20:48
@dominik:
Ich kann über das Dropdown-Listenfeld den vorab eingestellten Stream sowohl mit "an" als auch mit "on" starten. Egal, ob die SA310 im Standby (blaue LED an) oder im Deepstandby (blaue LED aus) ist. Nach Einrichtung hatte ich den LS zunächst nicht aus dem Offline-Modus erwecken können, da hatte ich dann mal "an" probiert. Ist jetzt aber auch schon eine Weile her....

Für die täglichen Routinen verwende ich allerdings "on", z.B.:

sub
Wecken()
{
  fhem("set HUEDevice2 on");
  fhem("set HUEDevice2 pct 1");
  fhem("set HUEDevice2 effect colorloop");
  fhem("sleep 30");
  fhem("set MyPlayer on");
  fhem("set MyPlayer volume 15");
}
Titel: Antw:98_DLNAClient.pm (UPnP)
Beitrag von: ufo-hans am 26 November 2015, 16:04:42
Hallo erstmal!

Ich _glaube_ einen kleinen Fehler gefunden zu haben, wenn mehrere DLNAClients angelegt werden. In meinem Fall habe ich 3 Raspis mit mpd und upmpdcli als Renderer im Einsatz. Diese werden brav gefunden und alles funktioniert _eigentlich_...

Das Problem ist, dass die 3 Renderer mehr oder weniger zufällig irgendeinem der drei definierten Fhem Geräte zugeordnet werden.

Ich bin zwar nicht 100%ig Perl-fit, habe jetzt aber mal folgende Änderungen gemacht, womit die Verwechslung nicht mehr auftritt:

-) die globale Definition der beiden Queues gelöscht

-) in DLNAClient_Define($$)
  $hash->{SQ} = Thread::Queue->new();
  $hash->{TI} = Thread::Queue->new();
   
  my $scanQueue = $hash->{SQ};
  my $threadInput = $hash->{TI};

-) in DLNAClient_ScanDevicesThread, DLNAClient_StartScanThread, DLNAClient_Undef und DLNAClient_Set am Anfang
  my $scanQueue = $hash->{SQ};
  my $threadInput = $hash->{TI};

-) weiters noch bei Übergabe einer Stream-URL zusätzlich ein "on", damit das Device auf eingeschalten geht:
  readingsSingleUpdate($hash,"stream",$file,1);
  readingsSingleUpdate($hash,"state","on",1);

Anbei mal meine 98_DLNAClient.pm - falls jemand probieren will.

Lg, Hans.

PS: die PERL Warnung beim shutdown habe ich aber auch noch nicht wegbekommen...
PPS: Danke für dieses tolle Modul!

Titel: Antw:98_DLNAClient.pm (UPnP)
Beitrag von: ufo-hans am 27 November 2015, 10:07:30
Zitat von: ufo-hans am 26 November 2015, 16:04:42
PS: die PERL Warnung beim shutdown habe ich aber auch noch nicht wegbekommen...
Ist zwar wahrscheinlich hier auch verpönt - Doppelpost - aber trotzdem... ;)

Mit einem detach() des Scanthreads ist die Fehlermeldung bei mir nun nicht mehr aufgetreten.

    $hash->{SCANTHREAD} = threads->create(\&DLNAClient_ScanDevicesThread, $hash);
    $hash->{SCANTHREAD}->detach();

Lg, Hans.
Titel: Antw:98_DLNAClient.pm (UPnP)
Beitrag von: Brice am 01 Dezember 2015, 16:36:12
Zitat von: dominik am 04 August 2015, 20:23:38
20150814, v1.5:
- Load last "stream" reading when switching "on"

Zitat von: Brice am 18 September 2015, 15:44:16
. ..Prima, dass der zuletzt gestreamte Sender gespeichert wird...

Da ich (jetzt doch  8) ) unterschiedliche Anforderungen habe, welcher Musiksender bei verschiedenen Events auf den WLan-Lautsprecher gestreamt wird: wenn der Befehl "set MyPlayer <Sender URL>" vor das Kommando "set MyPlayer on" gestellt wird, funktioniert es.

Also z.B. Aktion "Bügeleisen wird eingesteckt" (als watchdog über eine Funk-Master-Slave FS20)
FMS:on 00:00:20 FMS:off {fhem("set MyPlayer http://mp3-live.swr3.de/swr3_m.m3u",,"set MyPlayer volume 25",,"set MyPlayer on")}; setstate watchdog_MyPlayer_On defined

Oder "Bettfertig" (als Notify über eine FRITZ!DECT200, wenn MediaCenter über eine FS20 S8 Fernbedienung ausgeschaltet wird)
DECT200_3:set_off.* {
if ($hour >=21)
{
  {fhem("set MyPlayer http://streams.harmonyfm.de/harmonyfm/mp3/livestream.m3u")};
  {fhem("set MyPlayer on")};
  {fhem("set MyPlayer volume 20")};
  {fhem("set HUEDevice2 on")};
  {fhem("set HUEDevice2 pct 10")};
  {fhem("set HUEDevice2 effect colorloop")};
}
}


Super
Titel: Antw:98_DLNAClient.pm (UPnP)
Beitrag von: dominik am 01 Dezember 2015, 21:50:15
@ufo-hans:
Vielen Dank Hans für die beiden Änderungen! Perfekt :)

Habe deine Änderungen in die neue Version integriert...zu finden im 1. Post + noch ein paar Änderungen...
Titel: Antw:98_DLNAClient.pm (UPnP)
Beitrag von: Christian S. am 02 Dezember 2015, 20:51:07
Hallo Dominik,

immer wenn ich den DLNAClient definiere zeigt mir WhatsApp (yowsup) STATE Disconnected an. Hast du eine Idee warum?

Grüße
Christian
Titel: Antw:98_DLNAClient.pm (UPnP)
Beitrag von: dominik am 02 Dezember 2015, 20:58:46
Zitat von: Christian S. am 02 Dezember 2015, 20:51:07
Hallo Dominik,

immer wenn ich den DLNAClient definiere zeigt mir WhatsApp (yowsup) STATE Disconnected an. Hast du eine Idee warum?

Grüße
Christian
Hi Christian,
ich verwende leider kein WhatsApp in Zusammenspiel mit fhem. Was meinst du mit STATE Disconnected? Den State von WhatsApp? Kommt eine Meldung im Log (verbose 5)?

Gruß,
Dominik
Titel: Antw:98_DLNAClient.pm (UPnP)
Beitrag von: marvin78 am 02 Dezember 2015, 20:59:58
Zitat von: Christian S. am 02 Dezember 2015, 20:51:07
Hallo Dominik,

immer wenn ich den DLNAClient definiere zeigt mir WhatsApp (yowsup) STATE Disconnected an. Hast du eine Idee warum?

Grüße
Christian

ich würde einmal in beiden Modulen verbose auf 5 stellen und dann schauen, was im Log passiert.
Titel: Antw:98_DLNAClient.pm (UPnP)
Beitrag von: Christian S. am 02 Dezember 2015, 22:07:00
bei beiden Modulen verbose 5 zeigt Logfile  folgendes:

2015.12.02 22:00:55 2: WhatsApp: starting yoswup-cli: /opt/yowsup-master/yowsup-cli demos -c /opt/yowsup-config/yowsup.config --yowsup
2015.12.02 22:00:55 3: WhatsApp: sending /disconnect
2015.12.02 22:00:55 3: WhatsApp: Disconnected
2015.12.02 22:00:55 3: WhatsApp: read: end of file reached while sysread
2015.12.02 22:00:59 1: in DELETED
2015.12.02 22:00:59 1: in DELETED
2015.12.02 22:00:59 1: in DELETED
2015.12.02 22:00:59 1: in DELETED
2015.12.02 22:01:05 5: DLNAClient: start Thread with http://mp3-live.swr3.de/swr3_m.m3u
2015.12.02 22:01:05 1: in DEFINED
2015.12.02 22:01:05 1: in DEFINED
2015.12.02 22:01:05 1: in DEFINED
2015.12.02 22:01:05 1: in DEFINED
2015.12.02 22:01:05 2: WhatsApp: starting yoswup-cli: /opt/yowsup-master/yowsup-cli demos -c /opt/yowsup-config/yowsup.config --yowsup
2015.12.02 22:01:05 3: WhatsApp: sending /disconnect
2015.12.02 22:01:05 3: WhatsApp: Disconnected
2015.12.02 22:01:05 3: WhatsApp: read: end of file reached while sysread
Titel: Antw:98_DLNAClient.pm (UPnP)
Beitrag von: dominik am 02 Dezember 2015, 22:26:15
Der Fehler tritt sofort nach dem define auf? Die Log Meldung "start Thread..." kommt nämlich erst wenn man on drückt oder einen stream zuweist.

Ohne DLNAClient kommt dieser Fehler sicher nicht?
Titel: Antw:98_DLNAClient.pm (UPnP)
Beitrag von: Christian S. am 03 Dezember 2015, 19:25:43
Wenn ich define eingebe kommt sofort die Fehlermeldung:

2015.12.03 19:15:39 2: WhatsApp: starting yoswup-cli: /opt/yowsup-master/yowsup-cli demos -c /opt/yowsup-config/yowsup.config --yowsup
2015.12.03 19:15:39 3: WhatsApp: sending /disconnect
2015.12.03 19:15:39 3: WhatsApp: Disconnected
2015.12.03 19:15:39 3: WhatsApp: read: end of file reached while sysread

Ich hatte gestern mal zwischendurch auf on gedrückt und deshalb die Meldung im Log. Wenn ich den DLNAClient aus der fhem.cfg lösche bekomme ich die Fehlermeldung nicht.

Gruß
Christian
Titel: Antw:98_DLNAClient.pm (UPnP)
Beitrag von: Christian S. am 03 Dezember 2015, 20:39:35
Wenn ich den DLNAClient definiere und Fhem neustarte (shutdown restart) ist Fhem nicht mehr erreichbar. Ich muss dann immer den NUC neustarten (sudo reboot).
Titel: Antw:98_DLNAClient.pm (UPnP)
Beitrag von: dominik am 03 Dezember 2015, 21:14:33
Ich hab leider keine Idee dazu...aber habe gesehen, dass im WhatsApp Modul Forum scheinbar paar Leute den ähnliche Fehler haben. Zumindest wenn man mit Google nach "WhatsApp: read: end of file reached while sysread" sucht. Vielleicht hat dort noch jemand paar Ideen.
Titel: Antw:98_DLNAClient.pm (UPnP)
Beitrag von: Brockmann am 04 Dezember 2015, 13:59:21
Diese Probleme mit Yowsup sind nicht ungewöhnlich. Dass das ursächlich mit DLNA zu tun hat, kann ich nicht glauben. Denn die ganzen Leute mit diesen Problemen im Yowsup-Thread haben sicher nicht alle DLNA im Einsatz.
Bei mir waren Yowsup und DLNAClient ins zwei getrennten FHEM-Instanzen, aber immerhin auf demselben Rechner, insofern wäre ein Zusammenhang nicht ganz auszuschließen. Ist aber sicher eher ein Thema für den Yowsup-Thread. Wenn sich der Zusammenhang mit einem anderen Modul zuverlässig reproduzieren lässt, wäre das für die aber sicher eine wertvolle Information.

Überwiegend off-topic: Ich verwende für FHEM mittlerweile Telegram statt Whatsapp, läuft stabil und störungsfrei ganz ohne Gefrickel. Und beisst sich offenbar auch nicht mit DLNA.  ;)
Titel: Antw:98_DLNAClient.pm (UPnP)
Beitrag von: det. am 04 Dezember 2015, 15:09:29
Zitat von: Brockmann am 04 Dezember 2015, 13:59:21
Überwiegend off-topic: Ich verwende für FHEM mittlerweile Telegram statt Whatsapp, läuft stabil und störungsfrei ganz ohne Gefrickel. Und beisst sich offenbar auch nicht mit DLNA.  ;)
dto. und da kommt auch nichts Anderes als FHEM Nachrichten an, da weniger verbreitet wie Whatsapp, wenn man alle anderen Kontakte blockiert. Was bei Whatsapp ja weniger zielführend wäre.
Titel: Antw:98_DLNAClient.pm (UPnP)
Beitrag von: ralfix am 06 Dezember 2015, 01:11:18
Hallo UPnP-Freunde,
ich bastle seit ein paar Tagen mit dem DLNAClient Modul.
Testgeräte:  Kodi (Renderer+Server) , HAMA Internetradio IR320,  Medion Internetradio MD87090, Fritzbox Mediaserver, SamsungTV
alle mit  gupnp-universal-cp  findbar.
Per YAACC (auf andriod) oder per gupnp-av-cp auf linux kann ich auch schön Musik von den Servern auf die Renderer spielen. 

Gibt es eine Chance sowas mit DLNAClient zu machen? Ich würde gern den Medion in mein Weckprogramm einbinden, oder ist ein anderes Modul dafür besser geignet?   
Titel: Antw:98_DLNAClient.pm (UPnP)
Beitrag von: dominik am 06 Dezember 2015, 11:07:19
Hi ralfix,
ja, das sollte mit dem DLNAClient klappen.

Gib danach bitte Bescheid welche Geräte funktionieren und welche nicht.
Titel: Antw:98_DLNAClient.pm (UPnP)
Beitrag von: ralfix am 06 Dezember 2015, 23:24:58
Zitat von: dominik am 06 Dezember 2015, 11:07:19
Hi ralfix,
ja, das sollte mit dem DLNAClient klappen.

Gib danach bitte Bescheid welche Geräte funktionieren und welche nicht.

Hallo domenik
Mein Logfile ist erstmal recht voll  mit Einträgen a la
2015.12.06 14:54:41 5: DLNAClient: found [3] : device name: Sonitus
2015.12.06 14:54:41 5: DLNAClient: matching device.
2015.12.06 14:54:41 5: DLNAClient: found [1] : device name: Sonitus
2015.12.06 14:54:41 5: DLNAClient: skipping this device.
2015.12.06 14:54:41 5: DLNAClient: found [2] : device name: aida
2015.12.06 14:54:41 5: DLNAClient: matching device.
2015.12.06 14:55:14 5: DLNAClient: found [1] : device name: radiogaga
2015.12.06 14:55:14 5: DLNAClient: skipping this device.
2015.12.06 14:55:14 5: DLNAClient: found [2] : device name: aida
2015.12.06 14:55:14 5: DLNAClient: skipping this device.
2015.12.06 14:55:14 5: DLNAClient: found [3] : device name: Sonitus
2015.12.06 14:55:14 5: DLNAClient: found [1] : device name: radiogaga
2015.12.06 14:55:14 5: DLNAClient: skipping this device.
2015.12.06 14:55:14 5: DLNAClient: found [2] : device name: aida
2015.12.06 14:55:14 5: DLNAClient: skipping this device.
2015.12.06 14:55:14 5: DLNAClient: found [1] : device name: aida
2015.12.06 14:55:14 5: DLNAClient: skipping this device.
2015.12.06 14:55:14 5: DLNAClient: found [2] : device name: Sonitus
2015.12.06 14:55:14 5: DLNAClient: skipping this device.
Irgendwie in der Endlosschleife.
Kannst du deine letzte DLNAClient Version nochmal posten?
Ich will mal versuchen, ob ich daran etwas selber basteln kann.
Titel: Antw:98_DLNAClient.pm (UPnP)
Beitrag von: dominik am 06 Dezember 2015, 23:49:06
Das ist normal. Alle 30s wird nach DLNA Devices gesucht. Da einmal auch "matching device" kommt, müsstest du das Device bereits als "off" (nicht offline) angezeigt bekommen. Probier doch mal dort den SWR3 Stream abzuspielen.

Die aktuelle Version ist immer im 1. Post zu finden.
Titel: Antw:98_DLNAClient.pm (UPnP)
Beitrag von: ralfix am 07 Dezember 2015, 23:01:33
Tests:
1 Definition möglich
2 DLNA Status on/off  gesetzt
3 SWR-Stream setzten
4 Lautstärke ändern
5 Off
HAMA IR320          1+  2+  3-   4-  5-
Kodi                          1+  2+ 3+ 4+ 5+
Medion MD87090  1+  2+  3-   4- 5-
SamsungTV UE40 1+  2+  3-   4- 5-

Kodi läuft perfekt, der Rest bei mir noch nicht.
Titel: Antw:98_DLNAClient.pm (UPnP)
Beitrag von: ralfix am 07 Dezember 2015, 23:27:01
Nachtrag:
File von Mediaserver    stream  http://192.168.178.xx:.......mp3
Samsung TV:  O.K. incl. Laustärke on off
Kodi:          O.K. incl. Laustärke on off
HAMA:   negativ
Titel: Antw:98_DLNAClient.pm (UPnP)
Beitrag von: MichaelT am 09 Dezember 2015, 18:55:30
Hallo Dominik,

habe dein DLNA_Client bei mir in Betrieb. Klasse das Du das Modul soweit vorangetrieben hast.
Ich verwende den Renderer von Peaq PMN 300. Diesen gibt es derzeit recht günstig bei meiner Ansicht nach guter Qualität.

Bis auf die Lautstärke-Reglung klappt alles einwandfrei.

Ich kann mittels UPNP-Tester  über RenderingControl mit
GetVolume 0 Master die Lautstärke abfragen und mit
SetVolume 0 Master 40 die Lautstärke stellen.

Mit dem DLNA_Client bekomme ich die Ausgabe im Log "DLNAClient: No volume control possible for this device (Kueche)".
Die Lautstärke wird immer mit 0 angezeigt.

Hast Du eine Idee woran das liegen könnte?

Gruß
Michael
Titel: Antw:98_DLNAClient.pm (UPnP)
Beitrag von: dominik am 09 Dezember 2015, 20:11:16
@ralfix
Bitte mal Hama und Medion mit den UpnpTester wie hier beschrieben testen:
http://forum.fhem.de/index.php/topic,39706.msg323948.html#msg323948

@MichaelT
Kannst du mal einen Export (Save...) aus dem UpnpTester posten?
Titel: Antw:98_DLNAClient.pm (UPnP)
Beitrag von: MichaelT am 09 Dezember 2015, 22:17:23
Hallo Dominik,

anbei der Export eines PMN300

+-+ [PEAQ MUNET PMN300] (Device)
| |  Description: PEAQ MUNET
| |  DeviceType: urn:schemas-upnp-org:device:MediaRenderer:1
| |  FriendlyName: Kueche
| |  ModelURL: http://www.peaq-online.com/
| |  ManufacturerUrl: http://www.peaq-online.com/
| |  Manufacturer: PEAQ
| |  ModelNumber: PMN300
| |  ModelName: MUNET PMN300
| |  UDN: uuid:93b2abac-cb6a-4857-b891-00226190ead6
| |
| +-+ [ConnectionManager] (Service)
| | |  SinkProtocolInfo: http-get:*:audio/mpeg:DLNA.ORG_PN=MP3,http-get:*:audio/x-ms-wma:DLNA.ORG_PN=WMABASE,http-get:*:audio/x-ms-wma:DLNA.ORG_PN=WMAFULL,http-get:*:audio/mp4:DLNA.ORG_PN=AAC_ISO,http-get:*:audio/L16;rate=44100;channels=1:DLNA.ORG_PN=LPCM,http-get:*:audio/L16;rate=44100;channels=2:DLNA.ORG_PN=LPCM,http-get:*:audio/L16;rate=48000;channels=1:DLNA.ORG_PN=LPCM,http-get:*:audio/L16;rate=48000;channels=2:DLNA.ORG_PN=LPCM,rtsp:*:audio/mpeg:DLNA.ORG_PN=MP3,rtsp:*:audio/x-ms-wma:DLNA.ORG_PN=WMABASE,rtsp:*:audio/x-ms-wma:DLNA.ORG_PN=WMAFULL,rtsp:*:audio/mp4:DLNA.ORG_PN=AAC_ISO,rtsp:*:audio/L16;rate=44100;channels=1:DLNA.ORG_PN=LPCM,rtsp:*:audio/L16;rate=44100;channels=2:DLNA.ORG_PN=LPCM,rtsp:*:audio/L16;rate=48000;channels=1:DLNA.ORG_PN=LPCM,rtsp:*:audio/L16;rate=48000;channels=2:DLNA.ORG_PN=LPCM,rtp:*:audio/mpeg:DLNA.ORG_PN=MP3,rtp:*:audio/x-ms-wma:DLNA.ORG_PN=WMABASE,rtp:*:audio/x-ms-wma:DLNA.ORG_PN=WMAFULL,rtp:*:audio/mp4:DLNA.ORG_PN=AAC_ISO,rtp:*:audio/L16;rate=44100;channels=1:DLNA.ORG_PN=LPCM,rtp:*:audio/L16;rate=44100;channels=2:DLNA.ORG_PN=LPCM,rtp:*:audio/L16;rate=48000;channels=1:DLNA.ORG_PN=LPCM,rtp:*:audio/L16;rate=48000;channels=2:DLNA.ORG_PN=LPCM,http-get:*:audio/mpeg:*,http-get:*:audio/x-ms-wma:*,http-get:*:audio/L16;rate=44100;channels=1:*,http-get:*:audio/L16;rate=44100;channels=2:*,http-get:*:audio/L16;rate=48000;channels=1:*,http-get:*:audio/L16;rate=48000;channels=2:*,rtsp:*:audio/mpeg:*,rtsp:*:audio/x-ms-wma:*,rtsp:*:audio/L16;rate=44100;channels=1:*,rtsp:*:audio/L16;rate=44100;channels=2:*,rtsp:*:audio/L16;rate=48000;channels=1:*,rtsp:*:audio/L16;rate=48000;channels=2:*,rtp:*:audio/mpeg:*,rtp:*:audio/x-ms-wma:*,rtp:*:audio/L16;rate=44100;channels=1:*,rtp:*:audio/L16;rate=44100;channels=2:*,rtp:*:audio/L16;rate=48000;channels=1:*,rtp:*:audio/L16;rate=48000;channels=2:*
| | |  CurrentConnectionIDs: 1155512469
| | |  X_PURE.COM_ClockSyncStatus: <?xml version="1.0" encoding="UTF-8"?><clockSyncStatus><syncProtocolID></syncProtocolID><masterClockID>127.127.1.1</masterClockID><requiredAccuracy>20000000</requiredAccuracy><withinAccuracy>true</withinAccuracy></clockSyncStatus>
| |
| +-+ [AVTransport] (Service)
| | |  LastChange: <Event xmlns="urn:schemas-upnp-org:metadata-1-0/AVT/"><InstanceID val="0"><TransportState val="STOPPED"/></InstanceID></Event>
| |
| +-+ [RenderingControl] (Service)
| | |  LastChange: <Event xmlns="urn:schemas-upnp-org:metadata-1-0/RCS/"><InstanceID val="0"><Volume channel="Master" val="23"/></InstanceID></Event>
| |
| +-+ [RTSPGateway] (Service)
| |
| +-+ [SpeakerManagement] (Service)
| | |  SessionID: 19e9e591-cbb9-485a-812c-1c7d33d42742
| | |  Groups: <?xml version="1.0" ?><groups version="1.0"></groups>
| |
| +-+ [NetworkManagement] (Service)
|
+-+ [jMinim MonitorService] (Device)
| |  DeviceType: urn:jminim-org:device:Monitor:1
| |  FriendlyName: Monitor Service
| |  Manufacturer: jMinim
| |  ModelName: MonitorService
| |  UDN: uuid:143945fb-d8c3-4ec9-8c07-a979e3878661
|
Titel: Antw:98_DLNAClient.pm (UPnP)
Beitrag von: masterpete23 am 09 Dezember 2015, 23:12:16
Zitat von: antonwinden am 21 September 2015, 16:59:14
mein denon avr-3313 funktioniert auch damit.
kann ich damit auch lokale mp3 files vom raspi abspielen?
oder geht es nur mit z.b. twonkymedia? wenn es nur mit twonkymedia geht wie schaut da der aufrauf aus?
danke anton
wie?
wie sieht das define aus?
Titel: Antw:98_DLNAClient.pm (UPnP)
Beitrag von: dominik am 10 Dezember 2015, 19:41:12
@MichaelT
Wird die Lautstärke richtig ausgelesen? Das erkennt man am Reading "volume" welches die aktuelle Lautstärke enthalten sollte. Aktualisiert wird das Reading nur wenn man ein set... durchführt.
Titel: Antw:98_DLNAClient.pm (UPnP)
Beitrag von: MichaelT am 11 Dezember 2015, 17:51:50
Hallo Dominik,

die Lautstärke wird nicht ausgelesen Ist immer 0. Es sieht so aus als wenn

my $render_service = $dev->getservicebyname('urn:schemas-upnp-org:service:RenderingControl:1');

nicht das gewünschte Ergebnis bringt. Deshalb kommt - glaube ich - auch die Meldung "DLNAClient: No volume control possible for this device ($deviceName)".

Gruß
Michael
Titel: Antw:98_DLNAClient.pm (UPnP)
Beitrag von: MichaelT am 12 Dezember 2015, 09:02:44
Morgen dominik,

habe mal ein bisschen in den Logs geschaut. Es sieht so aus, als wenn der scan-Thread gar nicht läuft!
Muss ich für das Threading noch was installieren?
Titel: Antw:98_DLNAClient.pm (UPnP)
Beitrag von: dominik am 12 Dezember 2015, 09:41:42
Hi Michael,
der ScanThread dürfte laufen, sonst könntest du keinen Stream abspielen. Sobald dein Device einmal gefunden wurde und nicht mehr "offline" als Status hat, passt der ScanThread. Die Lautstärkenregelung nimmt dann nur mehr das gefundene Device und holt sich den RenderControl Service.

Du hast das Problem schon richtig erkannt, das "getservicebyname" macht Probleme. Kannst du dort mal den Rückgabewert $render_service im Log ausgeben lassen?
Titel: Antw:98_DLNAClient.pm (UPnP)
Beitrag von: MichaelT am 12 Dezember 2015, 10:40:24
Hi dominik,

hier die Ausgabe von

my $render_service = $dev->getservicebyname('urn:schemas-upnp-org:service:RenderingControl:1');
  Log3 $hash, 3, "Return getservicebyname: ".$render_service;


DLNAClient: thread input: scanNow
2015.12.12 10:37:22 3: DLNAClient: found [0] : device name: Bad
2015.12.12 10:37:22 3: DLNAClient: matching device.
2015.12.12 10:37:27 1: PERL WARNING: Use of uninitialized value $render_service in concatenation (.) or string at ./FHEM/98_DLNAClient.pm line 241.
2015.12.12 10:37:27 3: Return getservicebyname:
2015.12.12 10:37:27 3: DLNAClient: No volume control possible for this device (Bad)



EDIT: Kueche und Bad sind gleiche Devices!

Gruß
Titel: Antw:98_DLNAClient.pm (UPnP)
Beitrag von: MichaelT am 12 Dezember 2015, 12:32:54
Hallo dominik,


habe das Problem gefunden.  Ich habe mir mal die servicelist angeschaut - und siehe da

2015.12.12 12:29:28 3: Service: urn:schemas-upnp-org:service:ConnectionManager:1
2015.12.12 12:29:28 3: Service: urn:schemas-upnp-org:service:AVTransport:1
2015.12.12 12:29:28 3: Service: urn:schemas-upnp-org:service:[b]RenderingControl:3[/b]
2015.12.12 12:29:28 3: Service: urn:schemas-pure-com:service:RTSPGateway:1
2015.12.12 12:29:28 3: Service: urn:schemas-pure-com:service:SpeakerManagement:1
2015.12.12 12:29:28 3: Service: urn:schemas-pure-com:service:NetworkManagement:1
2015.12.12 12:29:28 3: Service: urn:schemas-pure-com:service:SessionManagement:1


Im Script die :1 durch :3 ersetzt und schon geht's.
Ist das ein Fehler im PMN? Oder was bedeutet die :3 hinter dem Service.
Titel: Antw:98_DLNAClient.pm (UPnP)
Beitrag von: MichaelT am 12 Dezember 2015, 13:09:02
Hi,

bin zwar nicht der perl-Freak. Aber funktioniert:

...
my $service;
my $render_service;
my @service_list = $dev->getservicelist();
foreach $service (@service_list) {
  my @serv_parts = split(/:/,$service->getservicetype());
  if ( @serv_parts[3] eq "RenderingControl" ) {
    readingsSingleUpdate($hash, "RenderingControl", $service->getservicetype(), 1);
    $render_service=$service;
  }
}
if ($render_service) {
    my %action_renderctrl_in_args = (
.....



Wenn Verbesserungen möglich, dann bitte benennen.

Gruß
Michael
Titel: Antw:98_DLNAClient.pm (UPnP)
Beitrag von: dominik am 13 Dezember 2015, 14:30:51
Super! :) Freut mich das es nun bei dir funktioniert...Schritt für Schritt wird das Modul besser.

Werde deinen Code beim nächsten Update gleich mit aufnehmen.
Titel: Antw:98_DLNAClient.pm (UPnP)
Beitrag von: thoweiss am 16 Dezember 2015, 12:53:23
Kann das Modul auch Daten vom Renderer auslesen?

Ich setze hier einen raspberrypi mit gmediarenderer als Client ein, und habe auf den Smartphones jeweils BubbleUPNP als Controlpoint eingesetzt.

Wenn ich jetzt einen Stream mit BubbleUPNP auf dem PI starte bekommt FHEM davon aber nichts mit - das Reading Stream ändert sich nicht.

Oder liegt das an meinem Renderer?

Gruß,
Thorsten
Titel: 98_DLNAClient.pm (UPnP)
Beitrag von: Holger S am 28 Dezember 2015, 17:07:40
Hallo,

kann das Modul nicht laden:

Can't locate Net/UPnP/ControlPoint.pm in @INC (@INC contains: /etc/perl /usr/local/lib/perl/5.14.2 /usr/local/share/perl/5.14.2 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.14 /usr/share/perl/5.14 /usr/local/lib/site_perl . ./FHEM) at ./FHEM/98_DLNAClient.pm line 14.
BEGIN failed--compilation aborted at ./FHEM/98_DLNAClient.pm line 14.

Was muss ich tun ?

Vielen Dank
Titel: Antw:98_DLNAClient.pm (UPnP)
Beitrag von: dominik am 28 Dezember 2015, 17:34:16
Hast du libnet-upnp-perl installiert?
Titel: Antw:98_DLNAClient.pm (UPnP)
Beitrag von: lising am 28 Dezember 2015, 18:09:21
Hallo,
vielen Dank für dieses tolle Modul!
Meine beiden renkforce renkCast Sticks, die bisher eigentlich für nichts richtig zu gebrauchen waren, ließen sich auf Anhieb unter fhem einbinden, nachdem ich die libnet-upnp-perl installiert hatte. Zusammen mit einem billigen HDMI-(VGA)-Audio-Adapter und einer Class-D-Endstufe habe ich so ein kleines, aber feines und dazu noch sehr energieeffizientes Audio-System. Beide Sticks laufen fast genau synchron (Abweichung im Millisekundenbereich), so dass ich hiermit meine vorläufige fhem-Audio-Lösung gefunden habe. Meine anderen DLNA-Geräte sind da noch etwas zickig, aber das wird bestimmt noch. 
Titel: Antw:98_DLNAClient.pm (UPnP)
Beitrag von: Holger S am 28 Dezember 2015, 18:53:01
@dominik,

danke das war es!
Titel: Antw:98_DLNAClient.pm (UPnP)
Beitrag von: Superhelmi am 29 Dezember 2015, 21:18:43
Hallo,

sehr interessantes Modul !
Hat auf Anhieb funktioniert.
Was mir gefallen würde, wäre sich das aktuelle Cover anzeigen zu lassen. Ist das schon möglich ?

Gruß

Superhelmi
Titel: Antw:98_DLNAClient.pm (UPnP)
Beitrag von: vw80 am 31 Dezember 2015, 02:15:21
Hallo, bekomme diese Fehlermeldung obwohl Net::UPnP::ControlPoint is up to date (undef). Kann mir jemand helfen?

Thread 1 terminated abnormally: Can't locate object method "new" via package "Net::UPnP::ControlPoint" (perhaps you forgot to load "Net::UPnP::ControlPoint"?) at ./FHEM/98_DLNAClient.pm line 67.
Titel: Antw:98_DLNAClient.pm (UPnP)
Beitrag von: dominik am 05 Januar 2016, 22:40:22
Zitat von: MichaelT am 12 Dezember 2015, 13:09:02
Hi,

bin zwar nicht der perl-Freak. Aber funktioniert:

...
my $service;
my $render_service;
my @service_list = $dev->getservicelist();
foreach $service (@service_list) {
  my @serv_parts = split(/:/,$service->getservicetype());
  if ( @serv_parts[3] eq "RenderingControl" ) {
    readingsSingleUpdate($hash, "RenderingControl", $service->getservicetype(), 1);
    $render_service=$service;
  }
}
if ($render_service) {
    my %action_renderctrl_in_args = (
.....



Wenn Verbesserungen möglich, dann bitte benennen.

Gruß
Michael

Aktualisiert im 1. Post. Danke!
Titel: Antw:98_DLNAClient.pm (UPnP)
Beitrag von: dominik am 05 Januar 2016, 22:42:13
Zitat von: vw80 am 31 Dezember 2015, 02:15:21
Hallo, bekomme diese Fehlermeldung obwohl Net::UPnP::ControlPoint is up to date (undef). Kann mir jemand helfen?

Thread 1 terminated abnormally: Can't locate object method "new" via package "Net::UPnP::ControlPoint" (perhaps you forgot to load "Net::UPnP::ControlPoint"?) at ./FHEM/98_DLNAClient.pm line 67.

Kannst du mal im Code NACH der Zeile use Thread::Queue; noch use Net::UPnP::ControlPoint; einfügen und testen?
Titel: Antw:98_DLNAClient.pm (UPnP)
Beitrag von: vw80 am 06 Januar 2016, 22:40:25
Zitat von: dominik am 05 Januar 2016, 22:42:13
Kannst du mal im Code NACH der Zeile use Thread::Queue; noch use Net::UPnP::ControlPoint; einfügen und testen?

jetzt bekomm ich eine andere Meldung im log

Scalar value @serv_parts[3] better written as $serv_parts[3] at ./FHEM/98_DLNAClient.pm line 233, <$fh> line 143.

bekomm es irgendwie nicht zum laufen...
Titel: Antw:98_DLNAClient.pm (UPnP)
Beitrag von: s3bi am 14 Januar 2016, 20:19:36
Ich habe eben das Modul mit einem UP-Radio von Busch Jäger getestet.
Hier der Link zu meinem Ursprünglichen Thread (in dem ich auch den Hinweis auf dieses Modul erhalten habe) LINK (http://forum.fhem.de/index.php/topic,47240.0.html)

Ich erhalte folgende Meldung im Log:

PERL WARNING: Scalar value @serv_parts[3] better written as $serv_parts[3] at ./FHEM/98_DLNAClient.pm line 233.

Nach dem
define RadioKueche DLNAClient RADIO-INET39AEA

Erschent:  DLNAClient: No device found.

Ist hier noch ein Fehler im Modul?

Titel: Antw:98_DLNAClient.pm (UPnP)
Beitrag von: s3bi am 14 Januar 2016, 20:22:25
Kommando zurück!
Nach ein Paar minuten wurde das device gefunden. Bisher funktioniert alles wunderbar- ich teste mal weiter ;)
Die Meldung direkt nach dem anlegen ist etwas verwirrend. Da denkt man gleich "hoppla, Fehler".

Danke!
Titel: Antw:98_DLNAClient.pm (UPnP)
Beitrag von: dominik am 14 Januar 2016, 21:31:17
Zitat von: s3bi am 14 Januar 2016, 20:22:25
Kommando zurück!
Nach ein Paar minuten wurde das device gefunden. Bisher funktioniert alles wunderbar- ich teste mal weiter ;)
Die Meldung direkt nach dem anlegen ist etwas verwirrend. Da denkt man gleich "hoppla, Fehler".

Danke!
Super :)

Ich werde die Fehlermeldung beim nächsten Update anpassen. Das Device wird alle paar Minuten im Hintergrund gesucht, daher erscheint Anfangs "offline". Damit wird sichergestellt, dass wenn sich die IP des Devices ändert, es weiter funktioniert.
Titel: Antw:98_DLNAClient.pm (UPnP)
Beitrag von: s3bi am 15 Januar 2016, 11:54:20
Was mir auffällt ist, sobald ich die 98_DLNAClient.pm in das verzeichniss /opt/fhem/FHEM kopiere, fhem neu starte und dannach etwas in der fhem.cfg ändere dauert das sichern extrem lange.

Das führte sogar soweit das fhem komplett abgeschmirt ist und ich erst wieder Zugriff hatte nachdem ich die fhem.cfg per putty editiert, die 98_DLNAClient.pm entfernt und fhem neu gestartet hatte.
Ich habe das nun ein paar mal getestet um auszuschließen ob es tatsächlich am DLNAClient liegt oder irgend was anderes noch mit reinspielt... Aber es ist tatsächlich so, dass insbesondere dann, wenn die Geräte nicht im Netz sind fhem komplett abschmiert sobald ich die fhem.cfg editiere.

ist das bei anderen auch so?

Nachtrag:
Soeben ist mir auch aufgefallen das mein yowsup modul seit der Installation von DLNAClinet nicht mehr funktioniert.
Auszug aus dem Log:

2016.01.15 11:59:23 2: WhatsApp: setting $HOME to /opt/fhem
2016.01.15 11:59:23 2: WhatsApp: starting yoswup-cli: /opt/yowsup-master/yowsup-cli demos -c /opt/yowsup-config/yowsup.config --yowsup
2016.01.15 11:59:23 3: WhatsApp: sending /disconnect
2016.01.15 11:59:23 3: WhatsApp: Disconnected
2016.01.15 11:59:23 3: WhatsApp: read: end of file reached while sysread
2016.01.15 11:59:33 2: WhatsApp: setting $HOME to /opt/fhem
2016.01.15 11:59:33 2: WhatsApp: starting yoswup-cli: /opt/yowsup-master/yowsup-cli demos -c /opt/yowsup-config/yowsup.config --yowsup
2016.01.15 11:59:33 3: WhatsApp: sending /disconnect
2016.01.15 11:59:33 3: WhatsApp: Disconnected
2016.01.15 11:59:33 3: WhatsApp: read: end of file reached while sysread
2016.01.15 11:59:43 2: WhatsApp: setting $HOME to /opt/fhem
2016.01.15 11:59:43 2: WhatsApp: starting yoswup-cli: /opt/yowsup-master/yowsup-cli demos -c /opt/yowsup-config/yowsup.config --yowsup
2016.01.15 11:59:43 3: WhatsApp: sending /disconnect
2016.01.15 11:59:43 3: WhatsApp: Disconnected
2016.01.15 11:59:43 3: WhatsApp: read: end of file reached while sysread
2016.01.15 11:59:49 2: WhatsApp: setting $HOME to /opt/fhem
2016.01.15 11:59:49 2: WhatsApp: starting yoswup-cli: /opt/yowsup-master/yowsup-cli demos -c /opt/yowsup-config/yowsup.config --yowsup
2016.01.15 11:59:49 3: WhatsApp: sending /disconnect
2016.01.15 11:59:49 3: WhatsApp: Disconnected
2016.01.15 11:59:49 3: WhatsApp: read: end of file reached while sysread
2016.01.15 11:59:59 2: WhatsApp: setting $HOME to /opt/fhem
2016.01.15 11:59:59 2: WhatsApp: starting yoswup-cli: /opt/yowsup-master/yowsup-cli demos -c /opt/yowsup-config/yowsup.config --yowsup
2016.01.15 11:59:59 3: WhatsApp: sending /disconnect
2016.01.15 11:59:59 3: WhatsApp: Disconnected
2016.01.15 11:59:59 3: WhatsApp: read: end of file reached while sysread
2016.01.15 12:00:09 2: WhatsApp: setting $HOME to /opt/fhem
2016.01.15 12:00:09 2: WhatsApp: starting yoswup-cli: /opt/yowsup-master/yowsup-cli demos -c /opt/yowsup-config/yowsup.config --yowsup
2016.01.15 12:00:09 3: WhatsApp: sending /disconnect
2016.01.15 12:00:09 3: WhatsApp: Disconnected
2016.01.15 12:00:09 3: WhatsApp: read: end of file reached while sysread
2016.01.15 12:00:19 2: WhatsApp: setting $HOME to /opt/fhem
2016.01.15 12:00:19 2: WhatsApp: starting yoswup-cli: /opt/yowsup-master/yowsup-cli demos -c /opt/yowsup-config/yowsup.config --yowsup
2016.01.15 12:00:19 3: WhatsApp: sending /disconnect
2016.01.15 12:00:19 3: WhatsApp: Disconnected


usw...

Die Einträge im Log erscheinen erst ab dem Moment, ab dem DLNAClient im Einsatz ist. Entferne ich die DLNAClient wieder läuft alles wie gewohnt.
Titel: Antw:98_DLNAClient.pm (UPnP)
Beitrag von: dominik am 15 Januar 2016, 18:29:32
Kannst du mal die Version anbei testen? Habe den Define und Undefine Code adaptiert. Das könnte zumindest die Probleme beim Editieren von fhem.cfg beheben.
Ich bekomme zur Zeit leider die FehlermeldungtelnetPort: Can't open server port at 7072: Address already in use. Exiting. beim fhem.cfg bearbeiten und kann es daher nicht testen. Bin mir nicht sicher seit wann ich diese Fehlermeldung erhalte, da ich so gut wie nie die fhem.cfg bearbeite.
Titel: Antw:98_DLNAClient.pm (UPnP)
Beitrag von: s3bi am 16 Januar 2016, 01:17:05
Hab es eben mal eingebunden und ein paar Stunden laufen lassen.

Die Gute Nachricht: Die fhem.cfg lässt sich wieder bearbeiten, es hängt nichts mehr.
Die Schlechte: Es werden keine DLNA Geräte gefunden. Yowsup ist weiterhin offline.

Wenn ich noch was testen oder sonst wie unterstützen kann lass es mich wissen. Das Modul selbst finde ich klasse!
Titel: Antw:98_DLNAClient.pm (UPnP)
Beitrag von: dominik am 16 Januar 2016, 12:27:00
Zitat von: s3bi am 16 Januar 2016, 01:17:05
Hab es eben mal eingebunden und ein paar Stunden laufen lassen.

Die Gute Nachricht: Die fhem.cfg lässt sich wieder bearbeiten, es hängt nichts mehr.
Die Schlechte: Es werden keine DLNA Geräte gefunden. Yowsup ist weiterhin offline.

Wenn ich noch was testen oder sonst wie unterstützen kann lass es mich wissen. Das Modul selbst finde ich klasse!

Super, danke für's testen. Anbei der Fix, damit die Geräte auch wieder gefunden werden :)
Bzgl. Yowsup habe ich noch keine Idee, ich werde das mal genauer prüfen. Melde mich sobald ich was zum Testen habe.

Lass mich bitte wissen ob das Modul anbei funktioniert. Wenn ja, aktualisiere ich auch den 1. Post.
Titel: Antw:98_DLNAClient.pm (UPnP)
Beitrag von: s3bi am 16 Januar 2016, 13:33:21
Danke für das Update.

Beim sichern der fhem.cfg kommt es wieder zu einem timeout und noch immer:  DLNAClient: No device found.
Irgendwas passt noch nicht.

Yowsup unverändert offline.
Titel: Antw:98_DLNAClient.pm (UPnP)
Beitrag von: dominik am 16 Januar 2016, 14:45:00
Hi,
bitte Neustart von fhem machen, nicht nur reload.
Titel: Antw:98_DLNAClient.pm (UPnP)
Beitrag von: s3bi am 17 Januar 2016, 18:08:01
Zitat von: dominik am 16 Januar 2016, 14:45:00
Hi,
bitte Neustart von fhem machen, nicht nur reload.

Was ist denn ein reload?
Natürlich habe ich fhem neu gestartet.
Titel: Antw:98_DLNAClient.pm (UPnP)
Beitrag von: dominik am 17 Januar 2016, 20:28:35
Ich glaub du testest noch die alte Version. In der neuen Version gibt es kein "No device found", da heißt es "Currently searching...".

Mit reload meinte ich "reload 98_DLNAClient.pm", damit kann man Module neu laden. Nur werden dann nicht alle Funktionen neu initialisiert.
Titel: Antw:98_DLNAClient.pm (UPnP)
Beitrag von: s3bi am 18 Januar 2016, 01:21:21
Ich war mir sicher das ich die richtige Datei erwischt habe.

Aber gut, nochmal ein versuch: Was gleich zu beginn passiert:
Die fhem.cfg wird beim neustart geändert:

Ich hatte einen Eintrag: attr global motd none
Der Wurde komplett entfernt.

Weiter im Test... die Einträge wieder in der fhem.cfg eingefügt, gespeichert.... es lädt und lädt und.... timeout.
Gespeichert wurden die Daten trotzdem, also mal das Radio gecheckt. Der Status ist nun tatsächlich  DLNAClient: Currently searching for device RADIO-KUECHE...

Nach einiger Zeit wird das Radio gefunden und kann gesteuert werden. 
Titel: Antw:98_DLNAClient.pm (UPnP)
Beitrag von: dominik am 18 Januar 2016, 19:34:07
Die attr global motd none Änderung hat nichts mit DLNAClient zu tun. Ich habe auch schon öfter motd none gesetzt und erhalte immer wieder die Fehlermeldung zurück...

Teste bitte nochmals die vorletzte Version und dann die letzte Version. Möchte nur sicherstellen, dass die vorletzte Version bei dir sicher funktionierte. Ich kann es leider nicht testen, da bei mir immer die "Port already in use" Fehlermeldung kommt.
Titel: Antw:98_DLNAClient.pm (UPnP)
Beitrag von: vw80 am 18 Januar 2016, 20:14:16
Bei mir funktioniert die letzte Version mit meinem VSX527 jetzt immer. Vorletzte Version ging 1 einziges mal sporadisch sonst nie.

Gesendet von meinem SM-G900F mit Tapatalk

Titel: Antw:98_DLNAClient.pm (UPnP)
Beitrag von: vw80 am 18 Januar 2016, 20:25:20
Besitze noch ein Sird 14 A2. Diese wird erkannt aber keine Steuerung möglich. Upnptest erkennt es aber auch nicht. Über Bubbleupnp und auch über Windows  funktioniert es wiederum.

Gesendet von meinem SM-G900F mit Tapatalk

Titel: Antw:98_DLNAClient.pm (UPnP)
Beitrag von: MarioS1969 am 03 Februar 2016, 01:04:46
Hallo,
ich habe mir 3 PEAQ MUNET 300 zugelegt und möchte sie über das Modul 98_DLNAClient.pm ansteuern.
Ich habe UPNP Tester ausgeführt. Hier der entsprechende Auszug.


  +-+ PEAQ MUNET PMN300 (Device)
  | |
  | | Manufacturer: PEAQ
  | | ModelURL: http://www.peaq-online.com/
  | | FriendlyName: MUNET1
  | | ManufacturerUrl: http://www.peaq-online.com/
  | | UDN: uuid:93b2abac-cb6a-4857-b891-00226190d5d6
  | | DeviceType: urn:schemas-upnp-org:device:MediaRenderer:1
  | | ModelNumber: PMN300
  | | ModelName: MUNET PMN300
  | | Description: PEAQ MUNET
  | |
  | +-+ ConnectionManager (Service)
  | |   
  | |   SourceProtocolInfo:
  | |   CurrentConnectionIDs: 1208402912


Jetzt ist mir nicht klar welchen Namen ich für den Speaker ich angeben muss.
Ich habe es wie folgt probiert, aber es hat nicht funktioniert und FHEM blieb hängen.


define MyPlayer DLNAClient Speaker PEAQ MUNET PMN300
set MyPlayer stream http://mp3-live.swr3.de/swr3_m.m3u 
set MyPlayer volume 20


Der UPNP Player konnte nicht gefunden werden.
Hier der Auszug aus dem Logfile:


2016.02.03 00:14:39 2: Messages collected while initializing FHEM: configfile: DLNAClient: No device found. DLNAClient: No device found.

Kann mir jemand einen Tipp geben?
Welche 98_DLNAClient.pm Datei soll ich nehmen? Ich habe es mit der Datei aus Beitrag #1 probiert.

Vielen Dank für eure Hilfe
Mario

Titel: Antw:98_DLNAClient.pm (UPnP)
Beitrag von: vw80 am 03 Februar 2016, 09:18:17
define MyPlayer DLNAClient MUNET1

Gesendet von meinem SM-G900F mit Tapatalk

Titel: Antw:98_DLNAClient.pm (UPnP)
Beitrag von: MarioS1969 am 04 Februar 2016, 00:14:14
Hallo vw80,
vielen Dank, der Tipp hat mir sehr geholfen.
Ich habe dann noch folgendes Paket installiert und ich konnte den MUNET 300 ansprechen.


apt-get install libnet-upnp-perl


Vielen Dank
Mario
Titel: Antw:98_DLNAClient.pm (UPnP)
Beitrag von: MarioS1969 am 04 Februar 2016, 21:24:49
Hallo zusammen,
Ich habe meinen MUNET jetzt am laufen.
Leider stürtzt FHEM beim speichern der fhem.cfg ab, wenn das Modul 98_DLNAClient.pm integriert ist. Ansonsten läuft FHEM aber.
Ich nutze die 98_DLNAClient.pm Datei aus Beitrag #1.
Ist diese die neueste Version oder gibt es eine besser geeignete Datei für den MUNET 300 ?
Einige User haben den MUNET 300 ja auch am laufen.
Welche 98_DLNAClient.pm Version könnt ihr empfehlen?

Vielen Dank für eure Hilfe
Mario
Titel: Antw:98_DLNAClient.pm (UPnP)
Beitrag von: dominik am 04 Februar 2016, 21:54:04
Probier bitte mal diese hier:
http://forum.fhem.de/index.php/topic,39706.msg392500.html#msg392500

Lass mich wissen ob es damit klappt, wenn ja, werde ich den 1. Post gleich aktualisieren.
Titel: Antw:98_DLNAClient.pm (UPnP)
Beitrag von: MarioS1969 am 04 Februar 2016, 23:40:45
Hallo Dominik,
vielen Dank für deine schnelle Antwort.

Leider ist es damit auch nicht besser. Sobald ich auf speichern drücke ist FHEM weg. Die Änderung ist aber noch gespeichert.

Das war das Einzige im Logfile bezüglich 98_DLNAClient.pm


DLNAClient: Currently searching for device MUNET1...
DLNAClient: Currently searching for device MUNET1...
DLNAClient: Currently searching for device MUNET2...
DLNAClient: Currently searching for device MUNET2...


2016.02.04 23:42:54 2: Messages collected while initializing FHEM: configfile: DLNAClient: Currently searching for device MUNET1... DLNAClient: Currently searching for device MUNET1... DLNAClient: Currently searching for device MUNET2... DLNAClient: Currently searching for device MUNET2...



Ansonsten funktioniert FHEM und die Wiedergabe über die MUNET Lautsprecher.

Hast du noch eine Idee?
Titel: Antw:98_DLNAClient.pm (UPnP)
Beitrag von: Enilno am 06 Februar 2016, 10:59:44
Habe mich auch mit ein paar Munets eingedeckt seit sie jetzt so günstig verscherbelt werden. Würde Sie gern über fhem steuern und mit Musik versorgen.

Kann mir jemand von den testenden vielleicht sagen ob die Multiroom Funktion irgendwie realisierbar ist?

Würde die Caskeit Funktion per munet app einstellen und die Lautsprecher vorher mit Steckdosen schalten, da ja sonst alle Lautsprecher die Musik wiedergeben. Gibt's einen besseren weg?
Titel: Antw:98_DLNAClient.pm (UPnP)
Beitrag von: drdownload am 06 Februar 2016, 11:46:53
Zitat von: MarioS1969 am 03 Februar 2016, 01:04:46
Hallo,
ich habe mir 3 PEAQ MUNET 300 zugelegt und möchte sie über das Modul 98_DLNAClient.pm ansteuern.
Ich habe UPNP Tester ausgeführt. Hier der entsprechende Auszug.

Hi, wo hast Du die denn gekauft? Ich finde sie eigentlich nirgends mehr.
Titel: Antw:98_DLNAClient.pm (UPnP)
Beitrag von: Brockmann am 06 Februar 2016, 11:54:43
Zitat von: drdownload am 06 Februar 2016, 11:46:53
Hi, wo hast Du die denn gekauft? Ich finde sie eigentlich nirgends mehr.

Einige Saturn- und Mediamärkte verticken die bei eBay ab 60,- €, gelegentlich auch mal 50,- €.
Titel: Antw:98_DLNAClient.pm (UPnP)
Beitrag von: Brockmann am 06 Februar 2016, 12:02:42
Zitat von: Enilno am 06 Februar 2016, 10:59:44
Kann mir jemand von den testenden vielleicht sagen ob die Multiroom Funktion irgendwie realisierbar ist?
Würde die Caskeit Funktion per munet app einstellen und die Lautsprecher vorher mit Steckdosen schalten, da ja sonst alle Lautsprecher die Musik wiedergeben. Gibt's einen besseren weg?
Caskeid funktioniert nur, wenn die Geräte per Bluetooth beschickt werden und nicht per WLAN, soweit ich das verstanden habe.
Titel: Antw:98_DLNAClient.pm (UPnP)
Beitrag von: dominik am 06 Februar 2016, 13:06:10
@MarioS1969
Ich werde mich dem Thema mal genauer annehmen um zu prüfen woran das liegt. Möchte das Modul in nächster Zeit überarbeiten.

Bzgl. Multiroom, wie ist Multiroom bei den Peaqs implementiert? Die müssen sich ja untereinander abgleichen. Vermute das geht auch per DLNA. Könnt ihr mal einen Auszug des Devices mit dem UpnpTester machen und posten?
Titel: Antw:98_DLNAClient.pm (UPnP)
Beitrag von: drdownload am 06 Februar 2016, 13:52:59
 "den Pluspunkten zählt die CaseKid Technologie von PEAQ, die alle Musikboxen im Haus auf einmal taktet, sodass die Funboxen überall synchron spielen. "
Titel: Antw:98_DLNAClient.pm (UPnP)
Beitrag von: Enilno am 06 Februar 2016, 20:59:20
Zitat von: Brockmann am 06 Februar 2016, 12:02:42
Caskeid funktioniert nur, wenn die Geräte per Bluetooth beschickt werden und nicht per WLAN, soweit ich das verstanden habe.

Caskeid funktioniert auch wenn man sie per wlan ansteuert, dann lässt sich allerdings nur einer ansprechen und die anderen schalten sich automatisch an wenn sie im standby sind. Zumindest wenn man die app nicht nutzt, den ohne app lässt sich Caskeid nicht austellen. mit der App lässt sich natürlich vorher auswählen welche Lautsprecher angesprochen werden, deswegen mein gedanke mit den Funksteckdosen. Der Traum wäre natürlich Caskeid noch über fhem steuern zu können, dann würde ich mich gleich nochmal mit 5 stück eindecken :D

Bei uns im Media Markt hatten sie letzte Woche auch noch welche, die 300er für 49€, die 700er für 99€. Wär seine Anlage noch mit einbinden will, Die munet links gehen zur zeit für 39€ bei eBay weg.
Titel: Antw:98_DLNAClient.pm (UPnP)
Beitrag von: Enilno am 06 Februar 2016, 21:08:35
Zitat von: dominik am 06 Februar 2016, 13:06:10
Bzgl. Multiroom, wie ist Multiroom bei den Peaqs implementiert? Die müssen sich ja untereinander abgleichen. Vermute das geht auch per DLNA. Könnt ihr mal einen Auszug des Devices mit dem UpnpTester machen und posten?

Die Lautsprecher gleichen sich nur über Bluetooth Caskeid ab, auch wenn Sie per Wlan angesprochen werden. Problem ist nur das Sich Caskeid nur per Munet ab an oder abschalten lässt. Einmal angeschaltet bei den einzelnen Lautsprechern fangen alle an zu trillern sobald eine angesprochen wird.
Titel: Antw:98_DLNAClient.pm (UPnP)
Beitrag von: MarioS1969 am 06 Februar 2016, 21:38:10
Hallo Dominik,
super dass du dich darum kümmerst. Wenn es was zum testen gibt, kannst du mir gerne Bescheid geben. Ich kann es dann ausprobieren.
Ich habe noch herausgefunden, dass wenn ich im FHEM den Button "restart" rücke, FHEM auch abstürtzt. Drücke ich dagegen den Button "Save config" gibt es keine Probleme. Beim speichern der fheh.cfg stürzt FHEM ebenfalls ab, bzw. läßt sich anscheinend nicht mehr starten.

Ich habe die MUNETs letzte Woche in Ludwigsburg im Saturn für 29€ gekauft.  ;D

Ich habe dann noch eine andere Frage:
Geht auch die Ansteuerung eines Sonos Players? Ich würde gerne den Play:3 in Kombination mit den MUNETs betreiben, konnte den Sonos aber nicht in 98_DLNAClient.pm (UPnP) integrieren. Dominik, vielleicht kannst du mir ja noch einen Tipp geben wie ich ihn integrieren kann.
Die von dir angesprochene automatische Erkennung wäre natürlich auch super.

Im Anhang der Auszug vom UPNP-Tester für 2 MUNET Geräte und SONOS Play:3.

Viele Grüße
Mario
Titel: Antw:98_DLNAClient.pm (UPnP)
Beitrag von: Brockmann am 07 Februar 2016, 10:33:40
Zitat von: Enilno am 06 Februar 2016, 21:08:35
Die Lautsprecher gleichen sich nur über Bluetooth Caskeid ab, auch wenn Sie per Wlan angesprochen werden. Problem ist nur das Sich Caskeid nur per Munet ab an oder abschalten lässt.
Ah, gut zu wissen, das war mir nicht klar.
Man kann allerdings Caskeid nicht nur per App ein- und ausschalten, sondern auch über das Web-Frontend. Und die dortige Beschreibung hat mich auch vermuten lassen, dass es nur per Bluetooth-Audio klappt:
ZitatAll devices with this switched on will play in sync when you send audio to one via Bluetooth.

In jedem Fall wäre das Webinterface ja ein Ansatz, das ganze auch von FHEM aus automatisieren zu können.
Titel: Antw:98_DLNAClient.pm (UPnP)
Beitrag von: dominik am 07 Februar 2016, 19:58:33
Ich glaub das Hinzufügen des Speakers zu einer Gruppe wird auch über DLNA gesteuert.

Habe paar mehr Infos zur gleiche Implementierung hier gefunden:
http://www.upnp-database.info/service.jsp?serviceId=2721

Das SpeakerManagement UPnP Service bietet Funktionen wie:
- AddToGroup
- RemoveFromGroup
- SetMultiChannelSpeaker
- ...

Kann da mal jemand per Wireshark den Traffic loggen wenn man per App oder Webclient Multiroom aktiviert?
Titel: Antw:98_DLNAClient.pm (UPnP)
Beitrag von: Enilno am 08 Februar 2016, 18:35:43
Ich hab noch nicht mit wireshark gearbeitet, werds aber gleich mal versuchen. Ich berichte heutabend
Titel: Antw:98_DLNAClient.pm (UPnP)
Beitrag von: Enilno am 08 Februar 2016, 20:17:12
vielleicht hat jemand einen tip wonach ich filtern muss? Die liste wird endlos lang bevor ich ein oder ausschalten kann :D
Titel: Antw:98_DLNAClient.pm (UPnP)
Beitrag von: dominik am 08 Februar 2016, 20:23:54
Im Filter mal XML eingeben, dann kommen die UPnP Nachrichten.
Titel: Antw:98_DLNAClient.pm (UPnP)
Beitrag von: dominik am 10 Februar 2016, 20:31:14
20160210, v1.20:
- CHANGED: removed all iThreads
- CHANGED: use BlockingCall for upnp search

...im 1. Post, damit sollte FHEM nun beim Bearbeiten der fhem.cfg via Webinterface nicht mehr abstürzen.
Titel: Antw:98_DLNAClient.pm (UPnP)
Beitrag von: MarioS1969 am 10 Februar 2016, 22:41:02
Hallo Dominik,
ich habe dein neues File gleich mal ausprobiert. Es sieht gut aus. Meine beiden MUNET Player wurden erkannt und ich konnte Musik abspielen. Weiterhin konnte ich die fhem.cfg speichern.

Also vielen Dank für dein Modul und deine schnelle Hilfe.

Ich habe dann noch eine Frage. Mein Sonos Play3 konnte ich noch nicht einbinden. Kannst du mir sagen, ob das gehen sollte und wie ich DLNAClient definieren muss. Ich hänge mal den Auszug au dem UPNPTester vom Sonos mit an.

Viele Grüße
Mario
Titel: Antw:98_DLNAClient.pm (UPnP)
Beitrag von: dominik am 10 Februar 2016, 22:49:11
Probiers mal mit
define sonos DLNAClient Wohnzimmer - Sonos PLAY:3 Media Renderer
Titel: Antw:98_DLNAClient.pm (UPnP)
Beitrag von: MarioS1969 am 10 Februar 2016, 23:06:57
Hallo Dominik,
Vielen Dank für die schnelle Antwort.
Wurde aber leider nicht erkannt - FHEM blieb dann auch hängen.
Hast du noch eine Idee?
Titel: Antw:98_DLNAClient.pm (UPnP)
Beitrag von: dominik am 11 Februar 2016, 00:04:47
Warte nach dem Anlegen mal ca. 5 Minuten und probier dann was abzuspielen. Mit welchen Namen wird die Box in Windows angezeigt? Das müsste der sein, den du verwenden musst.

Es kann auch sein, dass SONOS da Metadaten für setAVTransport benötigt. Hast du es schon mal mit dem SONOS Modul von fhem probiert?
Titel: Antw:98_DLNAClient.pm (UPnP)
Beitrag von: MarioS1969 am 11 Februar 2016, 23:10:47
Hallo Dominik,
ja ich hatte auch schon immer recht lange gewartet. Es wird nicht erkannt und FHEM stürtz ab (muss es wieder neu starten) sobalt ich das Gerät anspreche.
Mit dem Sonos-Modul habe ich mein Sonos am laufen. ich wollte nur alle Player über ein Modul ansteuern.
Aber dann stelle ich das ersteinmal zurück

Trotzdem vielen Dank für deine Hilfe und dein Modul
Titel: Antw:98_DLNAClient.pm (UPnP)
Beitrag von: Enilno am 12 Februar 2016, 00:22:43
Bei mir stürzt fhem ab wenn ich ein devices angelegt habe und versuche ein set zu senden. muss ´fhem dann erst wieder starten.
Titel: Antw:98_DLNAClient.pm (UPnP)
Beitrag von: vw80 am 12 Februar 2016, 08:26:48
Hallo. Mit der neusten Version 1.21 geht es

Gesendet von meinem SM-G900F mit Tapatalk

Titel: Antw:98_DLNAClient.pm (UPnP)
Beitrag von: Enilno am 12 Februar 2016, 08:47:48
Hab die vom ersten beitrag genommen,ist doch die aktuelle?
Titel: Antw:98_DLNAClient.pm (UPnP)
Beitrag von: vw80 am 12 Februar 2016, 09:37:47
Hatte kurzzeitig die 1.20 da hatte ich die gleichen Probleme mit 1.21 geht's und hab noch über die console cpan MIME:Base64 nachinstalliert.
Titel: Antw:98_DLNAClient.pm (UPnP)
Beitrag von: dominik am 12 Februar 2016, 16:34:21
@Enilno, kannst du mir mal den Logauszug vom Crash posten?

MIME::Base64 wird benötigt, ich dachte es ist ein Standardmodul. Werde es noch im 1. Post als Abhängigkeit listen.
Titel: Antw:98_DLNAClient.pm (UPnP)
Beitrag von: Enilno am 12 Februar 2016, 21:31:27
MIME habe ich nicht drauf, werde es später mal installieren und dann nochmal testen.


@ Dominik
War bei den Befehlen was brauchbares für die Multiroom Funktion dabei? :)
Titel: Antw:98_DLNAClient.pm (UPnP)
Beitrag von: dominik am 13 Februar 2016, 08:56:32
@Enilno, zumindest im HTML Code sehe ich, dass eigentlich ein POST HTTP ausgelöst werden müsste. Ein solches konnte ich aber im Wireshark Log nicht finden!? Log mal mit Wireshark auch den Aufruf der Website inklusive dort paar "Save" Funktionen.
Titel: Antw:98_DLNAClient.pm (UPnP)
Beitrag von: Enilno am 13 Februar 2016, 21:15:09
Habe MIME installiert und nochmal getestet.
Nach dem aktivieren des Moduls und dem define eines Gerätes stürtz fhem bei mir ab. Nach dem Neustart von fhem konnte ich nur ganz kurz darauf zugreifen und es hat sich wieder aufgehangen. Laut Putty lief es angeblich noch, konnte aber nicht mehr darauf zugreifen. Musste das modul löschen um wieder auf die Weboberfläche zu kommen.

Im log war folgender Fehler angegeben

Undefined subroutine &main::BlockingCall called at ./FHEM/98_DLNAClient.pm line 42.
Titel: Antw:98_DLNAClient.pm (UPnP)
Beitrag von: Norberto am 13 Februar 2016, 22:21:48
Es fehlt ein use Blocking; im Modul.

Mach mal { use Blocking } vor Anlegen des device oder trag es in die 98_DLNAClient.pm ein.

Gruß, Norberto
Titel: Antw:98_DLNAClient.pm (UPnP)
Beitrag von: Enilno am 14 Februar 2016, 12:16:58
Danke, jetzt funktioniert es. Schön wäre es wenn der Lautstärkeregler auf der letzten lautstärke stehen bleiben würde, er springt bei mir immer wieder auf 0.
Was für einen NAS nutzt ihr den? Ich hab es noch nicht geschafft von meinem Fritz.NAS was abzuspielen.
Titel: Antw:98_DLNAClient.pm (UPnP)
Beitrag von: dominik am 14 Februar 2016, 13:37:07
Danke für den Hinweis mit "use Blocking". Im 1. Post ist eine aktualisierte Version zu finden.

@Enilno
Beim Ändern der Lautstärke springt es immer wieder auf 0 zurück?
Titel: Antw:98_DLNAClient.pm (UPnP)
Beitrag von: Enilno am 14 Februar 2016, 14:08:34
Die Lautstärke vom Lautsprecher bleibt wie eingestellt. Nur nach dem bestätigen ist der Volume Regler wieder auf 0, zeigt also nicht die aktuell eingestellte Lautstärke des Gerätes an.

Edit:
Grad nochmal getestet, er bleibt auf 25er schritten stehen, bleibt ich unter 25, springt er auf null, bleibt ich unter 50, springt er auf 25 etc.
Titel: Antw:98_DLNAClient.pm (UPnP)
Beitrag von: dominik am 14 Februar 2016, 14:35:46
Zitat von: Enilno am 14 Februar 2016, 14:08:34
Die Lautstärke vom Lautsprecher bleibt wie eingestellt. Nur nach dem bestätigen ist der Volume Regler wieder auf 0, zeigt also nicht die aktuell eingestellte Lautstärke des Gerätes an.

Edit:
Grad nochmal getestet, er bleibt auf 25er schritten stehen, bleibt ich unter 25, springt er auf null, bleibt ich unter 50, springt er auf 25 etc.
Glaub ich hab den Fehler gefunden...Update folgt im Laufe des Tages :)
Titel: Antw:98_DLNAClient.pm (UPnP)
Beitrag von: dominik am 14 Februar 2016, 15:35:47
Teste mal die Version anbei bitte.
Titel: Antw:98_DLNAClient.pm (UPnP)
Beitrag von: Enilno am 14 Februar 2016, 16:45:01
Jetzt springt er auf den zuletzt eingestellten wert beim einschalten des Lautsprechers. er stand auf 41 als ich ihn angestellt habe, egal welche Lautstärke ich nun einstelle, der regler landet danach wieder bei 41.

Edit:
AUch wenn ich die lautsärke vorm einstellen verändere, er bleibt bei 41
Titel: Antw:98_DLNAClient.pm (UPnP)
Beitrag von: dominik am 14 Februar 2016, 16:57:37
Kannst du mal per UPnPTester prüfen was über MediaRender-GetVolume (instance=0) deine Box für einen Wert zurück liefert?

Was ist das eigentlich für ein Lautsprecher?
Titel: Antw:98_DLNAClient.pm (UPnP)
Beitrag von: Enilno am 14 Februar 2016, 17:35:48
Ist ein munet Lautsprecher. Aktualiesiere ich meinen Browser springt er auf die richtige lautstärke.
Titel: Antw:98_DLNAClient.pm (UPnP)
Beitrag von: Enilno am 15 Februar 2016, 10:19:39
selbe Problem habe ich auch beim on off Status festgestellt. Ich stelle den Lautsprecher auf On, der Status springt kurz um, dann wird wieder off angezeigt aber der Lautsprecher ist an.

016-02-15 11:21:36 DLNAClient MusikBad buffering
2016-02-15 11:21:37 DLNAClient MusikBad stream: http://192.168.178.23:59938/stream/swyh.mp3
2016-02-15 11:21:37 DLNAClient MusikBad on
2016-02-15 11:21:43 DLNAClient MusikBad volume: 48
2016-02-15 11:21:43 DLNAClient MusikBad off


getestet mit deiner angehängten Version.

Ist es übrigens normal, dass der dlnaclient die ganze zeit im Hintergrund läuft auch wenn die Lautsprecher ausgestellt sind?
Wenn ich alle Lautsprecher ausstelle und eventmonitor geöffnet habe, haut er alle paar Sekunden den letzten Status und Volume der Lautsprecher raus.

2016-02-15 11:51:17 DLNAClient MusikBad volume: 48
2016-02-15 11:51:17 DLNAClient MusikBad off
2016-02-15 11:51:35 DLNAClient MusikKueche volume: 53
2016-02-15 11:51:35 DLNAClient MusikKueche off
2016-02-15 11:52:25 DLNAClient MusikBad volume: 48
2016-02-15 11:52:25 DLNAClient MusikBad off
2016-02-15 11:52:43 DLNAClient MusikKueche volume: 53
2016-02-15 11:52:43 DLNAClient MusikKueche off
2016-02-15 11:53:33 DLNAClient MusikBad volume: 48
2016-02-15 11:53:33 DLNAClient MusikBad off
2016-02-15 11:53:50 DLNAClient MusikKueche volume: 53
2016-02-15 11:53:50 DLNAClient MusikKueche off
Titel: Antw:98_DLNAClient.pm (UPnP)
Beitrag von: dominik am 15 Februar 2016, 19:59:07
Teste mal die Version anbei:
- off Status behoben
- volume reading wird nur bei Änderung aktualisiert

Der Prozess läuft nicht im Hintergrund. Alle 60s (+ Suchzeit) wird ein neuer Prozess zur Suche gestartet und danach wieder beendet. Somit ist das DLNA Device immer unabhängig von der aktuell vergebenen IP Adresse.
Titel: Antw:98_DLNAClient.pm (UPnP)
Beitrag von: Enilno am 15 Februar 2016, 20:34:14
Modul kopiert, reload und sogar Neustart, keine Veränderung. Lautstärke springt noch auf den alten wert zurück, zumindest der Schiebregler bis ich den Browser aktualisiere. Unter Readings wird die richtige Lautstärke angezeigt. Status springt wieder auf off nach ein paar Sekunden. Ich glaube sobald er nach den 60 Sekunden erneut sucht stellt er ihn auf off.
Lässt sich die suche nach 60 Sekunden ausstellen? Bei mir haben sie eh eine feste IP.
Titel: Antw:98_DLNAClient.pm (UPnP)
Beitrag von: dominik am 15 Februar 2016, 20:54:35
Teste mal mit der Version anbei und post das Log (hab einige loglevel 3 Ausgaben eingebaut).

//Edit: Anhang gelöscht.
Titel: Antw:98_DLNAClient.pm (UPnP)
Beitrag von: Enilno am 15 Februar 2016, 22:04:31
Hier der Log

2016.02.15 21:58:49 1: PERL WARNING: Subroutine DLNAClient_Initialize redefined at ./FHEM/98_DLNAClient.pm line 39.
2016.02.15 21:58:49 1: PERL WARNING: Subroutine DLNAClient_startUPnPScan redefined at ./FHEM/98_DLNAClient.pm line 49.
2016.02.15 21:58:49 1: PERL WARNING: Subroutine DLNAClient_startUPnPScanBlocking redefined at ./FHEM/98_DLNAClient.pm line 61.
2016.02.15 21:58:49 1: PERL WARNING: Subroutine DLNAClient_finishedUPnPScan redefined at ./FHEM/98_DLNAClient.pm line 83.
2016.02.15 21:58:49 1: PERL WARNING: Subroutine DLNAClient_updateVolume redefined at ./FHEM/98_DLNAClient.pm line 134.
2016.02.15 21:58:49 1: PERL WARNING: Subroutine DLNAClient_setAVTransport redefined at ./FHEM/98_DLNAClient.pm line 159.
2016.02.15 21:58:49 1: PERL WARNING: Subroutine DLNAClient_finishedSetAVTransport redefined at ./FHEM/98_DLNAClient.pm line 182.
2016.02.15 21:58:49 1: PERL WARNING: Subroutine DLNAClient_Define redefined at ./FHEM/98_DLNAClient.pm line 197.
2016.02.15 21:58:49 1: PERL WARNING: Subroutine DLNAClient_Undef redefined at ./FHEM/98_DLNAClient.pm line 220.
2016.02.15 21:58:49 1: PERL WARNING: Subroutine DLNAClient_Set redefined at ./FHEM/98_DLNAClient.pm line 232.
2016.02.15 21:58:56 3: BOSEST: New device found.
2016.02.15 21:58:56 3: BOSEST: Set state to off.
2016.02.15 21:59:15 3: BOSEST: Set volume to 52.
2016.02.15 21:59:17 3: BOSEST: Set volume to 49.
2016.02.15 21:59:20 3: BOSEST: Set volume to 99.
2016.02.15 21:59:23 3: BOSEST: Set volume to 26.
2016.02.15 21:59:29 3: BOSEST: Set volume to 20.
2016.02.15 21:59:47 3: BOSEST: Set volume to 35.
2016.02.15 22:00:05 3: BOSEST: New device found.
2016.02.15 22:00:05 3: BOSEST: Set state to off.
2016.02.15 22:01:12 3: BOSEST: New device found.
2016.02.15 22:01:12 3: BOSEST: Set state to off.
2016.02.15 22:02:20 3: BOSEST: New device found.
2016.02.15 22:02:20 3: BOSEST: Set state to off.
2016.02.15 22:03:26 3: BOSEST: New device found.
2016.02.15 22:03:26 3: BOSEST: Set state to off.
Titel: Antw:98_DLNAClient.pm (UPnP)
Beitrag von: Markus Hermann am 16 Februar 2016, 10:06:54
Hallo Dominik,

erstmal vielen Dank für die tolle Arbeit. Das Modul läuft bei mir perfekt.
Ich setze inzwischen 5 Munet-Komponeten ein (2xPMN 700, 2xPMN 400 und 1x 300). Ich bin gerade dabei den WAF zu erhöhen und das Ganze in Tablet-UI einzubauen.

Besteht die Möglichkeit auch MP3 von einem NAS abzuspielen?  Eine Sprachausgabe per TTS wäre auch toll.

Ich habe da was gefunden, Jens Cramer bastelt für IP-Symcon etwas für die Pure/Peaq-Lautsprecher, vielleicht ist der Source-Code ja eine Hilfe für Dich oder kennst Du das schon?

https://bitbucket.org/jens_cramer/caskeid-php/src

Gruß
Markus


Titel: Antw:98_DLNAClient.pm (UPnP)
Beitrag von: Enilno am 16 Februar 2016, 12:26:44
Den code hatte ich angefragt für die multiroom funktion,werde das heutabend mal mit den befehlen und upnptester testen.

Mit den mp3 wäre super, habs bisher auch nich nicht hinbekommen. Lässt sich das ganze eigentlich mit dem spotify connect modul nutzen?
Ich benutze momentan "stream what you hear" mit microsoft groove, funktioniert ganz gut, ist aber ein bisschen verzögert mit der steuerung.
Titel: Antw:98_DLNAClient.pm (UPnP)
Beitrag von: dominik am 16 Februar 2016, 21:26:26
Jetzt sollte es aber klappen. Hab das setzen auf "off" entfernt. Es wird jetzt beim Start presence=offline gesetzt und sobald das Device gefunden wurde auf online gesetzt. Danach ändert sich der Status nicht mehr auf "offline" aber neue IPs werden stets aktualisiert.

Lass mich wissen ob das bei dir funktioniert.

Bzgl. MUNET Multiroom: Das sieht machbar aus auf Basis des Codes. Alles DLNA Befehle wie schon vermutet.
- Connection: PrepareForConnection
- SessionManagement: CreateSession (ID speichern)
- SessionManagement: AddUnitToSession(ID, UUID als Parameter)
- AVTransport: SyncPlay
Kannst mal mit UPnPTester durchspielen.

//Edit: Anhang gelöscht.
Titel: Antw:98_DLNAClient.pm (UPnP)
Beitrag von: Enilno am 16 Februar 2016, 22:07:05
Der Lautsprecher bleibt jetzt auf On. Die Lautstärke springt aber immer noch auf den vorherigen Wert, bis ich den Browser aktualisiere.
Mir ist außerdem noch aufgefallen, das die Lautsprecher beim senden des off Befehls nicht ausgehen, es wird nur die Musik gestoppt.

Wenn ich versuche den munet mit upnptester und dem prepare for Connection anzusprechen, bekomme ich ein
Invalid Arguments. (0x80040208)
zurück.
Zumindest konnte ich schon mal die momentane Session ID usw auslesen. Werd es morgen nochmal weiter testen.

Edit:
Die Munets gehen allerdings nach 5 Minuten in den standby.
Titel: Antw:98_DLNAClient.pm (UPnP)
Beitrag von: Markus Hermann am 17 Februar 2016, 10:18:19
Hallo Domonik,

das wäre super, wenn Multiroom klappen würde. Ich habe zwar mit den UPnPTester ein Munet einen Stream abspielen lasssen können. Aber mit den anderen Munet eine Sessions aufbaue habeioch nicht hinbekommen. Steck da zu wenig drin :-)

Würde mich echt freuen wenn Du Multiroom in 98_DLNAClient.pm. einbauen kannst.

Ich versuche jetzt erstmal einige MP3-Files per Playlist.m3u aus FHEM von MiniDLNA an die Munet zu streamen.

Gruß
Markus
Titel: Antw:98_DLNAClient.pm (UPnP)
Beitrag von: dominik am 17 Februar 2016, 18:42:38
@Enilno
DLNA unterstützt meines Wissens kein richtiges "OFF". Das ist also korrekt, dass gestoppt wird und die Boxen danach in Standby gehen.

Den "Schieberegler-Bug" kann ich echt nicht nachvollziehen. Sicher, dass das nicht mit deiner FHEM Installation zu tun hat? Funktionieren andere Schieberegler?
Titel: Antw:98_DLNAClient.pm (UPnP)
Beitrag von: Enilno am 17 Februar 2016, 19:44:55
Habs grad mit den Hue Lampen getestet, die springen auch auf den alten Wert :O Tut mir leid für die Arbeit die ich dir gemacht habe, aber warum das bei mir plötzlich so ist kann ich mir nicht erklären... Feedback obs bei den anderen funktioniert wäre gut :)

Hab es noch nicht geschafft eine Multiroom Session zu starten, ich teste noch mit den Argumenten die er von mir haben will.
Bei Connection/PrepareforConnection will er z.b. RemoteProtokolInfo,PeerConnectionManager,PeerConectionID und Direction von mir wissen, trage ich nichts ein spuckt er mir Invalid Arguments aus, Ich weis aber nicht was ich eintragen muss weil er nur "No allowed value list or range" angibt.
Ich dachte ich kann mal eben ne ID für Master und Device anlegen und beide Syncen, aber Ich brauche glaub ich erst ein UPNP Studium :D

EDIT:Ich hab auch falsch rum gedacht glaube ich,muss ich die ids an den jeweiligen lautsprechern vergeben oder werden die ids der anderen lautsprecher nur beim master eingetragen?
Titel: Antw:98_DLNAClient.pm (UPnP)
Beitrag von: Norberto am 20 Februar 2016, 18:21:21

@ Enilno: wie hast Du es geschafft das Du auch ohne die App alle Lautsprecher gleichzeitig zum spielen bekommst?

ZitatEinmal angeschaltet bei den einzelnen Lautsprechern fangen alle an zu trillern sobald eine angesprochen wird.

Selbst wenn ich über die App oder das Web-Interface caskeid aktiviere spielen Sie wenn über einen andere DLNA Quelle (wireless) angesteuert nur einzeln.

Grüße, Norberto
Titel: Antw:98_DLNAClient.pm (UPnP)
Beitrag von: Enilno am 21 Februar 2016, 13:50:48
Habs grad nochmal getestet. Bekomm es ohne App auch nicht mehr hin.
Hatte vorher mit der App bisschen rumgespielt und wohl Ausversehen ne Session angelegt. Solange die Lautsprecher nicht ausgeschaltet werden spielen sie auch noch gleichzeitig über eine andere quelle.

Gibt's schon was neues zum Multiroom beim Modul?
Titel: Antw:98_DLNAClient.pm (UPnP)
Beitrag von: dominik am 21 Februar 2016, 15:24:31
Noch nicht, komm leider erst nächstes WE dazu wieder was zu tun.
Titel: Antw:98_DLNAClient.pm (UPnP)
Beitrag von: f1nd am 26 Februar 2016, 10:40:26
ich hab auch die munet peaq 300, kann man irgendwie den status bekommen ob das ding im standby oder idle steht ?
würde gerne wenn ich den power knopf oben drücke, erstmal ein standard stream gespielt wird.

Titel: Antw:98_DLNAClient.pm (UPnP)
Beitrag von: Brice am 29 Februar 2016, 17:59:41
@dominik
Sehr schöne Überraschung nach meinem Urlaub :-). FHEM stürzt nach Speicherung der cfg nicht mehr ab und alles läuft wie gehabt:

- Bügeleisen wird in FS20FMS gesteckt und SWR3 wird auf Sony SA-NS310 gestreamt
- Fernseher wird ausgeschaltet und harmony.fm wird gestreamt
- "Radio-Wecker" läuft auch wie immer

Danke für deine Arbeit.

Stefan

edit: ist ein SA-NS310 und kein Medion SIRD (letzteres ist eine andere Baustelle)
Titel: Antw:98_DLNAClient.pm (UPnP)
Beitrag von: Enilno am 04 März 2016, 16:57:11
Lässt sich nicht sonst auch die configuration der munets per iframe o.ä in fhem anzeigen. Eventuell ist das leichter zu realisieren?
Titel: Antw:98_DLNAClient.pm (UPnP)
Beitrag von: dominik am 05 März 2016, 22:59:53
@Enilno, kannst du mal folgende Reihenfolge probieren (angeblich müssen diese 3 URLs aufgerufen werden, damit sich die Boxen verbinden)
- Browser: http://IP/cgi-bin/config.lp?output=json (für alle Boxen aufrufen)
- Browser: http://IP/cgi-bin/portal_registration.lp?action=get&output=json (für alle Boxen aufrufen)
- Browser: http://IP:PORT/xml/SpeakerManagement.xml (für alle Boxen aufrufen)
- AVTransport: SetAVTransportURI (mit einer URI die funktioniert)
- Connection: PrepareForConnection
- SessionManagement: CreateSession (ID speichern)
- SessionManagement: AddUnitToSession(ID, UUID als Parameter)
- AVTransport: SyncPlay
Titel: Antw:98_DLNAClient.pm (UPnP)
Beitrag von: Enilno am 06 März 2016, 21:35:36
Mach ich,wird aber erst morgen abend was. Geb dann Rück Meldung.
Titel: Antw:98_DLNAClient.pm (UPnP)
Beitrag von: Enilno am 07 März 2016, 21:12:35
so, bin grad am testen, klappt aber nich so wie ich will.

nach dem ersten link
http://IP/cgi-bin/config.lp?output=json
bekomme ich als ausgabe
{ "device_name":"Kueche", "success":true, "bt_discoverable":true }

der zweite
http://IP/cgi-bin/portal_registration.lp?action=get&output=json
gibt folgendes aus
{ "deviceid":"af15d4a3-9782-4ed6-a20e-4dfc9d1d55af", "success":true, "status":"REGISTERED", "method":"auto" }

Gebe ich den Dritten ein, zeigt mir der Browser nur, das die seite nicht angezeigt werden kann. Habe mehrere Ports durchprobiert, muss ich einen bestimmten angeben?

SetAVTRANSPORTURI gibt mir auch nur ein Invalid Argument, er fragt mich nach InstanceID, CurrentURI und Current MetaData, ein tip was ich genau angeben muss wäre super :)

ADDUnitToSession gibt es allerdings so nicht, ist damit eventuell AddToGroup gemeint? hier fragt er nach ID, Name und Metadata.
Titel: Antw:98_DLNAClient.pm (UPnP)
Beitrag von: Norberto am 08 März 2016, 18:11:09
@ Dominik: vielen Dank für Dein Modul und Deine tolle Unterstützung.

Es gibt anscheinend mehrere Mitglieder die Interesse an einem Multiroom-Streaming auf Peaq Speaker haben.

Ich befürchte dass dies aber nichts wird wenn Du selbst die Lautsprecher nicht hast.

Wenn du die Entwicklung des Multiroom-Streamings auf Peaq tatsächlich implementieren willst könnte ich mir vorstellen zwei Peaq 300 zu sponsoren.

Grüße, Norbert
Titel: Antw:98_DLNAClient.pm (UPnP)
Beitrag von: dominik am 09 März 2016, 19:13:30
Hi Norbert,

danke für dein Angebot. Ich glaube aber, dass meine Zeit die nächsten Wochen nicht reichen wird um die Implementierung kurzzeitig durchzuführen. Versteh mich nicht falsch, ich würde es unglaublich gerne versuchen und freue mich auch wenn mir jemand die Hardware zur Verfügung stellt. Ich will nur keine falschen Erwartungen wecken, dass das dann auch innerhalb von 4 Wochen umgesetzt ist - dazu sind die Wochenenden leider immer zu kurz ;)

Gruß,
Dominik
Titel: Antw:98_DLNAClient.pm (UPnP)
Beitrag von: StephanH am 09 März 2016, 20:06:02
Ich bin über dieses Modul gestolpert und habe jetzt mal die 14 Seiten Thread durchgeackert.
Der Stand klingt so gut, dass ich's mal mit dem Modul probieren will. Respekt für die Arbeit.

Ist in absehbarer Zeit geplant das Modul in das Basis-FHEM auzunehmen?

Der Vorteil wäre vor allem, dass man die Updates komfortabler findet und installiert bekommt.
Titel: Antw:98_DLNAClient.pm (UPnP)
Beitrag von: Kai_raspi am 16 März 2016, 23:38:49
Hallo,

ich versuch das Modul zu testen. Leider bekomme ich im Logfile folgende Fehlermeldung.
2016.03.16 23:34:55 1: reload: Error:Modul 98_DLNAClient deactivated:
Can't locate Net/UPnP/ControlPoint.pm in @INC (you may need to install the Net::UPnP::ControlPoint module) (@INC contains: /etc/perl /usr/local/lib/arm-linux-gnueabihf/perl/5.20.2 /usr/local/share/perl/5.20.2 /usr/lib/arm-linux-gnueabihf/perl5/5.20 /usr/share/perl5 /usr/lib/arm-linux-gnueabihf/perl/5.20 /usr/share/perl/5.20 /usr/local/lib/site_perl . ./FHEM) at ./FHEM/98_DLNAClient.pm line 32.
BEGIN failed--compilation aborted at ./FHEM/98_DLNAClient.pm line 32.

2016.03.16 23:34:55 0: Can't locate Net/UPnP/ControlPoint.pm in @INC (you may need to install the Net::UPnP::ControlPoint module) (@INC contains: /etc/perl /usr/local/lib/arm-linux-gnueabihf/perl/5.20.2 /usr/local/share/perl/5.20.2 /usr/lib/arm-linux-gnueabihf/perl5/5.20 /usr/share/perl5 /usr/lib/arm-linux-gnueabihf/perl/5.20 /usr/share/perl/5.20 /usr/local/lib/site_perl . ./FHEM) at ./FHEM/98_DLNAClient.pm line 32.
BEGIN failed--compilation aborted at ./FHEM/98_DLNAClient.pm line 32.

habt ihr eine Idee was ich installieren muss? Was ist das Controlpoint Module bzw. woher bekomme ich es?

Vielen Dank im voraus
Titel: Antw:98_DLNAClient.pm (UPnP)
Beitrag von: dominik am 17 März 2016, 18:23:15
sudo apt-get install libnet-upnp-perl

Werde das im 1. Post noch weiter vor rücken. Aufgrund des Changelog ist es weit nach unten gerutscht.
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: dominik am 21 März 2016, 21:38:56
Hallo zusammen,

zuerst möchte ich mich an dieser Stelle bei Norberto dafür bedanken, dass er mir 2 MUNET Boxen gesponsert hat!!! Ohne die hätte ich die Caskeid Implementierung wohl nie durchführen können. Vielen Dank daher!

Ich habe nun eine erste 2.0.0 BETA Version mit Caskeid Support im 1. Post veröffentlicht.
Beachtet bitte dass es eine BETA Version ist, dennoch freue ich mich über Feedback/Bugs/Verbesserungsvorschläge.

Es kann sein, dass ich das ein oder andere Command für die finale 2.0.0 Version noch ändere. Gerade die Multiroom Funktionalität werde ich wahrscheinlich noch in der Bedienung vereinfachen - auch hier Vorschläge willkommen.

Neues Define - neuer Modulname
define dlnadevices DLNARenderer (nach ca. 2 Minuten findet ihr die Devices unter "Unsorted")

Changelog
v2.0.0 - 20160321 - !! BETA !!
- FEATURE: autodiscover and autocreate DLNA devices
       just use "define dlnadevices DLNARenderer" and wait 2 minutes
- FEATURE: support Caskeid (e.g. MUNET devices) with following commands
                set <name> playEverywhere
                set <name> stopPlayEverywhere
                set <name> addUnit <UNIT>
                set <name> removeUnit <UNIT>
                set <name> enableBTCaskeid
                set <name> disableBTCaskeid
- FEATURE: display multiroom speakers in multiRoomUnits reading
- FEATURE: automatically set alias for friendlyname
- FEATURE: automatically set webCmd volume
- FEATURE: automatically set devStateIcon audio icons
- FEATURE: ignoreUDNs attribute in main
- FEATURE: scanInterval attribute in main
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: Brice am 22 März 2016, 06:58:02
Hallo Dominik,

gestern Abend das Modul installiert. Gefunden wurde
2016.03.21 22:10:24 3: DLNARenderer: Created device DLNA_0017881d4440 for Philips hue (192.168.xxx.xxx)
2016.03.21 22:11:31 3: DLNARenderer: Created device DLNA_002261d46ff8 for SilverCrest SIRD 14 B1
2016.03.21 22:15:03 3: DLNARenderer: Created device DLNA_5453edc2af85 for SA-NS310


Der Sony WLan Lautsprecher (SA-NS310) war bisher über 98_DLNAClient.pm definiert. Diese Definition muss zunächst gelöscht (oder in der cfg auskommentiert) werden.

Dass ich das Radio SilverCrest SIRD 14 B1 nicht steuern kann, hattte ich erwartet und benötige es auch nicht.
Dass die HUE-Bridge gefunden wird, wundert mich etwas.

98_DLNAClient ist somit obsolet?

Stefan

Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: nightstorm99 am 22 März 2016, 12:07:28
Zitat von: dominik am 21 März 2016, 21:38:56
Hallo zusammen,

zuerst möchte ich mich an dieser Stelle bei Norberto dafür bedanken, dass er mir 2 MUNET Boxen gesponsert hat!!! Ohne die hätte ich die Caskeid Implementierung wohl nie durchführen können. Vielen Dank daher!

Ich habe nun eine erste 2.0.0 BETA Version mit Caskeid Support im 1. Post veröffentlicht.
Beachtet bitte dass es eine BETA Version ist, dennoch freue ich mich über Feedback/Bugs/Verbesserungsvorschläge.

Es kann sein, dass ich das ein oder andere Command für die finale 2.0.0 Version noch ändere. Gerade die Multiroom Funktionalität werde ich wahrscheinlich noch in der Bedienung vereinfachen - auch hier Vorschläge willkommen.

Neues Define - neuer Modulname
define dlnadevices DLNARenderer (nach ca. 2 Minuten findet ihr die Devices unter "Unsorted")

Changelog
v2.0.0 - 20160321 - !! BETA !!
- FEATURE: autodiscover and autocreate DLNA devices
       just use "define dlnadevices DLNARenderer" and wait 2 minutes
- FEATURE: support Caskeid (e.g. MUNET devices) with following commands
                set <name> playEverywhere
                set <name> stopPlayEverywhere
                set <name> addUnit <UNIT>
                set <name> removeUnit <UNIT>
                set <name> enableBTCaskeid
                set <name> disableBTCaskeid
- FEATURE: display multiroom speakers in multiRoomUnits reading
- FEATURE: automatically set alias for friendlyname
- FEATURE: automatically set webCmd volume
- FEATURE: automatically set devStateIcon audio icons
- FEATURE: ignoreUDNs attribute in main
- FEATURE: scanInterval attribute in main

Hallo und vielen Dank dafür!

Werde ich nach der Arbeit gleich testen, da ich noch einen Zugriff auf meinen Sony AVR STR-DN850 brauche.
Diesen hatte ich schon mit 98_DLNAClient gesteuert, aber einiges lief nicht richtig rund.
Der Online/Offline Status hatte dort leider überhaupt nicht funktioniert.

Gruß Denny
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: dominik am 22 März 2016, 18:37:57
@Brice
98_DLNAClient.pm ist damit obsolet. Ich habe das Modul auch umbenannt, da alle Modulnamen sich am Device selbst orientieren und das Device ist lt. DLNA Spezifikation ein DLNARenderer. Es erleichtert auch den Umstieg, da man den alten 98_DLNAClient.pm erst löschen muss wenn man mit DLNARenderer alles eingerichtet hat.
Wieso die HUE Bridge einen DLNA Renderer als Service anbietet kann ich dir nicht beantworten, da müsste man mal Philips fragen was die vor haben :)

@nightstorm99
Das erkennen des Online/Offline Status ist noch nicht korrigiert. Sobald das Device einmal online war, bleibt es online. Manche Devices beantworten nämlich (aus mir nicht erklärlichen Gründen) nicht jede DLNA Search Anfrage. Da die Devices dann dennoch erreichbar sind, möchte ich diese nicht gleich offline setzen und weitere Commands unterbinden.
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: nightstorm99 am 25 März 2016, 12:43:33
ZitatDas erkennen des Online/Offline Status ist noch nicht korrigiert. Sobald das Device einmal online war, bleibt es online. Manche Devices beantworten nämlich (aus mir nicht erklärlichen Gründen) nicht jede DLNA Search Anfrage. Da die Devices dann dennoch erreichbar sind, möchte ich diese nicht gleich offline setzen und weitere Commands unterbinden.

Hallo dominik,

ja das online/offline geht nicht.
Aber nicht schlimm, da ich meinen AVR über LAN-PING prüfe.

Nutze den DLNA-Renderer jetzt eigentlich nur für Lautstärke von meinem AVR.

Was mir auffällt das er Geräte doppelt anleget! Scheinbar immer wenn sie wieder Online kommen?

Danke und Gruß
Denny
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: MichaelT am 25 März 2016, 13:34:53
Hallo dominik,

danke für deine Arbeit. Hat sofort mit 4 peaks funktioniert.
everywhere funktioniert auch!

Gruß Michael
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: Enilno am 26 März 2016, 17:57:59
Zitat von: nightstorm99 am 25 März 2016, 12:43:33
Hallo dominik,

ja das online/offline geht nicht.
Aber nicht schlimm, da ich meinen AVR über LAN-PING prüfe.

Nutze den DLNA-Renderer jetzt eigentlich nur für Lautstärke von meinem AVR.

Was mir auffällt das er Geräte doppelt anleget! Scheinbar immer wenn sie wieder Online kommen?

Danke und Gruß
Denny

Bei mir werden nicht mehrere Geräte angelegt, habe allerdings auch jedem gerät eine feste IP zugewiesen. Wie siehts bei dir aus?
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: dominik am 28 März 2016, 21:25:52
In den nächsten Tagen folgt noch ein Update in welchem die DLNA Suche vom ControlPoint.pm aus der FHEM lib verwendet wird. Eventuell behebt das deine Probleme Enilno. Die fixen IPs sollten aber keine Probleme bei der Suche verursachen.
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: Enilno am 29 März 2016, 12:19:41
Zitat von: nightstorm99 am 25 März 2016, 12:43:33

Was mir auffällt das er Geräte doppelt anleget! Scheinbar immer wenn sie wieder Online kommen?

Danke und Gruß
Denny

@Dominik
Bei mir läuft's einwandfrei, die frage war ob er bei fester ip noch doppelte einträge hat :)
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: dominik am 03 April 2016, 21:57:47
Update im 1. Post.

Das Modul nutzt nun die UPnP Library aus FHEM und nicht mehr libupnp-perl. Damit werden jetzt auch Events von den Devices verarbeitet und in den Readings angezeigt (z.B. Lautstärke, Title, Album, ...).
Für Caskeid gibt es auch noch 2 neue Features: Stereo Mode und Groups speichern/laden.

Im Moment ist es noch ziemlich BETA, dennoch wollte ich euch das Modul nicht vorenthalten. Die ein oder andere Funktion darin (oder auch Readings) werden bis zum Release eventuell auch noch umgebaut.

v2.0.0 BETA2 - 20160403
- FEATURE: support events from DLNA devices
- FEATURE: support caskeid group definitions
                set <name> saveGroupAs Bad
                set <name> loadGroup Bad
- FEATURE: support caskeid stereo mode
                set <name> stereo MUNET1 MUNET2 MunetStereoPaar
                set <name> standalone
- CHANGE: use UPnP::ControlPoint from FHEM library
- BUGFIX: fix presence status
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: nightstorm99 am 04 April 2016, 06:34:39
Zitat von: Enilno am 29 März 2016, 12:19:41
@Dominik
Bei mir läuft's einwandfrei, die frage war ob er bei fester ip noch doppelte einträge hat :)

Guten Morgen,

bei mir im Netzwerk gibt's nur statische IP's.

Werde die neue Version heute testen.

Gruß
Denny
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: Norberto am 04 April 2016, 22:48:00

Guten Abend Dominik,

Habe gerade mal Zeit gefunden Deine neue Beta zu testen.

Funktionierte auf Anhieb und die Readings sind klasse.

Folgendes finde ich in meinem log-file:

Zitat2016.04.04 21:40:00 1: DLNARenderer: XML parsing error: File does not exist: NOT_IMPLEMENTED at ./FHEM/98_DLNARenderer.pm line 265.

2016.04.04 21:40:08 1: PERL WARNING: 400-URL-Absolute-Error! Location: "192.168.86.35:57205", Content: "400 URL must be absolute
" at ./FHEM/98_DLNARenderer.pm line 117.
2016.04.04 21:40:08 1: PERL WARNING: Loading device description failed with error: 400 URL must be absolute at ./FHEM/98_DLNARenderer.pm line 117.
2016.04.04 21:42:10 1: PERL WARNING: Loading device description failed with error: 401 Unauthorised at ./FHEM/98_DLNARenderer.pm line 117.

Hast Du ein paar Tips wie ich das am effektivsten debuggen kann?

Gruß, Norbert
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: dominik am 04 April 2016, 22:58:24
Hi Norbert,

danke für das Update. Den Fehler mit NOT_IMPLEMENTED werde ich korrigieren, denke das liegt daran, dass die Box keine MetaDaten findet und dann NOT_IMPLEMENTED zurück liefert. Werde zukünftig bei NOT_IMPLEMENTED die Readings für current*/next* zurücksetzen.

Die anderen Fehler haben was mit dem ControlPoint.pm aus FHEM zu tun. Konnte den Fehler aber auch noch nicht 100% identifizieren. Konntest du ausfindig machen ob beim Auftreten dieses Fehlers etwas nicht funktioniert?

Gruß,
Dominik
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: Norberto am 04 April 2016, 23:54:22
Hallo Dominik,

beide Probleme könnten etwas mit anderen upnp devices zu tun haben welche evtl andere Daten zurückgeben. So findet Dein Modul z.B. zwei Samsung TV.

Dein 'altes' Modul konnte bei einem TV zumindest die Lautstärke ändern. Dies geht jetzt nicht mehr.

Bei Gelegenheit prüfe ich mal die eventuelle Abhängigkeit der Fehlermeldungen von anderen Geräten.

Gruß, Norbert
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: hawkeyexp am 05 April 2016, 05:26:21
Hi Dominik,

das Modul läuft schon erstaunlich gut wie ich finde - macht soweit echt spaß damit zu basteln :-)
Was vielleicht noch schön wäre ist wenn du vielleicht direkt einbetten könntest, dass der Online-Status (presence) des Device angezeigt wird. Vielleicht ja einfach durch einen Farbumschlag des Device-State ?

Gruß Marc
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: Norberto am 05 April 2016, 08:39:11

@Marc: Ich denke nicht dass dies richtig wäre. Visualisierung ist nicht Sache des Devices und abhängig vom verwendeten GUI. Und ausserdem macht es ja '...Spaß damit zu basteln'.  ;)

In der neuen Version hat Dominik ja jede Menge Readings eingefügt. Darauf aufsetzend kann man ja alles nach eigenem Gusto gestalten.

Gruß, Norbert
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: vw80 am 05 April 2016, 10:49:49
Hallo. Leider wird mein AV VSX-527 nicht mehr erkannt. Habe ihn auch schon manuell angelegt(keine Ahnung ob das überhaupt geht) aber ohne erfolg. Über UPnPTest wird er aber sofort erkannt und über eine frühere Version funktionierte es auch mal. Gibt es da Abhilfe?
Gruß Heiko
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: dominik am 05 April 2016, 18:40:38
@Marc, wie Norbert schon schreibt, sehe ich das auch eher in der Logik im eigenen FHEM Code, nicht aber als Inhalt des Moduls. Einzige Änderung die ich noch einbauen will ist die State Handhabung wie im BOSEST Modul:
- Offline => state: offline
- Online (nichts wird gespielt) => state: online
- Online (stopped) => state: stopped
- Online (playing) => state: playing
Damit erkennt man nämlich schnell ob das Device online ist.

@vw80, wird er auch nach 30 Minuten nicht erkannt? Wenn nicht, werde ich mal in die Details schauen wo sich die UPnP Library zur FHEM UPnP Library da unterscheidet. Eigenes Device anlegen geht, aber man muss dann dennoch warten bis das "Hauptdevice" (ohne UDN) das Device gefunden hat um eine Verbindung aufzubauen.
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: vw80 am 05 April 2016, 21:06:03
Nein leider wird der AV nie erkannt. Die UUID hatte ich eingetragen beim manuellen erstellen. Habe noch ein Sird14 von SilverCrest, es wird erkannt aber funktioniert nicht wahrscheinlich wegen einer SID die immer vorher angefragt werden müsste.
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: dominik am 05 April 2016, 22:22:49
Kannst du mal folgendes ändern (ca. Zeile 146)
$cp = UPnP::ControlPoint->new(SearchPort => 0, SubscriptionPort => 0, MaxWait => 30, UsedOnlyIP => \%empty, IgnoreIP => \%empty);
ändern in
$cp = UPnP::ControlPoint->new(SearchPort => 0, SubscriptionPort => 0, MaxWait => 3, UsedOnlyIP => \%empty, IgnoreIP => \%empty);

Also nur MaxWait von 30 auf 3 ändern. Das ist der einzige Unterschied den ich aktuell erkennen kann. Danach bitte kompletter FHEM Neustart.

Bzgl. Sird14, weißt du wie das mit der SID im Detail funktioniert? Dann könnte man über eine Umsetzung nachdenken sofern der Rest Standard DLNA ist.
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: vw80 am 05 April 2016, 22:41:22
Das mit dem SIRD14 wurde hier
https://forum.fhem.de/index.php?topic=31430.0
schonmal diskutiert - auch wie die sid abgefragt wird - es gibt auch schon ein Modul 17_SIRD.pm wo die Radios mit gesteuert werden können aber über DLNA geht es bestimmt auch irgendwie. Über das App BubbleUPnP für Android funktioniert mein AV und auch das Sird14 perfekt.
Die Zahl hab ich geändert und fhem neu gestartet - bis jetzt erkennt es noch nichts aber ich beobachte mal ob er noch erkannt wird oder muss das jetzt in 3 min passieren nach der Änderung?
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: dominik am 05 April 2016, 23:09:32
Sollte eigentlich innerhalb weniger Minuten erscheinen. Kannst du mal per Wireshark den LAN Verkehr monitoren und dann ein SSDP NOTIFY posten.
Sieht so aus    NOTIFY * HTTP/1.1\r\n
    Host: 239.255.255.250:1900\r\n
    NT:uuid:BO5EBO5E-F00D-F00D-FEED-xxxxxxxxxx\r\n
    NTS: ssdp:alive\r\n
    USN:uuid:BO5EBO5E-F00D-F00D-FEED-xxxxxxxxxx\r\n
    Location: http://192.168.1.157:8091/XD/BO5EBO5E-F00D-F00D-FEED-xxxxxxx\r\n
    Cache-Control: max-age=1801\r\n
    Server: Allegro-Software-RomPlug/5.40b1 UPnP/1.0 Bose-SoundTouch\r\n
    Content-Length: 0\r\n
    \r\n
    [Full request URI: http://239.255.255.250:1900*]
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: vw80 am 06 April 2016, 06:45:26
Hallo hier der mitschnitt - hoffe es ist das richtige.

AV VSX-527
    NOTIFY * HTTP/1.1\r\n
    HOST: 239.255.255.250:1900\r\n
    CACHE-CONTROL: max-age=1800\r\n
    LOCATION: http://192.168.1.109:8080/description.xml\r\n
    NT: uuid:5F9EC1B3-ED59-79BF-4530-XXXXXXXXXXXX\r\n
    NTS: ssdp:alive\r\n
    SERVER: KnOS/3.2 UPnP/1.0 DMP/3.5\r\n
    USN: uuid:5F9EC1B3-ED59-79BF-4530-XXXXXXXXXXXX\r\n
    \r\n
    [Full request URI: http://239.255.255.250:1900*]

SIRD14A2
    NOTIFY * HTTP/1.1\r\n
    HOST: 239.255.255.250:1900\r\n
    CACHE-CONTROL: max-age=1800\r\n
    LOCATION: http://192.168.1.105:8080/dd.xml\r\n
    NT: uuid:3dcc7100-f76c-11dd-87af-XXXXXXXXXXXX\r\n
    NTS: ssdp:alive\r\n
    SERVER: POSIX, UPnP/1.0, Intel MicroStack/1.0.2777\r\n
    USN: uuid:3dcc7100-f76c-11dd-87af-XXXXXXXXXXXX\r\n
    \r\n
    [Full request URI: http://239.255.255.250:1900*]


Gruß Heiko
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: Norberto am 06 April 2016, 12:48:46

Hallo Dominik,

Zu meinem vorletzten Post: Die genannte IP ist mein PC. Was kann ich tun um das Problem näher einzukreisen?

Zitat2016.04.04 21:40:00 1: DLNARenderer: XML parsing error: File does not exist: NOT_IMPLEMENTED at ./FHEM/98_DLNARenderer.pm line 265.

2016.04.04 21:40:08 1: PERL WARNING: 400-URL-Absolute-Error! Location: "192.168.86.35:57205", Content: "400 URL must be absolute
" at ./FHEM/98_DLNARenderer.pm line 117.
2016.04.04 21:40:08 1: PERL WARNING: Loading device description failed with error: 400 URL must be absolute at ./FHEM/98_DLNARenderer.pm line 117.
2016.04.04 21:42:10 1: PERL WARNING: Loading device description failed with error: 401 Unauthorised at ./FHEM/98_DLNARenderer.pm line 117.

Gruß, Norbert


Zitat von: Norberto am 04 April 2016, 22:48:00
Guten Abend Dominik,

Habe gerade mal Zeit gefunden Deine neue Beta zu testen.

Funktionierte auf Anhieb und die Readings sind klasse.

Folgendes finde ich in meinem log-file:

Hast Du ein paar Tips wie ich das am effektivsten debuggen kann?

Gruß, Norbert
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: dominik am 06 April 2016, 18:35:08
@Heiko, ich vermute der Fehler dürfte echt daraus resultieren, dass LOCATION groß geschrieben ist. Kannst du zum Testen mal in FHEM/UPnP/ControlPoint.pm in Zeile 264  'Location' durch 'LOCATION' ersetzen und nochmals testen?

@Norbert, der Grund für den Fehler dürfte auch "Location" sein. Wenn ich bei mir LoCaTiOn in der ControlPoint.pm eintrage, erhalte ich ausschließlich solche Fehlermeldungen.

Werde mal nachschauen wer für das Modul verantwortlich ist damit das korrigiert wird.

//Edit: Obiges ist nicht korrekt, wurde durch einen Tippfehler ausgelöst, die Schreibweise spielt also keine Rolle!
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: dominik am 06 April 2016, 22:31:54
@Heiko, probier bitte mal folgendes Script
use UPnP::ControlPoint;

my %bla = ();
my $cp = UPnP::ControlPoint->new(SearchPort => 0, SubscriptionPort => 0, MaxWait => 30, UsedOnlyIP => \%bla, IgnoreIP => \%bla);
$cp->searchByType('urn:schemas-upnp-org:device:MediaRenderer:1', \&Discover_Callback);
$cp->handle();

sub Discover_Callback($$$) {
  my ($search, $device, $action) = @_;

  print "ACTION: $action\n";
  print "DEVICE: ".$device->friendlyName()."\n";
}


Script im FHEM Verzeichnis mit "perl test.pl" ausführen. Nach paar Sekunden sollten nach und nach die Devices erscheinen.
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: vw80 am 07 April 2016, 09:08:23
Zitat von: dominik am 06 April 2016, 22:31:54
@Heiko, probier bitte mal folgendes Script
use UPnP::ControlPoint;

my %bla = ();
my $cp = UPnP::ControlPoint->new(SearchPort => 0, SubscriptionPort => 0, MaxWait => 30, UsedOnlyIP => \%bla, IgnoreIP => \%bla);
$cp->searchByType('urn:schemas-upnp-org:device:MediaRenderer:1', \&Discover_Callback);
$cp->handle();

sub Discover_Callback($$$) {
  my ($search, $device, $action) = @_;

  print "ACTION: $action\n";
  print "DEVICE: ".$device->friendlyName()."\n";
}


Script im FHEM Verzeichnis mit "perl test.pl" ausführen. Nach paar Sekunden sollten nach und nach die Devices erscheinen.

Hallo Dominik,

da kommt bei mir beim Starten des Script folgende Fehlermeldung:


Can't locate UPnP/ControlPoint.pm in @INC (@INC contains: /etc/perl /usr/local/lib/perl/5.14.2 /usr/local/share/perl/5.14.2 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.14 /usr/share/perl/5.14 /usr/local/lib/site_perl .) at test.pl line                              1.
BEGIN failed--compilation aborted at test.pl line 1.


Gruß Heiko
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: dominik am 07 April 2016, 17:33:22
@Heiko, sorry, das Script muss nach FHEM/lib nicht FHEM/, da dort UPnP liegt.
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: vw80 am 07 April 2016, 20:57:02
@Dominik, ja das hatte ich schon dort erstellt. Wird mit dem Script dann wieder die UPNP von Perl genutzt?
Gruß Heiko
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: Norberto am 07 April 2016, 22:07:30
Hallo Dominik,

Habe Deine Testroutine mal ausgeführt.

Der Fehler kommt gefühlt alle 2 Sekunden.


root@cubietruck:/opt/fhem/FHEM/lib# perl testdlna.pl
ACTION: deviceAdded
DEVICE: [TV]UE50ES5700
400-URL-Absolute-Error! Location: "192.168.86.35:62033", Content: "400 URL must be absolute
" at testdlna.pl line 6.
Loading device description failed with error: 400 URL must be absolute at testdlna.pl line 6.
400-URL-Absolute-Error! Location: "192.168.86.35:62033", Content: "400 URL must be absolute
" at testdlna.pl line 6.
Loading device description failed with error: 400 URL must be absolute at testdlna.pl line 6.
ACTION: deviceAdded
DEVICE: MunetK2
ACTION: deviceAdded
DEVICE: MunetS1
400-URL-Absolute-Error! Location: "192.168.86.35:62033", Content: "400 URL must be absolute
" at testdlna.pl line 6.
Loading device description failed with error: 400 URL must be absolute at testdlna.pl line 6.
ACTION: deviceAdded
DEVICE: MunetWZ
ACTION: deviceAdded
DEVICE: MunetK1
400-URL-Absolute-Error! Location: "192.168.86.35:62033", Content: "400 URL must be absolute
" at testdlna.pl line 6.
Loading device description failed with error: 400 URL must be absolute at testdlna.pl line 6.
400-URL-Absolute-Error! Location: "192.168.86.35:62033", Content: "400 URL must be absolute
" at testdlna.pl line 6.
Loading device description failed with error: 400 URL must be absolute at testdlna.pl line 6.
400-URL-Absolute-Error! Location: "192.168.86.35:62033", Content: "400 URL must be absolute
" at testdlna.pl line 6.
Loading device description failed with error: 400 URL must be absolute at testdlna.pl line 6.
ACTION: deviceAdded
DEVICE: MunetS2
400-URL-Absolute-Error! Location: "192.168.86.35:62033", Content: "400 URL must be absolute
" at testdlna.pl line 6.
Loading device description failed with error: 400 URL must be absolute at testdlna.pl line 6.
400-URL-Absolute-Error! Location: "192.168.86.35:62033", Content: "400 URL must be absolute
" at testdlna.pl line 6.
Loading device description failed with error: 400 URL must be absolute at testdlna.pl line 6.
400-URL-Absolute-Error! Location: "192.168.86.35:62033", Content: "400 URL must be absolute
" at testdlna.pl line 6.
Loading device description failed with error: 400 URL must be absolute at testdlna.pl line 6.
400-URL-Absolute-Error! Location: "192.168.86.35:62033", Content: "400 URL must be absolute
" at testdlna.pl line 6.
Loading device description failed with error: 400 URL must be absolute at testdlna.pl line 6.
400-URL-Absolute-Error! Location: "192.168.86.35:62033", Content: "400 URL must be absolute
" at testdlna.pl line 6.
Loading device description failed with error: 400 URL must be absolute at testdlna.pl line 6.
400-URL-Absolute-Error! Location: "192.168.86.35:62033", Content: "400 URL must be absolute
" at testdlna.pl line 6.
Loading device description failed with error: 400 URL must be absolute at testdlna.pl line 6.
400-URL-Absolute-Error! Location: "192.168.86.35:62033", Content: "400 URL must be absolute
" at testdlna.pl line 6.
Loading device description failed with error: 400 URL must be absolute at testdlna.pl line 6.
^C
root@cubietruck:/opt/fhem/FHEM/lib#


Die Adresse x.x.x.35 ist mein Notebook (Win7).

Was kann/soll ich als nächstes machen?

Gruß, Norbert
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: dominik am 12 April 2016, 19:32:56
Hi Norbert,

ich habe das mal bei mir genauer analysiert da ich auch die Fehlermeldung von meinem PC bekam. In meinem Fall war es die Autobackup Software von Samsung für meine Kamera. Die Software war nicht gestartet, aber der Dienst meldete immer wieder das er verfügbar ist. Hab die Software nun gelöscht und die Fehlermeldung ist damit verschwunden.
Die Fehlermeldung selbst kann man eigentlich ignorieren. Da muss mal jemand im ControlPoint.pm Modul die Fehlermeldung besser handhaben und kein "carp" nutzen, so kann ich diese nämlich nichtmal unterdrücken.

@vw80, läuft es bei dir schon? Wenn nicht, dann bitte wie Norbert das Testscript aus FHEM/lib heraus starten (nicht nur FHEM/).

Gruß,
Dominik
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: vw80 am 15 April 2016, 09:18:18
Hallo Dominik, bei mir läuft es. Irgendwie wird der AV als Renderer immer schlecht erkannt vom Raspi(andere Funktionieren aber wie Handy oder Windows). Wenn er nicht mehr erkannt wird muss ich mein Router neu starten dann funktioniert es wieder bis ich aus irgendwelchen Gründen mein Raspi neu starten musste dann erkennt dein Modul ihn nicht mehr. Gruß Heiko
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: vw80 am 16 April 2016, 15:39:34
Versuche vergebens den Volumen Slider in einen Floorplan zu bekommen. Kann mir jemand helfen was ich dazu eintragen muss? Mit
attr DLNA webCmd volume bekomme ich nur die Zahl im Floorplan vom Volume und beim betätigen ein NaN und dann ist Stumm geschalten und 0 wird angezeigt.
Gruß Heiko
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: Catinor am 16 April 2016, 15:57:53
Hallo (und danke erst mal für FHEM und dieses Modul)

ich hab heute wieder mal etwas mit FHEM und UPnP gespielt. Das, weil einige meiner Renderer nicht mehr erkannt wurden. Updaten auf die letzte Version, die die FHEM-Libs für UPnP nutzt, hat geholfen.

Nun aber: nach einem Neustart von FHEM stockt es reproduzierbar nach einigen Minuten, solange "define dlnarenders DLNARenderer" konfiguriert ist. Nehm ich das raus und lass die konfigurierten Renderer drin, dann läuft alles rund. Kein Stocken, Funktionen ok.

Stocken heisst: Events werden nur alle 2 Minuten verarbeitet, und das Web-UI ebenfalls. Ich hab den Eindruck als ob der FHEM-Prozess auf einen Timeout wartet, um dann alle aufgelaufenen Anfragen in einem Rutsch abzuarbeiten.

Gruss
Bengt

Edit: so ganz läuft es noch nicht sauber. Die Stereoanlage (SONY CMT-SBT300W) streamt nun seit einer Stunde, steht aber auf "offline". Mit der erwähnten Konfig-Zeile wird zwar der Zustand wieder erfasst, die Hänger sind aber wieder da.
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: MichaelT am 17 April 2016, 19:23:40
Hallo Zusammen,

hat ein "Wissender" einen Tip für mich?

Habe folgendes Problem:
pi@fhem1 /opt/fhem/log $ sudo apt-get install libxml-parser-lite-perl
Paketlisten werden gelesen... Fertig
Abhängigkeitsbaum wird aufgebaut.
Statusinformationen werden eingelesen.... Fertig
E: Paket libxml-parser-lite-perl kann nicht gefunden werden.
pi@fhem1 /opt/fhem/log $


Habe auch vorher schon

sudo apt-get update
sudo apt-get upgrade

ausgeführt.

Motivation meiner Nachfrage ist:
Da ich ohne libxml-parser-light-perl den Renderer nicht laden konnte, bin ich den Lösungsweg aus https://forum.fhem.de/index.php/topic,38917.0.html (https://forum.fhem.de/index.php/topic,38917.0.html) gegangen.

Jetzt habe ich den Zustand, das ich den Renderer zwar laden kann, er auch meine Devices (PMN300) findet -  aber wenn ich dann z.b. nur die Lautstärke einstelle crashed fhem ohne Meldung weg.
Der Renderer zeigt auch z.B. einen Stream, der durch eine andere App auf dem peak abgespielt wird, korrekt an.


Gruß
Michael
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: Catinor am 17 April 2016, 19:47:44
Poste mal den Inhalt von


/etc/apt/sources.list


da sollte etwa so was drin stehen (für Raspberry und Debian Jessie, mit # auskommentierte Zeilen hab ich weggelassen):


deb http://mirrordirector.raspbian.org/raspbian/ jessie main contrib non-free rpi
deb https://debian.fhem.de/stable ./

Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: MichaelT am 17 April 2016, 22:47:56
Hallo Catinor,
sieht bei mir so aus.
kann ich einfach auf jessie wechseln?

@fhem1 /etc/apt $ cat sources.list
deb http://mirrordirector.raspbian.org/raspbian/ wheezy main contrib non-free rpi
# Uncomment line below then 'apt-get update' to enable 'apt-get source'
#deb-src http://mirror.ox.ac.uk/sites/archive.raspbian.org/archive/raspbian/ wheezy main contrib non-free rpi


Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: Catinor am 18 April 2016, 11:24:04
Ein Upgrade sollte ohne Probleme durchlaufen, wenn keine Spezialitäten wie selber kompilierte Software drin ist. Eine ausführliche Anleitung ist zb. hier: https://www.elektronik-kompendium.de/sites/raspberry-pi/2005051.htm . Backup schadet natürlich nie.

Allerdings sollte die Library auch in wheezy verfügbar sein. Ich würde erst mal die im obigen Artikel erwähnten Befehle für das Analysieren und Aufräumen durchführen (dpkg --audit und apt-get clean).
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: MichaelT am 18 April 2016, 22:17:33
Zitat von: Catinor am 18 April 2016, 11:24:04
Ein Upgrade sollte ohne Probleme durchlaufen, wenn keine Spezialitäten wie selber kompilierte Software drin ist. Eine ausführliche Anleitung ist zb. hier: https://www.elektronik-kompendium.de/sites/raspberry-pi/2005051.htm . Backup schadet natürlich nie.

Allerdings sollte die Library auch in wheezy verfügbar sein. Ich würde erst mal die im obigen Artikel erwähnten Befehle für das Analysieren und Aufräumen durchführen (dpkg --audit und apt-get clean).

Danke für den Tip. schau ich mir mal an.
audit und clean hat aber nichts gebracht.

Gruss Michael
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: dominik am 19 April 2016, 19:22:21
@Catinor, es gibt eigentlich nur 2 Prozesse die laufende gestartet werden:
- Neue Suche: Alle 30 Minuten.
- Subscriptions für Events erneuern: Alle 5 Minuten.

Ich tippe eher, dass die Subscriptions Schuld sind an der Verzögerung. Das könnte auch daran liegen, dass ein Gerät sehr langsam reagiert. Kannst du mal die Zeile InternalTimer(gettimeofday() + 200, 'DLNARenderer_renewSubscriptions', $hash, 0); ändern in InternalTimer(gettimeofday() + 3600, 'DLNARenderer_renewSubscriptions', $hash, 0); und prüfen ob danach die Hänger weniger oft vorkommen?
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: Catinor am 19 April 2016, 23:42:26
Ich denke, dass ich dem Übeltäter auf der Spur bin. Ich bin schon auf die Subscription-Renewal gestossen, und mal Start und Ende der Routine mit Debug-Output versehen. Die Hänger sind jeweils 200s, das passt.

Wenn ich DLNARenderer aktiviere, dann dauert es 2-4 Loops, bis diese Meldung kommt

2016.04.19 22:05:18 1: PERL WARNING: Loading device description failed with error: 500 Can't connect to 192.168.6.110:49152 at ./FHEM/98_DLNARenderer.pm line 117.

Dann nochmal 1-3 Loops bis zu so was

2016.04.19 23:12:37 1: DLNARenderer: XML parsing error: File does not exist: NOT_IMPLEMENTED at ./FHEM/98_DLNARenderer.pm line 265.

Dann beginnen die Pausen.

Das Gerät 192.168.6.110 ist ein Devolo Powerline-Adapter WLAN-Accesspoint (dLAN 1200+ WiFi ac). Im UPnP Spy sehe ich in nicht, aber er scheint sich auf Anfragen zu melden . Wenn FHEM stockt und ich den Adapter abzog, ging FHEM wieder in den Normalbetrieb. Adapter wieder rein, und bald war wieder 200s Pause.

Soviel hab ich nun rausgefunden für heute. Wenn was fürs Debugging im Code einfügen soll, mach ich das gerne.
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: vw80 am 22 April 2016, 11:15:18
Hallo Dominik,

kann man "Play next" mit einfügen, um den nächsten Titel abzuspielen wenn ich eine Playlist streame?

Gruß Heiko
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: dominik am 23 April 2016, 08:43:57
Hallo Heiko,

play next/prev kann ich einfügen, das sollte kein Problem sein. Kommt dann mit dem nächsten Update.

Gruß,
Dominik
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: eckhart-g am 04 Mai 2016, 11:55:53
Hallo Dominik,

beginnen möchte ich mit einer Erfolgsmeldung: Ich habe dein Modul mit zwei Renderern getestet (Kodi, Raumfeld). Stream abspielen, Lautstärke, Stop, Play - funktioniert alles. Also erst einmal vielen Dank für deine Arbeit; generische DLNA-Interaktion ist genau das Richtige!

Wenn du jetzt noch Pause/Resume unterstützt (und evtl. Seek), ist die Sache perfekt! Ich bin FHEM-Neuling und noch nicht bewandert in der Modulprogrammierung, aber ich habe ein funktionierendes "Pause" mit ein bisschen Rumprobieren in der Methode DLNARenderer_Define eingebaut. Vielleicht hilft es dir, die Funktionalität sauber in dein Modul zu integrieren.


if($ctrlParam eq "pause"){
    my $state = ReadingsVal($hash->{NAME}, "TransportState", "");
    Log3 $hash, 3, "DLNARenderer: set pause, current state $state\n";
    my $avtrans_service = $hash->{helper}{device}->getService('urn:upnp-org:serviceId:AVTransport');
    my $avtrans_ctrlproxy = $avtrans_service->controlProxy();
    if ($state eq 'PAUSED_PLAYBACK') {
      $avtrans_ctrlproxy->Play(0,1);
    } else {
      $avtrans_ctrlproxy->Pause(0);
    }
    return undef;
  }


Das ist dann der letzte Punkt, der in meinem ersten FHEM-Anwendungsszenario noch fehlt:
Viele Grüße,
Eckhart
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: mbuzina am 04 Mai 2016, 17:29:11
Hallo - ich habe gerade fhem auf meiner Synology installiert und nach anfänglichem hin & her (die Pfade sind schon etwas ungewohnt auf der box) auch den DLNARenderer. Nach etwas probieren habe ich dann auch die requirements installieren können, denke ich (da ich ipkg nutzen muss, sind die namen etwas anders). Mir fehlt aber Data::UUID.

Ideen?
Can't locate Data/UUID.pm in @INC (you may need to install the Data::UUID module) (@INC contains: /opt/lib/perl5/site_perl/5.22.1 /usr/lib/perl5/site_perl /usr/share/perl5/site_perl /usr/lib/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib/perl5/core_perl /usr/share/perl5/core_perl . ./FHEM) at ./FHEM/98_DLNARenderer.pm line 66.
BEGIN failed--compilation aborted at ./FHEM/98_DLNARenderer.pm line 66.
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: dominik am 04 Mai 2016, 18:16:57
@Eckhart, vielen Dank für die Vorarbeit! :) Gerne immer wieder mitarbeiten, ist auch ein Gemeinschaftsprojekt ;)
Ich habe den Code etwas abgeändert eingebaut, dabei wird noch kein Play unterstützt wenn man nochmals Pause drückt. Ich werde da noch den DLNA Standard prüfen ob das für alle Devices so nutzbar ist oder manche beim 2. Pause automatisch Play machen.

Im 1. Post gibt es ein Update...

v2.0.0 BETA3 - 20160504
- BUGFIX: XML parsing error "NOT_IMPLEMENTED"
- CHANGE: change readings to lowcaseUppercase format
- FEATURE: support pause
- FEATURE: support seek REL_TIME
- FEATURE: support next/prev

@mbuzina, gibt es beim Synology die Möglichkeit "cpanminus" zu installieren? Wenn ja, dann kannst du über cpanm Data::UUID vermutlich das Modul nachinstallieren.
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: eckhart-g am 05 Mai 2016, 11:29:56
Das ging ja schnell, danke Dominik.

Ich habe das Pause-Verhalten meiner Renderer (Kodi, Raumfeld, BubbleUPnP) nochmal mit Hilfe des "GUPnP Universal Control Point" getestet. Alle drei bleiben im Zustand PAUSED_PLAYBACK, wenn erneut Pause aufgerufen wird. Ein Aufruf von Play setzt die Wiedergabe nahtlos fort. Ich nehme an, dies ist das Standardverhalten eines Renderers. Meines Erachtens sollte man dann auch kein Nichtstandardverhalten wie "2x Pause = Play" implementieren. Deine Implementierung von Pause ist also völlig richtig und vollständig.

Allerdings arbeitet die Play-Funktion des Moduls noch nicht richtig mit Pause zusammen, vor allem, wenn man auch andere Controller als FHEM verwendet. Die Wiedergabe startet dann manchmal nicht an der selben Stelle, sondern wieder zu Beginn des Tracks bzw. sogar Albums. Oder, wenn man über einen anderen Weg den Stream gewechselt hat, wird bei FHEM-Play dann nicht der aktuelle, sondern der vorige Stream wiederaufgenommen. Beispiel mit Kodi als Renderer:
Wenn ich dein Modul richtig verstehe, liegt dies vermutlich daran, dass du bei Play mehr machst, als nur das UPnP-Play aufzurufen: Du versuchst, aus der Modulvariable stream den letzten Stream zu rekonstruieren, oder? Das müsste man wohl anders machen und enger am Standard bleiben. D.h. bei Play nur das tun, was UPnP-Play tut. Zusätzlich könntest du eine Methode resumeLastStreamReading oder so etwas anbieten. Das würde auch deutlich machen, dass es sich bei dem einen um eine reinen Aufruf einer UPnP-Methode handelt, bei dem anderen um eine Zusatzfunktionalität des Moduls, die auch von dessen Zustand abhängig ist.
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: dominik am 05 Mai 2016, 12:33:30
Hi Eckhart,

da stimme ich dir zu, das "play" ist sehr unsauber implementiert.

Meine Überlegung wäre:
set <device> stream ... (setzt den Stream und startet Playback)
set <device> off (=Stop)
set <device> play (=Standard Play)
set <device> on (=letzten Stream setzen und Play, weil "on" gibt es im UPnP Standard auch nicht)

Was meinst du?

...wegen Pause...ist im Standard auch nicht als Toggle definiert. Könnte aber noch ein "pauseToggle" implementieren welches dann Pause/Play nutzt.
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: mbuzina am 06 Mai 2016, 10:09:08
Zitat von: dominik am 04 Mai 2016, 18:16:57
@mbuzina, gibt es beim Synology die Möglichkeit "cpanminus" zu installieren? Wenn ja, dann kannst du über cpanm Data::UUID vermutlich das Modul nachinstallieren.
cpanminus finde ich nicht als Paket, auf meiner perl installation finde ich ein cpan. Damit laufe ich auf einen weiteren Fehler (/opt/bin/perl: symbol lookup error: /opt/lib/perl5/5.22.1/i686-linux/auto/Cwd/Cwd.so: undefined symbol: strlcat). Ob das noch was wird?
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: eckhart-g am 06 Mai 2016, 11:47:53
Hi Dominik,

das klingt praktikabel und erfüllt eine m.E. sehr wichtige Anforderung: Man sollte stets auch auf die unverfälschten UPnP-Befehle zugreifen können, wenn man das möchte. Generell sehe ich zwei Ebenen:
Dann kann man je nach Bedarf die "Komfortfunktionen" nutzen oder auch direkt auf die UPnP-Ebene gehen.

Viele Grüße,
Eckhart
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: dominik am 09 Mai 2016, 18:52:10
Update im 1. Post...nun werden die Sockets endlich in der Mainloop bearbeitet und erfordern keinen sekündlichen InternalTimer mehr :) Danke an justme1968 für die Hilfe diesbezüglich!

Bitte meldet Bugs wenn ihr welche findet. In 2-3 Wochen möchte ich diese Version ins offizielle FHEM Repository aufnehmen.

v2.0.0 RC1 - 20160509
- CHANGE: change state to offline/playing/stopped/paused/online
- CHANGE: removed on/off devstateicon on creation due to changed state values
- CHANGE: play is NOT setting AVTransport any more
- CHANGE: code cleanup
- CHANGE: handle socket via fhem main loop instead of InternalTimer
- BUGFIX: do not create new search objects every 30 minutes
- FEATURE: support pauseToggle
- FEATURE: support SetExtensions (on-for-timer, off-for-timer, ...)
- FEATURE: support relative volume changes (e.g. set <device> volume +10)
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: Norberto am 10 Mai 2016, 22:09:14

Hallo Dominik,

Vielen Dank für Deine Arbeit!

Seit dem letzten Update bekomme ich leider einen FHEM-Absturz wenn ich für Munet LS playEverywhere oder addUnit aufrufe.

letzter Eintrag im log-file:
ZitatCan't call method "getValue" without a package or object reference at ./FHEM/98_DLNARenderer.pm line 508

Was kann ich tun um beim Debuggen zu unterstützen?

Grüße, Norbert
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: dominik am 10 Mai 2016, 22:17:27
Danke für die Info. Fix folgt morgen :)
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: Norberto am 10 Mai 2016, 22:46:40
 
Wow. Das ging ja 'fix'.  :)

Danke Dir. Gruß, Norbert
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: dominik am 10 Mai 2016, 22:54:34
Doch schon heute. Update mit Fix für MUNET im 1. Post :)

Viel Spaß beim Testen!
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: MichaelT am 11 Mai 2016, 18:17:57
Bitte um Hilfe!

Ich verzweifel an perl oder woran auch sonst >:(

Ich habe mit cpan die genannten perl Module installiert!
Dann habe ich ein Device angelegt und nach kurzer Zeit sehe ich meine MUNETs.
Wenn einer Musik abspielt wird es auch angezeigt.

AAABBBERR: Sobald ich z.B. Volume von 25 auf 27 erhöhe beendet sich mein fhem ohne für mich ersichtlichen Grund!
Auch einen Stream von FHEM aus abspielen funktioniert nicht.

Die etzte Ausgabe im Log ist sowas in der Art:
junk '============================================================Title: UPnP AV Rendering Control Service (RCS) TemplatePurpose:To ident ....

Wie komme ich dahinter, was für ein Problem fhem hat?

Über Hilfe würde ich mich freuen
Gruß Michael
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: dominik am 11 Mai 2016, 18:26:37
Hi Michael,

poste bitte mal alle Log Ausgaben.

Gruß
Dominik
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: MichaelT am 11 Mai 2016, 18:58:07
Zitat von: dominik am 11 Mai 2016, 18:26:37
Hi Michael,

poste bitte mal alle Log Ausgaben.

Gruß
Dominik

2016.05.11 18:40:12 3: CUL_HM set FREMD_Rol statusRequest
junk '============================================================Title: UPnP AV Rendering Control Service (RCS) TemplatePurpose:To identify the required/optional actions and state variablesand the required allowed values defined by this service type.Note:This file uses tabs (not spaces) for block indentation.Any updates to this file should maintain this convention.This includes disabling any automatic tab-to-space conversionfeature provided by your editor.================================================================-->' before XML element
2016.05.11 18:54:42 1: CallBlockingFn: Can't connect to localhost:7072: IO::Socket::INET: connect: Verbindungsaufbau abgelehnt
Can't use an undefined value as a symbol reference at Blocking.pm line 139.
"my" variable $dayDiff masks earlier declaration in same scope at ./FHEM/99_myAbfallFunktions.pm line 84.
"my" variable $dayDiff masks earlier declaration in same scope at ./FHEM/99_myAbfallFunktions.pm line 88.
"my" variable $dayDiff masks earlier declaration in same scope at ./FHEM/99_myAbfallFunktions.pm line 92.
2016.05.11 18:54:58 1: reload: Error:Modul 99_myAbfallFunktions deactivated:

Useless use of a variable in void context at ./FHEM/99_myUtilsTelefon.pm line 178.
2016.05.11 18:54:58 1: Including fhem.cfg


das ist alles was ich sehe. 18:54:42 ist schon wieder Neustart fhem.
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: MichaelT am 11 Mai 2016, 18:58:44
verbose ist auf 5
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: dominik am 11 Mai 2016, 19:09:03
Welchen Fehler bekommst du wenn du:
- set <device> stream ...
- set <device> play
- set <device> stop
- set <device> enableBTCaskeid
ausführst?
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: MichaelT am 11 Mai 2016, 19:21:37
set stream und set play:

2016.05.11 19:03:35 3: CUL_HM set EG_WZ_RT statusRequest
junk '============================================================Title: UPnP AV AV-Transport Service (AVT) TemplatePurpose:To identify the required/optional actions and state variablesand the required allowed values defined by this service type.Note:This file uses tabs (not spaces) for block indentation.Any updates to this file should maintain this convention.This includes disabling any automatic tab-to-space conversionfeature provided by your editor.================================================================-->' before XML element
junk '============================================================Title: UPnP AV AV-Transport Service (AVT) TemplatePurpose:To identify the required/optional actions and state variablesand the required allowed values defined by this service type.Note:This file uses tabs (not spaces) for block indentation.Any updates to this file should maintain this convention.This includes disabling any automatic tab-to-space conversionfeature provided by your editor.================================================================-->' before XML element


eigentlich immer gleich


EDIT: dann war fhem weg

Danke für deine Zeitspende
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: dominik am 11 Mai 2016, 19:39:09
Das liegt ziemlich sicher am XML Parser. Welche Version von XML::Simple ist denn installiert?
pi@raspberrypi ~ $ perl -e "require XML::Simple; printf XML::Simple->VERSION;"
2.20
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: MichaelT am 11 Mai 2016, 19:52:19

perl -e "require XML::Simple; printf XML::Simple->VERSION;"
2.22
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: MichaelT am 11 Mai 2016, 19:56:02
Aber irgendwie muss der parser ja funktionieren, oder?
Die Events vom MUNET werden ja richtig zerlegt.

Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: dominik am 11 Mai 2016, 20:04:19
Was passiert wenn du mit der MUNET App die Lautstärke änderst? Crashed FHEM dann auch?
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: MichaelT am 11 Mai 2016, 20:18:25
Nein, dann zeigt fhem die Änderung an. Also Events scheinen zu kommen.


016.05.11 20:16:56 4: DLNARenderer: Received event: $VAR1 = 'LastChange';
$VAR2 = '<Event xmlns="urn:schemas-upnp-org:metadata-1-0/AVT/"><InstanceID val="0"><CurrentTrackURI val="http://media.thelounge.com/radio/8012.m3u"/><NumberOfTracks val="1"/><AVTransportURI val="http://media.thelounge.com/radio/8012.m3u"/><CurrentTrackMetaData val="&lt;DIDL-Lite xmlns:dc=&quot;http://purl.org/dc/elements/1.1/&quot; xmlns:upnp=&quot;urn:schemas-upnp-org:metadata-1-0/upnp/&quot; xmlns=&quot;urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/&quot;&gt;&lt;item id=&quot;radio:3978&quot; parentID=&quot;0&quot;&gt;&lt;dc:title&gt;ANTENNE BAYERN&lt;/dc:title&gt;&lt;dc:creator&gt;&lt;/dc:creator&gt;&lt;upnp:artist&gt;&lt;/upnp:artist&gt;&lt;upnp:album&gt;Bayerns bester Musikmix&lt;/upnp:album&gt;&lt;upnp:albumArtURI&gt;http://i.img.co/radio/20/16/1602_290.png?scale=640x480&lt;/upnp:albumArtURI&gt;&lt;upnp:class&gt;object.item.audioItem.audioBroadcast&lt;/upnp:class&gt;&lt;res protocolInfo=&quot;http-get:*:audio/mpeg:DLNA.ORG_OP=01&quot; duration=&quot;&quot;&gt;http://me.com&lt;/res&gt;&lt;/item&gt;&lt;/DIDL-Lite&gt;"/><AVTransportURIMetaData val="&lt;DIDL-Lite xmlns:dc=&quot;http://purl.org/dc/elements/1.1/&quot; xmlns:upnp=&quot;urn:schemas-upnp-org:metadata-1-0/upnp/&quot; xmlns=&quot;urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/&quot;&gt;&lt;item id=&quot;radio:3978&quot; parentID=&quot;0&quot;&gt;&lt;dc:title&gt;ANTENNE BAYERN&lt;/dc:title&gt;&lt;dc:creator&gt;&lt;/dc:creator&gt;&lt;upnp:artist&gt;&lt;/upnp:artist&gt;&lt;upnp:album&gt;Bayerns bester Musikmix&lt;/upnp:album&gt;&lt;upnp:albumArtURI&gt;http://i.img.co/radio/20/16/1602_290.png?scale=640x480&lt;/upnp:albumArtURI&gt;&lt;upnp:class&gt;object.item.audioItem.audioBroadcast&lt;/upnp:class&gt;&lt;res protocolInfo=&quot;http-get:*:audio/mpeg:DLNA.ORG_OP=01&quot; duration=&quot;&quot;&gt;http://me.com&lt;/res&gt;&lt;/item&gt;&lt;/DIDL-Lite&gt;"/><CurrentTrack val="1"/></InstanceID></Event>';

2016.05.11 20:16:56 4: DLNARenderer: $VAR1 = {
          'Event' => {
                     'xmlns' => 'urn:schemas-upnp-org:metadata-1-0/AVT/',
                     'InstanceID' => {
                                     'AVTransportURI' => {
                                                         'val' => 'http://media.thelounge.com/radio/8012.m3u'
                                                       },
                                     'CurrentTrackMetaData' => {
                                                               'val' => '<DIDL-Lite xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:upnp="urn:schemas-upnp-org:metadata-1-0/upnp/" xmlns="urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/"><item id="radio:3978" parentID="0"><dc:title>ANTENNE BAYERN</dc:title><dc:creator></dc:creator><upnp:artist></upnp:artist><upnp:album>Bayerns bester Musikmix</upnp:album><upnp:albumArtURI>http://i.img.co/radio/20/16/1602_290.png?scale=640x480</upnp:albumArtURI><upnp:class>object.item.audioItem.audioBroadcast</upnp:class><res protocolInfo="http-get:*:audio/mpeg:DLNA.ORG_OP=01" duration="">http://me.com</res></item></DIDL-Lite>'
                                                             },
                                     'CurrentTrackURI' => {
                                                          'val' => 'http://media.thelounge.com/radio/8012.m3u'
                                                        },
                                     'NumberOfTracks' => {
                                                         'val' => '1'
                                                       },
                                     'CurrentTrack' => {
                                                       'val' => '1'
                                                     },
                                     'val' => '0',
                                     'AVTransportURIMetaData' => {
                                                                 'val' => '<DIDL-Lite xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:upnp="urn:schemas-upnp-org:metadata-1-0/upnp/" xmlns="urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/"><item id="radio:3978" parentID="0"><dc:title>ANTENNE BAYERN</dc:title><dc:creator></dc:creator><upnp:artist></upnp:artist><upnp:album>Bayerns bester Musikmix</upnp:album><upnp:albumArtURI>http://i.img.co/radio/20/16/1602_290.png?scale=640x480</upnp:albumArtURI><upnp:class>object.item.audioItem.audioBroadcast</upnp:class><res protocolInfo="http-get:*:audio/mpeg:DLNA.ORG_OP=01" duration="">http://me.com</res></item></DIDL-Lite>'
                                                               }
                                   }
                   }
        };

2016.05.11 20:16:56 4: DLNARenderer: Update reading currentTrackURI with http://media.thelounge.com/radio/8012.m3u
2016.05.11 20:16:56 4: DLNARenderer: MetaData: $VAR1 = {
          'DIDL-Lite' => {
                         'xmlns' => 'urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/',
                         'item' => {
                                   'upnp:album' => 'Bayerns bester Musikmix',
                                   'dc:title' => 'ANTENNE BAYERN',
                                   'res' => {
                                            'content' => 'http://me.com',
                                            'protocolInfo' => 'http-get:*:audio/mpeg:DLNA.ORG_OP=01',
                                            'duration' => ''
                                          },
                                   'dc:creator' => {},
                                   'parentID' => '0',
                                   'upnp:class' => 'object.item.audioItem.audioBroadcast',
                                   'id' => 'radio:3978',
                                   'upnp:albumArtURI' => 'http://i.img.co/radio/20/16/1602_290.png?scale=640x480',
                                   'upnp:artist' => {}
                                 },
                         'xmlns:upnp' => 'urn:schemas-upnp-org:metadata-1-0/upnp/',
                         'xmlns:dc' => 'http://purl.org/dc/elements/1.1/'
                       }
        };

2016.05.11 20:16:58 4: DLNARenderer: Received event: $VAR1 = 'LastChange';
$VAR2 = '<Event xmlns="urn:schemas-upnp-org:metadata-1-0/AVT/"><InstanceID val="0"><TransportState val="TRANSITIONING"/></InstanceID></Event>';

2016.05.11 20:16:58 4: DLNARenderer: $VAR1 = {
          'Event' => {
                     'xmlns' => 'urn:schemas-upnp-org:metadata-1-0/AVT/',
                     'InstanceID' => {
                                     'TransportState' => {
                                                         'val' => 'TRANSITIONING'
                                                       },
                                     'val' => '0'
                                   }
                   }
        };

2016.05.11 20:16:58 4: DLNARenderer: Update reading transportState with TRANSITIONING
2016.05.11 20:17:03 4: DLNARenderer: Received event: $VAR1 = 'LastChange';
$VAR2 = '<Event xmlns="urn:schemas-upnp-org:metadata-1-0/AVT/"><InstanceID val="0"><TransportState val="PLAYING"/></InstanceID></Event>';

2016.05.11 20:17:03 4: DLNARenderer: $VAR1 = {
          'Event' => {
                     'xmlns' => 'urn:schemas-upnp-org:metadata-1-0/AVT/',
                     'InstanceID' => {
                                     'TransportState' => {
                                                         'val' => 'PLAYING'
                                                       },
                                     'val' => '0'
                                   }
                   }
        };

2016.05.11 20:17:03 4: DLNARenderer: Update reading transportState with PLAYING
2016.05.11 20:17:33 4: DLNARenderer: Received event: $VAR1 = 'LastChange';
$VAR2 = '<Event xmlns="urn:schemas-upnp-org:metadata-1-0/RCS/"><InstanceID val="0"><Volume channel="Master" val="35"/></InstanceID></Event>';

2016.05.11 20:17:33 4: DLNARenderer: $VAR1 = {
          'Event' => {
                     'xmlns' => 'urn:schemas-upnp-org:metadata-1-0/RCS/',
                     'InstanceID' => {
                                     'Volume' => [
                                                 {
                                                   'channel' => 'Master',
                                                   'val' => '35'
                                                 }
                                               ],
                                     'val' => '0'
                                   }
                   }
        };

2016.05.11 20:17:33 4: DLNARenderer: Update reading volume with 35

jump to the top
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: dominik am 11 Mai 2016, 20:28:13
Ja, Events funktionieren also. Dann liegt es an der ControlPoint.pm...welche Versionen nutzt du von folgenden Modulen:
pi@raspberrypi ~ $ perl -e "require SOAP::Lite; printf SOAP::Lite->VERSION;"    1.11
pi@raspberrypi ~ $ perl -e "require LWP;printf LWP->VERSION;"                   6.08
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: MichaelT am 11 Mai 2016, 20:31:30

pi@fhem1 /opt/fhem/www/tablet/lib $  perl -e "require SOAP::Lite; printf SOAP::Lite->VERSION;" 0.714
pi@fhem1 /opt/fhem/www/tablet/lib $ perl -e "require LWP;printf LWP->VERSION;" 6.15p


SOAP sieht alt aus!! LWP ist neuer??
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: dominik am 11 Mai 2016, 20:34:49
Dürfte dann an SOAP liegen. Aktualisiere es mal per cpan auf die aktuellste Version.
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: MichaelT am 11 Mai 2016, 20:40:37
hab mal "sudo cpan SOAP::Lite" aufgerufen.
Kannst Du was mit den Ausgaben anfangen?

Wenn nicht - nicht schlimm. Ich kämpf mich dann weiter durch.

Danke schon mal
Gruß
Michael


sudo cpan SOAP::Lite
Going to read '/root/.cpan/Metadata'
  Database was generated on Wed, 11 May 2016 13:53:41 GMT
Running install for module 'SOAP::Lite'
Running make for P/PH/PHRED/SOAP-Lite-1.19.tar.gz
Checksum for /root/.cpan/sources/authors/id/P/PH/PHRED/SOAP-Lite-1.19.tar.gz ok

  CPAN.pm: Going to build P/PH/PHRED/SOAP-Lite-1.19.tar.gz

Checking if your kit is complete...
Looks good
Generating a Unix-style Makefile
Writing Makefile for SOAP::Lite
Writing MYMETA.yml and MYMETA.json
cp lib/SOAP/Packager.pm blib/lib/SOAP/Packager.pm
cp lib/SOAP/Header.pod blib/lib/SOAP/Header.pod
cp lib/SOAP/Client.pod blib/lib/SOAP/Client.pod
cp lib/SOAP/Constants.pm blib/lib/SOAP/Constants.pm
cp lib/SOAP/Transport/LOOPBACK.pm blib/lib/SOAP/Transport/LOOPBACK.pm
cp lib/SOAP/Lite/Packager.pm blib/lib/SOAP/Lite/Packager.pm
cp lib/SOAP/SOM.pod blib/lib/SOAP/SOM.pod
cp lib/SOAP/Lite/Deserializer/XMLSchema1999.pm blib/lib/SOAP/Lite/Deserializer/XMLSchema1999.pm
cp lib/SOAP/Transport/MAILTO.pm blib/lib/SOAP/Transport/MAILTO.pm
cp lib/SOAP/Transport.pod blib/lib/SOAP/Transport.pod
cp lib/SOAP/Test.pm blib/lib/SOAP/Test.pm
cp lib/SOAP/Schema.pod blib/lib/SOAP/Schema.pod
cp lib/Apache/SOAP.pm blib/lib/Apache/SOAP.pm
cp lib/SOAP/Lite/Deserializer/XMLSchema2001.pm blib/lib/SOAP/Lite/Deserializer/XMLSchema2001.pm
cp lib/SOAP/Trace.pod blib/lib/SOAP/Trace.pod
cp lib/SOAP/Transport/POP3.pm blib/lib/SOAP/Transport/POP3.pm
cp lib/SOAP/Deserializer.pod blib/lib/SOAP/Deserializer.pod
cp lib/SOAP/Server.pod blib/lib/SOAP/Server.pod
cp lib/SOAP/Data.pod blib/lib/SOAP/Data.pod
cp lib/SOAP/Transport/TCP.pm blib/lib/SOAP/Transport/TCP.pm
cp lib/SOAP/Utils.pod blib/lib/SOAP/Utils.pod
cp lib/SOAP/Transport/IO.pm blib/lib/SOAP/Transport/IO.pm
cp lib/SOAP/Transport/HTTP.pm blib/lib/SOAP/Transport/HTTP.pm
cp lib/SOAP/Serializer.pod blib/lib/SOAP/Serializer.pod
cp lib/SOAP/Lite/Deserializer/XMLSchemaSOAP1_2.pm blib/lib/SOAP/Lite/Deserializer/XMLSchemaSOAP1_2.pm
cp lib/SOAP/Lite/Utils.pm blib/lib/SOAP/Lite/Utils.pm
cp lib/SOAP/Lite/Deserializer/XMLSchemaSOAP1_1.pm blib/lib/SOAP/Lite/Deserializer/XMLSchemaSOAP1_1.pm
cp lib/SOAP/Transport/LOCAL.pm blib/lib/SOAP/Transport/LOCAL.pm
cp lib/SOAP/Lite.pm blib/lib/SOAP/Lite.pm
cp lib/SOAP/Fault.pod blib/lib/SOAP/Fault.pod
cp bin/SOAPsh.pl blib/script/SOAPsh.pl
"/usr/bin/perl" -MExtUtils::MY -e 'MY->fixin(shift)' -- blib/script/SOAPsh.pl
cp bin/stubmaker.pl blib/script/stubmaker.pl
"/usr/bin/perl" -MExtUtils::MY -e 'MY->fixin(shift)' -- blib/script/stubmaker.pl
Manifying 2 pod documents
Manifying 21 pod documents
  PHRED/SOAP-Lite-1.19.tar.gz
  /usr/bin/make -- OK
'YAML' not installed, will not store persistent state
Running make test
PERL_DL_NONLAZY=1 "/usr/bin/perl" "-MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef *Test::Harness::Switches; test_harness(0, 'blib/lib', 'blib/arch')" t/*.t t/Issues/*.t t/SOAP/*.t t/SOAP/Lite/*.t t/SOAP/Lite/Deserializer/*.t t/SOAP/Schema/*.t t/SOAP/Transport/*.t t/SOAP/Transport/HTTP/*.t
t/01-core.t .................................. ok
t/010-serializer.t ........................... ok
t/012-cloneable.t ............................ ok
t/013-array-deserialization.t ................ ok
t/014_UNIVERSAL_use.t ........................ ok
t/015_UNIVERSAL_can.t ........................ ok
t/02-payload.t ............................... ok
t/03-server.t ................................ ok
t/04-attach-cid-encoded.t .................... ok
t/04-attach.t ................................ ok
t/05-customxml.t ............................. ok
t/06-modules.t ............................... ok
t/08-schema.t ................................ ok
t/11-cgi.t ................................... skipped: 404 Not Found
t/12-cgi_https.t ............................. skipped: 500 Can't connect to localhost:443
t/13-mod_perl.t .............................. skipped: 404 Not Found
t/14-cgi_apache.t ............................ skipped: 404 Not Found
t/15-daemon.t ................................ skipped: 403 Forbidden
t/17-mod_soap.t .............................. skipped: 404 Not Found
t/19-apachesoap.t ............................ skipped: 500 Can't connect to localhost:8080
t/21-public.t ................................ skipped: 500 Can't connect to services.xmethods.net:80
t/22-interop_apache.t ........................ skipped: 500 Can't connect to nagoya.apache.org:5049
t/23-ppm.t ................................... skipped: ActiveState's ppmserver.pl server seems to be broken - skipping tests
t/24-wsdl.t .................................. skipped: 500 Can't connect to services.xmethods.net:80
t/36-leaks.t ................................. ok
t/38-packager.t .............................. ok
t/40-loopback.t .............................. ok
t/Issues/rt15176.t ........................... ok
t/Issues/rt53375.t ........................... 1/4
#   Failed test at t/Issues/rt53375.t line 21.

#   Failed test at t/Issues/rt53375.t line 22.
#          got: ''
#     expected: ' seed-viewer '
# Looks like you failed 2 tests of 4.
t/Issues/rt53375.t ........................... Dubious, test returned 2 (wstat 512, 0x200)
Failed 2/4 subtests
t/Issues/rt70329.t ........................... ok
t/Issues/rt70381.t ........................... skipped: This is a performance test. Set PROFILE_PERFORMANCE env var to a true value to run
t/Issues/rt72836.t ........................... skipped: Cannot test without Test::XML
t/Issues/rt74029.t ........................... skipped: not fixed yet
t/Issues/rt74308.t ........................... ok
t/Issues/rt75169.t ........................... ok
t/Issues/rt78588.t ........................... ok
t/Issues/rt88915.t ........................... ok
t/release-kwalitee.t ......................... skipped: these tests are for release candidate testing
t/release-pod-syntax.t ....................... skipped: these tests are for release candidate testing
t/SOAP/Data.t ................................ ok
t/SOAP/Lite/Deserializer/XMLSchema1999.t ..... ok
t/SOAP/Lite/Deserializer/XMLSchema2001.t ..... ok
t/SOAP/Lite/Deserializer/XMLSchemaSOAP1_1.t .. ok
t/SOAP/Lite/Deserializer/XMLSchemaSOAP1_2.t .. ok
t/SOAP/Lite/Packager.t ....................... ok
t/SOAP/Schema/WSDL.t ......................... ok
t/SOAP/Serializer.t .......................... ok
t/SOAP/Transport/HTTP.t ...................... ok
t/SOAP/Transport/HTTP/CGI.t .................. ok
t/SOAP/Transport/IO.t ........................ ok
t/SOAP/Transport/LOCAL.t ..................... ok
t/SOAP/Transport/LOOPBACK.t .................. ok
t/SOAP/Transport/MAILTO.t .................... skipped: Cannot test without Test::MockObject
t/SOAP/Transport/POP3.t ...................... ok
t/SOAP/Transport/TCP.t ....................... ok

Test Summary Report
-------------------
t/Issues/rt53375.t                         (Wstat: 512 Tests: 4 Failed: 2)
  Failed tests:  1-2
  Non-zero exit status: 2
Files=55, Tests=889, 44 wallclock secs ( 1.60 usr  0.29 sys + 36.67 cusr  1.72 csys = 40.28 CPU)
Result: FAIL
Failed 1/55 test programs. 2/889 subtests failed.
Makefile:1043: recipe for target 'test_dynamic' failed
make: *** [test_dynamic] Error 255
  PHRED/SOAP-Lite-1.19.tar.gz
  /usr/bin/make test -- NOT OK
//hint// to see the cpan-testers results for installing this module, try:
  reports PHRED/SOAP-Lite-1.19.tar.gz
Running make install
  make test had returned bad status, won't install without force
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: dominik am 11 Mai 2016, 20:47:14
Versuch einfach mal force: sudo cpan -f SOAP::Lite müsste klappen
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: MichaelT am 11 Mai 2016, 20:53:04
cpan -f hat funktioniert, baer nach restart fhem gleiches Ergebnis.

>:(

Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: dominik am 11 Mai 2016, 20:55:06
Prüf nochmal...
perl -e "require SOAP::Lite; printf SOAP::Lite->VERSION;"

...und auch mal einen kompletten Reboot machen.
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: MichaelT am 11 Mai 2016, 21:03:59
Schein aktuell zu sein.

Mach jetzt Feierabend, hast mir schon genug geholfen.
8)

pi@fhem1 /opt/fhem/log $ sudo cpan LWP::Simple
Going to read '/root/.cpan/Metadata'
  Database was generated on Wed, 11 May 2016 13:53:41 GMT
LWP::Simple is up to date (6.15).
pi@fhem1 /opt/fhem/log $ sudo cpan XML::Simple
Going to read '/root/.cpan/Metadata'
  Database was generated on Wed, 11 May 2016 13:53:41 GMT
XML::Simple is up to date (2.22).
pi@fhem1 /opt/fhem/log $ sudo cpan SOAP::Lite
Going to read '/root/.cpan/Metadata'
  Database was generated on Wed, 11 May 2016 13:53:41 GMT
SOAP::Lite is up to date (1.19).
pi@fhem1 /opt/fhem/log $ sudo /etc/init.d/fhem start
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: dominik am 11 Mai 2016, 21:07:13
Das noch gefunden...
https://rt.cpan.org/Public/Bug/Display.html?id=53375

Ab Version 0.715 soll der Bug angeblich gefixed sein. Lass mich dann wissen ob es geklappt hat.
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: Norberto am 11 Mai 2016, 22:42:51
Hallo Dominik,

Danke für den fixen Fix gestern Abend. Funzt!

Frage: in den Readings wird der Mute Status ja schon ausgegeben. Könntest man ihn auch setzen?

Grüße, Norbert
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: dominik am 12 Mai 2016, 19:57:01
Hi Norbert,

Mute kann ich mit einbauen. Dachte eigentlich, dass ich das schon drin habe.

Folgt dann beim nächsten Update.

Gruß,
Dominik
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: Gerold am 12 Mai 2016, 21:01:42
In der aktuellen Version gibt es noch einen kleinen Buchstabendreher.
In den Zeilen 655 und 660 steht:

return DLNARenderer_upnpCallAVTrasnport

richtig wäre:

return DLNARenderer_upnpCallAVTransport
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: dominik am 12 Mai 2016, 21:36:29
Danke Gerold, sowohl bei "Next" als auch bei "Previous" ist der Buchstabendreher drin.

Wird im nächsten Update korrigiert.
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: MichaelT am 13 Mai 2016, 22:06:21
Hallo Dominik,

kurzer Zwischenstand:
Habe mein rpi vollständig neu aufgesetzt und den Sprung von wheezy nach jessie gemacht. Jetzt läuft es.

-- Jetzt muss ich aber alles andere auch wieder ans laufen bringen - man glaubt nicht, was man alles so nebenbei mal angepasst und geändert hat ?!?

Danke Dir und Gruß
Michael
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: Enilno am 15 Mai 2016, 21:19:38
Habe heute Mittag die neueste Version getestet, lief alles prima. Nachdem ich die Devices alle gestoppt hatte, am gerät selber, nicht per fhem, hing sich fhem nach einiger Zeit auf. Auch nach mehreren Neustarts kam ich nicht mehr auf die Weboberfläche, erst nachdem ich die 98_DLNARenderer.pm gelöscht habe, hatte ich wieder Zugriff.
Beim ersten Login nach dem löschen bekam ich folgende Meldungen:

Messages collected while initializing FHEM:
configfile: Unknown module DLNARenderer
Unknown module DLNARenderer
Unknown module DLNARenderer
Unknown module DLNARenderer
Unknown module DLNARenderer
statefile: Please define DLNA_00226190d7ae first
Please define DLNA_00226190d7ae first
Please define DLNA_00226190d7ae first
Please define DLNA_00226190d7ae first
Please define DLNA_00226190d7ae first
Please define DLNA_00226190d7ae first
Please define DLNA_00226190d7ae first
Please define DLNA_00226190d7ae first
Please define DLNA_00226190d7ae first
Please define DLNA_00226190d7ae first
Please define DLNA_00226190d7ae first
Please define DLNA_00226190d7ae first
Please define DLNA_00226190d7ae first
Please define DLNA_00226190d7ae first
Please define DLNA_00226190d7ae first
Please define DLNA_00226190d7ae first
Please define DLNA_00226190d7ae first
Please define DLNA_00226190d7ae first
Please define DLNA_00226190d7ae first
Please define DLNA_00226190d7ae first
Please define DLNA_002261913236 first
Please define DLNA_002261913236 first
Please define DLNA_002261913236 first
Please define DLNA_002261913236 first
Please define DLNA_002261913236 first
Please define DLNA_002261913236 first
Please define DLNA_002261913236 first
Please define DLNA_002261913236 first
Please define DLNA_002261913236 first
Please define DLNA_002261913236 first
Please define DLNA_002261913236 first
Please define DLNA_002261913236 first
Please define DLNA_002261913236 first
Please define DLNA_002261913236 first
Please define DLNA_002261913236 first
Please define DLNA_002261913236 first
Please define DLNA_002261913236 first
Please define DLNA_002261913236 first
Please define DLNA_002261914aca first
Please define DLNA_002261914aca first
Please define DLNA_002261914aca first
Please define DLNA_002261914aca first
Please define DLNA_002261914aca first
Please define DLNA_002261914aca first
Please define DLNA_002261914aca first
Please define DLNA_002261914aca first
Please define DLNA_002261914aca first
Please define DLNA_002261914aca first
Please define DLNA_002261914aca first
Please define DLNA_002261914aca first
Please define DLNA_002261914aca first
Please define DLNA_002261914aca first
Please define DLNA_002261914aca first
Please define DLNA_002261914aca first
Please define DLNA_002261914aca first
Please define DLNA_002261914aca first
Please define DLNA_00a0de95b707 first
Please define DLNA_00a0de95b707 first
Please define DLNA_00a0de95b707 first
Please define DLNA_00a0de95b707 first
Please define DLNA_00a0de95b707 first
Please define DLNA_00a0de95b707 first
Please define DLNA_00a0de95b707 first
Please define DLNA_00a0de95b707 first
Please define DLNA_00a0de95b707 first
Please define DLNA_00a0de95b707 first
Please define DLNA_00a0de95b707 first
Please define DLNA_00a0de95b707 first
Please define DLNA_00a0de95b707 first
Please define DLNA_00a0de95b707 first
Please define DLNA_00a0de95b707 first
Please define DLNA_00a0de95b707 first
Please define DLNA_00a0de95b707 first
Please define DLNA_00a0de95b707 first
Please define DLNA_00a0de95b707 first
Please define DLNA_00a0de95b707 first
Please define DLNA_00a0de95b707 first
Please define DLNA_00a0de95b707 first
Please define DLNA_00a0de95b707 first
Please define DLNA_00a0de95b707 first
Please define dlnadevices first
Please define dlnadevices first


Keine Ahnung was da los war, die Fehlermeldungen resultieren wohl aus meinen gefundenen Geräten ohne vorhandenen Renderer, aber wieso kam ich erst nach dem löschen wieder auf fhem? konnte natürlich keine Meldungen abfragen, hatte ja keinen zugriff mehr. Werde das bei Gelegenheit nochmal mit dem selben Szenario testen.

Edit:
Merk grad das seitdem meine Somfys nicht mehr gesteuert werden

Edit2:
Somfys haben wegen dem aufhänger wohl den rolling Code übersprungen, nach neuem anlernen gehen sie wieder.
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: MichaelT am 16 Mai 2016, 10:17:20
Hallo Enilno,

hatte am Freitag auch einmal den Effekt, dass fhem vollständig hing nachdem ich einen Player starten wollte. Dies war aber ein einmaliger
Zustand. Seitdem läuft alle gut.

Bei Dir sieht das Log so aus, als wenn das DLNARenderer-Modul nicht geladen werden konnte.
Du hast anscheinend 4 oder 5 Player die dann viele Folgefehler brachten.

Gruß
Michael


Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: Norberto am 16 Mai 2016, 10:39:27
Hallo Michael, er schreibt ja dass er das dlna Modul gelöscht hatte. Damit sind alle aufgeführten Log Einträge erklärt.

Helfen könnten eventuell nur die letzten log Einträge vor dem Absturz.

Gruß, Norbert
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: MichaelT am 16 Mai 2016, 10:58:35
Zitat von: Norberto am 16 Mai 2016, 10:39:27
Hallo Michael, er schreibt ja dass er das dlna Modul gelöscht hatte. Damit sind alle aufgeführten Log Einträge erklärt.

Helfen könnten eventuell nur die letzten log Einträge vor dem Absturz.

Gruß, Norbert

Ja, passt.

Grüße
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: Enilno am 16 Mai 2016, 12:01:35
Hier mal der Fhem log vom update des renderes bis ich keinen zugriff mehr hatte.

2016.05.15 17:30:35 1: PERL WARNING: Subroutine DLNARenderer_Initialize redefined at ./FHEM/98_DLNARenderer.pm line 97.
2016.05.15 17:30:35 1: PERL WARNING: Subroutine DLNARenderer_Attribute redefined at ./FHEM/98_DLNARenderer.pm line 108.
2016.05.15 17:30:35 1: PERL WARNING: Subroutine DLNARenderer_Define redefined at ./FHEM/98_DLNARenderer.pm line 121.
2016.05.15 17:30:35 1: PERL WARNING: Subroutine DLNARenderer_Undef redefined at ./FHEM/98_DLNARenderer.pm line 153.
2016.05.15 17:30:35 1: PERL WARNING: Subroutine DLNARenderer_Set redefined at ./FHEM/98_DLNARenderer.pm line 177.
2016.05.15 17:30:35 1: PERL WARNING: Subroutine DLNARenderer_play redefined at ./FHEM/98_DLNARenderer.pm line 403.
2016.05.15 17:30:35 1: PERL WARNING: Subroutine DLNARenderer_enableBTCaskeid redefined at ./FHEM/98_DLNARenderer.pm line 420.
2016.05.15 17:30:35 1: PERL WARNING: Subroutine DLNARenderer_disableBTCaskeid redefined at ./FHEM/98_DLNARenderer.pm line 425.
2016.05.15 17:30:35 1: PERL WARNING: Subroutine DLNARenderer_setStereoMode redefined at ./FHEM/98_DLNARenderer.pm line 431.
2016.05.15 17:30:35 1: PERL WARNING: Subroutine DLNARenderer_setMultiChannelSpeaker redefined at ./FHEM/98_DLNARenderer.pm line 452.
2016.05.15 17:30:35 1: PERL WARNING: Subroutine DLNARenderer_setStandaloneMode redefined at ./FHEM/98_DLNARenderer.pm line 467.
2016.05.15 17:30:35 1: PERL WARNING: Subroutine DLNARenderer_createUuid redefined at ./FHEM/98_DLNARenderer.pm line 494.
2016.05.15 17:30:35 1: PERL WARNING: Subroutine DLNARenderer_createSession redefined at ./FHEM/98_DLNARenderer.pm line 504.
2016.05.15 17:30:35 1: PERL WARNING: Subroutine DLNARenderer_getSession redefined at ./FHEM/98_DLNARenderer.pm line 509.
2016.05.15 17:30:35 1: PERL WARNING: Subroutine DLNARenderer_destroySession redefined at ./FHEM/98_DLNARenderer.pm line 514.
2016.05.15 17:30:35 1: PERL WARNING: Subroutine DLNARenderer_destroyCurrentSession redefined at ./FHEM/98_DLNARenderer.pm line 520.
2016.05.15 17:30:35 1: PERL WARNING: Subroutine DLNARenderer_addUnitToPlay redefined at ./FHEM/98_DLNARenderer.pm line 530.
2016.05.15 17:30:35 1: PERL WARNING: Subroutine DLNARenderer_removeUnitToPlay redefined at ./FHEM/98_DLNARenderer.pm line 542.
2016.05.15 17:30:35 1: PERL WARNING: Subroutine DLNARenderer_addUnitToSession redefined at ./FHEM/98_DLNARenderer.pm line 552.
2016.05.15 17:30:35 1: PERL WARNING: Subroutine DLNARenderer_removeUnitFromSession redefined at ./FHEM/98_DLNARenderer.pm line 558.
2016.05.15 17:30:35 1: PERL WARNING: Subroutine DLNARenderer_getGroupDefinition redefined at ./FHEM/98_DLNARenderer.pm line 565.
2016.05.15 17:30:35 1: PERL WARNING: Subroutine DLNARenderer_saveGroupAs redefined at ./FHEM/98_DLNARenderer.pm line 585.
2016.05.15 17:30:35 1: PERL WARNING: Subroutine DLNARenderer_addUnit redefined at ./FHEM/98_DLNARenderer.pm line 605.
2016.05.15 17:30:35 1: PERL WARNING: Subroutine DLNARenderer_processEventXml redefined at ./FHEM/98_DLNARenderer.pm line 759.
2016.05.15 17:30:35 1: PERL WARNING: Subroutine DLNARenderer_updateReadingByEvent redefined at ./FHEM/98_DLNARenderer.pm line 841.
2016.05.15 17:30:35 1: PERL WARNING: Subroutine DLNARenderer_updateVolumeByEvent redefined at ./FHEM/98_DLNARenderer.pm line 858.
2016.05.15 17:30:35 1: PERL WARNING: Subroutine DLNARenderer_updateMetaData redefined at ./FHEM/98_DLNARenderer.pm line 887.
2016.05.15 17:30:35 1: PERL WARNING: Subroutine DLNARenderer_updateMetaDataItemPart redefined at ./FHEM/98_DLNARenderer.pm line 934.
2016.05.15 17:30:35 1: PERL WARNING: Subroutine DLNARenderer_setupControlpoint redefined at ./FHEM/98_DLNARenderer.pm line 951.
2016.05.15 17:30:35 1: PERL WARNING: Subroutine DLNARenderer_discoverCallback redefined at ./FHEM/98_DLNARenderer.pm line 982.
2016.05.15 17:30:35 1: PERL WARNING: Subroutine DLNARenderer_subscriptionCallback redefined at ./FHEM/98_DLNARenderer.pm line 995.
2016.05.15 17:30:35 1: PERL WARNING: Subroutine DLNARenderer_renewSubscriptions redefined at ./FHEM/98_DLNARenderer.pm line 1024.
2016.05.15 17:30:35 1: PERL WARNING: Subroutine DLNARenderer_addedDevice redefined at ./FHEM/98_DLNARenderer.pm line 1057.
2016.05.15 17:30:35 1: PERL WARNING: Subroutine DLNARenderer_removedDevice redefined at ./FHEM/98_DLNARenderer.pm line 1146.
2016.05.15 17:30:35 1: PERL WARNING: Subroutine DLNARenderer_getMainDLNARenderer redefined at ./FHEM/98_DLNARenderer.pm line 1157.
2016.05.15 17:30:35 1: PERL WARNING: Subroutine DLNARenderer_getHashByUDN redefined at ./FHEM/98_DLNARenderer.pm line 1167.
2016.05.15 17:30:35 1: PERL WARNING: Subroutine DLNARenderer_getAllDLNARenderers redefined at ./FHEM/98_DLNARenderer.pm line 1177.
2016.05.15 17:30:35 1: PERL WARNING: Subroutine DLNARenderer_getAllDLNARenderersWithCaskeid redefined at ./FHEM/98_DLNARenderer.pm line 1188.
2016.05.15 17:31:08 3: DLNARenderer: DLNA Renderer v2.0.0 RC2
2016.05.15 17:31:09 3: DLNARenderer: Created device DLNA_00226190d7ae for WohnzimmerBad
2016.05.15 17:31:26 3: DLNARenderer: Created device DLNA_002261914aca for Kueche
2016.05.15 17:33:03 3: DLNARenderer: urn:pure-com:serviceId:SpeakerManagement, AddUnitToGroup(4DAA44C0-8291-11E3-BAA7-0800200C9A66,Bluetooth,) failed, invalid method: ->AddUnitToGroup() at ./FHEM/98_DLNARenderer.pm line 745.

2016.05.15 17:40:22 3: DLNARenderer: Created device DLNA_002261913236 for Mini
2016.05.15 17:40:24 3: DLNARenderer: handleOnce failed, Can't use string ("") as an ARRAY ref while "strict refs" in use at FHEM/lib/UPnP/ControlPoint.pm line 501.

2016.05.15 17:40:25 3: DLNARenderer: handleOnce failed, Can't use string ("") as an ARRAY ref while "strict refs" in use at FHEM/lib/UPnP/ControlPoint.pm line 501.

2016.05.15 17:40:25 3: DLNARenderer: handleOnce failed, Can't use string ("") as an ARRAY ref while "strict refs" in use at FHEM/lib/UPnP/ControlPoint.pm line 501.

2016.05.15 17:40:56 3: DLNARenderer: urn:pure-com:serviceId:SpeakerManagement, AddUnitToGroup(4DAA44C0-8291-11E3-BAA7-0800200C9A66,Bluetooth,) failed, invalid method: ->AddUnitToGroup() at ./FHEM/98_DLNARenderer.pm line 745.

2016.05.15 17:41:10 3: DLNARenderer: urn:pure-com:serviceId:SpeakerManagement, AddUnitToGroup(4DAA44C0-8291-11E3-BAA7-0800200C9A66,Bluetooth,) failed, invalid method: ->AddUnitToGroup() at ./FHEM/98_DLNARenderer.pm line 745.

Undefined subroutine &main::DLNARenderer_upnpRemoveUnitFromSession called at ./FHEM/98_DLNARenderer.pm line 561.
2016.05.15 17:43:10 1: Including fhem.cfg
2016.05.15 17:43:11 2: eventTypes: loaded 266 events from ./log/eventTypes.txt
2016.05.15 17:43:11 3: Opening CUL_0 device /dev/ttyACM0
2016.05.15 17:43:11 3: Setting CUL_0 serial parameters to 9600,8,N,1
2016.05.15 17:43:11 3: CUL_0 device opened
2016.05.15 17:43:11 3: CUL_0: Possible commands: BbCFiAZNkGMKUYRTVWXefmLltux
2016.05.15 17:43:12 3: HUEDevice2: I/O device is HueBridge1
2016.05.15 17:43:12 3: HUEDevice4: I/O device is HueBridge1
2016.05.15 17:43:12 3: HUEDevice1: I/O device is HueBridge1
2016.05.15 17:43:12 3: HUEGroup1: I/O device is HueBridge1
2016.05.15 17:43:12 3: HUEGroup3: I/O device is HueBridge1
2016.05.15 17:43:12 3: HUEGroup2: I/O device is HueBridge1
2016.05.15 17:43:12 3: HUEGroup0: I/O device is HueBridge1
2016.05.15 17:43:12 3: Opening ZWaveUsb device /dev/ttyACM1
2016.05.15 17:43:12 3: Setting ZWaveUsb serial parameters to 115200,8,N,1
2016.05.15 17:43:12 3: ZWaveUsb device opened
2016.05.15 17:43:14 3: ZWave: cannot load Crypt::Rijndael, SECURITY class disabled
2016.05.15 17:43:14 1: Including ./log/fhem.save
2016.05.15 17:43:15 3: HarmonyHub: connected
2016.05.15 17:43:15 1: usb create starting
2016.05.15 17:43:16 3: Probing CUL device /dev/ttyAMA0
2016.05.15 17:43:16 3: Can't open /dev/ttyAMA0: Permission denied
2016.05.15 17:43:16 1: usb create end
2016.05.15 17:43:16 0: Featurelevel: 5.7
2016.05.15 17:43:16 0: Server started with 38 defined entities (fhem.pl:11191/2016-04-05 perl:5.020002 os:linux user:fhem pid:27002)
2016.05.15 17:43:16 2: ZWDongle_ProcessSendStack: no ACK, resending message 0107000301020100f9
2016.05.15 17:43:16 2: HarmonyHub: disconnect
2016.05.15 17:43:16 3: HarmonyHub: connected
2016.05.15 17:43:17 3: HarmonyHub: new config
2016.05.15 17:43:35 3: ZWave got config for fibaro/fgms.xml from ./FHEM/lib/openzwave_deviceconfig.xml.gz
2016.05.15 17:44:16 3: DLNARenderer: DLNA Renderer v2.0.0 RC2
2016.05.15 17:44:16 3: DLNARenderer: Created device DLNA_00a0de95b707 for RX-V773 95B707
2016.05.15 17:44:17 3: DLNARenderer: Created device DLNA_00226190d7ae for WohnzimmerBad
2016.05.15 17:44:18 3: DLNARenderer: Created device DLNA_002261914aca for Kueche
2016.05.15 17:44:26 3: DLNARenderer: Created device DLNA_002261913236 for Mini
2016.05.15 17:44:37 3: DLNARenderer: urn:pure-com:serviceId:SpeakerManagement, AddUnitToGroup(4DAA44C0-8291-11E3-BAA7-0800200C9A66,Bluetooth,) failed, invalid method: ->AddUnitToGroup() at ./FHEM/98_DLNARenderer.pm line 745.

2016.05.15 17:44:55 1: PERL WARNING: Use of uninitialized value $unitName in string eq at ./FHEM/98_DLNARenderer.pm line 610.
2016.05.15 17:44:55 1: PERL WARNING: Use of uninitialized value $unitName in concatenation (.) or string at ./FHEM/98_DLNARenderer.pm line 627.
2016.05.15 17:45:02 3: DLNARenderer: urn:pure-com:serviceId:SpeakerManagement, AddUnitToGroup(4DAA44C0-8291-11E3-BAA7-0800200C9A66,Bluetooth,) failed, invalid method: ->AddUnitToGroup() at ./FHEM/98_DLNARenderer.pm line 745.

2016.05.15 18:41:41 1: PERL WARNING: Use of uninitialized value in concatenation (.) or string at ./FHEM/98_DLNARenderer.pm line 186.


danach kammen dann ne stunde später meine loginversuche und die nicht funktionierenden somfy befehle:

2016.05.15 20:43:27 1: PERL WARNING: Argument "closed" isn't numeric in addition (+) at ./FHEM/10_SOMFY.pm line 956.
2016.05.15 20:43:27 2: IT set Elro_Subwoofer on
2016.05.15 20:43:28 2: IT IODev device didn't answer is command correctly:   raw => YsAC20019C111212
2016.05.15 20:43:29 3: message "is0f00ff0fffff" (14) too short!
2016.05.15 20:43:29 3: message "is0f00ff0fffff" (14) too short!
2016.05.15 20:43:29 3: CUL_0: Unknown code is0f00ff0fffff, help me!
2016.05.15 20:44:02 1: PERL WARNING: Argument "open" isn't numeric in addition (+) at ./FHEM/10_SOMFY.pm line 956.
2016.05.15 20:44:02 2: IT set Elro_Subwoofer off
2016.05.15 20:44:03 2: IT IODev device didn't answer is command correctly:   raw => YsAD46019D111212
2016.05.15 20:44:03 3: message "is0f00ff0ffff0" (14) too short!
2016.05.15 20:44:03 3: message "is0f00ff0ffff0" (14) too short!
2016.05.15 20:44:03 3: CUL_0: Unknown code is0f00ff0ffff0, help me!
2016.05.15 20:44:22 1: PERL WARNING: Use of uninitialized value $param in string eq at ./FHEM/37_harmony.pm line 496.
2016.05.15 20:44:22 1: PERL WARNING: Use of uninitialized value $param in string eq at ./FHEM/37_harmony.pm line 497.
2016.05.15 20:44:22 2: HarmonyHub: disconnect
2016.05.15 20:44:22 3: HarmonyHub: connected
2016.05.15 20:44:24 3: HarmonyHub: new config
2016.05.15 20:45:14 1: PERL WARNING: Argument "on" isn't numeric in addition (+) at ./FHEM/10_SOMFY.pm line 956.
2016.05.15 20:45:17 1: PERL WARNING: Argument "close" isn't numeric in numeric gt (>) at ./FHEM/10_SOMFY.pm line 460.
2016.05.15 20:45:48 0: Server shutdown
2016.05.15 20:45:51 1: Including fhem.cfg
2016.05.15 20:45:52 2: eventTypes: loaded 349 events from ./log/eventTypes.txt
2016.05.15 20:45:52 3: Opening CUL_0 device /dev/ttyACM0
2016.05.15 20:45:52 3: Setting CUL_0 serial parameters to 9600,8,N,1
2016.05.15 20:45:52 3: CUL_0 device opened
2016.05.15 20:45:52 3: CUL_0: Possible commands: BbCFiAZNkGMKUYRTVWXefmLltux
2016.05.15 20:45:52 3: HUEDevice2: I/O device is HueBridge1
2016.05.15 20:45:52 3: HUEDevice4: I/O device is HueBridge1
2016.05.15 20:45:52 3: HUEDevice1: I/O device is HueBridge1
2016.05.15 20:45:52 3: HUEGroup1: I/O device is HueBridge1
2016.05.15 20:45:52 3: HUEGroup3: I/O device is HueBridge1
2016.05.15 20:45:52 3: HUEGroup2: I/O device is HueBridge1
2016.05.15 20:45:52 3: HUEGroup0: I/O device is HueBridge1
2016.05.15 20:45:53 3: Opening ZWaveUsb device /dev/ttyACM1
2016.05.15 20:45:53 3: Setting ZWaveUsb serial parameters to 115200,8,N,1
2016.05.15 20:45:53 3: ZWaveUsb device opened
2016.05.15 20:45:54 3: ZWave: cannot load Crypt::Rijndael, SECURITY class disabled
2016.05.15 20:45:55 3: DLNARenderer: DLNA Renderer v2.0.0 RC2
2016.05.15 20:45:55 1: Including ./log/fhem.save
2016.05.15 20:45:57 3: HarmonyHub: connected
2016.05.15 20:45:57 1: usb create starting
2016.05.15 20:45:57 3: Probing CUL device /dev/ttyAMA0
2016.05.15 20:45:57 3: Can't open /dev/ttyAMA0: Permission denied
2016.05.15 20:45:57 1: usb create end
2016.05.15 20:45:57 0: Featurelevel: 5.7
2016.05.15 20:45:57 0: Server started with 46 defined entities (fhem.pl:11191/2016-04-05 perl:5.020002 os:linux user:fhem pid:27128)
2016.05.15 20:45:57 2: ZWDongle_ProcessSendStack: no ACK, resending message 0107000301020100f9
2016.05.15 20:45:59 2: HarmonyHub: disconnect
2016.05.15 20:45:59 3: HarmonyHub: connected
2016.05.15 20:46:00 3: HarmonyHub: new config
2016.05.15 20:46:12 1: PERL WARNING: Argument "closed" isn't numeric in addition (+) at ./FHEM/10_SOMFY.pm line 956.
2016.05.15 20:46:16 1: PERL WARNING: Argument "open" isn't numeric in addition (+) at ./FHEM/10_SOMFY.pm line 956.
2016.05.15 20:46:32 3: Setting CUL_0 serial parameters to 9600,8,N,1
2016.05.15 20:46:32 1: /dev/ttyACM0 reappeared (CUL_0)
2016.05.15 20:46:32 3: CUL_0: Possible commands: BbCFiAZNkGMKUYRTVWXefmLltux
2016.05.15 20:47:40 2: IT set Elro_Subwoofer on
2016.05.15 20:47:41 2: IT set Elro_Subwoofer off
2016.05.15 20:47:43 2: IT set Elro_Allgemein off
2016.05.15 20:47:45 2: IT set Elro_Allgemein on
2016.05.15 20:47:57 1: PERL WARNING: Argument "off" isn't numeric in addition (+) at ./FHEM/10_SOMFY.pm line 956.
2016.05.15 20:17:05 1: Including fhem.cfg
2016.05.15 20:17:06 2: eventTypes: loaded 349 events from ./log/eventTypes.txt
2016.05.15 20:17:06 3: Opening CUL_0 device /dev/ttyACM0
2016.05.15 20:17:06 3: Setting CUL_0 serial parameters to 9600,8,N,1
2016.05.15 20:17:06 3: CUL_0 device opened
2016.05.15 20:17:06 3: CUL_0: Possible commands: BbCFiAZNkGMKUYRTVWXefmLltux
2016.05.15 20:17:07 3: HUEDevice2: I/O device is HueBridge1
2016.05.15 20:17:07 3: HUEDevice4: I/O device is HueBridge1
2016.05.15 20:17:07 3: HUEDevice1: I/O device is HueBridge1
2016.05.15 20:17:07 3: HUEGroup1: I/O device is HueBridge1
2016.05.15 20:17:07 3: HUEGroup3: I/O device is HueBridge1
2016.05.15 20:17:07 3: HUEGroup2: I/O device is HueBridge1
2016.05.15 20:17:07 3: HUEGroup0: I/O device is HueBridge1
2016.05.15 20:17:07 3: Opening ZWaveUsb device /dev/ttyACM1
2016.05.15 20:17:07 3: Setting ZWaveUsb serial parameters to 115200,8,N,1
2016.05.15 20:17:07 3: ZWaveUsb device opened
2016.05.15 20:17:09 3: ZWave: cannot load Crypt::Rijndael, SECURITY class disabled
2016.05.15 20:17:10 3: DLNARenderer: DLNA Renderer v2.0.0 RC2
2016.05.15 20:17:10 1: Including ./log/fhem.save
2016.05.15 20:17:11 2: HarmonyHub: http request failed: https://svcs.myharmony.com/CompositeSecurityServices/Security.svc/json/GetUserAuthToken: Can't connect(1) to https://svcs.myharmony.com:443: IO::Socket::INET: Bad hostname 'svcs.myharmony.com:443'
2016.05.15 20:17:11 3: HUEBridge_Detect: error reading description: http://192.168.178.43/description.xml: Can't connect(1) to http://xxx:80: IO::Socket::INET: connect: Network is unreachable
2016.05.15 20:17:11 1: HUEBridge_HTTP_Request http://xxx/api/9d115f9021e35008182da856b6bc67fd/config: Can't connect to http://xxx:80
2016.05.15 20:17:11 3: HUEBridge_Call: failed, retrying
2016.05.15 20:17:11 1: HUEBridge_HTTP_Request http://xxx/api/9d115f9021e35008182da856b6bc67fd/config: Can't connect to http://xxx:80
2016.05.15 20:17:11 3: HUEBridge_Call: failed, retrying
2016.05.15 20:17:11 3: HUEBridge_Call: failed
2016.05.15 20:17:11 1: usb create starting
2016.05.15 20:17:11 3: Probing CUL device /dev/ttyAMA0
2016.05.15 20:17:11 3: Probing TCM_ESP3 device /dev/ttyAMA0
2016.05.15 20:17:11 3: Probing FRM device /dev/ttyAMA0


Und danach habe ich DLNARenderer gelöscht.

Edit:

nach erneuem aufspielen des Renderes bekomm ich beim suchen der geräte folgenden eintrag:

2016.05.16 12:02:53 3: DLNARenderer: DLNA Renderer v2.0.0 RC2
2016.05.16 12:02:57 3: DLNARenderer: Created device DLNA_00226190d7ae for WohnzimmerBad
2016.05.16 12:03:00 3: DLNARenderer: Created device DLNA_00a0de95b707 for RX-V773 95B707
2016.05.16 12:03:05 3: DLNARenderer: Created device DLNA_d23b9836572b for 55LM615S-ZE
2016.05.16 12:03:05 3: DLNARenderer: handleOnce failed, junk '' after XML element

2016.05.16 12:03:05 3: DLNARenderer: handleOnce failed, junk '' after XML element

2016.05.16 12:03:11 3: DLNARenderer: Created device DLNA_002261914aca for Kueche
2016.05.16 12:10:04 3: DLNARenderer: Created device DLNA_002261913236 for Mini
2016.05.16 12:10:06 3: DLNARenderer: handleOnce failed, Can't use string ("") as an ARRAY ref while "strict refs" in use at FHEM/lib/UPnP/ControlPoint.pm line 501.

2016.05.16 12:10:07 3: DLNARenderer: handleOnce failed, Can't use string ("") as an ARRAY ref while "strict refs" in use at FHEM/lib/UPnP/ControlPoint.pm line 501.

2016.05.16 12:10:07 3: DLNARenderer: handleOnce failed, Can't use string ("") as an ARRAY ref while "strict refs" in use at FHEM/lib/UPnP/ControlPoint.pm line 501.

2016.05.16 12:10:28 3: DLNARenderer: urn:pure-com:serviceId:SpeakerManagement, AddUnitToGroup(4DAA44C0-8291-11E3-BAA7-0800200C9A66,Bluetooth,) failed, invalid method: ->AddUnitToGroup() at ./FHEM/98_DLNARenderer.pm line 745.

Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: dominik am 20 Mai 2016, 14:54:20
Danke für das Log Enilno, habe ein paar Fehler gefunden die im nächste Update ausgebessert werden.
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: oxident am 24 Mai 2016, 20:22:55
Danke für die tolle Arbeit an diesem Modul!
Meine Geräte (SIRD Radio, Philips TV und Plex Client) funktionieren auch prima, aber mit einer "Spezialität" habe ich Probleme:
Es handelt sich um eine WiFi-Glühbirne mit DLNA-Renderer. Von Windows / Windows Phone kann ich sie problemlos mit dem Media Player (PlayTo) bzw. mit DLNA-Apps befeuern.

In FHEM wird aber leider kein Device dafür angelegt. Im Log steht:

2016.05.24 18:58:21 3: DLNARenderer: handleOnce failed, mismatched tag 'head'
2016.05.24 18:59:03 3: DLNARenderer: DLNA Renderer v2.0.0 RC2
2016.05.24 18:59:03 3: Please define DLNA_-382 first
2016.05.24 18:59:03 3: Please define DLNA_-382 first
2016.05.24 18:59:03 3: DLNARenderer: Created device DLNA_-382 for bnetz
2016.05.24 18:59:06 3: DLNARenderer: Created device DLNA_77cd4994ac9b for RasPlex
2016.05.24 18:59:09 3: DLNARenderer: Created device DLNA_002261EE0F56 for Radio
2016.05.24 19:05:51 3: DLNARenderer: handleOnce failed, mismatched tag 'head'
2016.05.24 19:06:30 3: DLNARenderer: Created device DLNA_2CD05ACD15F7 for Philips
2016.05.24 19:13:21 3: DLNARenderer: handleOnce failed, mismatched tag 'head'

Die Glühbirne hat den Namen "bnetz" ... scheinbar schlägt die Erstellung des Devices fehlt. Vermutlich wegen der komischen ID (-382)?
Laut Windows lautet die UUID nämlich in der Tat 4C0FC71DC147-1_0-000-888-382

Kann ich da irgendwas machen?

Gruß,
Christoph
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: dominik am 24 Mai 2016, 20:48:14
Hi Christoph,

das ist definitiv eine eigenartige UUID. Teste mal bitte folgenden Code.

Nach der Zeile
my $uniqueDeviceName = "DLNA_".substr($dev->UDN(),29,12);
folgendes einfügen
if(length($uniqueDeviceName) < 17) {
  $uniqueDeviceName = "DLNA_".substr($dev->UDN(),5);
  $uniqueDeviceName =~ tr/-/_/;
}


Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: oxident am 24 Mai 2016, 21:48:14
Zitat von: dominik am 24 Mai 2016, 20:48:14das ist definitiv eine eigenartige UUID.
Jepp, die Chinesen sind zwar durchaus kreativ und auch fleißig, aber vermutlich trinken sie zu wenig Kaffee und haben beim Abkupfern des Open Source UPnP Renderers (ist nämlich gmediarender 0.0.6) zu wenig nachgelesen.

Wie auch immer, jetzt klappt es einwandfrei. Tausend Dank!!
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: fhem_cgn am 27 Mai 2016, 12:59:22
Bei mir funktioniert das Modul zusammen mit einer Pioneer SBX N500 leider nicht wirklich.
Grundsätzlich kann ich die Pioneer SBX N500 z.B. mit BubbleUPnP steuern. Veränderungen werden wir dann auch im FHEM angezeigt z.B:

currentTrackURI | http://192.168.1.1:49200/ST/AUDIO/DLNA-1-0/1live-diggi.akacast.akamaistream.net/7/965/119435/v1/gnl.akacast.akamaistream.net/1live-diggi


Möchte ich die SBX jedoch mit FHEM steuern passiert einfach nichts.
set DLNA_745e1c4f23b3 stream http://www.fritz.de/live.m3u
Im Event Monitor taucht dies auf DLNARenderer DLNA_745e1c4f23b3 stream http://www.fritz.de/live.m3u und auch im FHEM Modul ist dies zu sehen

presence | online
state | playing
stream | http://www.fritz.de/live.m3u
transportState | PLAYING
transportStatus | OK

Es läuft jedoch weiterhin 1live digg was so auch unter currentTrackURI angezeigt wird. Woran könnte das liegen? Jemand eine Idee?
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: Brockmann am 27 Mai 2016, 16:50:02
Zitat von: fhem_cgn am 27 Mai 2016, 12:59:22
Es läuft jedoch weiterhin 1live digg was so auch unter currentTrackURI angezeigt wird. Woran könnte das liegen? Jemand eine Idee?
Sicher, dass das Gerät mit einer m3u was anfangen kann? Sonst versuch doch mal direkt den Stream-Link aus der m3u, ob es damit vielleicht klappt.
http://rbb-mp3-fritz-m.akacast.akamaistream.net/7/799/292093/v1/gnl.akacast.akamaistream.net/rbb_mp3_fritz_m
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: fhem_cgn am 27 Mai 2016, 23:31:11
Die Idee hatte ich auch schon - daran liegt es jedoch nicht.
Was mir noch aufgefallen ist:
Wenn ich mit BubbleUPnP einen Stream starte wird auch "state" entsprechend gesetzt. Ebenso aktualisiert sich "state", wenn ich den Stream mittel BubbleUPnP wieder stoppe.
set DLNA_745e1c4f23b3  stop
Sollte eigentlich doch auch dazu führen, dass ein laufender Stream gestoppt wird. Dies klappt jedoch nicht. Der vorher mit BubbleUPnP gestartete Stream läuft einfach weiter. Auch das verändern der Lautstärke klappt via Fhem einfach nicht.
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: oxident am 28 Mai 2016, 09:23:24
Habt ihr vielleicht einen Tipp, wo ich im Code ansetzen könnte, wenn das Device mir keine Lautstärkenregelung zulässt bzw. Volume gar nicht erst anzeigt? UPnPSpy sowie Windows lassen dies zu...

UPDATE: Wenn ich dennoch versuche, ein SET Volume auszuführen stürzt FHEM mit folgender Meldung komplett ab:

Can't call method "controlProxy" on an undefined value at ./FHEM/98_DLNARenderer.pm line 741

Zusätzlich erscheint im meinem Log öfters folgendes:

2016.05.28 11:43:27 3: DLNARenderer: handleOnce failed, mismatched tag 'head'
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: dominik am 28 Mai 2016, 13:57:40
@oxident, kannst du mal deine SOAP::Lite Version posten?
perl -e "require SOAP::Lite; printf SOAP::Lite->VERSION;"

@fhem_cgn, prüfe mal mit dem UPnPTester ob du damit erfolgreich ein SetAVTransportURI/Stop/Play/... durchführen kannst. Wenn ja, poste bitte deine angegebenen Parameter.
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: oxident am 28 Mai 2016, 15:14:26
Also SOAP::Lite scheint bei mir in der Version 0.714 installiert zu sein.

Nebenbei: Das Problem tritt auch nur bei meiner China-Lampe auf. Die anderen DLNA-Devices (XBox, SIRD, Rasplex) klappen anstandslos.
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: dominik am 28 Mai 2016, 15:50:31
Probier mal ein Update von SOAP::Lite durchzuführen, das könnte durchaus daran liegen. Welches OS verwendest du?
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: oxident am 28 Mai 2016, 20:41:07
Hmm, hat leider wohl nichts gebracht. Bin jetzt auf 1.19 und Volume steht immer noch auf 0 (sollte aber 75 sein).

OS ist

Linux beaglebone 3.8.13-bone50 #1 SMP Tue May 13 13:24:52 UTC 2014 armv7l GNU/Linux


Gruß,
Christoph
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: dominik am 29 Mai 2016, 09:56:14
Bekommst du immer noch den Fehler mit "handleOnce..."?
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: oxident am 29 Mai 2016, 10:02:51
Jepp. Leider.
Komischerweise schaffe ich es auch mit der UPnPSpy-Anwendung unter Windows nicht, bei dem Gerät z. B. die Lautstärke einzustellen. Es heißt dort immer "Invalid Argument". Auf dem Windows Phone und unter Android klappt dies mit diversen Apps jedoch prima ("Connection ID: 0", "Channel: Master").
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: dominik am 29 Mai 2016, 16:43:04
Hast du eine Möglichkeit den Netzwerktraffic der Apps zu loggen? Könnte mir vorstellen, dass es dafür vielleicht Android Apps gibt.
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: oxident am 29 Mai 2016, 19:29:48
Jepp, habe es mal mitgeschnitten. In der Tat klappte doch die UPnPSpy Anwendung unter Windows. Ich war nur für die Bedienung zu blöd ;-)
Da ich leider recht wenig davon verstehe habe ich den Paketmitschnitt hier mal angehangen. Kurz zur Erklärung: 192.168.1.143 ist mein Laptop und 192.168.1.142 ist die DLNA-Birne.

Ich habe während des Paketmitschnitts UPnPSpy gestartet, die aktuelle Lautstärke abgefragt und gesetzt (paar Mal wiederholt).

Nicht wundern, nebenbei kommen auch noch Pakete an Port 1920. Da geht's aber um die Lampensteuerung. Hat nichts mit DLNA zu tun...

Vielleicht wirst Du da ja irgendwie schlau draus ;-)
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: dominik am 29 Mai 2016, 20:33:35
Im Log sieht "leider" alles gut aus. Kannst du mal FHEM auf Loglevel 5 stellen und mir dann das Log zur Verfügung stellen?
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: oxident am 29 Mai 2016, 22:21:04
Sehr gern. Meinst Du Verbose beim Global-Device? Oder würde es auch in Deinem Modul ausreichen?
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: dominik am 29 Mai 2016, 22:57:59
Im Modul reicht aus.
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: oxident am 29 Mai 2016, 23:13:05
Hmm. Habe Verbose jetzt beim DLNA- und dem Rendering-Dev auf 5 gesetzt und es kommt eigentlich nachwievor nur der "DLNADevice: Device xyz added" Eintrag. Bei Verbose 5 im Global-Dev kommt na klar massenhaft, aber ich sehe auf den ersten Blick nichts neues bezgl. diesem Modul. Mach ich da was falsch?  :-[
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: Gerold am 02 Juni 2016, 10:40:05
Ich habe das gleiche Problem wie @fhem_cgn mit meinem Busch-Jäger iNet-Radio. Das Gerät wird vom DLNARenderer erkannt, die Readings werden korrekt gesetzt, aber leider reagiert das Radio nicht auf set-Befehle. Mit dem alten DLNAClient lässt sich dagegen das Gerät mit den set on/off/play/stop/stream/volume Befehlen einwandfrei steuern.

Auch auf den UPnP-Tester reagiert das Radio. Mit SetAVTransportUri konnte ich mit CurrentURI= http://mp3-live.swr3.de/swr3_m.m3u den Radiosender auf SWR3 einstellen.

Kodi funktioniert mit dem DLNARenderer einwandfrei.
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: FHEm2005 am 04 Juni 2016, 09:19:33
Ich will mich mal mit diesem Modul beschäftigen und bekomme bei der Installation der benötigten Komponenten leider Probleme:
pi@raspberrypi ~ $ sudo apt-get install libxml-parser-lite-perl
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Unable to locate package libxml-parser-lite-perl


Kann mir da jemand 'raushelfen, weil mein Linuxkenntnisse nicht so gut sind, um dieses Problem alleine zu bewältigen.

Vielleicht wäre ein kleiner Hinweis auf die Installation (wie, wohin) in Beitrag #1 hilfreich. Ich versuche schon mehrere Male mit Filezilla das Modul in das contrib-Verzeichnis zu verschieben, das kommt aber irgendwie nicht an  >:( >:(. Da brauche ich momentan (noch) keine Hilfe. Da versuche ich es nochmal. Diesbezüglich melde ich mich wieder. Aber die Fehlermeldung in Linux macht mich ratlos ....

Gruß Eberhard
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: Norberto am 04 Juni 2016, 16:42:45
Aktualisiere mal die Paket-infos und die installierten Pakete:

apt-get update && apt-get -y upgrade

Das DLNA Modul gehört nach FHEM, nicht nach contrib.

Grüße,

Norbert
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: Norberto am 04 Juni 2016, 16:49:46

Hallo Dominik,

ganz bescheidene Frage: planst Du noch in nächster Zeit ein Update?

...... ich wär da noch an dem Mute Befehl interessiert.

Grüße, Norbert
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: FHEm2005 am 04 Juni 2016, 20:08:13
Hallo Norbert,

ich habe beide Empfehlungen befolgt und war erfolgreich. Die Fehlermeldungen bleiben zwar in putty, ber die Definition ist tadellos durchgelaufen und hat sogar die gerade laufende Squeezebox gefunden.  Dafür mein herzlichstes Dankeschön!!! 

Ist der Renderer eine Remote Steuerung? Ich kann auf den Server nicht verzichten und auch nicht auf die Clients. Diejenigen, die einen LMS Logitech Media Server) auf ihrem synology haben laufen haben sind doch mit dem SB_SERVER/SB_PLAYER Modul bestens bedient. Sie schalten im LMS DLNA frei und bekommen von dort eine DLNA-Unterstützung.  Aber vielleicht habe ich den wirklichen Vorteil noch nicht begriffen.

Nochmal Danke und viele Grüße
Eberhard
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: dominik am 04 Juni 2016, 22:59:37
Zitat von: Norberto am 04 Juni 2016, 16:49:46
Hallo Dominik,

ganz bescheidene Frage: planst Du noch in nächster Zeit ein Update?

...... ich wär da noch an dem Mute Befehl interessiert.

Grüße, Norbert

Ein größeres Update ist gerade in Arbeit. Hatte im Urlaub kein Gerät zum Testen aber fleißig den Code geändert - wie es so ist, funktioniert es dann aber doch nicht so wie man es implementiert hat, bin also noch ausgiebig am Testen und korrigieren ;) Mit den Änderungen werden dann alle UPnP Calls über BlockingCall ausgeführt. Mir ist nämlich aufgefallen, dass fhem manchmal hing wenn ein Gerät langsam antwortete.

Denke das Update bis nächsten Sonntag fertig zu haben.

@Eberhard, das Modul dient zur Steuerung der Renderer (stream ..., play, pause, stop, volume, ...).
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: dominik am 09 Juni 2016, 21:30:33
Update im 1. Post...
Das eingebaute "mute" Command funktioniert bei mir leider nicht. Gebt mir bitte Bescheid ob es bei euch tut, wenn nicht, muss ich den Code nochmals anpassen. Konnte den Fehler leider noch nicht ausfindig machen.

v2.0.0 RC3 - 20160609
- BUGFIX: check correct number of params for all commands
- BUGFIX: fix addUnitToSession/removeUnitFromSession for MUNET/Caskeid devices
- BUGFIX: support devices with non-standard UUIDs
- CHANGE: use BlockingCall for subscription renewal
- CHANGE: remove ignoreUDNs attribute from play devices
- CHANGE: remove multiRoomGroups attribute from main device
- CHANGE: split stereoDevices reading into stereoLeft/stereoRight
- FEATURE: support multiRoomVolume to change volume of all group speakers e.g.
              set <name> multiRoomVolume +10
              set <name> multiRoomVolume 25
- FEATURE: support channel_01-10 attribute
              attr <name> channel_01 http://... (save URI to channel_01)
              set <name> channel 1 (play channel_01)
- FEATURE: support speak functionality via Google Translate
              set <name> speak "This is a test."
              attr <name> ttsLanguage de
              set <name> speak "Das ist ein Test."
- FEATURE: automatically retrieve stereo mode from speakers and update stereoId/Left/Right readings
- FEATURE: support mute
              set <name> mute on/off
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: Norberto am 11 Juni 2016, 10:12:51

Hallo Dominik,

Du hast Dir wieder viel Arbeit gemacht. Danke Dir.

Mit der neuen Version steigt FHEM bei mir leider nach gefühlten 20 Sekunden aus. Kein Eintrag im Logfile.

Wo kann ich anfangen zu debuggen?

Gruß, Norbert
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: dominik am 11 Juni 2016, 10:32:59
Hallo Norbert,

bitte ein Log mit Loglevel 5 posten. Wurden in der Zeit Devices erkannt? Bitte auch sicherstellen, dass FHEM neu gestartet wurde.

Gruß,
Dominik
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: Norberto am 11 Juni 2016, 11:57:15
Hallo Dominik,

bin gerade nicht zu Hause. Log mit Level 5 werde ich heute Nachmittag posten.

Devices wurden nicht erkannt. Fhem hatte ich neu gestartet.

Grüß, Norbert
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: oxident am 11 Juni 2016, 12:47:00
Danke für die neue Version. Leider steigt FHEM noch immer bei meiner China-Lampe aus. Rest klappt einwandfrei. Loglevel bekomme ich noch nicht hin, bin aber dran ;-)
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: Norberto am 11 Juni 2016, 13:01:39

Hallo Dominik.

Hier der Logfile mit verbose 5 - die letzten Zeilen vor Absturz:

2016.06.11 12:54:55 3: DLNARenderer: urn:pure-com:serviceId:SpeakerManagement, GetMultiChannelSpeaker() failed, invalid method: ->GetMultiChannelSpeaker() at ./FHEM/98_DLNARenderer.pm line 849.

Can't locate object method "getValue" via package "DLNARenderer: GetMultiChannelSpeaker failed." (perhaps you forgot to load "DLNARenderer: GetMultiChannelSpeaker failed."?) at ./FHEM/98_DLNARenderer.pm line 509.


Gruss, Norbert
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: dominik am 11 Juni 2016, 13:04:36
Danke Norbert, denke der Fehler sollte sich schnell finden lassen dann kommt ein Update.

@oxident, war das die Lampe mit der komischen UUID?
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: oxident am 11 Juni 2016, 13:37:33
Hi Dominik,

jepp. Genau um die geht's. Volume wird als 0 angezeigt (sollte aber 75 sein) und im Gegensatz zu den anderen DLNA-Devices gibt es auch kaum Readings.
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: dominik am 11 Juni 2016, 17:24:22
@Norbert, kannst du die Version anbei mal bei dir testen?

@oxident, jetzt weiß ich wieder...das war die Lampe mit "mismatch tag head"...auf was für einen System/OS hast du fhem am laufen?
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: Norberto am 11 Juni 2016, 17:50:40

Hallo Dominik,

das war es leider noch nicht.

2016.06.11 17:38:28 3: DLNARenderer: urn:pure-com:serviceId:SpeakerManagement, GetMultiChannelSpeaker() failed, invalid method: ->GetMultiChannelSpeaker() at ./FHEM/98_DLNARenderer.pm line 856.

2016.06.11 17:38:29 5: DLNARenderer: urn:pure-com:serviceId:SpeakerManagement, GetMultiChannelSpeaker() succeed.
2016.06.11 17:38:29 5: Triggering MunetKL (1 changes)
2016.06.11 17:38:29 5: Starting notify loop for MunetKL, first event stereoId: D75F97EB-C681-4A59-A061-24C9323DC702
2016.06.11 17:38:29 5: DLNARenderer: urn:pure-com:serviceId:SpeakerManagement, GetMultiChannelSpeaker() succeed.
2016.06.11 17:38:29 5: DLNARenderer: urn:pure-com:serviceId:SpeakerManagement, GetMultiChannelSpeaker() succeed.
2016.06.11 17:38:30 5: DLNARenderer: urn:pure-com:serviceId:SpeakerManagement, GetMultiChannelSpeaker() succeed.
2016.06.11 17:38:30 5: DLNARenderer: urn:pure-com:serviceId:SpeakerManagement, GetMultiChannelSpeaker() succeed.
2016.06.11 17:38:31 5: DLNARenderer: urn:pure-com:serviceId:SpeakerManagement, GetMultiChannelSpeaker() succeed.
2016.06.11 17:38:31 5: DLNARenderer: urn:pure-com:serviceId:SpeakerManagement, GetMultiChannelSpeaker() succeed.
2016.06.11 17:38:31 3: DLNARenderer: urn:pure-com:serviceId:SpeakerManagement, GetMultiChannelSpeaker() failed, invalid method: ->GetMultiChannelSpeaker() at ./FHEM/98_DLNARenderer.pm line 856.

Can't call method "getValue" on an undefined value at ./FHEM/98_DLNARenderer.pm line 533.


benötigst Du noch Infos über meine DLNA Geräte Konfiguration?

Es waren 6 einzelne Munet Speaker eingeschaltet welche zu drei Stereopaaren konfiguriert sind.

Dazu ist ein Munet 400 Link eingeschaltet - dies ist eine Audio Schnittstelle für eine Stereoanlage.

Gruß, Norbert
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: dominik am 11 Juni 2016, 19:46:38
Danke für das schnelle Testen. Nun sollte es aber funktionieren, gib mir bitte Bescheid.
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: Norberto am 12 Juni 2016, 09:08:12

Danke. Kein Absturz mehr.

Was bleibt ist nur noch dies:

2016.06.12 09:06:07 3: DLNARenderer: urn:pure-com:serviceId:SpeakerManagement, GetMultiChannelSpeaker() failed, invalid method: ->GetMultiChannelSpeaker() at ./FHEM/98_DLNARenderer.pm line 860.

2016.06.12 09:06:10 3: DLNARenderer: urn:pure-com:serviceId:SpeakerManagement, GetMultiChannelSpeaker() failed, invalid method: ->GetMultiChannelSpeaker() at ./FHEM/98_DLNARenderer.pm line 860.

2016.06.12 09:06:13 3: DLNARenderer: urn:pure-com:serviceId:SpeakerManagement, GetMultiChannelSpeaker() failed, invalid method: ->GetMultiChannelSpeaker() at ./FHEM/98_DLNARenderer.pm line 860.

2016.06.12 09:06:16 3: DLNARenderer: urn:pure-com:serviceId:SpeakerManagement, GetMultiChannelSpeaker() failed, invalid method: ->GetMultiChannelSpeaker() at ./FHEM/98_DLNARenderer.pm line 860.

2016.06.12 09:06:18 3: DLNARenderer: urn:pure-com:serviceId:SpeakerManagement, GetMultiChannelSpeaker() failed, invalid method: ->GetMultiChannelSpeaker() at ./FHEM/98_DLNARenderer.pm line 860.

2016.06.12 09:06:21 3: DLNARenderer: urn:pure-com:serviceId:SpeakerManagement, GetMultiChannelSpeaker() failed, invalid method: ->GetMultiChannelSpeaker() at ./FHEM/98_DLNARenderer.pm line 860.

2016.06.12 09:06:24 3: DLNARenderer: urn:pure-com:serviceId:SpeakerManagement, GetMultiChannelSpeaker() failed, invalid method: ->GetMultiChannelSpeaker() at ./FHEM/98_DLNARenderer.pm line 860.


Gruß, Norbert
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: dominik am 12 Juni 2016, 09:21:35
Kann es sein, dass der MUNET400 kein GetMultiChannelSpeaker unterstützt? Ist es über die App möglich den MUNET400 mit anderen MUNETs zu einen Stereopaar zu schalten?
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: oxident am 12 Juni 2016, 09:29:18
Zitat von: dominik link=topic=39706.msg460943#msg460943
@oxident, jetzt weiß ich wieder...das war die Lampe mit "mismatch tag head"...auf was für einen System/OS hast du fhem am laufen?
Linux beaglebone 3.8.13-bone50 #1 SMP Tue May 13 13:24:52 UTC 2014 armv7l GNU/Linux

... und SOAP::LITE ist 1.19

Kennst Du vielleicht irgendein Perl-Script, mit dem ich das erstmal außerhalb von FHEM testen könnte?

Danke für Deinen Einsatz!
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: dominik am 12 Juni 2016, 12:26:57
@oxident

Kopier dir die ControlPoint.pm aus dem FHEM/lib/UPnP/ Verzeichnis in ein tmp Verzeichnis und erstell dort die test.pl mit folgendem Inhalt:

use UPnP::ControlPoint;

my %bla = ();
my $cp = UPnP::ControlPoint->new(SearchPort => 0, SubscriptionPort => 0, MaxWait => 30, UsedOnlyIP => \%bla, IgnoreIP => \%bla);
$cp->searchByType('urn:schemas-upnp-org:device:MediaRenderer:1', \&Discover_Callback);
$cp->handle();

sub Discover_Callback($$$) {
  my ($search, $device, $action) = @_;

  print "DEVICE: ".$device->friendlyName()."\n";

  if($device->friendlyName() eq "DEVICENAME") {
    my $upnpService = $device->getService('urn:upnp-org:serviceId:RenderingControl');
    my $upnpServiceCtrlProxy = $upnpService->controlProxy();
    $upnpServiceCtrlProxy->SetVolume(0, "Master", 20);
  }
}


Der Code macht nichts anderes als das Device mit dem Namen DEVICENAME (ändern!) auf Volume 20 zu setzen.
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: savage7 am 12 Juni 2016, 12:31:01
Hi Dominik,

ich schaffe es leider nicht das Modul zu verwenden. Habe drei dlna Geräte im Netzwerk, diese werden richtig erkannt. Wenn ich aber zb. die Lautstärke ändern will oder einen Stream starten will kommt bei jedem dieser Geräte dieser Fehler im Log:
DLNARenderer: urn:upnp-org:serviceId:RenderingControl, SetVolume(0,Master,65) failed, 400 Bad Request at FHEM/lib/UPnP/ControlPoint.pm line 847.

Muss ich außer den beschriebenen Paketen noch etwas installieren? Fhem ist auf dem aktuellen Stand. Raspberry ist auf wheezy.

lg
Simon
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: dominik am 12 Juni 2016, 13:06:23
Hi Simon,

kannst du mal mit den UPnPTester (findet man mit Google) versuchen die Devices zu steuern oder zumindest Volume zu setzen?

Gruß,
Dominik
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: oxident am 12 Juni 2016, 17:32:11
Zitat von: dominik am 12 Juni 2016, 12:26:57
@oxident

Kopier dir die ControlPoint.pm aus dem FHEM/lib/UPnP/ Verzeichnis in ein tmp Verzeichnis und erstell dort die test.pl mit folgendem Inhalt:

use UPnP::ControlPoint;

my %bla = ();
my $cp = UPnP::ControlPoint->new(SearchPort => 0, SubscriptionPort => 0, MaxWait => 30, UsedOnlyIP => \%bla, IgnoreIP => \%bla);
$cp->searchByType('urn:schemas-upnp-org:device:MediaRenderer:1', \&Discover_Callback);
$cp->handle();

sub Discover_Callback($$$) {
  my ($search, $device, $action) = @_;

  print "DEVICE: ".$device->friendlyName()."\n";

  if($device->friendlyName() eq "DEVICENAME") {
    my $upnpService = $device->getService('urn:upnp-org:serviceId:RenderingControl');
    my $upnpServiceCtrlProxy = $upnpService->controlProxy();
    $upnpServiceCtrlProxy->SetVolume(0, "Master", 20);
  }
}


Der Code macht nichts anderes als das Device mit dem Namen DEVICENAME (ändern!) auf Volume 20 zu setzen.
Cool, danke. Das endet bei mir wie folgt:

DEVICE: bnetz
Can't call method "controlProxy" on an undefined value at test.pl line 15.

Hilft das irgendwie?

UPDATE: UPnPTester zeigt aber definitiv das Vorhandensein des "RenderingControl"-Nodes...
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: savage7 am 12 Juni 2016, 17:46:02
Zitat von: dominik am 12 Juni 2016, 13:06:23
kannst du mal mit den UPnPTester (findet man mit Google) versuchen die Devices zu steuern oder zumindest Volume zu setzen?

Hab gerade ein SetVolume (InstanceID=0 Channel=0 DesiredVolume=0) ausprobiert, bekomme aber einen Fehler: Unbekannter Fehler (0x80004005)
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: dominik am 12 Juni 2016, 18:06:12
@oxident, versuch mal bei getService(...) folgendes: getService('urn:schemas-upnp-org:service:RenderingControl:1')

@savage7, Channel sollte "Master" statt 0 sein. Normal schlägt das der UPnPTester auch vor. DesiredVolume würde ich auch 20 verwenden statt 0 zum Testen.
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: oxident am 12 Juni 2016, 19:15:27
Zitat von: dominik am 12 Juni 2016, 18:06:12
@oxident, versuch mal bei getService(...) folgendes: getService('urn:schemas-upnp-org:service:RenderingControl:1')
Yes, das klappt!!
Das Skript bleibt dann zwar zum Schluss "hängen", ist aber sicher normal, oder?
Die Volume-Setting wird jedoch korrekt auf 20 gesetzt. Habe ich direkt mit dem UPnPTester geprüft.
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: savage7 am 12 Juni 2016, 20:30:59
Zitat von: dominik am 12 Juni 2016, 18:06:12
@savage7, Channel sollte "Master" statt 0 sein. Normal schlägt das der UPnPTester auch vor. DesiredVolume würde ich auch 20 verwenden statt 0 zum Testen.

Habe InstanceID=0 Channel=Master DesiredVolume=20 bzw. InstanceID=0 Channel="Master" DesiredVolume=20 bzw. mit Normal probiert leider der gleiche Fehler :( (0x80004005)
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: Norberto am 12 Juni 2016, 21:06:46
Hallo Dominik,

zu Deiner Frage:
ZitatKann es sein, dass der MUNET400 kein GetMultiChannelSpeaker unterstützt? Ist es über die App möglich den MUNET400 mit anderen MUNETs zu einen Stereopaar zu schalten?

Die Munet400 kann man nicht über die Appmit einem anderen Munet zu einem Stereopaar zusammenschalten.

Gruß, Norbert
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: dominik am 13 Juni 2016, 18:24:04
@oxident, füge bitte mal noch folgende Zeile in den Testcode ein
  print "DEVICE: ".$device->friendlyName()."\n";
  print "LOCATION: ".$device->location()."\n";

Danach öffne mal den Link nach Location im Browser und poste dann den Inhalt (XML).

@savage7, was sind das für Boxen die du da hast? Kannst du die mit Windows, BubbleUPnP, ... steuern?

@Norbert, danke für die Info. Dann werde ich das mit berücksichtigen.
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: oxident am 13 Juni 2016, 20:11:56
Du kämpfst ja echt an allen Fronten ;-)

Hier der Inhalt der Description.XML:

<?xml version="1.0"?>
<root xmlns="urn:schemas-upnp-org:device-1-0">
<specVersion>
<major>1</major>
<minor>0</minor>
</specVersion>
<device>
<deviceType>urn:schemas-upnp-org:device:MediaRenderer:1</deviceType>
<presentationURL>/renderpres.html</presentationURL>
<friendlyName>bnetz</friendlyName>
<manufacturer>Ivo Clarysse</manufacturer>
<manufacturerURL>http://gmrender.nongnu.org/</manufacturerURL>
<modelDescription>gmediarender 0.0.6</modelDescription>
<modelName>bnetz</modelName>
<modelURL>http://gmrender.nongnu.org/</modelURL>
<UDN>uuid:4C0FC71DC147-1_0-000-888-382</UDN>
<modelNumber>0.0.6</modelNumber>
<serialNumber>1</serialNumber>
<iconList>
<icon>
<mimetype>image/png</mimetype>
<width>64</width>
<height>64</height>
<depth>24</depth>
<url>/upnp/grender-64x64.png</url>
</icon>
<icon>
<mimetype>image/png</mimetype>
<width>128</width>
<height>128</height>
<depth>24</depth>
<url>/upnp/grender-128x128.png</url>
</icon>
</iconList>
<serviceList>
<service>
<serviceType>urn:schemas-upnp-org:service:AVTransport:1</serviceType>
<serviceId>urn:schemas-upnp-org:service:AVTransport</serviceId>
<SCPDURL>/upnp/rendertransportSCPD.xml</SCPDURL>
<controlURL>/upnp/control/rendertransport1</controlURL>
<eventSubURL>/upnp/event/rendertransport1</eventSubURL>
</service>
<service>
<serviceType>urn:schemas-upnp-org:service:ConnectionManager:1</serviceType>
<serviceId>urn:schemas-upnp-org:service:ConnectionManager</serviceId>
<SCPDURL>/upnp/renderconnmgrSCPD.xml</SCPDURL>
<controlURL>/upnp/control/renderconnmgr1</controlURL>
<eventSubURL>/upnp/event/renderconnmgr1</eventSubURL>
</service>
<service>
<serviceType>urn:schemas-upnp-org:service:RenderingControl:1</serviceType>
<serviceId>urn:schemas-upnp-org:service:RenderingControl</serviceId>
<SCPDURL>/upnp/rendercontrolSCPD.xml</SCPDURL>
<controlURL>/upnp/control/rendercontrol1</controlURL>
<eventSubURL>/upnp/event/rendercontrol1</eventSubURL>
</service>
</serviceList>
</device>
</root>
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: dominik am 13 Juni 2016, 20:27:17
Danke oxident, Fehler gefunden :)

Dein Device liefert falsche ServiceIDs, daher werden die Services nicht gefunden. Ich werde daher die Erkennung im Code anpassen. Im nächsten Update laufen dann auch deine Devices ;)
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: dominik am 13 Juni 2016, 20:55:42
Update im 1. Post...

v2.0.0 RC4 - 20160613
- FEATURE: support devices with wrong serviceId
- BUGFIX: fix crash during stereo mode update for caskeid players
- FEATURE: add stereoPairName reading
- CHANGE: add version string to main device internals
- BUGFIX: fix error when UPnP method is not implemented
- FEATURE: identify stereo support (reading: stereoSupport)
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: oxident am 14 Juni 2016, 07:31:46
Vielen Dank für das Update. Also bei meiner China-Lampe ist es jetzt ein wenig besser geworden:
FHEM zeigt zwar nach wie vor bei Volume 0 an, aber dafür stürzt das System beim SetVolume nicht mehr ab und die Lautstärke wird scheinbar auch wirklich geändert. Die Anzeige in FHEM bleibt jedoch bei 0 stehen.

Im Log erhalte ich noch immer "handleOnce failed, mismatched tag 'head'"

Mute klappt leider nicht (keine Änderung laut UPnPTester)
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: dominik am 14 Juni 2016, 17:55:22
Mute funktioniert bei mir leider auch noch nicht...da bin ich noch dran.

Teste bitte die Version anbei, damit solltest du nun auch alle Events vom Device erhalten.
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: oxident am 14 Juni 2016, 19:47:31
Zitat von: dominik am 14 Juni 2016, 17:55:22
Mute funktioniert bei mir leider auch noch nicht...da bin ich noch dran.
Alles klar, sorry. Ich hatte das auch nur spontan ausprobiert. Ist auch erstmal nicht weiter wichtig.

Leider klappt die neue Version noch nicht so rund. Volume bleibt immer noch auf 0 und ich fürchte, ich hatte beim letzten Mal auch nicht richtig getestet. Hatte ja geschrieben dass der SetVolume-Befehl scheinbar doch korrekt ausgeführt wird. Dies stimmte aber leider gar nicht. Ich hatte vom Handy aus zwischenzeitlich auch mal "getestet" und vergessen, dass ich da schon mit der Lautstärke experimentiert hatte :-(

Aber der Perl-Testcode hatte definitiv funktioniert!

Im Log erscheint nun beim Initialisieren von FHEM folgendes:

DLNARenderer: XML formatting error: File does not exist: <Event xmlns = "urn:schemas-upnp-org:metadata-1-0/AVT/">
<InstanceID val="0">
<RelativeTimePosition val="00:00:00"/>
</InstanceID>
</Event> at ./FHEM/98_DLNARenderer.pm line 1166.
, <Event xmlns = "urn:schemas-upnp-org:metadata-1-0/AVT/">
<InstanceID val="0">
<RelativeTimePosition val="00:00:00"/>
</InstanceID>
</Event>
2016.06.14 19:41:44 3: DLNARenderer: handleOnce failed, mismatched tag 'head'

Vielleicht fällt Dir ja noch was ein ;-)
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: dominik am 14 Juni 2016, 20:27:29
Stell bitte mal auf Loglevel 5 und poste dann das Log nachdem du Volume gesetzt hast.
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: oxident am 14 Juni 2016, 22:00:42
Gerne. Habe Verbose auf 5 gesetzt (dlnadevice und spezifisches Device) und es kommt dann leider auch nur

4: DLNARenderer: RenderingControl, SetVolume(0,Master,10) does not exist.

Nützt Dir das etwas?

UPDATE: Bei einem Neustart kommt noch

2016.06.14 23:10:33 3: DLNARenderer: handleOnce failed, Can't use string ("
<Event xmlns = "urn:schemas-"...) as an ARRAY ref while "strict refs" in use at FHEM/lib/UPnP/ControlPoint.pm line 482.
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: dominik am 15 Juni 2016, 19:32:36
Probier bitte das mal aus...
use UPnP::ControlPoint;

my %bla = ();
my $cp = UPnP::ControlPoint->new(SearchPort => 0, SubscriptionPort => 0, MaxWait => 30, UsedOnlyIP => \%bla, IgnoreIP => \%bla);
$cp->searchByType('urn:schemas-upnp-org:device:MediaRenderer:1', \&Discover_Callback);
$cp->handle();

sub Discover_Callback($$$) {
  my ($search, $device, $action) = @_;

  print "DEVICE: ".$device->friendlyName()."\n";

  if($device->friendlyName() eq "DEVICENAME") {
    my $upnpService = $device->getService('urn:schemas-upnp-org:service:RenderingControl:1');
    if($upnpService->getAction("SetVolume")) {
      print "SetVolume exists.\n";
    } else {
      print "SetVolume method does not exist.\n";
    }
    my $upnpServiceCtrlProxy = $upnpService->controlProxy();
    $upnpServiceCtrlProxy->SetVolume(0, "Master", 20);
  }
}


Die Fehlermeldung in deinem Post sagt nämlich aus, dass kein SetVolume existiert.
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: oxident am 17 Juni 2016, 20:53:12
Hmm, komisch. Läuft durch:

DEVICE: bnetz
SetVolume exists.

... und danach per UPnPTest verifiziert. GetVolume liefert korrekterweise 20.
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: dominik am 17 Juni 2016, 21:32:47
Das ist jetzt eigenartig. Teste bitte mal die Version anbei, hab noch etwas Debug Output rein gemacht. Verbose für das Modul bitte auf 5 setzen damit auch alles angezeigt wird.
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: oxident am 18 Juni 2016, 01:35:10
Okay, es scheint sich zu bessern. SetVolume wird vom Device nun korrekt ausgeführt (Gegencheck durch UPnPTester)!
Die aktuelle Lautstärke wird in FHEM jedoch trotzdem mit 0 angegeben.
Im Log steht nun folgendes:

2016.06.18 01:27:41 3: DLNARenderer: Created device DLNA_4C0FC71DC147_1_0_000_888_382 for bnetz
2016.06.18 01:27:42 2: DLNARenderer: XML formatting error: File does not exist: <Event xmlns = "urn:schemas-upnp-org:metadata-1-0/AVT/">
<InstanceID val="0">
<RelativeTimePosition val="00:00:00"/>
</InstanceID>
</Event> at ./FHEM/98_DLNARenderer.pm line 1170.
, <Event xmlns = "urn:schemas-upnp-org:metadata-1-0/AVT/">
<InstanceID val="0">
<RelativeTimePosition val="00:00:00"/>
</InstanceID>
</Event>
2016.06.18 01:27:42 3: DLNARenderer: handleOnce failed, Can't use string ("
<Event xmlns = "urn:schemas-"...) as an ARRAY ref while "strict refs" in use at FHEM/lib/UPnP/ControlPoint.pm line 482.

Wobei mir generell auffällt, dass der eigentliche Devicename bei diesem Gerät nicht ganz dem "Muster" meiner anderen Geräte entspricht. Scheinbar wird hier die komplette UUID übernommen: DLNA_4C0FC71DC147_1_0_000_888_382
Bei den anderen Devices wird nur der hintere Teil übernommen: DLNA_002261EE0F56

Aber das ist bestimmt nicht relevant, oder?
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: dominik am 18 Juni 2016, 09:04:01
Super, zumindest schon mal einen Schritt weiter.

Der längere Device Name liegt an der "chinesischen" UUID ;) Jetzt stimmt nur noch was nicht mit der Event Verarbeitung. Ich werde noch paar Log Meldungen einbauen und stell dann eine neue Version zum Testen ein. Irgendwie bekommen wir das noch zum Laufen!
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: oxident am 18 Juni 2016, 10:47:29
 ::)

Super! Danke für Deine Bemühungen!
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: dominik am 18 Juni 2016, 19:04:48
@oxident, stell bitte das verbose Attribute auf 5 im Module. Mir fehlt da eine Ausgabe im Log "DLNARenderer: Received event: ...". Die bräuchte ich unbedingt um zu sehen was überhaupt ankommt.
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: oxident am 18 Juni 2016, 19:34:48
Hmm, das habe ich direkt nach dem Anlegen eigentlich erledigt. Sowohl beim "Master"-Device, als auch bei dem automatisch erstellten Device für die China-Birne. Andere Ausgaben erscheinen aber leider nicht...

UPDATE:
Also es erscheint beim Setzen der Lautstärke nur folgendes:

2016.06.18 19:33:06 1: PERL WARNING: Loading device description failed with error: 500 read timeout at ./FHEM/98_DLNARenderer.pm line 213
2016.06.18 19:36:45 5: DLNARenderer: RenderingControl: urn:schemas-upnp-org:service:RenderingControl:1 found. OK.
2016.06.18 19:36:45 5: DLNARenderer: RenderingControl, SetVolume(0,Master,42) succeed.
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: dominik am 18 Juni 2016, 19:51:40
Probier es nochmal neu anzulegen, das "Loading device description failed..." sollte nicht kommen. Nach dem SetVolume müsste dann ein Event im Log angezeigt werden.
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: Jack_n am 20 Juni 2016, 10:47:05
Hallo,

bin ganz neu im Thema FHEM aber mir schwirren schon massig Ideen im Kopf herum :-)

Falls der Beitrag hier falsch ist bitte ich die Admins ihn umzuhängen.

Ich habe einen DENON AVR, der im Display sehr schön die Infos's zB. von getaggten MP3 Dateien anzeigt.
Ich würde dieses Display gerne für Meldungen von FHEM "missbrauchen".

Die Idee ist auf dem Rechner eine leere MP3 abzulegen mit Länge ca. 10 - 15 Sek.
Die Datei wird dann zB mit mid3v2 mit den Infos getagged die ich am Display vom Denon ausgeben möchte (zB. Anruf von 0176666666 Max Muster).
Jetzt noch mit dem 98_DLNARenderer an den Denon schieben und ich müsste die Info auf dem Display haben, oder ?

Ginge das?

Vielen Dank und viele Grüße
Joachim
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: dominik am 23 Juni 2016, 18:26:25
Hallo Joachim,

deine Idee hört sich realisierbar an. Wenn du die Datei jetzt schon am DENON AVR mit dem DLNARenderer wiedergeben kannst, dann steht ja einem Proof of Concept mit manuell taggen nichts mehr im Wege.

Gruß,
Dominik
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: dominik am 23 Juni 2016, 18:53:10
Update im 1. Post...

v2.0.0 RC5 - 20160614
- BUGFIX: support events from devices with wrong serviceId
- BUGFIX: fix perl warning on startup
- BUGFIX: fix error if LastChange event is empty

Unterstützung gesucht für...
- Commandref DE
- Commandref EN
- FHEM Wiki Artikel (http://www.fhemwiki.de/)

Würde mich freuen wenn mich jemand bei den Tätigkeiten unterstützen könnte um die Funktionalitäten ordentlich zu dokumentieren. Sobald das getan ist, werde ich das Modul im offiziellen SVN aufnehmen.
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: Jack_n am 23 Juni 2016, 19:42:56
Hallo Dominik,

mein Problem ist dass ich sehr wenig mit FHEM gearbeitet habe bisher.

Ich werde mal von Hand eine MP3 taggen und dann an den Denon schicken.

Wenn das klappt brauch ich aber Euch Cracks...

Viele Grüße
Joachim
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: oxident am 23 Juni 2016, 21:02:24
Danke für die neue Version!
Bei mir erscheint im Log nun folgendes:

2016.06.23 20:57:30 3: DLNARenderer: DLNA Renderer v2.0.0 RC5
2016.06.23 20:57:30 3: DLNARenderer: Created device DLNA_4C0FC71DC147_1_0_000_888_382 for bnetz
2016.06.23 20:57:30 2: DLNARenderer: XML formatting error: File does not exist: <Event xmlns = "urn:schemas-upnp-org:metadata-1-0/AVT/">
<InstanceID val="0">
<RelativeTimePosition val="00:00:00"/>
</InstanceID>
</Event> at ./FHEM/98_DLNARenderer.pm line 1171.
, <Event xmlns = "urn:schemas-upnp-org:metadata-1-0/AVT/">
<InstanceID val="0">
<RelativeTimePosition val="00:00:00"/>
</InstanceID>
</Event>

Bringt Dich das irgendwie weiter?
Es geht noch um die China-Birne mit der komischen ID ;-)
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: Jack_n am 24 Juni 2016, 07:29:19
Hallo Dominik,

die von Hand getaggte Datei per PLEX auf den Denon geschoben ergibt das erwünschte Ergebnis.

Jetzt würde ich um Eure Hilfe bitten:

Ich habe FHEM auf einem Raspberry laufen, die MP3 würde ich unter /home/Music/Denon_Info.mp3 ablegen.

Wie würde dann der Aufruf für den DLNA Renderer aussehen?

So ?
set Denon_AVR-X4000 stream http://localhost/home/Music/Denon_Info.mp3

Viele Grüße
Joachim


Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: Jack_n am 24 Juni 2016, 17:20:18
Also ich bin ein wenig weiter....

mit set DLNA_0005cd37ae6d stream http://127.0.0.1/opt/fhem/www/pgm2/Info.mp3 komme ich leider nicht wie erhofft an meine dort abgelegte Info.mp3.

Mit dem SWR stream klappt es.

Wie kann ich denn eine Datei die lokal auf dem system liegt streamen ?

LG

Joachim
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: dominik am 30 Juni 2016, 20:28:36
Hallo Joachim,
ich hab selber noch keine Datei über einen DLNA Server abgespielt. Mach mal folgendes:
1. Lade dir eine UPnP Controller App runter
2. Wähle dort deinen DLNARenderer als Render Device aus
3. Wähle dann das mp3 File aus welches abgespielt werden soll
4. Prüfe dann das Reading currentTrackURI, den Link kannst du dann wahrscheinlich bei "stream ..." verwenden

@oxident, kannst du das gleiche Log nochmals mit verbose = 5 posten?

Gruß
Dominik
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: martins am 30 Juni 2016, 20:42:49
Hallo Joachim,
ich habe das schon einmal getestet und es hat funktioniert.
Speicher die Datei in /opt/fhem/www/info.mp3
und mit dem Aufruf: set DLNA_0005cd37ae6d stream http://<ip-addresse/fhem/info.mp3 sollte es dann funktionieren.
Wichtig ermittel die Richtige IP-Adresse von deinem fhem server, also nicht localhost oder 127.0.0.1, damit wird es nie funktionieren.

Alternativ kannst du den Link auch einmal in den Browser eingeben, dann weist du ob überhaupt etwas erkannt wird.
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: Jack_n am 06 Juli 2016, 20:28:54
Hallo,

das war es !

Ich habe bei der IP die richtige Adresse angegeben, jetzt geht's.

Vielen Dank !
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: MichaelT am 12 Juli 2016, 19:04:44
Hallo Dominik,

hab bei mir noch ein Problem gefunden, welches aber wahrscheinlich an BubbleUPNPServer liegt.
Ich habe ein Google Chromecast-Audio über den BubbleUPNPServer als DLNA-Device bereit gestellt.
Leider schickt Bubble den Volume-Event so:
2016.07.12 18:30:11 4: DLNARenderer: $VAR1 = {
          'Event' => {
                     'xmlns' => 'urn:schemas-upnp-org:metadata-1-0/RCS',
                     'InstanceID' => {
                                     'val' => '0',
                                     'Volume' => [
                                                 {
                                                   'channel' => 'Master',
                                                   'val' => '2'
                                                 }
                                               ]
                                   }
                   }
        };


Es fehlt der Slash am Ende von xmlns. Ist der Slash am Ende so spezifiziert oder kann ein Device den Slash optional schicken.

Ich hab's bei mir so geändert, dass in Zeile 976 auf beides reagiert wird.
} elsif (index($xml->{Event}{xmlns},"urn:schemas-upnp-org:metadata-1-0/RCS")==0) {

Grüße Michael


Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: Brockmann am 13 Juli 2016, 08:53:39
Gibt es eigentlich eine Möglichkeit, die Vergabe der Devicenamen zu beeinflussen? Derzeit wird ja wohl eine ID des Gerätes verwendet, was dann zu recht kryptischen Device-Namen führt.
Man kann die Devices zwar umbenennen (rename), aber das führt dann bei jedem Neustart zu einer langen Liste von "Please define ... first"-Meldungen.
Wie wäre es, wenn man alternativ den "friendly name", also den am Gerät eingestellten Eigenname, auch in FHEM als Gerätename verwenden kann, ggf. mit einem vorgegebenen Präfix "DLNA_", um Überschneidungen zu vermeiden?
Solange man sich in FHEM bewegt, spricht nichts gegen die derzeitigen Namen (bzw. da gäbe es ja auch alias). Aber ich steuere meine Geräte auch vom Tablet bzw.Tasker aus via FHEM und muss bei den Aufrufen dazu immer den Devicename verwenden.

Und noch ein kleiner Feature-Wunsch, falls das machbar ist: Wäre es möglich, dlnadevices ein Attribut "default_room" oderso zu spendieren. Wenn das definiert ist, werden alle erkannten Geräte in diesem Raum angelegt und stehen dann nicht mehr unter "Unsorted"?
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: dominik am 18 Juli 2016, 21:18:39
Hallo,

sorry für die späte Rückmeldung. Habe im Moment aber ziemlich viel zu tun...

@MichaelT
Danke dir! Patch folgt im nächsten Update...wahrscheinlich gleich im offiziellen Repository.

@Brockmann
Den "friendlyName" habe ich nicht verwendet, da es sonst zu leicht vorkommen kann, dass Devices den gleichen Namen haben. Da der Device Name in FHEM eindeutig sein muss, kann ich das leider nicht anpassen, da das Risiko von Fehlern zu groß ist. Die "Please define ... first" Meldungen müsstest du durch Löschen der Einträge in der fhem.save Datei beseitigt bekommen.
Die Idee mit dem "defaultRoom" nehme ich gerne auf - folgt im nächsten Update :)

Gruß,
Dominik
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: Brockmann am 19 Juli 2016, 09:07:40
Hallo Dominik,

Zitat von: dominik am 18 Juli 2016, 21:18:39
Den "friendlyName" habe ich nicht verwendet, da es sonst zu leicht vorkommen kann, dass Devices den gleichen Namen haben. Da der Device Name in FHEM eindeutig sein muss, kann ich das leider nicht anpassen, da das Risiko von Fehlern zu groß ist.
Das verstehe ich. Deshalb die Idee, analog zum DefaultRoom einen DefaultPrefix angeben zu können. Wenn der definiert ist, bekommen die Geräte als device name DefaultPrefix+friendlyname. Wenn nichts definiert ist, bleibt es wie bisher. Dann liegt es in der Verantwortung des Nutzers, den Prefix so zu wählen, dass es keine Kollisionen gibt. Ist aber nur ein frommer Wunsch. Ich kann auch mit dem Ist-Zustand leben.

Zitat
Die "Please define ... first" Meldungen müsstest du durch Löschen der Einträge in der fhem.save Datei beseitigt bekommen.
Danke für den guten Hinweis. werde ich mir anschauen.
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: MichaelT am 19 Juli 2016, 21:47:16
Zitat von: dominik am 18 Juli 2016, 21:18:39
...
@MichaelT
Danke dir! Patch folgt im nächsten Update...wahrscheinlich gleich im offiziellen Repository.
...

Gruß,
Dominik

Danke für die Übernahme. Hab Update gemacht, läuft alles.
Gruß Michael
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: michael.winkler am 20 Juli 2016, 08:58:51
Hallo,

auch ich nutze dein Modul. Leider habe ich das Problem dass das Modul jedes mal meine XBOX neu anlegt. Bei jedem XBOX start wird ein neues Device in FEHM angelegt. Gibt es hierzu eine Lösung?

Gruß
Michael
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: dominik am 21 Juli 2016, 18:23:02
Das Modul ist nun im offiziellen FHEM Repository.

Ideen, Bugs, Anregungen, etc. bitte weiterhin hier posten.
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: Weissbrotgrill am 22 Juli 2016, 22:29:12
Hallo,

heute beim FHEM Update ist mir dann dieses neue Modul aufgefallen. Ich wünsche mir schon länger einern Weg mittels FHEM das Internatradio meines Yamaha RX-773 zu steuern und mit dem FHEM Modul YAMAHA_AVR funktioniert dies leider nicht. Also habe ich das neue Modul sofort ausprobiert.

Meine bisherigen Erkenntnisse:

Perl Abhängigkeiten
Auf meinem Systeme fehlte zusätzlich zu den drei benannten Perl Voraussetzungen noch XML::Parser::Lite (Debian Paket libxml-parser-lite-perl)
Can't locate XML/Parser/Lite.pm in @INC (you may need to install the XML::Parser::Lite module

Erster Erfolg
Der Yamaha tauchte unmittelbar nach dem Anlegen des DLNARenderes als neues Device auf.
Statusinformationen sind alle verfügbar, Lautstärkeregelung, Stop, Play, ... gingen auch sofort.

Ersters Problem
Der entscheidende Befehl funktioniert(e) leider nicht:
Eine URL mit "set stream ..." setzen. Weder di.fm, noch SLAY Radio noch SWR3 wollte er akzeptieren. Es passiert jeweils nichts.

Lösung
Da ich bisher immer BubbleUPnP unter Android dazu nutze weiß ich das es geht. Also habe ich mittels TCP Dump nachgesehen was BubbleUPnP da an den Receiver sendet. Der sendet beim SetAVTransportURI auch noch CurrentURIMetaData. Dabei handelt es sich um eine DIDL-Lite XML Struktur.
<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="4d821dd7-75d0-4642-9760-15aff003bbda" parentID="parent" restricted="1">
    <upnp:class>object.item.audioItem.musicTrack</upnp:class>
    <dc:title>SLAY Radio</dc:title>
    <upnp:album>SLAY Radio</upnp:album>
    <res protocolInfo="http-get:*:audio/mpeg:DLNA.ORG_PN=MP3;DLNA.ORG_OP=01;DLNA.ORG_FLAGS=01700000000000000000000000000000">http://relay3.slayradio.org:8080/</res>
  </item>
</DIDL-Lite>


Ich habe mir daher das Modul angesehen um diese Metadaten ebenfalls zu übertragen.
Ja, es geht, sogar recht einfach. Ich habe nur vier Stellen leicht angepasst. Nun kann ich in den FHEM Attributen channel_01 bis channel_10 entweder eine URL wie bisher oder eine DID-Lite XML eintragen. Diese wird dann ausgewertet und die URL daraus extrahiert.

Die Lösung funktioniert, ist aber noch nicht sonderlich schön. Hier denoch meine Änderungen:
--- FHEM/98_DLNARenderer.pm.org 2016-07-22 18:18:54.071052434 +0200
+++ FHEM/98_DLNARenderer.pm 2016-07-22 19:31:29.888090049 +0200
@@ -310,7 +310,7 @@
   my $ttsLang = AttrVal($hash->{NAME}, "ttsLanguage", "en");
   return "DLNARenderer: Maximum text length is 100 characters." if(length($ttsText) > 100);
   
-  DLNARenderer_stream($hash, "http://translate.google.com/translate_tts?tl=$ttsLang&client=tw-ob&q=$ttsText");
+  DLNARenderer_stream($hash, "http://translate.google.com/translate_tts?tl=$ttsLang&client=tw-ob&q=$ttsText", "");
}

sub DLNARenderer_channel {
@@ -319,13 +319,20 @@
   if($stream eq "") {
     return "DLNARenderer: Set channel_XX attribute first.";
   }
-  DLNARenderer_stream($hash, $stream);
+  my $meta = "";
+  if (substr($stream,0,10) eq "<DIDL-Lite") {
+    my $xml = XMLin($stream);
+    $meta = $stream;
+    $stream = $xml->{"item"}{"res"}{"content"};
+  }
+  DLNARenderer_stream($hash, $stream, $meta);
   readingsSingleUpdate($hash, "channel", $channelNr, 1);
}

sub DLNARenderer_stream {
-  my ($hash, $stream) = @_;
-  DLNARenderer_upnpSetAVTransportURI($hash, $stream);
+  my ($hash, $stream, $meta) = @_;
+  if (!defined($meta)) { $meta = ""; }
+  DLNARenderer_upnpSetAVTransportURI($hash, $stream, $meta);
   DLNARenderer_play($hash);
   readingsSingleUpdate($hash, "stream", $stream, 1);
}
@@ -767,8 +774,9 @@
}

sub DLNARenderer_upnpSetAVTransportURI {
-  my ($hash, $stream) = @_;
-  return DLNARenderer_upnpCallAVTransport($hash, "SetAVTransportURI", 0, $stream, "");
+  my ($hash, $stream, $meta) = @_;
+  if (!defined($meta)) { $meta = ""; }
+  return DLNARenderer_upnpCallAVTransport($hash, "SetAVTransportURI", 0, $stream, $meta);
}

sub DLNARenderer_upnpStop {


Mute / Unmute
Das funktioniert leider nur zu 50%. Mute geht, unmute nicht. Mit UpnpTester und dessen Linux Gegenstück GUpnP-Tools funktioniert beides.
Da ich dies komplett via FHEM Modul YAMAHA_AVR realisiere bin ich hier nicht traurig. Falls das Problem auch bei anderen auftaucht hier mal die relevanten Infos der Mitschnitte.

Mute via FHEM:
<?xml version="1.0" encoding="UTF-8"?><soap:Envelope soap:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:namesp54="u" xmlns:namesp55="urn:schemas-upnp-org:service:RenderingControl:1" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><soap:Body><namesp55:SetMute><InstanceID xsi:type="xsd:int">0</InstanceID><Channel xsi:type="xsd:string">Master</Channel><DesiredMute xsi:type="xsd:boolean">true</DesiredMute></namesp55:SetMute></soap:Body></soap:Envelope>

Unmute via FHEM:
<?xml version="1.0" encoding="UTF-8"?><soap:Envelope soap:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:namesp61="u" xmlns:namesp62="urn:schemas-upnp-org:service:RenderingControl:1" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><soap:Body><namesp62:SetMute><InstanceID xsi:type="xsd:int">0</InstanceID><Channel xsi:type="xsd:string">Master</Channel><DesiredMute xsi:type="xsd:boolean">false</DesiredMute></namesp62:SetMute></soap:Body></soap:Envelope>

Mute via GUpnP-Tools (Linux, gupnp-universal-cp):
<?xml version="1.0"?><s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><s:Body><u:SetMute xmlns:u="urn:schemas-upnp-org:service:RenderingControl:1"><DesiredMute>1</DesiredMute><Channel>Master</Channel><InstanceID>0</InstanceID></u:SetMute></s:Body></s:Envelope>

Unute via GUpnP-Tools (Linux, gupnp-universal-cp):
<?xml version="1.0"?><s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><s:Body><u:SetMute xmlns:u="urn:schemas-upnp-org:service:RenderingControl:1"><DesiredMute>0</DesiredMute><Channel>Master</Channel><InstanceID>0</InstanceID></u:SetMute></s:Body></s:Envelope>

FHEM sendet hier immer true und false während GUPnP-Tools 1 und 0 senden.

Fazit
Ein sehr schönes Modul, ich bin begeistert. Vielen vielen Dank.
Nun kann ich endlich meinen Yamaha als Wecker nutzen und komplett in die Heimautomatisierung incl. Anwesenheitserkennung, Feiertage, Urlaub, etc. integrieren.

Gruß
Christian
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: dominik am 23 Juli 2016, 09:16:56
Hi Christian,

vielen Dank für die tollen Informationen/Patches!! :)
Das mit den Metadaten hatte ich schon mal am Radar, aber mir fehlten da noch passende Logs. Ich werde deinen Patch testen und wenn alles funktioniert das Modul updaten.

Mute/Unmute sollte mit deinen hilfreichen Traces auch noch umsetzbar sein.

Freue mich, dass dir das Modul gefällt und noch mehr, dass du gleich aktiv dazu beisteuerst! :)

Gruß,
Dominik
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: dominik am 23 Juli 2016, 10:19:17
Hi Christian,

kannst du mal die Version anbei nur mit set player stream http://relay3.slayradio.org:8080/ testen? Habe nun die Implementierung so gebaut, dass die DIDL-Lite Metadaten automatisch erstellt werden.

Gruß,
Dominik
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: Brockmann am 23 Juli 2016, 12:56:00
Wie wird denn das Attribut ignoreUDNs richtig verwendet? Ich habe zwei UDNs mit einem Komma getrennt angegeben, aber zumindest das zweite Device taucht trotzdem wieder auf. Muss mit einem "|" getrennt werden?
Vielleicht sollte diese Information bei Gelegenheit auch in der Commandref ergänzt werden.
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: Weissbrotgrill am 23 Juli 2016, 13:03:26
Hallo Dominik,

nachdem ich gestern mehrere Stunden nach dem Problem gesucht und dann endlich die Lösung gefunden hatte konnte ich diese unmöglich für mich behalten.  :-)

Habe die neue Version getestet, funktionienrt. Allerdings erst nachdem ich meinen eigenen Tippfehler korrigiert habe:
http://relay3.slayradio.org:8000/
=> acht tausend, nicht achzig/achzig  ;)

Schön das du die Anpassungen der Channels übernommen hast. Denn dadurch lassen sich Album, Artist, Titel und sogar Albumcover mit setzen. Leider aktualisiert mein Yamaha dieses Infos nichts aus dem laufenden Stream. Im Display am Gerät steht alles ordentlich, aber via UPnP scheint er das nicht zu setzen. Auch BubbleUPnP zeigt da nichts atuelles an und mit den GUPnP-Tools gibt es auch keine aktuellen infos.. Naja, zum Glück zeigt YAMAHA_AVR diese fehlenden Infos an, so kann ich mir doch noch irgend wie eine nette Statusanzeige zusammenbauen.  ;)

Gruß
Christian
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: Weissbrotgrill am 23 Juli 2016, 13:41:14
Hallo Brockmann,

Zitat von: Brockmann am 23 Juli 2016, 12:56:00
Wie wird denn das Attribut ignoreUDNs richtig verwendet?

Da ich gerade sowieso im Quellcode unterwegs bin habe ich dort mal nachgesehen.
Es muss die exakte UDN des Gerätes eingegeben werden. Trennzeichen ist offenbar egal. Die UDN ist eine UUID, sieht also z.B. wie folgt aus:
uuid:53dba25b-4e84-4705-9958-fa916a362146

Sie kann in den angelgeten Devices unter Internal nachgelesen werden. Ich habe dies eben mit zwei Geräten erfolgreich getestet. Als Trennzeichen habe ich einfach ein Leerzeichen genommen. Auch mit Komma als Trennzeichen werden die Geräte nicht angelegt.

@Dominik:
Wenn ein Gerät in ignoreUDNs steht gibt es im Verbose Log ein paar Fehler sobald dieses nicht mehr erreichbar ist:

2016.07.23 13:33:48 4: DLNARenderer: deviceRemoved, BubbleUPnP (SGP511)
2016.07.23 13:33:48 1: ERROR: empty name in readingsBeginUpdate
2016.07.23 13:33:48 3: stacktrace:
2016.07.23 13:33:48 3:     main::readingsBeginUpdate           called by fhem.pl (4186)
2016.07.23 13:33:48 3:     main::readingsSingleUpdate          called by ./FHEM/98_DLNARenderer.pm (1367)
2016.07.23 13:33:48 3:     main::DLNARenderer_removedDevice    called by ./FHEM/98_DLNARenderer.pm (1189)
2016.07.23 13:33:48 3:     main::DLNARenderer_discoverCallback called by ./FHEM/98_DLNARenderer.pm (1153)
2016.07.23 13:33:48 3:     main::__ANON__                      called by FHEM/lib/UPnP/ControlPoint.pm (972)
2016.07.23 13:33:48 3:     UPnP::ControlPoint::Search::deviceRemoved called by FHEM/lib/UPnP/ControlPoint.pm (363)
2016.07.23 13:33:48 3:     UPnP::ControlPoint::_deviceRemoved  called by FHEM/lib/UPnP/ControlPoint.pm (469)
2016.07.23 13:33:48 3:     UPnP::ControlPoint::_receiveSSDPEvent called by FHEM/lib/UPnP/ControlPoint.pm (165)
2016.07.23 13:33:48 3:     UPnP::ControlPoint::handleOnce      called by ./FHEM/98_DLNARenderer.pm (224)
2016.07.23 13:33:48 3:     (eval)                              called by ./FHEM/98_DLNARenderer.pm (223)
2016.07.23 13:33:48 3:     main::DLNARenderer_Read             called by fhem.pl (3199)
2016.07.23 13:33:48 3:     main::CallFn                        called by fhem.pl (667)
2016.07.23 13:33:48 1: readingsUpdate(,presence,offline) missed to call readingsBeginUpdate first.
2016.07.23 13:33:48 1: ERROR: empty name in readingsBeginUpdate
2016.07.23 13:33:48 3: stacktrace:
2016.07.23 13:33:48 3:     main::readingsBeginUpdate           called by fhem.pl (4186)
2016.07.23 13:33:48 3:     main::readingsSingleUpdate          called by ./FHEM/98_DLNARenderer.pm (1368)
2016.07.23 13:33:48 3:     main::DLNARenderer_removedDevice    called by ./FHEM/98_DLNARenderer.pm (1189)
2016.07.23 13:33:48 3:     main::DLNARenderer_discoverCallback called by ./FHEM/98_DLNARenderer.pm (1153)
2016.07.23 13:33:48 3:     main::__ANON__                      called by FHEM/lib/UPnP/ControlPoint.pm (972)
2016.07.23 13:33:48 3:     UPnP::ControlPoint::Search::deviceRemoved called by FHEM/lib/UPnP/ControlPoint.pm (363)
2016.07.23 13:33:48 3:     UPnP::ControlPoint::_deviceRemoved  called by FHEM/lib/UPnP/ControlPoint.pm (469)
2016.07.23 13:33:48 3:     UPnP::ControlPoint::_receiveSSDPEvent called by FHEM/lib/UPnP/ControlPoint.pm (165)
2016.07.23 13:33:48 3:     UPnP::ControlPoint::handleOnce      called by ./FHEM/98_DLNARenderer.pm (224)
2016.07.23 13:33:48 3:     (eval)                              called by ./FHEM/98_DLNARenderer.pm (223)
2016.07.23 13:33:48 3:     main::DLNARenderer_Read             called by fhem.pl (3199)
2016.07.23 13:33:48 3:     main::CallFn                        called by fhem.pl (667)
2016.07.23 13:33:48 1: readingsUpdate(,state,offline) missed to call readingsBeginUpdate first.


Sieht so aus als sollen hier ein paar Readings aktualisiert werden die nicht existieren.

Gruß
Christian
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: Weissbrotgrill am 23 Juli 2016, 18:27:53
Hallo Dominik,

bei deiner Änderung das nun die DIDL-Lite Metadaten bei "set ... stream ..." generiert werden gibt es ein Problem.
Das sind Metadaten einer MPEG Audiodatei. Selbstverständlich gibt es dann Probleme mit allen anderen Dateitypen wie AAC, OGG, MPEG, MP4, MKV, ....

Um das also richtig ordentlich zu machen müsste das Modul die URL aufrufen und die Metadaten ermitteln um diese dann zu übergeben.
Ich habe ein wenig mit LWP::Useragent experimentiert und denke das damit ausreichend Informationen abrufbar sind. Aber es gibt hoffentlich schon eine Perl Klasse für sowas ;)

Für eine Videodatei müssten in der DIDL-Lite folgende Änderungen vorgenommen werden:
<upnp:class>object.item.videoItem</upnp:class>

Und das XML Element "res" ändert sich (Beispiel einer Matroska Datei):
<res protocolInfo="http-get:*:video/x-matroska:DLNA.ORG_FLAGS=01700000000000000000000000000000;DLNA.ORG_OP=01">URL entfernt</res>

Gruß
Christian
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: dominik am 24 Juli 2016, 12:24:58
Hallo Christian,

die Analyse des Streams muss ich mir noch genauer überlegen wie man das vernünftig löst. FFmpeg hätte ich als Library gefunden die passen könnte. Wie greift BubbleUPnP auf die Radio Streams zu? Über Shoutcast?

Werde mal nur die Änderung über channel_X einchecken und die Option mit "set ... stream ..." vorerst entfernen.

Gruß,
Dominik
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: Weissbrotgrill am 24 Juli 2016, 14:48:52
Hallo Dominik,

wenn ich in BubbleUPnP eine HTTP Stream-URL zur Playliste hinzufüge ruft BubbleUPnP diese sofort ab. Neben den Headern werden noch ein paar Stream-Daten abgerufen und dann bricht BubbleUPnP ab. Der Zugriff erfolgt über simples HTTP.

Ich bin mir nicht sicher ob der Stream wirklich mit ffmpeg analysiert werden muss. Evtl. reichte es aus den Content-Type aus dem HTTP Responce Header zu nehmen.
Hier ein kleines Testscript um die DIDL-Lite Metadaten aus den HTTP Responce Headern zu generieren. Einfach die Stream-URL als Übergabeparameter mitgeben.

#!/usr/bin/perl

use strict;
use warnings;
use LWP::UserAgent;

#my $stream = "http://relay4.slayradio.org:8000/";
my $stream = $ARGV[0];

my $ua = new LWP::UserAgent;
$ua->max_size(0);
my $resp = $ua->get($stream);
print $resp->headers_as_string, "\n";

my $didl_header = '<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">';
my $didl_footer = '</item></DIDL-Lite>';

$stream =~ s/&/&amp;/g;

my $size = "";
my $protocolInfo = "";
my $album = $stream;
my $title = $stream;
my $meta = "";

if (defined($resp->header('content-length'))) {
  $size = ' size="'.$resp->header('content-length').'"';
}

if (defined($resp->header('contentfeatures.dlna.org'))) {
  $protocolInfo = "http-get:*:".$resp->header('content-type').":".$resp->header('contentfeatures.dlna.org');
} else {
  $protocolInfo = "http-get:*:".$resp->header('content-type').":DLNA.ORG_OP=01;DLNA.ORG_FLAGS=01700000000000000000000000000000";
}

if (defined($resp->header('icy-name'))) {
  $album = $resp->header('icy-name');
}

if (defined($resp->header('icy-genre'))) {
  $title = $resp->header('icy-genre');
}

if (substr($resp->header('content-type'),0,5) eq "audio") {
  $meta = $didl_header.'<upnp:class>object.item.audioItem.musicTrack</upnp:class><dc:title>'.$title.'</dc:title><upnp:album>'.$album.'</upnp:album><res protocolInfo="'.$protocolInfo.'"'.$size.'>'.$stream.'</res>'.$didl_footer;
} elsif (substr($resp->header('content-type'),0,5) eq "video") {
  $meta = $didl_header.'<upnp:class>object.item.videoItem</upnp:class><dc:title>'.$title.'</dc:title><upnp:album>'.$album.'</upnp:album><res protocolInfo="'.$protocolInfo.'"'.$size.'>'.$stream.'</res>'.$didl_footer;
} else {
  $meta = "";
}

print $meta, "\n";


Bisher akzeptiert mein Panasonic TV und mein Yamaha AVR jede damit generierte DIDL-Lite Metadaten.

Beim Generieren der XML Daten sollte ggf. ein passendes Perl Modul verwendet werden damit ein korrektes XML heraus kommt. So muss z.B: aus "&" ein "&amp;" werden.

Gruß
Christian
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: dominik am 24 Juli 2016, 17:24:49
Genial Christian! :)

Werde das mal bei mir für ein paar Stream probieren. Wenn es klappt, übernehme ich gerne deinen Testcode ins Modul.

Gruß,
Dominik
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: Weissbrotgrill am 24 Juli 2016, 18:21:47
Hallo Dominik,

freut mich das es dir gefällt.

Bitte zwei Dinge beachten:
Gruß
Christian
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: Brockmann am 25 Juli 2016, 09:40:24
Zitat von: Weissbrotgrill am 23 Juli 2016, 13:41:14
Es muss die exakte UDN des Gerätes eingegeben werden. Trennzeichen ist offenbar egal. Die UDN ist eine UUID, sieht also z.B. wie folgt aus:
uuid:53dba25b-4e84-4705-9958-fa916a362146
Ich habe es nochmal probiert. Wichtig ist, dass man nicht die reine ID nimmt, sondern das "uuid:" davor belässt. Dann klappt es auch mit dem Ignorieren. Das war mein Fehler bzw. meine Fehlannahme, weshalb es nicht auf Anhieb geklappt hat.

DefaultRoom funktioniert übrigens prima, vielen Dank dafür!

Aber mal eine Frage zu den Attributen generell: Warum werden DefaultRoom und ignoreUDNs als userattr definiert? Das Modul DLNARenderer kann doch seine eigenen Attribute festlegen. userattr werden nach meinem Verständnis vom Benutzer angelegt, entweder global oder nur für bestimmte Devices. Also es funktioniert so natürlich auch, aber es scheint mir etwas unkonventionell zu sein.
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: dominik am 25 Juli 2016, 18:43:17
@Brockmann
Das mit "uuid:" nehme ich in die CommandRef auf.

Ich habe die Attribute in userattr aufgenommen, da ich sonst keine Möglichkeit gefunden habe die Attribute nur im Main Device anzuzeigen und nicht in den Play Devices. Wenn du eine andere Möglichkeit kennst, baue ich das gerne an, da mir die aktuelle Lösung auch nicht gefällt.

@Christian
Kannst du mal deinen Player mit folgender URI (http://mp3-live.swr3.de/swr3_m.m3u) und die aus deinem Testscript generierte DIDL-Lite XML versorgen? Da kommt dann nämlich audio/x-mpegurl als MIME Type. Bin mir nicht sicher ob die Player damit umgehen können. Des Weiteren dürften die Attribute für Icy-* nur bei Icecast Servern vorliegen. Wenn also kein Icecast Server verwendet wird, bleibt Title/Album = URI, wäre für mich auch ok.
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: Weissbrotgrill am 25 Juli 2016, 19:06:09
Hallo Dominik,

Zitat von: dominik am 25 Juli 2016, 18:43:17
Kannst du mal deinen Player mit folgender URI (http://mp3-live.swr3.de/swr3_m.m3u) und die aus deinem Testscript generierte DIDL-Lite XML versorgen? Da kommt dann nämlich audio/x-mpegurl als MIME Type. Bin mir nicht sicher ob die Player damit umgehen können.
Ich bin schwer überrascht, das funktioniert. Damit habe ich wirklich nicht gerechnet.
Das ist natürlich nur ein einzelner Test mit einem Endgerät und somit nicht unbedingt aussagekräftig.

Zitat von: dominik am 25 Juli 2016, 18:43:17
Des Weiteren dürften die Attribute für Icy-* nur bei Icecast Servern vorliegen. Wenn also kein Icecast Server verwendet wird, bleibt Title/Album = URI, wäre für mich auch ok.
Immer noch besser als nicht :-)

Gruß
Christian
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: dominik am 25 Juli 2016, 20:14:51
Hi Christian,

kannst du die Version anbei mal bei dir mit ein paar URIs testen? Habe die DIDL-Lite Generierung mit einem BlockingCall implementiert um sicher zu gehen, dass FHEM nicht blockiert wird.

Gruß,
Dominik
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: Brockmann am 26 Juli 2016, 09:00:40
Zitat von: dominik am 25 Juli 2016, 18:43:17
Ich habe die Attribute in userattr aufgenommen, da ich sonst keine Möglichkeit gefunden habe die Attribute nur im Main Device anzuzeigen und nicht in den Play Devices. , bleibt Title/Album = URI, wäre für mich auch ok.
Ah, verstehe das Problem. Nee, dafür gibt es in der Tat keine (einfache) andere Lösung. Im Grunde genommen müsstest Du trennen zwischen dem zentralen Device, das die DLNA-Geräte sucht und erstellt und den DLNA-Renderern selbst. Also quasi ein Modul DLNARendererCtrl für die zentrale Instanz und ein Modul DLNARenderer für die erstellten Geräte. Aber der Aufwand wäre natürlich Quatsch, nur um die Attribute aufzuhübschen. Sind ja wirklich nur "Schönheitsfehler".
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: Weissbrotgrill am 26 Juli 2016, 20:21:03
Hallo,

alle Tests mit "set player stream http....".

mehrere MP3 Stream URIs => OK
mehrere MP3 Stream URIs in M3U Dateien => OK
mehrere AAC Stream URIs => will mein Yamaha nicht
mehrere AAC Stream URIs in M3U Dateien => OK, verrückt
PLS Dateien => mag mein Yamaha nicht
OGG Vorbis => OK, nachdem ich "application/ogg" hinzugefügt habe

Bei den Test sind mir ein paar Kleinigkeiten aufgefallen die ich dann korrigiert habe:

1460d1459
<   print $resp->headers_as_string, "\n";
1476a1476,1478
>   my @header = split /;/, $resp->header('content-type');
>   my $contenttype = $header[0];
>
1478c1480
<     $protocolInfo = "http-get:*:".$resp->header('content-type').":".$resp->header('contentfeatures.dlna.org');
---
>     $protocolInfo = "http-get:*:".$contenttype.":".$resp->header('contentfeatures.dlna.org');
1480c1482
<     $protocolInfo = "http-get:*:".$resp->header('content-type').":DLNA.ORG_OP=01;DLNA.ORG_FLAGS=01700000000000000000000000000000";
---
>     $protocolInfo = "http-get:*:".$contenttype.":DLNA.ORG_OP=01;DLNA.ORG_FLAGS=01700000000000000000000000000000";
1484c1486
<     $album = $resp->header('icy-name');
---
>     $album = encode_entities($resp->header('icy-name'));
1488c1490
<     $title = $resp->header('icy-genre');
---
>     $title = encode_entities($resp->header('icy-genre'));
1491c1493
<   if (substr($resp->header('content-type'),0,5) eq "audio") {
---
>   if (substr($contenttype,0,5) eq "audio" or $contenttype eq "application/ogg") {
1493c1495
<   } elsif (substr($resp->header('content-type'),0,5) eq "video") {
---
>   } elsif (substr($contenttype,0,5) eq "video") {


Danach habe ich noch diverse andere Streams ausprobiert und konnte bisher keine Probleme mehr erkennen.

Gruß
Christian
Titel: wird FHEM durch das Modul "geblockt"?
Beitrag von: alpha1974 am 27 Juli 2016, 14:30:04
Werte FHEMler,

kann es sein, dass das Modul den gesamten FHEM-Server gelegentlich blockiert und deshalb u.a. die Web-Oberfläche vorübergehend nicht erreichbar ist?

Hintergrund meiner Frage: Ich habe das zum Modul gehörende Device im Urlaub eingerichtet (via VPN) und es lief seitdem alles problemlos. Unter Unsorted wurde der einzige DLNA-Server in meinem Netzwerk gefunden und eingerichtet.

Aus dem Urlaub zurück starte ich meinen Laptop mit Windows 10 mit aktivierter Medienfreigabe und seitdem "hängt" FHEM gelegentlich.
Im Log erscheint:
PERL WARNING: Loading device description failed with error: 500 Can't connect to 192.168.178.23:2869 at ./FHEM/98_DLNARenderer.pm line 220.

Meine Vermutung: Der Laptop, auf dem die Medienfreigabe aktiviert ist (nunmehr: war), schickte ein DLNA-Advertising ins lokale Netzwerk und das DLNARenderer-Modul versuchte, darauf zu reagieren. Allerdings konnte der Raspberry, auf dem FHEM läuft, den Laptop nicht aktiv erreichen, weil beide in unterschiedlichen Netzen sind und die Firewall dafür sorgt, dass nur der Laptop (= DLNA-Server) in das Subnetz des Raspberry kommt, aber nicht umgekehrt.

Kann das dazu führen, dass FHEM geblockt wird? Ich habe jetzt auf dem Win10-Laptop die Medienfreigabe und die Netzwerkerkennung deaktiviert und seitdem kommt die o.g. Fehlermeldung nicht mehr und die FHEM-Weboberfläche ist auch durchgehend erreichbar.

Gruß,
alpha1974
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: savage7 am 27 Juli 2016, 18:15:22
Hi Dominik

hatte es schonmal vor einiger Zeit ausprobiert und immer 400 Fehler bekommen, das ist leider mit Version 2.0.0 noch immer so.
Ich kann die Geräte aber sonst als normale Dlna Renderer verwenden. Es handelt sich um:
yamaha rx-479 (av rx) und yamaha wx030 (netzwerk lautsprecher)

Hab mit dem Intel Device Spy mal ein paar Screenshots gemacht. Vielleicht liegt nur daran, dass zb. die falsche Url für das Device angesprochen wird. Siehst du in den Screenshots etwas Auffälliges?
In Fhem selber wird das Gerät richtig erkannt und alle Infos auch richtig angezeigt, nur sobald ein simpler Befehl wie setVolume aufgerufen wir kommt ein 400 Fehler.
Beispiel Fehler:
2016.07.19 22:36:26 3: DLNARenderer: RenderingControl, SetVolume(0,Master,88) failed, 400 Bad Request at FHEM/lib/UPnP/ControlPoint.pm line 847.
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: savage7 am 27 Juli 2016, 18:21:21
Noch ein Zusatz:
Mit dem Intel Device Spy hab ich die Methode setVolume erfolgreich aufgerufen. Anbei der TCP den ich davon mit Wireshark abgefangen habe.
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: dominik am 31 Juli 2016, 09:08:27
@Christian
Vielen Dank für die Korrektur und den Patch. Habe es bei mir bereits angepasst und werde es heute commiten.

@alpha1974
Das kann durchaus vorkommen, wenn das DLNA Device nicht erreicht wird. Der Fehler liegt in der ControlPoint.pm von FHEM. Dort werden die Device Informationen mit LWP über get geholt und das kann den Prozess blockieren:
https://github.com/chregu/fhem-sonos/blob/master/FHEM/lib/UPnP/ControlPoint.pm#L273
Da müsste man mal die ControlPoint.pm komplett Non-Blocking machen.

@savage7
Kannst du bitte noch mit Verbose=5 das Log vom DLNARenderer.pm posten?
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: savage7 am 01 August 2016, 08:14:44
Verbose 5 auf Fhem:

2016.08.01 08:08:50 4: WEB_83.164.197.70_4899 POST /fhem&detail=DLNA_00a0ded1c9cd&dev.setDLNA_00a0ded1c9cd=DLNA_00a0ded1c9cd&cmd.setDLNA_00a0ded1c9cd=set&arg.setDLNA_00a0ded1c9cd=volume&val.setDLNA_00a0ded1c9cd=55; BUFLEN:0
2016.08.01 08:08:50 5: Cmd: >set DLNA_00a0ded1c9cd volume 55<
2016.08.01 08:08:50 5: DLNARenderer: RenderingControl: urn:schemas-upnp-org:service:RenderingControl:1 found. OK.

2016.08.01 08:08:50 3: DLNARenderer: RenderingControl, SetVolume(0,Master,55) failed, 400 Bad Request at FHEM/lib/UPnP/ControlPoint.pm line 847.

2016.08.01 08:08:50 5: Triggering DLNA_00a0ded1c9cd (1 changes)
2016.08.01 08:08:50 5: Starting notify loop for DLNA_00a0ded1c9cd, first event volume 55
2016.08.01 08:08:50 4: WEB_83.164.197.70_4899 GET /fhem?detail=DLNA_00a0ded1c9cd&fw_id=; BUFLEN:0
2016.08.01 08:08:50 4: name: /fhem?detail=DLNA_00a0ded1c9cd&fw_id= / RL:13863 / text/html; charset=UTF-8 / Content-Encoding: gzip
/
2016.08.01 08:08:50 4: Connection closed for WEB_83.164.197.70_45568: EOF
2016.08.01 08:08:50 4: WEB_83.164.197.70_4899 GET /fhem?cmd={ReadingsVal(%22DLNA_00a0ded1c9cd%22,%22volume%22,%22%22)}&XHR=1; BUFLEN:0
2016.08.01 08:08:50 5: Cmd: >{ReadingsVal("DLNA_00a0ded1c9cd","volume","")}<
2016.08.01 08:08:50 4: name: /fhem?cmd={ReadingsVal(%22DLNA_00a0ded1c9cd%22,%22volume%22,%22%22)}&XHR=1 / RL:23 / text/plain; charset=UTF-8 / Content-Encoding: gzip


Wenn ich verbose 5 nur beim Dlna Gerät stell kommt nur diese Fehlermeldung:

2016.08.01 08:10:58 3: DLNARenderer: RenderingControl, SetVolume(0,Master,55) failed, 400 Bad Request at FHEM/lib/UPnP/ControlPoint.pm line 847.

Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: michael.winkler am 04 August 2016, 07:37:47
Hallo,

da ich zu meinem letzte Post leider keine Antwort erhalten habe, versuche ich es noch mal.

Ich habe das Problem dass das Modul jedes mal meine XBOX neu anlegt. Bei jedem XBOX start wird ein neues Device in FEHM angelegt. Gibt es hierzu eine Lösung?

Gruß
Michael
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: Brockmann am 04 August 2016, 08:24:48
Zitat von: michael.winkler am 04 August 2016, 07:37:47
Ich habe das Problem dass das Modul jedes mal meine XBOX neu anlegt. Bei jedem XBOX start wird ein neues Device in FEHM angelegt. Gibt es hierzu eine Lösung?
Das dürfte daran liegen, dass die XBox ihre UUID ändert. DLNARenderer unterscheidet die Geräte anhand ihrer UUID. Die findest Du bei jedem angelegten Gerät in den Internals unter UDN. Ein Teil dieses UDN wird auch als Name des Geräts (nicht Alias!) verwendet. DLNARenderer geht davon aus, dass jedes Gerät immer dieselbe UUID meldet. Wenn das nicht der Fall ist, kann das Gerät auch nicht wiedererkannt werden, sondern wird als neues Gerät hinzugefügt.
Schau mal in den Internals nach, welchen UDN und welchen Name die verschiedenen Geräte verwenden, die für Deine XBox angelegt werden. Vielleicht lässt sich da zumindest eine Gemeinsamkeit erkennen und man kann über das Attribut ignoreUDN weitere Neudefinitionen verhindern.
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: pirndi am 06 August 2016, 09:50:27
Hallo!

Ist es möglich das DIAL Protokoll mit einzubauen? das müsste das Protokoll für Google cast sein wenn ich mich nicht irre. Damit würden sich viele Geräte ansprechen lassen.

Edit:

Hab noch einen Link gefunden, da hat jemand das ganze in Python gemach:
https://github.com/balloob/pychromecast/blob/master/pychromecast/dial.py
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: Brockmann am 06 September 2016, 14:52:10
Ich habe folgendes merkwürdige Phänomen:

Wenn ich einen Radiostream (beispielsweise http://www.ndr.de/resources/metadaten/audio/m3u/ndr2_nds.m3u) auf meinen MUNET PMN300 über FHEM starte, stottert die Wiedergabe, so also ob jede zweite Sekunde die Laustärke gemutet wird, also ständig an-aus-an-aus. Der Stream hält dabei nicht an, sondern läuft weiter. Ich dachte erst, das Ding wäre defekt, aber wenn ich auf demselben Gerät denselben Stream über BubbleUPnP starte, läuft er völlig sauber und problemlos.

Habe mehrere der Munets und es ist bei allen so. Gleichzeitig habe ich auch ein Gerät von Pioneer, wo die Wiedergabe solcher Streams aus FHEM problemlos klappt.

Hat jemand eine Idee, woran es liegen könnte? Kann DLNA-Renderer irgendwas beim Starten des Streams anders machen als Bubble-UPnP? Lassen sich da noch irgendwelche Parameter setzen?
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: dominik am 06 September 2016, 20:19:24
Hallo,
ich habe das gleiche Problem und dachte es lag an meinem WLAN. Hab aber auch einen Fix im Code dafür gefunden :)

Anbei mal eine aktualisierte Version, kannst du bitte damit deine MUNETs testen inkl. Multiroom? Wenn es funktioniert, checke ich die Version ein.

Gruß,
Dominik
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: Brockmann am 07 September 2016, 07:58:58
Zitat von: dominik am 06 September 2016, 20:19:24
Anbei mal eine aktualisierte Version, kannst du bitte damit deine MUNETs testen inkl. Multiroom? Wenn es funktioniert, checke ich die Version ein.
Sollte das nicht 98_DLNARenderer.pm sein?
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: dominik am 07 September 2016, 18:09:21
Zitat von: Brockmann am 07 September 2016, 07:58:58
Sollte das nicht 98_DLNARenderer.pm sein?

Korrigiert :)
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: MattG am 07 September 2016, 23:10:11
Hallo Dominik,

bin heute auf das Modul gestossen und musste es gleich ausprobieren! Das ist mal ein wirklich einfach einzubindendes Modul - es hat innerhalb einer Minute meine Geräte gefunden und ich konnte sofort Funktionen wie Play, Pause und Lautstärke nutzen. Ich verwende das Modul jetzt, um mein Raumfeld-System direkt zu steuern (playToggle, next, previous, volume). Bisher lief das über eine externe Software (Raumserver), worauf ich jetzt verzichten kann. Danke dafür!!

Mir sind beim Probieren drei Stellen aufgefallen, an denen ich noch editieren musste, bis es für mich lief: next und previous haben je einen Tippfehler  (Trasnport) und bei pauseToggle fehlt {VAL}.

Viele Grüße,
Matthias
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: Brockmann am 08 September 2016, 10:38:09
Zitat von: dominik am 06 September 2016, 20:19:24
Anbei mal eine aktualisierte Version, kannst du bitte damit deine MUNETs testen inkl. Multiroom? Wenn es funktioniert, checke ich die Version ein.
Also im Standalone-Modus klappt es jetzt wieder. Aber sowie ich was mit Multiroom versuche, ist der Effekt sofort wieder da.
Wechsel ich dann wieder in Standalone, läuft es wieder sauber. Mit dem Multiroom-Feature ist also wohl noch was im argen.
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: chriz am 08 September 2016, 17:04:50
Hey Dominik,

teste gerade dein Modul mit meinen beiden Libratone Loop Speaker. Funktioniert soweit einwandfrei.

Vielen Dank für die tolle Arbeit!!

Grüße
Chris
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: kalle86 am 09 September 2016, 22:51:28
Vielen dank für die arbeit.  :D Es war sehr einfach einzubinden und läuft mit meinem Denon AVR 3313 einwandfrei.
Bis auf den Befehl speak funktioniert alles soweit  :D
Titel: 98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: oldscout am 11 September 2016, 11:20:24
Hallo,
ich habe mir auch mal das DLNARenderer Modul angeschaut. Cool Sache. Leider stürzt fhem komplett ab, wenn ich einen Renderer (hier Windows Mediaplayer Win7) mit "next" ansteuere.
Hier der Logeintrag:

Undefined subroutine &main::DLNARenderer_upnpCallAVTrasnport called at ./FHEM/98_DLNARenderer.pm line 811.

Und offensichtlich ist das ein Tippfehler..... kommt gleich mehrfach vor Version 2.0.1.
Habe es korrigiert. Aber offensichtlich versteht der Mediaplayer kein next, previous....


Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: FranzB94 am 12 September 2016, 19:46:38
Hi!

Auch von mir vielen Dank für das Modul. Die UPnP-Quellen werden im geamten Netzwerk erkannt. Wenn man von der Oberfläche die Lautstärke reguliert, so funktioniert das auch. Wenn ich aber in der Detaildarstelltung (Device Overview) die Lautstärke ändern, so tut sich nichts. Will ich mit "set" einen anderen Parameter verändern, dann stürz fhem ab. Leider habe ich leine Fehlermeldung im Moment. Ich muss mal anders loggen. Hat vielleicht jemand eine Erklärung?.

Danke Franz
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: dominik am 13 September 2016, 19:19:49
@MattG, vielen Dank für den Patch!! Habe diesen soeben eingechecked. Ist dann wohl morgen per Update verfügbar.

@Brockmann, ich gehe dem nochmals genauer nach. Es scheint mir so, als ob die Devices im Single Mode mit "Play()" angesteuert werden möchten und im Multiroom Mode dann per "SyncPlay()".

@oldscout, bitte mit Version 2.0.2 nochmals prüfen. Das wurde mit dem Patch von MattG korrigiert.

@FranzB94, kannst du mir sagen welchen "set" Command du ausgeführt hast? Wenn es pauseToggle/next/prev war, dann bitte mit der Version 2.0.2 morgen nochmals prüfen.
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: FranzB94 am 14 September 2016, 08:47:38
@dominik: Ja genau die von Dir angeführten "set <name> next, play" etc. waren der Auslöser! Ich werde gleich mal updaten und probieren. Danke

Edit: Nach den erfolgten Update werden play, next etc. ohne Absturz ausgeführt! Danke. Probleme habe ich bei dem Befehl "speak" (hatte ich vorher vergessen zu erwähnen). Da sagt fhem immer: "DLNARenderer: speak requires 1 parameter." Lt. commandref ist aber aber kein Parameter notwendig: set <name> speak "This is a test. 1 2 3."
Vielleicht kannst du dazu mal was schreiben.

Edit2: Leider habe ich noch weitere Probleme:
- Ich habe einen WLAN Streaming Adapter von MEDION MD 86672. Dieser wird auch erkannt, allerdings läßt sich die Lautstärke nicht regulieren. Den absoluten fehler habe ich aber wohl gemacht, indem ich das Teil einen anderen Stream wiedergeben lassen wollte. der Stream wird zwar angezeigt, aber seitdem kommt aus dem NF-Ausgang nichts mehr ;), auch nicht nach Neuinitialisierung.
- Was mich auch irritiert: Wenn ich das DLNA Renderer-Device abschalten will mit "set HomeDLNA off" dann erfolgt nur die Meldung "DLNARenderer: Currently searching for device.."  Die gleiche Meldung erscheint auch bei einem "set HomeDLNA on".
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: dominik am 14 September 2016, 19:45:54
Beim speak Befehl musst du auch die Hochkomma mit angeben. Die Hochkomma führen dazu, dass es als 1 Argument interpretiert wird.
set <name> speak "This is a test."

Bzgl. MD86672, verstehe ich dich richtig, dass auch ein komplett Reset des Devices die Probleme nicht behebt? Wenn die Meldung "DLNARenderer: Currently searching for device.." kommt, dann wurde das Device noch nicht gefunden.
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: kalle86 am 14 September 2016, 20:33:58
ZitatBeim speak Befehl musst du auch die Hochkomma mit angeben. Die Hochkomma führen dazu, dass es als 1 Argument interpretiert wird.
set <name> speak "This is a test."
Habe ich gemacht, der Denon springt zwar auf den anspiel modus um es wird aber kein Sound wiedergegeben...

Das sagt meine Logfile dazu:
Zitat2016.09.14 20:29:24 2: DLNARenderer: XML formatting error:
not well-formed (invalid token) at line 19, column 107, byte 890 at /usr/lib/perl5/XML/Parser.pm line 187
, <Event xmlns="urn:schemas-upnp-org:metadata-1-0/AVT/">
  <InstanceID val="0">
    <TransportState val="NO_MEDIA_PRESENT"/>
    <TransportStatus val="OK"/>
    <PlaybackStorageMedium val="NONE"/>
    <RecordStorageMedium val="NOT_IMPLEMENTED"/>
    <PossiblePlaybackStorageMedia val="NONE,NETWORK"/>
    <PossibleRecordStorageMedia val="NOT_IMPLEMENTED"/>
    <CurrentPlayMode val="NORMAL"/>
    <TransportPlaySpeed val="1"/>
    <RecordMediumWriteStatus val="NOT_IMPLEMENTED"/>
    <CurrentRecordQualityMode val="NOT_IMPLEMENTED"/>
    <PossibleRecordQualityModes val="NOT_IMPLEMENTED"/>
    <NumberOfTracks val="1"/>
    <CurrentTrack val="1"/>
    <CurrentTrackDuration val="0:00:00"/>
    <CurrentMediaDuration val="0:00:00"/>
    <CurrentTrackMetaData val=""/>
    <CurrentTrackURI val="http://denon.vtuner.com/setupapp/denon/asp/func/dynamOD.asp?ex45v=0005CD2EFAFE&id=62597"/>
    <AVTransportURI val="http://denon.vtuner.com/setupapp/denon/asp/func/dynamOD.asp?ex45v=0005CD2EFAFE&id=62597"/>
    <AVTransportURIMetaData val=""/>
    <NextAVTransportURI val=""/>
    <NextAVTransportURIMetaData val=""/>
    <CurrentTransportActions val=""/>
  </InstanceID>
</Event>
2016.09.14 20:29:24 1: PERL WARNING: Use of uninitialized value in numeric eq (==) at ./FHEM/98_DLNARenderer.pm line 300.
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: FranzB94 am 15 September 2016, 09:00:34
Hi dominik!
Zitat von: dominik am 14 September 2016, 19:45:54
Beim speak Befehl musst du auch die Hochkomma mit angeben. Die Hochkomma führen dazu, dass es als 1 Argument interpretiert wird.
set <name> speak "This is a test."

Bzgl. MD86672, verstehe ich dich richtig, dass auch ein komplett Reset des Devices die Probleme nicht behebt? Wenn die Meldung "DLNARenderer: Currently searching for device.." kommt, dann wurde das Device noch nicht gefunden.

Danke für die Rückmeldung. Das mit den Hochkommata werde ich ausprobieren. Ich werde mir auch mal die pm ansehen und das Zusammenspiel mit den DLNA-Geräten. Ich hatte gestern nur die Panik, wiel kein Ton mehr zu hören war. Mit der fernbedienung lies sich das Teil aber wiederbeleben. Danke
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: dominik am 17 September 2016, 12:36:08
@kalle86, kannst du bitte nochmals mit verbose 5 den Fehler reproduzieren und diesen Log Output posten:
DLNARenderer: Received event: ...
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: FranzB94 am 17 September 2016, 14:12:36
Hi dominik: Ich war zwar nicht angesprochen, erlaube mir aber mal meinen Log-Auszug (5) hier auch einzustellen:

2016.09.17 14:07:26 5: DLNARenderer: AVTransport: urn:schemas-upnp-org:service:AVTransport:1 found. OK.
2016.09.17 14:07:27 5: DLNARenderer: AVTransport, SetAVTransportURI(0,http://translate.google.com/translate_tts?tl=en&client=tw-ob&q=Dies ist ein Test,) succeed.
2016.09.17 14:07:27 5: DLNARenderer: AVTransport: urn:schemas-upnp-org:service:AVTransport:1 found. OK.
2016.09.17 14:07:27 5: DLNARenderer: AVTransport, Play(0,1) succeed.

Aus dem Lautsprecher kommt leider kein Ton.
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: kalle86 am 17 September 2016, 17:54:40
genau den gleichen output habe ich auch!
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: dominik am 18 September 2016, 18:07:10
@Brockmann, SyncPlay ist nun gefixed :) Update sollte dann morgen verfügbar sein.

@FranzB94, kalle86, könnt ihr mal diese URL per Stream setzen:
set <name> stream http://translate.google.com/translate_tts?tl=en&client=tw-ob&q=Dies ist ein Test
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: kalle86 am 18 September 2016, 19:32:53
Hey Dominik,
die url wird mir kurz im Display vom Denon angezeigt und darauf folgt dann gleich "Server Error"
Bei Verbose5 wird folgendes angezeigt:
2016.09.18 19:10:47 5: DLNARenderer: AVTransport: urn:schemas-upnp-org:service:AVTransport:1 found. OK.
2016.09.18 19:10:47 5: DLNARenderer: AVTransport, SetAVTransportURI(0,http://translate.google.com/translate_tts?tl=en&client=tw-ob&q=test,<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://translate.google.com/translate_tts?tl=en&client=tw-ob&q=test</dc:title><upnp:album>http://translate.google.com/translate_tts?tl=en&client=tw-ob&q=test</upnp:album><res protocolInfo="http-get:*:audio/mpeg:DLNA.ORG_OP=01;DLNA.ORG_FLAGS=01700000000000000000000000000000" size="3744">http://translate.google.com/translate_tts?tl=en&client=tw-ob&q=test</res></item></DIDL-Lite>) succeed.
2016.09.18 19:10:47 5: DLNARenderer: AVTransport: urn:schemas-upnp-org:service:AVTransport:1 found. OK.
2016.09.18 19:10:47 5: DLNARenderer: AVTransport, Play(0,1) succeed.
2016.09.18 19:10:47 4: DLNARenderer: Received event: $VAR1 = 'LastChange';
$VAR2 = '<Event xmlns="urn:schemas-upnp-org:metadata-1-0/AVT/">
  <InstanceID val="0">
    <TransportState val="TRANSITIONING"/>
    <CurrentTransportActions val="Stop"/>
  </InstanceID>
</Event>';

2016.09.18 19:10:47 4: DLNARenderer: $VAR1 = {
          'Event' => {
                     'xmlns' => 'urn:schemas-upnp-org:metadata-1-0/AVT/',
                     'InstanceID' => {
                                     'CurrentTransportActions' => {
                                                                  'val' => 'Stop'
                                                                },
                                     'TransportState' => {
                                                         'val' => 'TRANSITIONING'
                                                       },
                                     'val' => '0'
                                   }
                   }
        };

2016.09.18 19:10:47 4: DLNARenderer: Update reading transportState with TRANSITIONING
2016.09.18 19:10:47 4: DLNARenderer: Received event: $VAR1 = 'LastChange';
$VAR2 = '<Event xmlns="urn:schemas-upnp-org:metadata-1-0/AVT/">
  <InstanceID val="0">
    <TransportStatus val="OK"/>
  </InstanceID>
</Event>';

2016.09.18 19:10:47 4: DLNARenderer: $VAR1 = {
          'Event' => {
                     'xmlns' => 'urn:schemas-upnp-org:metadata-1-0/AVT/',
                     'InstanceID' => {
                                     'TransportStatus' => {
                                                          'val' => 'OK'
                                                        },
                                     'val' => '0'
                                   }
                   }
        };

2016.09.18 19:10:47 4: DLNARenderer: Update reading transportStatus with OK
2016.09.18 19:10:48 4: DLNARenderer: Received event: $VAR1 = 'LastChange';
$VAR2 = '<Event xmlns="urn:schemas-upnp-org:metadata-1-0/AVT/">
  <InstanceID val="0">
    <TransportStatus val="OK"/>
  </InstanceID>
</Event>';

2016.09.18 19:10:48 4: DLNARenderer: $VAR1 = {
          'Event' => {
                     'xmlns' => 'urn:schemas-upnp-org:metadata-1-0/AVT/',
                     'InstanceID' => {
                                     'TransportStatus' => {
                                                          'val' => 'OK'
                                                        },
                                     'val' => '0'
                                   }
                   }
        };

2016.09.18 19:10:48 4: DLNARenderer: Update reading transportStatus with OK
2016.09.18 19:10:48 4: DLNARenderer: Received event: $VAR1 = 'LastChange';
$VAR2 = '<Event xmlns="urn:schemas-upnp-org:metadata-1-0/AVT/">
  <InstanceID val="0">
    <TransportStatus val="ERROR_OCCURRED"/>
    <TransportState val="STOPPED"/>
    <CurrentTransportActions val="Play,Next,Previous"/>
  </InstanceID>
</Event>';

2016.09.18 19:10:48 4: DLNARenderer: $VAR1 = {
          'Event' => {
                     'xmlns' => 'urn:schemas-upnp-org:metadata-1-0/AVT/',
                     'InstanceID' => {
                                     'CurrentTransportActions' => {
                                                                  'val' => 'Play,Next,Previous'
                                                                },
                                     'TransportStatus' => {
                                                          'val' => 'ERROR_OCCURRED'
                                                        },
                                     'TransportState' => {
                                                         'val' => 'STOPPED'
                                                       },
                                     'val' => '0'
                                   }
                   }
        };

2016.09.18 19:10:48 4: DLNARenderer: Update reading transportState with STOPPED
2016.09.18 19:10:48 4: DLNARenderer: Update reading transportStatus with ERROR_OCCURRED
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: FranzB94 am 19 September 2016, 10:26:12
@Dominik: Ich habe deinen Vorschlag http://translate.google.com/translate_tts?tl=[b]en[/b]&client=tw-ob&q=Dies ist ein Testmit 3 Geräten ausprobiert. Der ALDI WS 552/SA9800 sagt keinen Muks. Der ALDI WLAN-ADAPTER MMD86672 sagt, keine Verbindung und MD87180 zuckt auch nicht. Eventuell ist auch Google mit dem tl=en und dem folgenden deutschen Text überfordert? Ich muss mich mit den Geräten nochmal viel intensiver auseinendersetzen, da ich dein Modul so klasse finde.   
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: Brockmann am 19 September 2016, 10:37:07
Zitat von: FranzB94 am 19 September 2016, 10:26:12
@Dominik: Ich habe deinen Vorschlag http://translate.google.com/translate_tts?tl=[b]en[/b]&client=tw-ob&q=Dies ist ein Testmit 3 Geräten ausprobiert. Der ALDI WS 552/SA9800 sagt keinen Muks. Der ALDI WLAN-ADAPTER MMD86672 sagt, keine Verbindung und MD87180 zuckt auch nicht. Eventuell ist auch Google mit dem tl=en und dem folgenden deutschen Text überfordert? Ich muss mich mit den Geräten nochmal viel intensiver auseinendersetzen, da ich dein Modul so klasse finde.
Du kannst in den Device-Attributen die Sprache auf DE umstellen.
Ich habe bei den Peaqs festgestellt, dass die bei Speak den Anfang der Wiedergabe verschlucken. Vermutlich dauert es einfach etwas, bis der Lautsprecher bereit ist. Aber die Streamwiedergabe beginnt trotzdem schon. Ist ein Problem des Gerätes, aber beim normalen Streaming stört das ja auch nicht weiter. Nur bei speak hört man eben allenfalls das Ende bzw. der Text muss lang genug sein, damit man überhaupt etwas hört. Macht man den Text hingegen zu lang, streikt Google und antwortet nicht. Ist alles etwas hakelig.
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: FranzB94 am 19 September 2016, 13:32:37
Zitat von: Brockmann am 19 September 2016, 10:37:07
Du kannst in den Device-Attributen die Sprache auf DE umstellen.

Danke für Deine Antwort. Verwirrend ist dabei, dass ein Attribut "ttsLanguage" existiert, aber in 'Device specific help' nicht aufgeführt wird. Auch aus Deinem Hinweis wird nicht klar: soll man da DE, Deutsch oder wie eintragen. Ich vergleiche mittlerweile die beiden Module 98_DLNARenderer.pm und 98_Text2Speech.pm um mich da ranzutasten. Das Modul 98_Text2Speech.pm ist ja schon älter und die Sprachausgabe mittels Google funktioniert einwandfrei. Dazu kommt das unterschiedliche DLNA-Verhalten der verschiedenen geräte.
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: Brockmann am 19 September 2016, 14:16:01
Zitat von: FranzB94 am 19 September 2016, 13:32:37
soll man da DE, Deutsch oder wie eintragen.
Einfach de für Deutsch eintragen.
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: Brockmann am 19 September 2016, 15:09:52
Ich hatte mit meinem "Zweit-FHEM", wo unter anderem DLNARenderer läuft, in den letzten Tagen massive Probleme, extrem langsame Reaktionen, Google-Kalender wurden nicht mehr abgerufen usw.
Erst hatte ich das Kalender-Modul in Verdacht, weil die Symptome da am auffälligsten waren. Inzwischen denke ich aber, dass DLNA-Renderer der Übeltäter ist. Müsste dann an einer der jüngsten Änderungen liegen, denn bislang gab es dieses Problem nicht.
Version: 98_DLNARenderer.pm 12169 2016-09-18 16:03:37Z dominikkarall

Wenn ich apptime aufrufe, tauchen da einige DLNA-Einträge mit recht großen Zahlen auf.

Leider ist mir bei der Gelegenheit aufgefallen, dass man das Module nicht disablen kann, was in der Situation hilfreich gewesen wäre (weil sich fhem per Weboberfläche praktisch nicht mehr bedienen ließ). Ich habe dann mal manuell alles mit DLNA aus der fhem.cfg entfernt und nach einen Neustart lief alles wieder rund. Gegentest: Die DLNA-Einträge wieder rein und es hängt wieder.

Hat noch jemand solche Probleme bzw. Dominik, fällt Dir dazu vielleicht etwas ein (siehe Screenshot)?
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: Brockmann am 19 September 2016, 18:12:08
Nachtrag: Nachdem ich mir die Logs nochmal in Ruhe anschauen konnte, fiel mir folgende Zeile auf:
PERL WARNING: Loading device description failed with error: 500 Can't connect to 192.168.178.7:60887 (timeout) at ./FHEM/98_DLNARenderer.pm line 227.

Ich habe dann mal das DLNA-Device gelöscht, von dem ich vermutete, dass es zu dieser Adresse gehört (BubbleUPnP auf einem Smartphone).
Seitdem ist Ruhe im Karton.
Möglicherweise hat DLNA-Renderer da permanent Kontakt zu einem Gerät herstellen wollen, das nicht antworten konnte. Zumindest lief BubbleUPnP darauf zu diesem Zeitpunkt nicht.
Normalerweise erkennt DLNARenderer das aber reibungslos. Ich habe mehrere Tablets hier, auf denen Bubble-UPnP zeitweise läuft und bislang gab es solche Problem nicht.

Ich werde es mal weiter beobachten und schauen, ob ich es ggf. reproduzieren kann.
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: FranzB94 am 19 September 2016, 19:36:46
@Brockmann: Ich habe auch auf einigen Tablets BubbleUPnP drauf. Diese laufen auch nur zeitweise, aber solch eine Fehlermeldung hatte ich noch nicht bisher.
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: martins am 23 September 2016, 11:11:40
Hallo,

ich hab einen NOXON NOVA S Wifi Lautsprecher.
Das einbinden mittels des Moduls hat soweit geklappt. Auch kann ich einen Stream hinzufügen, starten und stoppen.
Leider kann ich die Lautstärke nicht ändern.

Verbose ist auf 5 gesetzt und es erscheint folgende Meldung im Log:

2016.09.23 11:07:51 5: DLNARenderer: RenderingControl: urn:schemas-upnp-org:service:RenderingControl:1 found. OK.
2016.09.23 11:07:51 4: DLNARenderer: RenderingControl, SetVolume(0,Master,45) does not exist.


Desweiteren wird weder State (online) noch transportState(NO_MEDIA_PRESENT) geupdatet.

Hat jemand eine Idee?
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: martins am 23 September 2016, 14:17:25
Also das Problem mit der Lautstärke funktioniert jetzt.
Man muss nachdem ein DLNA Device hinzugefügt wurde, bzw vom WLAN getrennt und wieder verbunden wurde FHEM neustarten.

Leider werden nach wie vor keine Readings des Noxon geupdatet.

Hinweis: ich habe noch ein Munet PMN300, hier funktioniert alles einwandfrei.
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: bladepif am 23 September 2016, 16:38:44
Hallo,

hat jemand es geschaft DLNARenderer mit LG Musicflow H5 laufen zu lsassen?
Ich sehe das Gerät und bekomme auch den Aktuellen Status mit aber kann keine Befehle ausführen

Play oder on werden im log als DLNARenderer: AVTransport, Play(0,1) succeed. angezeigt aber es spielt nichts ab

Getestet mit gupnp-av-cp (uter linux ist wie UPNPTest) kein Problem ich kann alle meine mpe von meinem Nas auf dem Musicflow streamen.

Hat jemand eine Idee?

Gruss
Bladepif
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: martins am 24 September 2016, 18:49:58
Zwecks dem Noxon Nova S, ich hab heute etwas intensiver geschaut woran es liegen könnte das die Readings nicht geupdate werden.
Es scheint so das die Funktion "DLNARenderer_subscriptionCallback" nicht aufgerufen wird und damit der Input für die Readings fehlt.

Mit Wireshark habe ich einmal vom PC aus geschaut was da passiert wenn ich etwas vom PC aus Streame. Nach dem Absenden eines Befehls bekomme ich auf jeden Fall das "Last Change XML" zurück.
Ich hoffe das ist etwas mehr Input zum eingrenzen...

Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: dominik am 25 September 2016, 14:30:32
@martins, kannst du mir deinen Wireshark Auszug zur Verfügung stellen? Gerne auch per Mail - findest im Source Code oben.

@bladepif, kannst du mir auch den Wireshark Auszug zukommen lassen? Dann sollte sich der LG Musicflow integrieren lassen.
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: mafe68 am 16 Oktober 2016, 06:23:39
Wollte mal hier ein wenig testen und bekomme aber folgende Fehlermeldung im Perl Skript
Zitat2016.10.16 06:18:39 1: reload: Error:Modul 98_DLNARenderer deactivated:
Can't locate XML/Simple.pm in @INC (you may need to install the XML::Simple module) (@INC contains: . /etc/perl /usr/local/lib/x86_64-linux-gnu/perl/5.20.2 /usr/local/share/perl/5.20.2 /usr/lib/x86_64-linux-gnu/perl5/5.20 /usr/share/perl5 /usr/lib/x86_64-linux-gnu/perl/5.20 /usr/share/perl/5.20 /usr/local/lib/site_perl ./FHEM) at ./FHEM/98_DLNARenderer.pm line 130, <$fh> line 44.
BEGIN failed--compilation aborted at ./FHEM/98_DLNARenderer.pm line 130, <$fh> line 44.
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: Esjay am 16 Oktober 2016, 08:48:11
Zitat von: mafe68 am 16 Oktober 2016, 06:23:39
Wollte mal hier ein wenig testen und bekomme aber folgende Fehlermeldung im Perl Skript

Ich würde fast behaupten,dass der Teil deiner Meldung die Lösung bringt.
   (you may need to install the XML::Simple module) (
Da fehlt das Perl Modul. Einfach mittels Cpan nachinstallieren,dann sollte es gehen. Im ersten Post sollten die benötigten Module stehen..Auf jedenfall in der CommandRef.
Grüße
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: mafe68 am 16 Oktober 2016, 10:24:59
Danke für die Info! Nur versuche ich gerade das Modul zu Installieren aber den richtigen Befehl finde ich nicht dazu. Habe schon verschiedenes versucht.
cpan install XML::Simple
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: Esjay am 16 Oktober 2016, 12:00:28
Zitat von: mafe68 am 16 Oktober 2016, 10:24:59
Danke für die Info! Nur versuche ich gerade das Modul zu Installieren aber den richtigen Befehl finde ich nicht dazu. Habe schon verschiedenes versucht.
cpan install XML::Simple

Schau mal hier.

https://www.raspberrypi.org/forums/viewtopic.php?f=66&t=12241



Einfach die Steps ausführen!
Gruß
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: mafe68 am 16 Oktober 2016, 13:55:32
Ok das werde ich mir dann ansehen. Nur auf meine OS wo das läuft, zur Zeit in einer VM auf der MLD http://www.minidvblinux.de (http://www.minidvblinux.de) das auf Debian basiert, muss ich mal schaue ob wir das Paket dabei haben sonder muss ich es erst bauen das ich es installieren kann.
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: sprudelverduenner am 16 Oktober 2016, 18:09:34
Zitat von: savage7 am 01 August 2016, 08:14:44
Verbose 5 auf Fhem:

2016.08.01 08:08:50 4: WEB_83.164.197.70_4899 POST /fhem&detail=DLNA_00a0ded1c9cd&dev.setDLNA_00a0ded1c9cd=DLNA_00a0ded1c9cd&cmd.setDLNA_00a0ded1c9cd=set&arg.setDLNA_00a0ded1c9cd=volume&val.setDLNA_00a0ded1c9cd=55; BUFLEN:0
2016.08.01 08:08:50 5: Cmd: >set DLNA_00a0ded1c9cd volume 55<
2016.08.01 08:08:50 5: DLNARenderer: RenderingControl: urn:schemas-upnp-org:service:RenderingControl:1 found. OK.

2016.08.01 08:08:50 3: DLNARenderer: RenderingControl, SetVolume(0,Master,55) failed, 400 Bad Request at FHEM/lib/UPnP/ControlPoint.pm line 847.

2016.08.01 08:08:50 5: Triggering DLNA_00a0ded1c9cd (1 changes)
2016.08.01 08:08:50 5: Starting notify loop for DLNA_00a0ded1c9cd, first event volume 55
2016.08.01 08:08:50 4: WEB_83.164.197.70_4899 GET /fhem?detail=DLNA_00a0ded1c9cd&fw_id=; BUFLEN:0
2016.08.01 08:08:50 4: name: /fhem?detail=DLNA_00a0ded1c9cd&fw_id= / RL:13863 / text/html; charset=UTF-8 / Content-Encoding: gzip
/
2016.08.01 08:08:50 4: Connection closed for WEB_83.164.197.70_45568: EOF
2016.08.01 08:08:50 4: WEB_83.164.197.70_4899 GET /fhem?cmd={ReadingsVal(%22DLNA_00a0ded1c9cd%22,%22volume%22,%22%22)}&XHR=1; BUFLEN:0
2016.08.01 08:08:50 5: Cmd: >{ReadingsVal("DLNA_00a0ded1c9cd","volume","")}<
2016.08.01 08:08:50 4: name: /fhem?cmd={ReadingsVal(%22DLNA_00a0ded1c9cd%22,%22volume%22,%22%22)}&XHR=1 / RL:23 / text/plain; charset=UTF-8 / Content-Encoding: gzip


Wenn ich verbose 5 nur beim Dlna Gerät stell kommt nur diese Fehlermeldung:

2016.08.01 08:10:58 3: DLNARenderer: RenderingControl, SetVolume(0,Master,55) failed, 400 Bad Request at FHEM/lib/UPnP/ControlPoint.pm line 847.


Hallo zusammen,

ich habe zwei Yamaha MusicCast Komponenten im Einsatz und das gleiche Problem, wie es savage7 zwei Seiten vorher beschrieben hat.
Ist das Problem evt. bereits gelöst worden? Bisher konnte ich hier leider nichts darüber lesen...

Mit einem anderen Streaming-Client einer anderen Marke funktioniert der DLNA-Renderer bei mir.

Liebe Grüße
Sprudelverduenner
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: savage7 am 18 Oktober 2016, 07:59:48
@sprudelverduenner

Bei mir funktioniert es leider auch noch nicht. Ich habe mittlerweile meinen Raspberry pi mit Jessie komplett neu sauber aufgesetzt um auszuschließen, dass es an irgendwelchen unsauber installierten Paketen lag. Hat aber hier auch nicht geholfen. Andere Dlna Geräte gehen bei mir auch.
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: Macx am 03 November 2016, 22:24:18
Hey Zusammen, beim installieren bekomme ich diesen Fehler

2016.11.03 22:19:32 1 : reload: Error:Modul 98_DLNARenderer deactivated: Can't locate Data/UUID.pm in @INC (@INC contains: . /etc/perl /usr/local/lib/perl/5.14.2 /usr/local/share/perl/5.14.2 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.14 /usr/share/perl/5.14 /usr/local/lib/site_perl ./FHEM) at ./FHEM/98_DLNARenderer.pm line 132. BEGIN failed--compilation aborted at ./FHEM/98_DLNARenderer.pm line 132.
2016.11.03 22:19:32 0 : Can't locate Data/UUID.pm in @INC (@INC contains: . /etc/perl /usr/local/lib/perl/5.14.2 /usr/local/share/perl/5.14.2 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.14 /usr/share/perl/5.14 /usr/local/lib/site_perl ./FHEM) at ./FHEM/98_DLNARenderer.pm line 132. BEGIN failed--compilation aborted at ./FHEM/98_DLNARenderer.pm line 132.


Die 3 Pakete von Seite 1 habe ich natürlich installiert. Evtl jmd eine Idee?

LG
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: Brockmann am 04 November 2016, 08:03:05
Zitat von: Macx am 03 November 2016, 22:24:18
Die 3 Pakete von Seite 1 habe ich natürlich installiert. Evtl jmd eine Idee?
Nö, aber Google:
https://community.opmantek.com/display/NMIS/Installing+Perl+Libraries+with+and+without+CPAN
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: Macx am 04 November 2016, 10:16:21
das hatte ich schon gemacht, da ich auch schon gegooglet habe ;) der fehler besteht trotzdem :(

cpan update habe ich ebenfalls schon durchgeführt... jmd evtl noch eine idee?

Okay, ich bin verwirrt :D unter Chrome kommt immer wieder die Fehlernachricht (auch mit Cache löschen) jetzt hab ich es mit IOS10 gemacht und es läuft schonmal :)

Mal ne Frage, einschalten und ausschalten kann man die Geräte mit dem Tool nicht, oder? Geht um einen CambridgeAudio Minx XI

lg
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: RalfR am 14 November 2016, 16:39:43
Hast du schon
set <name> off

probiert ?
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: bsl02 am 15 November 2016, 02:03:14
Hallo,
gibt es irgendwo eine Anleitung für "schlichte Gemüter" zur Nachinstallation der Libraries:
Note: The followig libraries are required for this module:

    SOAP::Lite
    LWP::Simple
    XML::Simple
    XML::Parser::Lite
    LWP::UserAgent

Bin kein Linux-Freak... / Dank für Unterstützung
Stefan
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: cc13 am 19 November 2016, 10:22:08
Zitat von: martins am 30 Juni 2016, 20:42:49
Hallo Joachim,
ich habe das schon einmal getestet und es hat funktioniert.
Speicher die Datei in /opt/fhem/www/info.mp3
und mit dem Aufruf: set DLNA_0005cd37ae6d stream http://<ip-addresse/fhem/info.mp3 sollte es dann funktionieren.
Wichtig ermittel die Richtige IP-Adresse von deinem fhem server, also nicht localhost oder 127.0.0.1, damit wird es nie funktionieren.

Alternativ kannst du den Link auch einmal in den Browser eingeben, dann weist du ob überhaupt etwas erkannt wird.

Ich wollte das mit meinem Yamaha Receiver auch mal probieren. Den Radio-M3U Stream bekomme ich zu hören.

Also habe ich eine MP3 Datei wie oben geschrieben im Ordner /opt/fhem/www/beginner.mp3 abgelegt. Der Aufruf

set DLNA_00a0de94914c stream http://192.168.1.166:8083/fhem/beginner.mp3

spielt aber nichts ab. Wenn ich die URL in einem Browserfenster oder im VLC eintrage sieht es so aus, als wenn kurz was geladen wird, und dann erscheint nur die reine FHEM-Seite (im Browser), VLC "sagt" gar nichts.

Verbose 5 sagt:


2016.11.19 10:21:00 1: in ATTR
2016.11.19 10:21:00 1: in ATTR
2016.11.19 10:21:10 5: DLNARenderer: AVTransport: urn:schemas-upnp-org:service:AVTransport:1 found. OK.
2016.11.19 10:21:10 5: DLNARenderer: AVTransport, SetAVTransportURI(0,http://192.168.1.166:8083/fhem/beginner.mp3,) succeed.
2016.11.19 10:21:10 5: DLNARenderer: AVTransport: urn:schemas-upnp-org:service:AVTransport:1 found. OK.
2016.11.19 10:21:10 5: DLNARenderer: AVTransport, Play(0,1) succeed.


Hat jemand einen Tipp?

VG
cc13
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: jacec am 10 Dezember 2016, 12:52:05
Hallo, erstmal vielen Dank für dieses Modul!

Ich habe versucht es mit einem Fritz Repeater n/g zu testen weil dieser rumliegt, der wird auch erkannt (state=online). Allerdings scheint er nicht steuerbar zu sein und es kommt kein Ton raus. Die Lautstärke springt immer wieder auf 0 zurück.

Im Log steht regelmäßig: DLNARenderer: handleOnce failed, junk '
' after XML element


Der Versuch über den UpnpTester funktioniert hingegen, durch Zufall habe ich es mit folgenden Einstellungen versucht:

InstanceID=0, CurrentURI=http://mp3-live.swr3.de/swr3_m.m3u, CurrentURIMetaData=http://mp3-live.swr3.de/swr3_m.m3u

CurrentURIMetaData war also nicht leer sondern enthält ebenfalls den Stream. Es ging nur so.

Kann man da vielleicht noch etwas machen?

Grüße, jacec!



Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: FranzB94 am 10 Dezember 2016, 12:57:40
Hi jacec!
Zitat von: jacec am 10 Dezember 2016, 12:52:05
... Fritz Repeater...  es kommt kein Ton raus...

der Fritz!Repeater hat eine Tonausgabe? Das wusste ich noch garnicht.
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: jacec am 10 Dezember 2016, 13:05:28
Hallo, ja aber nur der Repeater n/g optisch und analog, sowie mit UKW-Sender.
Es gibt aber schon seit einer Weile keinen Support von AVM mehr.
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: Brice am 11 Dezember 2016, 10:33:48
Ich habe seit gestern im globalen Logfile etliche Meldungen:
2016.12.11 10:18:00 3: DLNARenderer: handleOnce failed, Can't use string ("<Event><InstanceID val="0"><Pres"...) as a HASH ref while "strict refs" in use at ./FHEM/98_DLNARenderer.pm line 970.
2016.12.11 10:18:00 3: DLNARenderer: handleOnce failed, Can't use string ("<Event><InstanceID val="0"><Tran"...) as a HASH ref while "strict refs" in use at ./FHEM/98_DLNARenderer.pm line 970.


DLNARenderer wurde bereits deinstalliert und wieder neu eingerichtet. FHEMUpdate ist ebefalls gemacht.

Internals:
   CFGFN
   NAME       DLNADevices
   NR         1145
   STATE      initialized
   TYPE       DLNARenderer
   UDN        0
   VERSION    v2.0.3
   Readings:
     2016-12-11 10:17:57   state           initialized
   Helper:
     caskeid    0
     caskeidClients
Attributes:
   userattr   defaultRoom ignoreUDNs


Hat jemand das Problem ebenfalls?
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: dominik am 11 Dezember 2016, 15:30:39
@Brice, kann es sein, dass du auch BOSE SoundTouch nutzt? Seit dem Firmware Update der BOSE Box erhalte ich nämlich ähnliche Meldungen. Glaube die bereiten da gerade etwas für DLNA Support vor.
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: Brice am 11 Dezember 2016, 17:06:29
Hallo Dominik,

ja, eine Bose ST10 läuft hier seit ein paar Wochen. Die Meldungen kommen seit gestern ca. 14:45, seit beim Nachhausekommen das WLan und die Bose wieder eingeschaltet wurde. Das FW-Update muss mMn per App angestoßen werden und das war igendwann Anfang bis Mitte der letzten Woche. Aktuell hat die Bose bei mir 14.0.15

Ich habe attr ignoreUDNs für die Bose gesetzt, die läuft eh über das Modul BOSEST. Jetzt scheinen die Meldungen nicht mehr zu kommen.

Stefan
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: dominik am 11 Dezember 2016, 17:13:53
Hi Stefan,

ok, danke für die Info mit den ignoreUDNs. Damit ist sichergestellt, dass die Meldungen wirklich von der Bose ST kommen. Bose hat leider zu DLNA nichts dokumentiert. Hatte schon mehrmals nach DLNA Support angefragt, aber bekomme noch keine klaren Antworten. Nach dem letzten Update vermute ich, dass die da was bauen werden.

Wenn ich mal Zeit habe, schaue ich mir das genauer an was die Bose Boxen so für Meldungen schicken um diese richtig zu verarbeiten.

Gruß
Dominik

//Edit: Für die BOSE ST kannst du übrigens mein 98_BOSTST Modul verwenden, falls nicht eh schon der Fall.
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: Brice am 11 Dezember 2016, 17:33:40
Bose läuft von Anfang an über dein Modul 98_BOSTST.

Der Vollständigkeit halber: ich hatte noch ein wenig mehr gemacht

- für Bose, Mein Notebook und auch das nicht mehr genutzte SIRD-WLan-Radio das attr ignoreUDNs gesetzt
- alle drei Devices gelöscht

Edit: jetzt läuft nur noch der WLan-Lautsprecher Sony SA-NS310 über dein Modul 98_DLNARenderer
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: dominik am 11 Dezember 2016, 18:54:07
SA-NS310, genau den habe ich auch mit dem DLNARenderer in Betrieb :)
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: spel am 11 Dezember 2016, 21:19:05
Hallo,

ich brauche eure Hilfe!

Ich habe hhier einen "LIBRATONE Zipp Mini". Ist im gleichen Netzwerk wie FHEM.

DLNARenderer
dlnadevices   initialized   on   off

Komme per IP auf die Weboberfläche des Lautsprechers...

Der DLNARenderer findet jedoch nichts.

Kann mir jmd weiterhelfen?

Danke!
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: Brockmann am 12 Dezember 2016, 08:24:03
Zitat von: Brice am 11 Dezember 2016, 10:33:48
Ich habe seit gestern im globalen Logfile etliche Meldungen:
2016.12.11 10:18:00 3: DLNARenderer: handleOnce failed, Can't use string ("<Event><InstanceID val="0"><Pres"...) as a HASH ref while "strict refs" in use at ./FHEM/98_DLNARenderer.pm line 970.
2016.12.11 10:18:00 3: DLNARenderer: handleOnce failed, Can't use string ("<Event><InstanceID val="0"><Tran"...) as a HASH ref while "strict refs" in use at ./FHEM/98_DLNARenderer.pm line 970.

Ich kann zumindest mit was ähnlichem dienen:

2016.12.11 08:00:52 3: DLNARenderer: handleOnce failed, Can't use string ("") as an ARRAY ref while "strict refs" in use at FHEM/lib/UPnP/ControlPoint.pm line 501.
2016.12.11 08:00:52 3: DLNARenderer: handleOnce failed, Can't use string ("") as an ARRAY ref while "strict refs" in use at FHEM/lib/UPnP/ControlPoint.pm line 501.
2016.12.11 08:00:52 3: DLNARenderer: handleOnce failed, Can't use string ("") as an ARRAY ref while "strict refs" in use at FHEM/lib/UPnP/ControlPoint.pm line 501.
2016.12.11 08:00:57 3: DLNARenderer: handleOnce failed, Can't use string ("") as an ARRAY ref while "strict refs" in use at FHEM/lib/UPnP/ControlPoint.pm line 501.
2016.12.11 08:00:58 3: DLNARenderer: handleOnce failed, Can't use string ("") as an ARRAY ref while "strict refs" in use at FHEM/lib/UPnP/ControlPoint.pm line 501.
2016.12.11 08:00:58 3: DLNARenderer: handleOnce failed, Can't use string ("") as an ARRAY ref while "strict refs" in use at FHEM/lib/UPnP/ControlPoint.pm line 501.

Kommt aber nur selten vor. Hier war es gerade mal wieder soweit. Waren aber auch nur genau diese sechs Meldungen. Da es nur sporadisch auftritt und die Funktionalität nicht beeinträchtigt, schieben ich das traditionell auf vorübergehende Verbindungsprobleme, über die DLNARenderer kurz stolpert und dann weitermacht...?
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: Brice am 12 Dezember 2016, 18:12:56
Zitat von: dominik am 11 Dezember 2016, 17:13:53
ok, danke für die Info mit den ignoreUDNs.
Zur Info: nach einem shutdown/restart von FHEM wird die Bose wieder über DLNARenderer angelegt und die Meldung im Log kommn wieder.
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: rizo am 25 Dezember 2016, 06:38:17
Hi

habe erfolgreich Dlnarenderer am laufen, d.h. Tablets und Receiver werden erkannt. Komischerweise findet er aber nicht das Synology Nas. Jemand ne Ahnung warum? Dlna/Upnp ist auf dem Nas am Laufen. Per Upnplay läuft auch alles.
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: rizo am 25 Dezember 2016, 09:54:35
Ok Problem mit Nas hat sich erledigt :).

Nun noch eine Frage nutze Upnplay auf dem Wandtablet zur Wiedergabe. Würde mir gerne die Playlist anzeigen lassen und wenn möglich auch Playlists wechseln. Ist das irgendwie umsetzbar? In den Readings tauchen die Playlists leider nicht auf.

Oder habt ihr einen besseren Upnp Player für Android?  Wenn möglich kostenlos :).
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: martins am 02 Januar 2017, 13:16:24
Hallo zusammen,

hat jemand zufällig ein Nova Noxon S zusammen mit DLNARenderer zum laufen gebracht?

vg
martin
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: fritzhugo123 am 06 Januar 2017, 16:02:12
Hallo zusammen,

gibt es eine schöne Möglichkeit der Integration in ftui?
Ich würde gerne so etwas wie eine Senderliste haben, die dann den Stream ändert.

Gruß, Mitch
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: dirkbalzer am 08 Januar 2017, 11:39:42
Also anscheinend funktioniert es dass ich meinen Teufel Raumfeld damit steuern kann, aber im Log habe ich diesen Eintrag gefunden:

2017.01.08 01:24:24 3: DLNARenderer: DLNA Renderer v2.0.3
2017.01.08 01:24:31 3: DLNARenderer: Created device DLNA_144f8035e28a for Küche
2017.01.08 01:24:48 3: DLNARenderer: Created device DLNA_10b2e485d9bb for Speaker Küche
2017.01.08 01:25:35 1: PERL WARNING: Use of uninitialized value in numeric eq (==) at ./FHEM/98_DLNARenderer.pm line 303.
2017.01.08 01:26:38 1: PERL WARNING: 400-URL-Absolute-Error! Location: "192.168.1.172", Content: "400 URL must be absolute
" at ./FHEM/98_DLNARenderer.pm line 234.
2017.01.08 01:26:38 1: PERL WARNING: Loading device description failed with error: 400 URL must be absolute at ./FHEM/98_DLNARenderer.pm line 234.
2017.01.08 01:27:47 1: PERL WARNING:     (in cleanup) Unsubscription request failed with error: 500 read timeout at FHEM/lib/UPnP/ControlPoint.pm line 1063.


Die IP 192.168.1.172 ist von meinem Raumfeld Device...
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: Brockmann am 08 Januar 2017, 12:17:24
Zitat von: fritzhugo123 am 06 Januar 2017, 16:02:12
gibt es eine schöne Möglichkeit der Integration in ftui?
Ich würde gerne so etwas wie eine Senderliste haben, die dann den Stream ändert.
Was meinst Du mit "gibt es"? Es gibt meines Wissens nach nichts "schlüsselfertiges", aber man kann sich das recht  einfach selbst zusammenbauen.
Ich habe ein Select-Widget mit den Sendernamen. Der dort gewählte Sender wird in einem Dummy gespeichert. Ein DOIF reagiert auf Änderungen dieses Dummys und startet dann den entsprechenden Stream.
Dazu gibt es noch ein paar Buttons für Play und Stop - fertig.
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: mbuzina am 10 Januar 2017, 17:03:20
Sooo, jetzt bin ich ein wenig weiter - das Modul läuft jetzt bei mir in einem Docker Container auf meinem Synology NAS (nicht einfach, aber geht). Nur: Ich finde keine Geräte, ich vermute mal, das funktioniert wegen des Netzwerkes nicht sauber.

Welche Ports braucht denn das Modul? Ich kann Port Forwarding im Docker einstellen.

Danke!
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: mbuzina am 12 Januar 2017, 19:24:38
Hah, funktioniert! Habe den docker container erneut aufgesetzt und diesen im Host Netzwerk laufen lassen. Musste noch eine Build Umgebung daufpacken, damit ich alle passenden Perl Module (incl. Data::UUID) dazu bekomme, aber jetzt läufts.

Und: Meine Pure Jongos funktionieren wunderbar damit, inkl. Multi-Room.

Danke!
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: mbuzina am 13 Januar 2017, 15:40:59
Noch ein kleiner Vorschlag: Die Multi-Room Fähigkeiten ließen sich noch etwas angenehmer nutzen, wenn man für gruppen zusätzliche Geräte definieren könnte. Z.b. einfach eine bisher als Group gespeicherte Kombination auch per define in die Geräte aufnehmen zu können und damit dann direkt die Gruppe ansprechen zu können.

Jetzt muss ich "nur" noch eine Möglichkeit finden vom Synology NAS aus einen stream zu generieren, der sich aus Spotify Songs zusammensetzt - sozusagen "Individuelles Radio".
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: leuchte1 am 05 Februar 2017, 16:06:40
Zitat von: rizo am 25 Dezember 2016, 09:54:35
Würde mir gerne die Playlist anzeigen lassen und wenn möglich auch Playlists wechseln. Ist das irgendwie umsetzbar? In den Readings tauchen die Playlists leider nicht auf.

Hallo,

geht mir auch so. Meine Raumfeld laufen perfekt. Aber Playlisten bekomme ich nicht hin. Hat jemand eine Idee?

Gruß
Stefan
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: okman am 20 Februar 2017, 21:42:06
Hallo,

tolles Skript. Alle DLNA Devices lassen sich steuern. Cool!
Bis auf den Samsung TV (ES8090).
Der TV wird zwar als DLNARenderer-Device erkannt, steuern lässt sich trotzdem nichts.
Es poppt noch nicht mal die Auth-Aufforderung im TV auf...

Mit dem DLNAClient Skript läuft es aber...

Hat jemand ne Idee woran es liegen könnte?

VG kokosnuss
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: dominik am 26 Februar 2017, 11:33:14
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?
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: knopf_piano am 26 Februar 2017, 21:35:28
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
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: willibutz am 10 März 2017, 16:51:24
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
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: dominik am 11 März 2017, 09:33:44
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
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: sd am 23 März 2017, 19:35:22
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
Titel: Sony NS-SA310
Beitrag von: Brice am 29 März 2017, 14:47:56
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
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: dominik am 01 April 2017, 09:13:03
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
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: dominik am 02 April 2017, 09:31:24
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)
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: Brice am 07 April 2017, 08:53:05
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
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: Fhemotto am 11 April 2017, 15:14:34
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.

Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: Norberto am 23 April 2017, 16:35:04
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
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: dominik am 23 April 2017, 18:22:49
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
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: Norberto am 23 April 2017, 18:31:53
Hallo Dominik,

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

Grüße, Norbert
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: Fhemotto am 24 April 2017, 11:28:25
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
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: martins am 26 April 2017, 20:20:35
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
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: dominik am 30 April 2017, 15:45:03
Hallo zusammen,

habe gerade ein Update eingespielt. Ab morgen sollten die Readings dann wieder aktualisiert werden. Sorry für den Bug.

@Fhemotto, das wird noch etwas dauern, bis ich da den Fehler gefunden habe. Der Unterschied sind nämlich die Libraries. Im DLNAClient hatte ich Net::UPnP verwendet und nun verwende ich die FHEM UPnP Library. Bislang habe ich den Bug aber noch nicht finden können

Gruß,
Dominik
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: Norberto am 01 Mai 2017, 09:07:45
Hallo Dominik,

Danke für die schnelle Hilfe. Kommst Du in den nächsten Tagen auch dazu mal nach dem blocking in DLNARenderer_updateStereoMode zu schauen?

Grüße, Norbert
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: dominik am 01 Mai 2017, 09:42:50
Hi Norbert,

tritt der Fehler nur auf, wenn du auch ein Stereo Paar hast?
Zeitliche Vorhersagen sind mit meiner kleinen Tochter bei mir gerade etwas schwer ;)

Gruß,
Dominik
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: ralfix am 03 Mai 2017, 21:48:19
Hallo

ich habe leider ein sporadisch autretendes Performanceproblem mit DLNARederer.

Bei mir wird ein Device "DLNASocket-dlna-54" automatisch erzeugt.
Laut apptime führt die function DLNARenderer_Read mit weitem Abstand meinen Laufzeitverbrauch an.   
Was ist das für ein device? Wenn ich es lösche läuft FHEM wieder flüssig, aber irgendwann kommt das device wieder.

FD 54
NAME DLNASocket-dlna-54
NR  267
PNAME  dlna
PORT  1900
TEMPORARY 1
TYPE DLNARenderer
UDN -1

pi@mein_fhemserver ~ $ sudo netstat -lptu                                                                                                                                                       
Aktive Internetverbindungen (Nur Server)                                                                                                                                                     
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name                                                                                             
tcp        0      0 *:8383                  *:*                     LISTEN      28230/perl                                                                                                   
tcp        0      0 *:7072                  *:*                     LISTEN      28230/perl                                                                                                   
tcp        0      0 *:33091                 *:*                     LISTEN      28230/perl                                                                                                   
tcp        0      0 *:8083                  *:*                     LISTEN      28230/perl                                                                                                   
tcp        0      0 *:8084                  *:*                     LISTEN      28230/perl                                                                                                   
tcp        0      0 *:8085                  *:*                     LISTEN      28230/perl                                                                                                   
tcp        0      0 *:ssh                   *:*                     LISTEN      737/sshd                                                                                                     
tcp6       0      0 [::]:ssh                [::]:*                  LISTEN      737/sshd                                                                                                     
udp        0      0 *:1900                  *:*                                 28230/perl


Kann ich irgendwie rausbekommen ob und welches UPNP Gerät da nicht antwortet?

Gruß Ralf

Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: Norberto am 03 Mai 2017, 23:23:38
Hallo Dominik,

zu Deiner letzten Frage:
Zitattritt der Fehler nur auf, wenn du auch ein Stereo Paar hast?

Ich versuche am WE mal etwas zu testen und auch schon etwas zu debuggen.

VG, Norbert
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: ralfix am 04 Mai 2017, 21:04:25
Zitat von: ralfix am 03 Mai 2017, 21:48:19
ich habe leider ein sporadisch autretendes Performanceproblem mit DLNARederer.
Fehler gefunden.
Immer wenn ich DLNARenderer auf verbose = 0 setze und FHEM neu starte
kommt im Log eine Fehlermeldung
PERL WARNING: Argument "" isn't numeric in subtraction (-) at ./FHEM/92_FileLog.pm line 704.
und bald darauf
frisst DLNASocket-dlna-54 wieder Performance.
Verbose geändert - Problem gelöst.  :)
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: frank am 05 Mai 2017, 12:55:49
hallo dominik,

dein modul hatte bei mir probleme die ControlPoint.pm unter /opt/fhem/FHEM/lib/UPnP/ zu finden:

2017.05.04 19:15:00.115 0: Attempt to reload UPnP/ControlPoint.pm aborted.
Compilation failed in require at ./FHEM/98_DLNARenderer.pm line 153.
BEGIN failed--compilation aborted at ./FHEM/98_DLNARenderer.pm line 153.


nach der verschiebung des if-blocks in den BEGIN-block am anfang des codes wurde sie erfolgreich gefunden:
#get UPnP::ControlPoint loaded properly
my $gPath = '';
BEGIN {
  $gPath = substr($0, 0, rindex($0, '/'));
  if (lc(substr($0, -7)) eq 'fhem.pl') {
    $gPath = $attr{global}{modpath}.'/FHEM';
  }
}
use lib ($gPath.'/lib', $gPath.'/FHEM/lib', './FHEM/lib', './lib', './FHEM', './', '/usr/local/FHEM/share/fhem/FHEM/lib');

use UPnP::ControlPoint;


bei mir ergibt:
$0 => fhem.pl
substr($0, 0, rindex($0, '/')) => fhem.p


gruss frank
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: the ratman am 05 Mai 2017, 18:47:59
hiho,
ich hab ein problem mit folgenden warnings:2017.05.05 18:24:03 1: PERL WARNING: Use of uninitialized value $location in concatenation (.) or string at FHEM/lib/UPnP/ControlPoint.pm line 308.
2017.05.05 18:24:03 1: stacktrace:
2017.05.05 18:24:03 1:     main::__ANON__                      called by FHEM/lib/UPnP/ControlPoint.pm (308)
2017.05.05 18:24:03 1:     UPnP::ControlPoint::_createDevice   called by FHEM/lib/UPnP/ControlPoint.pm (340)
2017.05.05 18:24:03 1:     UPnP::ControlPoint::_getDeviceFromHeaders called by FHEM/lib/UPnP/ControlPoint.pm (463)
2017.05.05 18:24:03 1:     UPnP::ControlPoint::_receiveSSDPEvent called by FHEM/lib/UPnP/ControlPoint.pm (165)
2017.05.05 18:24:03 1:     UPnP::ControlPoint::handleOnce      called by ./FHEM/98_DLNARenderer.pm (243)
2017.05.05 18:24:03 1:     (eval)                              called by ./FHEM/98_DLNARenderer.pm (242)
2017.05.05 18:24:03 1:     main::DLNARenderer_Read             called by fhem.pl (3396)
2017.05.05 18:24:03 1:     main::CallFn                        called by fhem.pl (685)
2017.05.05 18:24:03 1: PERL WARNING: 400-URL-Absolute-Error! Location: "", Content: "400 URL missing
" at ./FHEM/98_DLNARenderer.pm line 243.
2017.05.05 18:24:03 1: stacktrace:
2017.05.05 18:24:03 1:     main::__ANON__                      called by /usr/share/perl/5.20/Carp.pm (168)
2017.05.05 18:24:03 1:     Carp::carp                          called by FHEM/lib/UPnP/ControlPoint.pm (308)
2017.05.05 18:24:03 1:     UPnP::ControlPoint::_createDevice   called by FHEM/lib/UPnP/ControlPoint.pm (340)
2017.05.05 18:24:03 1:     UPnP::ControlPoint::_getDeviceFromHeaders called by FHEM/lib/UPnP/ControlPoint.pm (463)
2017.05.05 18:24:03 1:     UPnP::ControlPoint::_receiveSSDPEvent called by FHEM/lib/UPnP/ControlPoint.pm (165)
2017.05.05 18:24:03 1:     UPnP::ControlPoint::handleOnce      called by ./FHEM/98_DLNARenderer.pm (243)
2017.05.05 18:24:03 1:     (eval)                              called by ./FHEM/98_DLNARenderer.pm (242)
2017.05.05 18:24:03 1:     main::DLNARenderer_Read             called by fhem.pl (3396)
2017.05.05 18:24:03 1:     main::CallFn                        called by fhem.pl (685)
2017.05.05 18:24:03 1: PERL WARNING: Use of uninitialized value $location in concatenation (.) or string at FHEM/lib/UPnP/ControlPoint.pm line 309.
2017.05.05 18:24:03 1: stacktrace:
2017.05.05 18:24:03 1:     main::__ANON__                      called by FHEM/lib/UPnP/ControlPoint.pm (309)
2017.05.05 18:24:03 1:     UPnP::ControlPoint::_createDevice   called by FHEM/lib/UPnP/ControlPoint.pm (340)
2017.05.05 18:24:03 1:     UPnP::ControlPoint::_getDeviceFromHeaders called by FHEM/lib/UPnP/ControlPoint.pm (463)
2017.05.05 18:24:03 1:     UPnP::ControlPoint::_receiveSSDPEvent called by FHEM/lib/UPnP/ControlPoint.pm (165)
2017.05.05 18:24:03 1:     UPnP::ControlPoint::handleOnce      called by ./FHEM/98_DLNARenderer.pm (243)
2017.05.05 18:24:03 1:     (eval)                              called by ./FHEM/98_DLNARenderer.pm (242)
2017.05.05 18:24:03 1:     main::DLNARenderer_Read             called by fhem.pl (3396)
2017.05.05 18:24:03 1:     main::CallFn                        called by fhem.pl (685)
2017.05.05 18:24:03 1: PERL WARNING: Loading device description failed with error: 400 URL missing (Location: ) at ./FHEM/98_DLNARenderer.pm line 243.
2017.05.05 18:24:03 1: stacktrace:
2017.05.05 18:24:03 1:     main::__ANON__                      called by /usr/share/perl/5.20/Carp.pm (168)
2017.05.05 18:24:03 1:     Carp::carp                          called by FHEM/lib/UPnP/ControlPoint.pm (309)
2017.05.05 18:24:03 1:     UPnP::ControlPoint::_createDevice   called by FHEM/lib/UPnP/ControlPoint.pm (340)
2017.05.05 18:24:03 1:     UPnP::ControlPoint::_getDeviceFromHeaders called by FHEM/lib/UPnP/ControlPoint.pm (463)
2017.05.05 18:24:03 1:     UPnP::ControlPoint::_receiveSSDPEvent called by FHEM/lib/UPnP/ControlPoint.pm (165)
2017.05.05 18:24:03 1:     UPnP::ControlPoint::handleOnce      called by ./FHEM/98_DLNARenderer.pm (243)
2017.05.05 18:24:03 1:     (eval)                              called by ./FHEM/98_DLNARenderer.pm (242)
2017.05.05 18:24:03 1:     main::DLNARenderer_Read             called by fhem.pl (3396)
2017.05.05 18:24:03 1:     main::CallFn                        called by fhem.pl (685)

die treten immer dann auf, wenn mein tv läuft. dabei hab ich das ding eig. im dlnarenderer ausgenommen:attr dlnadevices ignoreUDNs uuid:3530f2e6-4284-735d-53f8-6008ac43b77f

mein vorgehen war, dass ich den tivi einmal finden ließ, ihn in ignoreUDNs eingetragen hab und dann das tv-device gelöscht hab.
war das falsch, oder wo könnten die x warnings herkommen?
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: Manul am 13 Mai 2017, 14:45:02
Ich kriege beim Versuch, einen DLNA-Renderer zu definieren, folgende Fehlermeldung im Log:

2017.05.13 14:40:57 0: Attempt to reload UPnP/ControlPoint.pm aborted.
Compilation failed in require at ./FHEM/98_DLNARenderer.pm line 153.
BEGIN failed--compilation aborted at ./FHEM/98_DLNARenderer.pm line 153.


Zeile 153 ist

use UPnP::ControlPoint;

Ich habe daraufhin noch libnet-upnp-perl installiert, der Fehler bleibt aber gleich.

Das ganze ist auf einem (relativ) aktuellen Raspbian Jessie.
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: frank am 14 Mai 2017, 18:29:02
schau dir meinen letzten post an.  ;)
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: Manul am 14 Mai 2017, 19:16:28
Danke, das hat's gebracht.
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: jove01 am 24 Juni 2017, 12:34:38
Hallo

ein klasse Modul  :)

Mein erster Schriit war, im TabletUI ein Radio anlegen und die Channels auf meinen Marantz zu spielen.

Im zweiten Schritt habe ich das ganze über FakeRoku und meine Harmony gesteuert. Ist auf Grund von FakeRoku etwas umständlich, da die numerischen Tasten nicht gesendet werden und im DOIF die Tasten gemappt werden. Funktuiniert auch prima.

Und nun zu meiner Frage: Mit einem notify "AV_Marantz set DLNA_0006780d4533 $EVENT" möchte ich den DLNA stoppen, wenn der Marantz auf "Off" geht. Macht das Sinn ? Im DLNA stehen weiterhin die Channel und es scheint so, als ob das DLNA-Streamen immer aktiv ist !?

Mit set DLNA off sehe ich keine Änderungen an den Readings. Muss man überhaupt was stoppen ?

Danke
Jürgen
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: jove01 am 27 Juni 2017, 10:40:48
Hallo
ich habe noch ein Problem, was mir zuvor nicht aufgefallen ist.

Mein Log ist voll mit

2017.06.27 10:31:06 1: PERL WARNING: Subscription request failed with error: 412 Precondition Failed at ./FHEM/98_DLNARenderer.pm line 1339.
2017.06.27 10:31:06 1: PERL WARNING: Subscription request failed with error: 412 Precondition Failed at ./FHEM/98_DLNARenderer.pm line 1343.


Habe leider dazu nichts gefunden.

Danke
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: jove01 am 30 Juni 2017, 14:48:53
Hallo

ich bitte nochmals dringend um Hilfe, da mein Log aktuell explodiert.

2017.06.30 00:36:54 1: PERL WARNING: Renewal of subscription failed with error: 412 Precondition Failed at ./FHEM/98_DLNARenderer.pm line 1264.
2017.06.30 00:36:54 1: PERL WARNING: Renewal of subscription failed with error: 412 Precondition Failed at ./FHEM/98_DLNARenderer.pm line 1271.
2017.06.30 00:40:14 1: PERL WARNING: Renewal of subscription failed with error: 412 Precondition Failed at ./FHEM/98_DLNARenderer.pm line 1264.
2017.06.30 00:40:14 1: PERL WARNING: Renewal of subscription failed with error: 412 Precondition Failed at ./FHEM/98_DLNARenderer.pm line 1271.
2017.06.30 00:43:52 1: PERL WARNING: Renewal of subscription failed with error: 500 Can't connect to 192.168.178.34:55000 at ./FHEM/98_DLNARenderer.pm line 1264.
2017.06.30 00:43:56 1: PERL WARNING: Renewal of subscription failed with error: 500 Can't connect to 192.168.178.34:55000 at ./FHEM/98_DLNARenderer.pm line 1271.
2017.06.30 00:46:57 1: PERL WARNING: Renewal of subscription failed with error: 500 Can't connect to 192.168.178.34:55000 at ./FHEM/98_DLNARenderer.pm line 1264.
2017.06.30 00:47:00 1: PERL WARNING: Renewal of subscription failed with error: 500 Can't connect to 192.168.178.34:55000 at ./FHEM/98_DLNARenderer.pm line 1271.


Es scheint sich um ein Gerät zu handeln, zumindest bei den Meldungen mit IP. Dieses Gerät ist zweimal als DLNA implementiert. Zum einen direkt über das DLNA-Modul und jetzt neuerdings durch die Squeezbox mit der DLNA-Bridge.

Wo die Auflösung bezüglich der IP erfolfgt, sehe ich nicht.

Ergänzend muss ich nachtragen, dass auch die IP des squeezbox-server in den Meldungen zu finden ist.

2017.06.30 15:22:24 1: PERL WARNING: Renewal of subscription failed with error: 500 Can't connect to 192.168.178.46:37901 at ./FHEM/98_DLNARenderer.pm line 1264.
2017.06.30 15:22:24 1: PERL WARNING: Renewal of subscription failed with error: 500 Can't connect to 192.168.178.46:37901 at ./FHEM/98_DLNARenderer.pm line 1271.

Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: the ratman am 01 Juli 2017, 08:26:01
scheinbar inkompatibilität mit anderen modulen unter bestimten situationen und probleme mit manchen geräten.

hiho
ich hab hier ja die entsprechenden fehler (warnings) schon mal gepostet und dann gröbste probleme bekommen.
siehe hier https://forum.fhem.de/index.php/topic,72628.0.html das problem.
und hier https://forum.fhem.de/index.php/topic,73539.0.html die "lösung".

wer sich ned alles durchlesen will:
der dlna-renderer produziert unmengen an warnings, wenn mein lg-tv (der sogar vom renderer ausgenommen wurde) rennt. läuft dann auch noch das steuermodul für den lg-tv gibts "überlasten" mit temperaraturanstiegen ohne ende. fhem wird dabei über stunden unbrauchbar, bzw. muß das gesamte perl restartet werden um das problem wieder los zu werden.

btw - mein lg-tv kann sich sogar von einem dummen windoof-tablet bestreamen lassen - beim dlna-rederer kommt da nur ne fehlermeldung, dass der tv mit den empfangenen daten nix anfangen kann.
am tv liegts also wohl nicht wirklich ...
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: jove01 am 01 Juli 2017, 12:26:58
Hallo

Das mit der Inkompatibilität scheint in diesem Fall auch zuzutreffen.

Inzwischen habe ich im LMS die Dlna-Bridge deaktiviert und die Chromecast-Bridge ist weiterhin aktiv. In Fhem ist damit erst einmal Ruhe. Das Dlna-Modul ist ebenso weiterhin aktiv.

Im Moment weiß ich noch nicht,  ob es einen akustischen Unterschied zwischen Chromecast und Dlna von einem Rpi2 ohne Soundkarte gibt. Sobald ich für mich die optimale Lösung gefunden bzw. Probleme in diesem Kontext habe, melde ich mich hier wieder.

++++

Leider muss ich die Entwarnung zurücknehmen. Ich habe inzwischen das Modul rausgeworfen und alle Devices gelöscht. Und dann mal Schritt für Schritt ...

++++

Ob die genannten Probleme mit einem anderen Fehler zusammenhängen, den ich mir eingebaut habe, kann ich nicht sagen. Jedenfalls bekomme ich jetzt in einener korrekten Landschaft (ohne squeezbox) nach einer neuen Definition von DLNA bei jedem Restart den folgenden Fehler

2017.07.01 20:03:23 1: Including /opt/fhem/log/fhem.save
2017.07.01 20:03:25 1: usb create starting
2017.07.01 20:03:26 1: usb create end
2017.07.01 20:03:26 0: Featurelevel: 5.8
2017.07.01 20:03:26 0: Server started with 271 defined entities (fhem.pl:14348/2017-05-22 perl:5.020002 os:linux user:fhem pid:2214)
2017.07.01 20:03:30 1: PERL WARNING: Subscription request failed with error: 412 Precondition Failed at ./FHEM/98_DLNARenderer.pm line 1339.
2017.07.01 20:03:30 1: PERL WARNING: Subscription request failed with error: 412 Precondition Failed at ./FHEM/98_DLNARenderer.pm line 1343.



Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: dk3572 am 04 Juli 2017, 18:57:09
Hallo,

was hat folgende Warnung zu bedeuten?
PERL WARNING: Renewal of subscription failed with error: 500 Can't connect to 192.168.178.140:52235 at ./FHEM/98_DLNARenderer.pm line 1271
Die müllt mir im 3 Minuten Takt das Log zu.

Danke für Hilfe im Voraus.

Gruß Dieter
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: michael.winkler am 06 Juli 2017, 07:50:34
Zitat von: dk3572 am 04 Juli 2017, 18:57:09
PERL WARNING: Renewal of subscription failed with error: 500 Can't connect to 192.168.178.140:52235 at ./FHEM/98_DLNARenderer.pm line 1271
Die müllt mir im 3 Minuten Takt das Log zu.

Bei mir zeigt sich das gleiche Verhalten. Das Gerät, welches das Modul hier wohl prüft ist zum Zeitpunkt der Meldungen offline.

Kann diese Meldung unterdrückt werden?
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: Skusi am 06 Juli 2017, 09:18:38
Ich habe aus lauter Verzweiflung schon alle DLNA Module gelöscht, damit erstmal Ruhe ist. Ich hoffe das das Problem bald behoben wird, damit ich die Module wieder rein nehmen kann.
Auch bei mir waren die betreffenden Geräte offline. Selbst Verbose 0 hilft da nicht.
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: FhemPiUser am 15 Juli 2017, 12:59:38
ich bekomme auch etliche fehlermeldungen, gibt es inzwischen einen lösungsansatz?
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: the ratman am 15 Juli 2017, 13:49:42
ich hab ihn nimma installiert und jetzt mehrere wlan-boxen scheinbar für die katz gekauft.

is das aktuelle modul "v2.0.0 RC5 - 20160614" die letzte version?
weil dann wäre ja seit über 1 jahr nix mehr passiert. ich seh schwarz ...
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: Brice am 15 Juli 2017, 16:20:18
Bei mir läuft das Modul problemlos mit einem Sony WLan-Lautsprecher (SA NS310). Ich nutze die Version 2.05
Internals:
   NAME       dlnadevices
   NR         826
   STATE      initialized
   TYPE       DLNARenderer
   UDN        0
   VERSION    v2.0.5
   READINGS:
     2017-07-07 11:12:30   state           initialized
   helper:
     caskeid    0
     caskeidClients
Attributes:
   ignoreUDNs uuid:BO5EBO5E-F00D-F00D-FEED-507224BD4752 uuid:3dcc7100-f76c-11dd-87af-002261d46ff8 uuid:295bb78e-8263-4a38-86e9-7cff9a7701fb
   userattr   defaultRoom ignoreUDNs


und hatte vor einiger Zeit das Modul 98_DLNARenderer.pm in global vom update ausgeschlossen.

Schaut doch mal, ob euch die Version ab Antwort #470 weiterhilft. Wobei ich gerade sehe, dass die bei mir lokal gespeicherte 98_DLNARenderer.pm das Datum 27.03.2017 hat.

Und falls ihr eine Bose Soundtouch10 im Einsatz habe, da gab es Probleme. Deshalb ist diese u.a. per ignoreUDNs definiert.
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: Brockmann am 16 Juli 2017, 08:29:27
Ich habe mehrere Munets und eine Pioneer-Box problemlos im Einsatz. Habe allerdings auch noch diese Version installiert:
98_DLNARenderer.pm 12169 2016-09-18 16:03:37Z dominikkarall
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: MichaelT am 23 Juli 2017, 14:20:06
Hallo Zusammen,

ich habe bei mir auch vier munet's am laufen - ohne Probleme.
Die Fehlermeldungen kommen aus dem FHEM/lib/ControlPoint.pm - ich habe sie bei mir temporär auskommentiert.
Ursache sind DLNA-Clients, die nicht immer online sind.
Zeile 1074ff


        $self->{_startTime} = Time::HiRes::time();
    }
#   else {
#       carp("Renewal of subscription failed with error: " .
#            $response->code . " " . $response->message);
#   }



Gruß
Michael
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: michael.winkler am 23 Juli 2017, 16:58:18
Zitat von: MichaelT am 23 Juli 2017, 14:20:06
Hallo Zusammen,

ich habe bei mir auch vier munet's am laufen - ohne Probleme.
Die Fehlermeldungen kommen aus dem FHEM/lib/ControlPoint.pm - ich habe sie bei mir temporär auskommentiert.
Ursache sind DLNA-Clients, die nicht immer online sind.
Zeile 1074ff


        $self->{_startTime} = Time::HiRes::time();
    }
#   else {
#       carp("Renewal of subscription failed with error: " .
#            $response->code . " " . $response->message);
#   }



Gruß
Michael

Hi MichaelT

dann geh doch mal auf den Entwickler diese Modules zu, der kann dass dann generell korrigieren. Das Modul scheint ja recht aktuell zu sein.


# $Id: ControlPoint.pm 14715 2017-07-14 10:39:57Z Reinerlein $


Gruß
Michael
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: MichaelT am 23 Juli 2017, 18:30:35
Hallo Michael,

könnte ich machen, aber die Meldung ist ja in sich richtig.
Ggf muss dominik das renew nur machen, wenn der Renderer online ist?
dominik liest ja hier mit. Hat bisher jedenfalls immer funktioniert.

Gruß
Michael
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: Jewe am 30 Oktober 2017, 17:11:28
Zitat von: michael.winkler am 23 Juli 2017, 16:58:18
Hi MichaelT

dann geh doch mal auf den Entwickler diese Modules zu, der kann dass dann generell korrigieren. Das Modul scheint ja recht aktuell zu sein.


# $Id: ControlPoint.pm 14715 2017-07-14 10:39:57Z Reinerlein $


Gruß
Michael

Hallo,

gibt es zu dem Problem schon eine Lösung, oder wird daran gearbeitet ?
Habe auch das Problem dass mein LogFile voll von diesen Warnungen ist. Ich möchte den DLNA-Renderer mit meinen Raumfeld Connector verwenden.

2017.10.30 16:58:22 1: PERL WARNING: Renewal of subscription failed with error: 412 Precondition Failed at ./FHEM/98_DLNARenderer.pm line 1264.
2017.10.30 16:58:22 1: PERL WARNING: Renewal of subscription failed with error: 412 Precondition Failed at ./FHEM/98_DLNARenderer.pm line 1271.
2017.10.30 17:01:42 1: PERL WARNING: Renewal of subscription failed with error: 412 Precondition Failed at ./FHEM/98_DLNARenderer.pm line 1264.
2017.10.30 17:01:42 1: PERL WARNING: Renewal of subscription failed with error: 412 Precondition Failed at ./FHEM/98_DLNARenderer.pm line 1271.
2017.10.30 17:05:02 1: PERL WARNING: Renewal of subscription failed with error: 412 Precondition Failed at ./FHEM/98_DLNARenderer.pm line 1264.
2017.10.30 17:05:02 1: PERL WARNING: Renewal of subscription failed with error: 412 Precondition Failed at ./FHEM/98_DLNARenderer.pm line 1271.


Jens
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: dominik am 18 November 2017, 21:31:37
Hallo zusammen,

sorry für die späte Rückmeldung. Aufgrund von Umzug ins Ausland und Jobwechsel habe ich gerade nur wenig Zeit.
Anbei eine Version in der das Problem mit den Subscriptions wahrscheinlich gelöst ist. Renew() wird nun nur mehr aufgerufen, wenn das Device online ist.

Bitte um Rückmeldung ob es eure Probleme behebt.

Gruß
Dominik
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: MichaelT am 19 November 2017, 12:53:55
Hallo Dominik,

schön das Du wieder Zeit hast.

Ich habe bei mir noch folgendes eingebaut.

197d196
<     addToDevAttrList($hash->{NAME}, "acceptedUDNs");
1291,1297c1290
<   Log3 $hash, 5, "DLNARenderer: Add device $udn";
<
<   my $acceptedUDN=AttrVal($hash->{NAME}, "acceptedUDNs", "");
<   return undef if( $acceptedUDN ne "" && $acceptedUDN !~ /$udn/);
<
<   Log3 $hash, 5, "DLNARenderer: accept device $udn";


So kann man mit "acceptedUDNs" bestimmen, wer als Renderer aufgenommen wird. Hat sich bei mir bewährt, da wir oft Besuch haben und deren Telefone plötzlich bei mir als Devices
auftauchte. Einfach eine Liste der gewollten UDNs eintragen, fertig. Andere werden dann nicht als Device erzeugt.

Deine Änderung werde ich bei mir testen.

Gruß Michael
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: Brockmann am 20 November 2017, 08:19:50
Zitat von: MichaelT am 19 November 2017, 12:53:55
So kann man mit "acceptedUDNs" bestimmen, wer als Renderer aufgenommen wird. Hat sich bei mir bewährt, da wir oft Besuch haben und deren Telefone plötzlich bei mir als Devices
auftauchte. Einfach eine Liste der gewollten UDNs eintragen, fertig. Andere werden dann nicht als Device erzeugt.
Sehr gute Idee. Wäre schön, wenn das ein "offizielles" Feature würde, wenn die Zeit es mal erlaubt.
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: dominik am 20 November 2017, 09:12:39
Danke Michael für das Feature. Hab es bei mir schon eingebaut und damit kommt es ins nächste Update mit rein :)

Gebt mir bitte noch Rückmeldung ob die Version oben die Fehlermeldungen behebt. Sobald ich da positives Feedback habe, wird die Version im SVN aktualisiert.

Gruß
Dominik
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: mumpitzstuff am 21 November 2017, 00:48:51
Vor dem Update:

2017.11.21 00:18:37 1: PERL WARNING: Renewal of subscription failed with error: 412 Precondition Failed at ./FHEM/98_DLNARenderer.pm line 1265.
2017.11.21 00:18:37 1: PERL WARNING: Renewal of subscription failed with error: 412 Precondition Failed at ./FHEM/98_DLNARenderer.pm line 1272.
2017.11.21 00:18:40 1: PERL WARNING: Renewal of subscription failed with error: 500 Can't connect to 192.168.1.107:8050 at ./FHEM/98_DLNARenderer.pm line 1265.
2017.11.21 00:18:43 1: PERL WARNING: Renewal of subscription failed with error: 500 Can't connect to 192.168.1.107:8050 at ./FHEM/98_DLNARenderer.pm line 1272.
2017.11.21 00:21:57 1: PERL WARNING: Renewal of subscription failed with error: 412 Precondition Failed at ./FHEM/98_DLNARenderer.pm line 1265.
2017.11.21 00:21:57 1: PERL WARNING: Renewal of subscription failed with error: 412 Precondition Failed at ./FHEM/98_DLNARenderer.pm line 1272.
2017.11.21 00:22:00 1: PERL WARNING: Renewal of subscription failed with error: 500 Can't connect to 192.168.1.107:8050 at ./FHEM/98_DLNARenderer.pm line 1265.
2017.11.21 00:22:03 1: PERL WARNING: Renewal of subscription failed with error: 500 Can't connect to 192.168.1.107:8050 at ./FHEM/98_DLNARenderer.pm line 1272.
2017.11.21 00:24:51 3: DLNARenderer: handleOnce failed, mismatched tag 'head'


Nach dem Update:

2017.11.21 00:30:32 1: PERL WARNING: Subscription request failed with error: 400 Bad Request at ./FHEM/98_DLNARenderer.pm line 1336.
2017.11.21 00:30:32 1: PERL WARNING: Subscription request failed with error: 400 Bad Request at ./FHEM/98_DLNARenderer.pm line 1340.
2017.11.21 00:32:21 3: DLNARenderer: handleOnce failed, mismatched tag 'head'

2017.11.21 00:33:31 1: PERL WARNING: Renewal of subscription failed with error: 412 Precondition Failed at ./FHEM/98_DLNARenderer.pm line 1261.
2017.11.21 00:33:31 1: PERL WARNING: Renewal of subscription failed with error: 412 Precondition Failed at ./FHEM/98_DLNARenderer.pm line 1268.
2017.11.21 00:36:51 1: PERL WARNING: Renewal of subscription failed with error: 412 Precondition Failed at ./FHEM/98_DLNARenderer.pm line 1261.
2017.11.21 00:36:51 1: PERL WARNING: Renewal of subscription failed with error: 412 Precondition Failed at ./FHEM/98_DLNARenderer.pm line 1268.
2017.11.21 00:39:51 3: DLNARenderer: handleOnce failed, mismatched tag 'head'

2017.11.21 00:40:11 1: PERL WARNING: Renewal of subscription failed with error: 412 Precondition Failed at ./FHEM/98_DLNARenderer.pm line 1261.
2017.11.21 00:40:11 1: PERL WARNING: Renewal of subscription failed with error: 412 Precondition Failed at ./FHEM/98_DLNARenderer.pm line 1268.
2017.11.21 00:43:31 1: PERL WARNING: Renewal of subscription failed with error: 412 Precondition Failed at ./FHEM/98_DLNARenderer.pm line 1261.
2017.11.21 00:43:31 1: PERL WARNING: Renewal of subscription failed with error: 412 Precondition Failed at ./FHEM/98_DLNARenderer.pm line 1268.
2017.11.21 00:44:07 1: PERL WARNING: Use of uninitialized value in numeric eq (==) at ./FHEM/98_DLNARenderer.pm line 309.
2017.11.21 00:46:51 1: PERL WARNING: Renewal of subscription failed with error: 412 Precondition Failed at ./FHEM/98_DLNARenderer.pm line 1261.
2017.11.21 00:46:51 1: PERL WARNING: Renewal of subscription failed with error: 412 Precondition Failed at ./FHEM/98_DLNARenderer.pm line 1268.
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: dominik am 26 November 2017, 12:20:38
Sieht zumindest schon "anders" aus ;) Der 500er dürfte behoben sein, die anderen Fehler muss ich mir dann nochmals genauer ansehen.

Wie sieht es bei den anderen aus die die Probleme hatten?
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: MichaelT am 26 November 2017, 13:05:33
Hallo Dominik,

leider kann ich nicht mit Sicherheit sagen, dass bei mir das Problem weg ist, da ich den Fernseher (der hatte das Problem) gewechselt habe.
Bei mir sehe ich aktuell nur von einigen Devices die Meldung

DLNARenderer: handleOnce failed, Can't use string ("") as an ARRAY ref while "strict refs" in use at FHEM/lib/UPnP/ControlPoint.pm line 522.
...
PERL WARNING: Renewal of subscription failed with error: 500 Can't connect to 192.168.4.30:44598 at ./FHEM/98_DLNARenderer.pm line 1262.
...


192.68.4.30 sollte eigentlich immer Online sein. Ansonsten nichts besonderes zu sehen.


Ich habe noch zu meine Diff den * ergänzt. So kann man dann wieder alles zulassen
return undef if( $acceptedUDN ne "*" && $acceptedUDN !~ /$udn/);


Gruß
Michael


Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: mumpitzstuff am 26 November 2017, 21:54:54
Ich habe jetzt ein wenig rum experimentiert und folgendes entfernt bei mir zuverlässig die Warnungen:

$SIG{__WARN__} = sub { $_ = shift; };

Wenn man diese Zeile am Anfang der Funktion DLNARenderer_renewSubscriptionBlocking() einfügt, dann werden alle Warnungen die danach geworfen werden abgefangen und ins Nirwana geschickt. Das sollte auch nur Warnungen innerhalb dieser Funktion betreffen und nicht die Warnungen in anderen Funktionen.

Das Einzige was dann ab und zu noch kommt ist:

2017.11.26 21:47:31 3: DLNARenderer: handleOnce failed, mismatched tag 'head'

Aber diese Warnung kommt aus deinem Modul und nicht von der ControlPoint.pm.
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: KlaGho am 27 November 2017, 15:28:34
Hi, ich habe auch mal getestet:

1. Radiosender funktionieren
2. Speak klappt nicht
3. Sources mit Leerzeichen funktionieren nicht
4. under_score geht
5. normal lange MP3-Songs werden zwar abgespielt, blockieren dann aber FHEM komplett. Ich musste fhem per ssh console stoppen.

Anbei ein List mit den Testszenarios via Channel-Zuweisungen (ich hoffe, das kann man so machen??!!).

Vielen Dank für dieses Modul und Gruß gho

Internals:
   DEF        uuid:5F9EC1B3-ED59-79C2-4530-745E1C223664
   NAME       DLNA_745E1C223664
   NR         358
   STATE      online
   TYPE       DLNARenderer
   UDN        uuid:5F9EC1B3-ED59-79C2-4530-745E1C223664
   READINGS:
     2017-11-27 15:16:33   channel         3
     2017-11-27 15:03:45   friendlyName    XW-SMA3 223664
     2017-11-27 15:03:45   manufacturer    PIONEER CORPORATION
     2017-11-27 15:03:45   manufacturerURL http://www.pioneerelectronics.com
     2017-11-27 15:03:45   modelDescription Digital Media Client
     2017-11-27 15:03:45   modelName       XW-SMA3
     2017-11-27 15:03:45   modelNumber     Digital Media Client
     2017-11-27 15:03:45   multiRoomSupport 0
     2017-11-27 15:03:45   presence        online
     2017-11-27 15:03:45   presentationURL http://192.168.178.39
     2017-11-27 15:03:45   state           online
     2017-11-27 15:16:33   stream          http://gho1:8083/fhem/mp3/doorbell_01.mp3
   helper:
     avTransportSubscription
     caskeid    0
     caskeidClients
     renderingControlSubscription
Attributes:
   DbLogExclude .*
   alias      XW-SMA3 223664
   channel_01 http://mp3-live.swr3.de/swr3_m.m3u
   channel_02 http://188.94.97.90/rockland.mp3
   channel_03 http://gho1:8083/fhem/mp3/doorbell_01.mp3
   channel_04 http://translate.google.com/translate_tts?tl=DE&client=tw-ob&q=hallo mit o
   channel_05 http://translate.google.com/translate_tts?tl=DE&client=tw-ob&q="hallo mit o"
   channel_06 http://translate.google.com/translate_tts?tl=DE&client=tw-ob&q=hallo
   channel_07 http://gho1:8083/fhem/mp3/"test space".mp3
   channel_08 http://gho1:8083/fhem/mp3/'test space.mp3'
   channel_09 http://gho1:8083/fhem/mp3/"test space.mp3"
   channel_10 http://gho1:8083/fhem/mp3/test_underscore.mp3
   room       1
   ttsLanguage DE
   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
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: mumpitzstuff am 27 November 2017, 20:59:17
In URLs gibts keine Leerzeichen oder Anführungszeichen.

https://www.urlencoder.org/ (https://www.urlencoder.org/)

Gib mal hier ein was du haben willst und nimm diese URL.

Für Speak gibts ein eigenes Kommando. Bei mir hat es funktioniert, nachdem ich das entsprechende Gerät in den richtigen Modus geschaltet hatte.
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: KlaGho am 28 November 2017, 14:30:37
ok, das mit dem Encoding habe ich verstanden ;). Es klappt.
Aber das mit dem speak command bekomme ich nicht hin. Anbei mal ein Log (Radio und Doorbell funktionieren, Speak nicht)

Auch habe ich nochmal einen MP3 Song getestet. Er wird auch abgespielt, blockiert aber FHEM bis kurz vor Schluss :'(

Und dann habe ich nach einem FHEM-restart noch folgende Warnungen im LOG:

2017.11.28 13:01:33.489 3: DLNARenderer: Created device DLNA_745E1C223664 for XW-SMA3 223664
2017.11.28 13:01:33.529 1: PERL WARNING: Subscription request failed with error: 412 Precondition Failed at ./FHEM/98_DLNARenderer.pm line 1339.
2017.11.28 13:01:33.545 1: PERL WARNING: Subscription request failed with error: 412 Precondition Failed at ./FHEM/98_DLNARenderer.pm line 1343.


Hier das Log für die Testläufe:

Events (Filter: DLNA.*)   FHEM log   ResetCreate/Modify Device

2017.11.28 14:15:01.100 5 : DLNARenderer: AVTransport: urn:schemas-upnp-org:service:AVTransport:1 found. OK.
2017.11.28 14:15:01.145 5 : DLNARenderer: AVTransport, SetAVTransportURI(0,http://translate.google.com/translate_tts?tl=en&client=tw-ob&q=test,) succeed.
2017.11.28 14:15:01.147 5 : DLNARenderer: AVTransport: urn:schemas-upnp-org:service:AVTransport:1 found. OK.
2017.11.28 14:15:01.179 5 : DLNARenderer: AVTransport, Play(0,1) succeed.
2017-11-28 14:15:01.186 DLNARenderer DLNA_745E1C223664 stream: http://translate.google.com/translate_tts?tl=en&client=tw-ob&q=test
2017.11.28 14:16:06.706 5 : DLNARenderer: AVTransport: urn:schemas-upnp-org:service:AVTransport:1 found. OK.
2017.11.28 14:16:06.771 5 : DLNARenderer: AVTransport, SetAVTransportURI(0,http://gho1:8083/fhem/mp3/doorbell_01.mp3,) succeed.
2017.11.28 14:16:06.773 5 : DLNARenderer: AVTransport: urn:schemas-upnp-org:service:AVTransport:1 found. OK.
2017.11.28 14:16:06.905 5 : DLNARenderer: AVTransport, Play(0,1) succeed.
2017-11-28 14:16:06.917 DLNARenderer DLNA_745E1C223664 stream: http://gho1:8083/fhem/mp3/doorbell_01.mp3
2017-11-28 14:16:06.926 DLNARenderer DLNA_745E1C223664 channel: 3
2017.11.28 14:16:37.838 5 : DLNARenderer: AVTransport: urn:schemas-upnp-org:service:AVTransport:1 found. OK.
2017.11.28 14:16:37.891 5 : DLNARenderer: AVTransport, SetAVTransportURI(0,http://mp3-live.swr3.de/swr3_m.m3u,) succeed.
2017.11.28 14:16:37.893 5 : DLNARenderer: AVTransport: urn:schemas-upnp-org:service:AVTransport:1 found. OK.
2017.11.28 14:16:37.945 5 : DLNARenderer: AVTransport, Play(0,1) succeed.
2017-11-28 14:16:37.961 DLNARenderer DLNA_745E1C223664 stream: http://mp3-live.swr3.de/swr3_m.m3u
2017-11-28 14:16:37.970 DLNARenderer DLNA_745E1C223664 channel: 1
2017.11.28 14:17:12.444 5 : DLNARenderer: AVTransport: urn:schemas-upnp-org:service:AVTransport:1 found. OK.
2017.11.28 14:17:12.496 5 : DLNARenderer: AVTransport, SetAVTransportURI(0,http://translate.google.com/translate_tts?tl=en&client=tw-ob&q=hallo,) succeed.
2017.11.28 14:17:12.498 5 : DLNARenderer: AVTransport: urn:schemas-upnp-org:service:AVTransport:1 found. OK.
2017.11.28 14:17:12.530 5 : DLNARenderer: AVTransport, Play(0,1) succeed.
2017-11-28 14:17:12.537 DLNARenderer DLNA_745E1C223664 stream: http://translate.google.com/translate_tts?tl=en&client=tw-ob&q=hallo
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: mumpitzstuff am 28 November 2017, 18:02:03
Das mit dem Speak sieht eigentlich gut aus, deshalb vermute ich, dass dein Gerät mit dem mp3 von Google Probleme hat. Das ist irgendwie ein recht blödes Format was Google da raus gibt. Testweise kannst du dir ja mal ein mp3 von Google speichern und dann wie doorbell aufrufen. Wenn das auch nicht funktioniert, dann kann dein Gerät das mp3 von Google nicht abspielen. Dafür könnte dann das Modul nichts.

Die Warnungen haben viele. In einem Post weiter oben habe ich geschrieben wie man das verhindern kann. Ich hoffe der Author baut sowas in der Art bald ein.

Ich vermute, dass das Abspielen des mp3 files blockierend implementiert ist. Man müsste hier vielleicht auf non blocking gehen, damit das Modul dann wirklich verwendbar ist. Das müsste sich der Author mal ansehen.
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: dominik am 09 Dezember 2017, 09:19:26
Anbei eine Version in der die renew Warnings nur mehr bei Log Level 5 kommen sollten.
Danke @mumpitzstuff für den Fix!

Bitte testen und Feedback geben.
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: the ratman am 19 Dezember 2017, 16:08:36
wollte grade hier reinposten, weil in der offiziellen version immer2017.12.19 12:02:00 1: logfile wurde gelöscht
2017.12.19 12:25:31 1: PERL WARNING: Use of uninitialized value $location in concatenation (.) or string at FHEM/lib/UPnP/ControlPoint.pm line 326.
2017.12.19 12:25:31 1: stacktrace:
2017.12.19 12:25:31 1:     main::__ANON__                      called by FHEM/lib/UPnP/ControlPoint.pm (326)
2017.12.19 12:25:31 1:     UPnP::ControlPoint::_createDevice   called by FHEM/lib/UPnP/ControlPoint.pm (358)
2017.12.19 12:25:31 1:     UPnP::ControlPoint::_getDeviceFromHeaders called by FHEM/lib/UPnP/ControlPoint.pm (481)
2017.12.19 12:25:31 1:     UPnP::ControlPoint::_receiveSSDPEvent called by FHEM/lib/UPnP/ControlPoint.pm (183)
2017.12.19 12:25:31 1:     UPnP::ControlPoint::handleOnce      called by ./FHEM/98_DLNARenderer.pm (246)
2017.12.19 12:25:31 1:     (eval)                              called by ./FHEM/98_DLNARenderer.pm (245)
2017.12.19 12:25:31 1:     main::DLNARenderer_Read             called by fhem.pl (3500)
2017.12.19 12:25:31 1:     main::CallFn                        called by fhem.pl (702)
2017.12.19 12:25:31 1: PERL WARNING: 400-URL-Absolute-Error! Location: "", Content: "400 URL missing
" at ./FHEM/98_DLNARenderer.pm line 246.
2017.12.19 12:25:31 1: stacktrace:
2017.12.19 12:25:31 1:     main::__ANON__                      called by /usr/share/perl/5.24/Carp.pm (169)
2017.12.19 12:25:31 1:     Carp::carp                          called by FHEM/lib/UPnP/ControlPoint.pm (326)
2017.12.19 12:25:31 1:     UPnP::ControlPoint::_createDevice   called by FHEM/lib/UPnP/ControlPoint.pm (358)
2017.12.19 12:25:31 1:     UPnP::ControlPoint::_getDeviceFromHeaders called by FHEM/lib/UPnP/ControlPoint.pm (481)
2017.12.19 12:25:31 1:     UPnP::ControlPoint::_receiveSSDPEvent called by FHEM/lib/UPnP/ControlPoint.pm (183)
2017.12.19 12:25:31 1:     UPnP::ControlPoint::handleOnce      called by ./FHEM/98_DLNARenderer.pm (246)
2017.12.19 12:25:31 1:     (eval)                              called by ./FHEM/98_DLNARenderer.pm (245)
2017.12.19 12:25:31 1:     main::DLNARenderer_Read             called by fhem.pl (3500)
2017.12.19 12:25:31 1:     main::CallFn                        called by fhem.pl (702)
2017.12.19 12:25:31 1: PERL WARNING: Use of uninitialized value $location in concatenation (.) or string at FHEM/lib/UPnP/ControlPoint.pm line 327.
2017.12.19 12:25:31 1: stacktrace:
2017.12.19 12:25:31 1:     main::__ANON__                      called by FHEM/lib/UPnP/ControlPoint.pm (327)
2017.12.19 12:25:31 1:     UPnP::ControlPoint::_createDevice   called by FHEM/lib/UPnP/ControlPoint.pm (358)
2017.12.19 12:25:31 1:     UPnP::ControlPoint::_getDeviceFromHeaders called by FHEM/lib/UPnP/ControlPoint.pm (481)
2017.12.19 12:25:31 1:     UPnP::ControlPoint::_receiveSSDPEvent called by FHEM/lib/UPnP/ControlPoint.pm (183)
2017.12.19 12:25:31 1:     UPnP::ControlPoint::handleOnce      called by ./FHEM/98_DLNARenderer.pm (246)
2017.12.19 12:25:31 1:     (eval)                              called by ./FHEM/98_DLNARenderer.pm (245)
2017.12.19 12:25:31 1:     main::DLNARenderer_Read             called by fhem.pl (3500)
2017.12.19 12:25:31 1:     main::CallFn                        called by fhem.pl (702)
2017.12.19 12:25:31 1: PERL WARNING: Loading device description failed with error: 400 URL missing (Location: ) at ./FHEM/98_DLNARenderer.pm line 246.
2017.12.19 12:25:31 1: stacktrace:
2017.12.19 12:25:31 1:     main::__ANON__                      called by /usr/share/perl/5.24/Carp.pm (169)
2017.12.19 12:25:31 1:     Carp::carp                          called by FHEM/lib/UPnP/ControlPoint.pm (327)
2017.12.19 12:25:31 1:     UPnP::ControlPoint::_createDevice   called by FHEM/lib/UPnP/ControlPoint.pm (358)
2017.12.19 12:25:31 1:     UPnP::ControlPoint::_getDeviceFromHeaders called by FHEM/lib/UPnP/ControlPoint.pm (481)
2017.12.19 12:25:31 1:     UPnP::ControlPoint::_receiveSSDPEvent called by FHEM/lib/UPnP/ControlPoint.pm (183)
2017.12.19 12:25:31 1:     UPnP::ControlPoint::handleOnce      called by ./FHEM/98_DLNARenderer.pm (246)
2017.12.19 12:25:31 1:     (eval)                              called by ./FHEM/98_DLNARenderer.pm (245)
2017.12.19 12:25:31 1:     main::DLNARenderer_Read             called by fhem.pl (3500)
2017.12.19 12:25:31 1:     main::CallFn                        called by fhem.pl (702)
kommt.

mit deiner testversion scheint jetzt mal ruhe zu sei  - zumindestens mal die 10 min lang, die ich mein test-fhem offen hatte.
zu früh gefreut ... kommt immer noch, wenn das gerät ausgeschaltet wird ...
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: the ratman am 27 Dezember 2017, 10:47:48
hiho,

kann man wegen meiner warnings nix machen?
das zeug müllt das log ohne ende voll ...
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: LarsMie am 28 Dezember 2017, 14:52:39
Moin, gibt es eine funktion im Modul, mehrere Geräte gleichzeitig anzustreamen?

Habe hier nen AVR und einen WiFi Lautsprecher in verschiedenen Räumen, die beide DLNA Streams abspielen können.
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: Brockmann am 29 Dezember 2017, 07:49:48
Zitat von: LarsMie am 28 Dezember 2017, 14:52:39
Moin, gibt es eine funktion im Modul, mehrere Geräte gleichzeitig anzustreamen?
Habe hier nen AVR und einen WiFi Lautsprecher in verschiedenen Räumen, die beide DLNA Streams abspielen können.
Diese Funktion gibt es für CaskeID-Geräte (siehe Doku: playEveryWhere bzw. addUNit). Es geht nicht mit beliebigen Geräten und wird auch niemals gehen.
Eine synchrone Multiroom-Wiedergabe funktioniert nur, wenn die Geräte das unterstützen und sich untereinander synchronisieren können.
Sonst hast Du immer irgendwo einen Zeitversatz drin, weil ein Gerät die Wiedergabe etwas schneller beginnt als das andere. Das kann man auch nicht per Software kompensieren, wenn die Geräte das nicht von selbst können.
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: dominik am 30 Dezember 2017, 21:44:22
@the ratman, um was für ein Gerät geht es da? Hat das Gerät schon mal mit den DLNRenderer funktioniert? Der Fehler dürfte sein, dass das Gerät keine Location Information liefert und das ControlPoint.pm Modul diesen Fehler nicht richtig handhabt.
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: the ratman am 30 Dezember 2017, 22:04:18
erst mal thx für die reaktion ...

das ist ne portable wlan-box.
funzt super mit deinem modul, solange sie im netz ist.

wie schon geschrieben tritt das vollmüllen des log auch nur auf, wenn die box nicht erreichbar (weil abgeschaltet oder unterwegs) ist.
das problem: ich kann die box nicht immer erreichbar halten.
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: rico5588 am 15 Januar 2018, 20:03:25
Hallo,

ich benötige Hilfe beim einrichten eines DLNA clienten.
Habe mir einen DENON AV Receiver zugelegt (Type AVR-X2400H), dieser sollte DLNA fähig sein. Leider erkennt das Modul diesen nicht.
Andere Geräte im Netzwerk werden erkannt.
Ich kann im Windows Mediaplayer diesen als Client ansprechen (Wiedergeben auf ....) - das geht einwandfrei.
Ich habe versuch mit Hilfe der UUID das Gerät Manuell anzulegen, jedoch bisher ohne Erfolg.
Was kann ich noch versuchen?

MFG Rico
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: loungelizard am 20 Januar 2018, 08:28:37
Hallo zusammen,
ich habe in Verbindung mit dem GGMM E3 (https://www.amazon.de/GGMM-Multiroom-Lautsprecher-Intergriert-Bluetooth/dp/B01DNSHIMS (https://www.amazon.de/GGMM-Multiroom-Lautsprecher-Intergriert-Bluetooth/dp/B01DNSHIMS)) Stabilitätsprobleme.

Der DLNA-Renderer erkennt das Gerät im Netzwerk beim ersten Anlegen und es lassen sich entsprechend auch mp3-Dateien abspielen.
Das Gerät schaltet sich in FHEM aber irgendwann offline und ist nicht mehr erreichbar. Ein Steaming von Android oder ios auf das Gerät funktioniert aber noch.
Ich hatte versucht, das Gerät 1x täglich stromlos zu schalten in der Hoffnung, dass der DLNA-Renderer es dann wieder erkennt, aber keinen Erfolg.
Er verbleibt bei mir auch dauerhaft im Zustand initializing.
Andere DLNA-Clients funktionieren problemlos.

Folgende Log-Zeile  habe ich erkannt:

DLNARenderer: Created device DLNA_7A0CFF310010 for WLANSpeaker
DLNARendererer: XML formatting error: mismatched tag at line 26, column 2, byte 1090 at /usr/lib/arm-linux-gnueabihf/perl5/5.20/XML/Parser.pm line 187.
, <Event xmlns="urn:schemas-upnp-org:metadata-1-0/AVT/">
<InstanceID val="0">
<TransportState val="NO_MEDIA_PRESENT"/>
<TransportStatus val="OK"/>
<NumberOfTracks val="0"/>
<CurrentTrack val="0"/>
<CurrentTrackDuration val="00:00:00"/>
<CurrentMediaDuration val="00:00:00"/>
<CurrentTrackURI val=""/>
<AVTransportURI val=""/>
<CurrentTrackMetaData val="">
<PlaybackStorageMedium val="NONE"/>
<PossiblePlaybackStorageMedia val="NONE,STATION-NETWORK,SONGLIST-NETWORK,SONGLIST-LOCAL,SONGLIST-LOCAL_TF,THIRD-DLNA,AIRPLAY,UNKNOWN"/>
<PossibleRecordStorageMedia val="NOT_IMPLEMENTED"/>
<RecordStorageMedium val="NOT_IMPLEMENTED"/>
<CurrentPlayMode val="NORMAL"/>
<TransportPlaySpeed val="1"/>
<RecordMediumWriteStatus val="NOT_IMPLEMENTED"/>



Internals:
   CFGFN     
   DEF        uuid:FF310010-7FCB-DCE6-AF85-7A0CFF310010
   NAME       DLNA_7A0CFF310010
   NR         124530
   STATE      online
   TYPE       DLNARenderer
   UDN        uuid:FF310010-7FCB-DCE6-AF85-7A0CFF310010
   READINGS:
     2018-01-20 08:11:25   friendlyName    WlanSpeaker
     2018-01-20 08:11:25   manufacturer    wiimu
     2018-01-20 08:11:25   manufacturerURL http://www.wiimu.com/
     2018-01-20 08:11:25   modelDescription WiiMu LinkPlayer
     2018-01-20 08:11:25   modelName       WiiMu LinkPlayer
     2018-01-20 08:11:25   modelNumber     V01-Aug 18 2017

     2018-01-20 08:11:25   modelURL        http://www.muzohifi.com/
     2018-01-20 08:11:26   multiRoomSupport 0
     2018-01-20 08:11:26   multiRoomVolume 48
     2018-01-20 08:11:26   mute            0
     2018-01-20 08:11:26   presence        online
     2018-01-20 08:11:26   state           online
     2018-01-20 08:11:26   volume          48
   helper:
     caskeid    0
     caskeidClients
Attributes:
   alias      WlanSpeaker
   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


Habt ihr eine Idee, was man hier machen könnte, um den Zugang stabil zu halten?
Cheers, Florian
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: der.einstein am 25 Januar 2018, 12:39:59
Hallo Leute,
ich bräuchte etwas Hilfe bei der Umsetzung von Subscription analog DLNA/UPNP mit Hilfe der Loewe TV Remote API.

Leider hat Dominik bislang nicht auf meine PM reagiert.

Kennt sich von euch noch jemand mit der Thematik aus?

THX!

Gesendet von meinem LG-D855 mit Tapatalk

Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: Sir Volvic am 26 Januar 2018, 09:38:19
Thema: Allplay Lautsprecher (Panasonic SC-Allxx, Lenco PlayLink, ...)

Bei mir stehen 3 dieser Lautsprecher. Sie werden vom Modul DLNARenderer gefunden, können jedoch nicht gesteuert werden.
Mit GUPnP (https://wiki.gnome.org/Projects/GUPnP) lassen sie sich jedoch steuern.

Ich habe dann mal Wireshark angesetzt und hier der TCP-Stream von einer nicht funktionierenden Lautstärkeänderung von fhem aus:
POST /RenderingControl/control HTTP/1.1
TE: deflate,gzip;q=0.3
Connection: TE, close
Accept: text/xml
Accept: multipart/*
Accept: application/soap
Host: 192.168.xxx.31:2870
User-Agent: SOAP::Lite/Perl/1.11
Content-Length: 639
Content-Type: text/xml; charset=utf-8
SOAPAction: "urn:schemas-upnp-org:service:RenderingControl:1#SetVolume"

<?xml version="1.0" encoding="UTF-8"?><soap:Envelope soap:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:namesp141="u" xmlns:namesp142="urn:schemas-upnp-org:service:RenderingControl:1" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soap:Body><namesp142:SetVolume><InstanceID xsi:type="xsd:int">0</InstanceID><Channel xsi:type="xsd:string">Master</Channel><DesiredVolume xsi:type="xsd:int">1</DesiredVolume></namesp142:SetVolume>
</soap:Body></soap:Envelope>


Antwort des Lautsprechers:

HTTP/1.1 500 Internal Server Error
Content-Length: 410
Content-Type: text/xml; charset="utf-8"
Date: Fri, 26 Jan 2018 08:12:57 GMT
Ext:
Server: NFLC/2.3 UPnP/1.0 DLNADOC/1.50

<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<s:Body>
<s:Fault>
<faultcode>s:Client</faultcode>
<faultstring>UPnPError</faultstring>
<detail>
<UPnPError xmlns="urn:schemas-upnp-org:control-1-0">
<errorCode>501</errorCode>
<errorDescription>Action Failed</errorDescription>
</UPnPError>
</detail>
</s:Fault>
</s:Body>
</s:Envelope>


Die gleiche Änderung vom upnp-Kontrollpunkt GUPnP ergibt folgenden Stream:
FHEM:
POST /RenderingControl/control HTTP/1.1
Host: 192.168.77.32:2870
SOAPAction: "urn:schemas-upnp-org:service:RenderingControl:1#SetVolume"
Accept-Language: de-de;q=1, de;q=0.5
Accept-Encoding: gzip
Content-Type: text/xml; charset="utf-8"
User-Agent: gupnp-universal-cp GUPnP/0.20.12 DLNADOC/1.50
Connection: Keep-Alive
Content-Length: 343

<?xml version="1.0"?><s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<s:Body><u:SetVolume xmlns:u="urn:schemas-upnp-org:service:RenderingControl:1">
<DesiredVolume>5</DesiredVolume><Channel>Master</Channel><InstanceID>0</InstanceID></u:SetVolume>
</s:Body>
</s:Envelope>


Antwort des Lautsprechers:
HTTP/1.1 200 OK
Content-Length: 238
Content-Type: text/xml; charset="utf-8"
Date: Fri, 26 Jan 2018 08:17:37 GMT
Ext:
Server: NFLC/2.3 UPnP/1.0 DLNADOC/1.50

<s:Envelope
xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<s:Body>
<u:SetVolumeResponse xmlns:u="urn:schemas-upnp-org:service:RenderingControl:1"/>
</s:Body>
</s:Envelope>


In wieweit man den POST des Moduls anpassen kann, weiß ich nicht. Da dieses wohl auf Bibliotheken zurückgreift. Aber da perl nicht zu meinen Stärken zählt, fängt für mich hier das Raten an, und das lasse ich lieber.

Wäre echt super, wenn es vom Entwickler eine Einschätzung gibt. Ob das Problem lösbar ist, oder eben nicht.

Für weitere Teste bin ich natürlich verfügbar.
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: KölnSolar am 27 Januar 2018, 01:25:44
Hi Dominik,
ich beschäftige mich gerade intensiv mit dem Samsung u. DLNA, da mir das im Augenblick die einzige Möglichkeit erscheint Bildschirmnachrichten auszugeben. Ich bin nun so weit, dass es klappt. Da Dein Modul ja schon alles an Bord hat, würde ich es gerne einsetzen. TV ist noch eine E_Serie u. wird, wenn ich fertig bin um Q-Serie ergänzt.  ;D

Der Tv wird einwandfrei erkannt, device angelegt, Readings werden aktualisiert, wenn sich über andere DMC's etwas tut, also alles prima, nur: set-Befehle wollen nicht funktionieren  :'( Im Log siehts gut aus
2018.01.27 00:56:24 5: DLNARenderer: AVTransport, Play(0,1) succeed.
2018.01.27 00:56:31 5: DLNARenderer: RenderingControl: urn:schemas-upnp-org:service:RenderingControl:1 found. OK.
2018.01.27 00:56:32 5: DLNARenderer: RenderingControl, SetVolume(0,Master,28) succeed.
2018.01.27 00:56:37 5: DLNARenderer: RenderingControl: urn:schemas-upnp-org:service:RenderingControl:1 found. OK.
2018.01.27 00:56:37 5: DLNARenderer: RenderingControl, SetVolume(0,Master,28) succeed.

Aber 0 Reaktion beim TV.

Kokusnuss hatte hier (https://forum.fhem.de/index.php/topic,39706.msg594063.html#msg594063) schon einmal das selbe Symptom beschrieben u. darauf hingewiesen, dass es bei ihm mit dlnaclient noch funktionierte(Edit:wie bei mir).

Wenn bei verbose 5 die soap-messages angezeigt würden, könnte ich die mit meinen funktionierenden abgleichen.

Grüße Markus
Edit: Hab mal die letzte Version u. die Controlpoint.pm des vergangenen Jahres eingespielt --> kein Unterschied  :'(
Edit2: streame ich die selbe URI auf einen Windows-Mediaplayer, klappt es einwandfre
Edit3: Unter currentTrackURI steht nach "stream" die vorherige URI(mit UPnP-Tester bestätigt), bei stream die neue, transportstate u. transportstatus haben alten Stand(also kein update der beiden readings)
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: Det20 am 01 Februar 2018, 17:02:33
Hänge mich mal dran. Mein Samsung H-Series reagiert leider nicht auf z.B. Volume-Änderungen.


2018.02.01 17:03:43 5: DLNARenderer: RenderingControl: urn:schemas-upnp-org:service:RenderingControl:1 found. OK.
2018.02.01 17:03:43 5: DLNARenderer: RenderingControl, SetVolume(0,Master,15) succeed.
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: willibutz am 01 Februar 2018, 18:02:33
das gleiche bei SONY Sony HT-XT3 beim Versuch etwas wiederzugeben. Es kommt immer ein SUCCEED aber das Gerät reagiert nicht. Mit dem DLNAClient hatte es schon mal funktioniert.
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: KölnSolar am 14 März 2018, 20:13:23
nach knapp 2 Monaten (https://forum.fhem.de/index.php/topic,39706.msg756406.html#msg756406) wiederhole ich mal meine Frage  ???
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: KölnSolar am 23 April 2018, 14:42:25
und nach 3 Monaten hab ich mich dann selber an die Suche begeben.  ::) Das war ein riiieeesen Aufwand. Ich kenne nun aber wenigstens ´die Ursache, habe aber noch keine "einfache" Lösung. Ich habe daher ein neues Thema (https://forum.fhem.de/index.php/topic,87222.0.html) dazu aufgemacht.

@willibutz: Du könntest mal testweise probieren, ob sich Dein Problem auch durch simples ändern der Variablen $PREFIX_ENV = 's'; in der
/usr/share/perl5/SOAP/Constants.pm löst.

Grüße Markus
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: willibutz am 23 April 2018, 16:18:56
danke dir Markus, werde ich mal probieren und berichten  :)
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: KölnSolar am 23 April 2018, 16:45:20
STOPP.
Reinerlein hat eine schönere Lösung gefunden. Du könntest es also direkt mit der angepassten ControlPoint.pm (https://forum.fhem.de/index.php/topic,87222.msg796640.html#msg796640) probieren.
(Musst Du in Fhem/lib/UPnP kopieren und FHEM restarten)
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: willibutz am 23 April 2018, 18:48:56
Hallo Markus,
habe gerade mit der neuen Version von ControlPoint.pm getestet. Leider hat sich für mein Gerät nichts geändert. Immer noch eine Succeed-Meldung, obwohl nichts passiert. Dafür sind aber vorher schon einige Perl-Warnungen gekommen, evtl. ist ja dann dort schon alles zu spät :-(
Ich schicke mal mein Log mit, vielleicht sagt dir das ja was:


Datum Zeit Stufe Host Kateg. Programm Nachrichten
2018-04-23 18:23:17 Debug WMS syslog FHEM_fhem : 5: DLNARenderer: AVTransport: urn:schemas-upnp-org:service:AVTransport:1 found. OK.
2018-04-23 18:23:17 Debug WMS syslog FHEM_fhem : 5: DLNARenderer: AVTransport, SetAVTransportURI(0,http://192.168.6.10/mp3/test.mp3,<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://192.168.6.10/mp3/test.mp3</dc:title><upnp:album>http://192.168.6.10/mp3/test.mp3</upnp:album><res protocolInfo="http-get:*:audio/mpeg:DLNA.ORG_OP=01
2018-04-23 18:23:17 Debug WMS syslog FHEM_fhem : 5: DLNARenderer: AVTransport: urn:schemas-upnp-org:service:AVTransport:1 found. OK.
2018-04-23 18:18:03 Warning WMS syslog FHEM_fhem : 1: PERL WARNING: Use of uninitialized value in numeric eq (==) at /usr/local/FHEM/share/fhem/FHEM/98_DLNARenderer.pm line 318.
2018-04-23 18:13:09 Warning WMS syslog FHEM_fhem : 1: PERL WARNING: Subscription request failed with error: 400 Bad Request at /usr/local/FHEM/share/fhem/FHEM/98_DLNARenderer.pm line 1360.
2018-04-23 18:13:09 Warning WMS syslog FHEM_fhem : 1: PERL WARNING: Subscription request failed with error: 400 Bad Request at /usr/local/FHEM/share/fhem/FHEM/98_DLNARenderer.pm line 1356.
2018-04-23 18:13:09 Notice WMS syslog FHEM_fhem : 3: DLNARenderer: Created device DLNA_104fa8052a77 for BRAVIABOX
2018-04-23 18:12:52 Notice WMS syslog FHEM_fhem : 3: DLNARenderer: DLNA Renderer v2.0.7


Danke für deine Unterstützung,
LG willibutz
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: KölnSolar am 23 April 2018, 22:53:25
Erkannt wird er ja, aber bei der 'subscription' geht schon nichts mehr.  :'( Also andere Ursache als beim Samsung.

Hab mir gerade mal das Bravia-Modul in der commandref angesehen. Bietet scheinbar alles, was das Herz begehrt. Geht das Modul bei Dir nicht ? Ich sah auch das attr upnp, das zumindest für den upnp-service RenderingControl aktiviert sein muss.

Und nun ist die Frage wie tief Du einsteigen willst. Ein 1. Schritt wäre das grundsätzliche Verständnis DLNA/UPnP/SOAP(wikipedia reicht). Dann mal das tool upnptester auf einen Windowsrechner installieren. Das Tool gibt Dir alle Infos bzgl. UPnP, die Dein Bravia preisgibt. Mögliche actions werden angzeigt und lassen sich manuell ausführen(man benötigt dazu aber Detailinfos, um Parameter richtig setzen zu können).

Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: Reinerlein am 25 April 2018, 17:18:39
Hallo Dominik,

ich habe eine Änderung der ControlPoint.pm eingecheckt.

Mit dieser kannst du beim Erzeugen des ControlPoint-Objekts das EnvPrefix, das verwendet werden soll, mitgeben.
Damit kann das Problem von Markus mit dem Samsung Fernseher behoben werden.

Ich würde empfehlen, es als Attribut anzubieten. Beim Aufruf musst du es dann nur weiterreichen:

$cp = UPnP::ControlPoint->new(SearchPort => 0, SubscriptionPort => 0, MaxWait => 30, UsedOnlyIP => \@usedonlyIPs, IgnoreIP => \@ignoredIPs, LogLevel => AttrVal($hash->{NAME}, 'verbose', 0), EnvPrefix => AttrVal($hash->{NAME}, 'EnvPrefix', 'soap'));


Grüße
Reinerlein
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: KölnSolar am 26 April 2018, 11:28:54
Hmmm,
leider gar nicht so einfach.  :'( Der Aufruf $cp = UPnP::ControlPoint->new erfolgt im define des devices. Zu diesem Zeitpunkt sind die Attribute noch gar nicht geladen.  >:(

@Reinerlein: Die Modifikation der ControlPoint.pm funktioniert aber(getestet mit AttrVal($hash->{NAME}, 'EnvPrefix', 's'));

@Dominik: Deshalb funktioniert auch die Übergabe des LogLevels nicht  >:( Und die beiden Zeilen   my @usedonlyIPs = split(/,/, AttrVal($hash->{NAME}, 'usedonlyIPs', ''));
  my @ignoredIPs = split(/,/, AttrVal($hash->{NAME}, 'ignoredIPs', ''));
machen irgendwie für mich gar keinen Sinn. :-\

Ich sehe nun 2 Optionen:
- nicht als Attribut, sondern als option beim device-define
- $cp = UPnP::ControlPoint->new(und abhängige Funktionsaufrufe) erst nach dem define UND dem Laden der Attribute ausführen.

Zur 2. Option fehlt mir aber das Wissen, wie/wo man das "richtig" einbauen würde. In die AttrFn ?

Grüße Markus
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: Reinerlein am 26 April 2018, 14:26:45
Hi Markus,

du hast natürlich Recht, da es in einer eigenen Sub stand, hatte ich das nicht gesehen.
Aber eigentlich ist das auch kein großes Ding.

- Den eigentliche Aufruf im Define rausmachen.

- Am Ende von Define:

InternalTimer(gettimeofday() + 1, 'DLNARenderer_DelayStart', $hash, 0);


- Dann noch die Sub anlegen:

sub DLNARenderer_DelayStart($) {
  my ($hash) = @_;

  DLNARenderer_setupControlpoint($hash);
  DLNARenderer_startDlnaRendererSearch($hash);
  readingsSingleUpdate($hash,"state","initialized",1);
}


Ob das jetzt ausreicht, oder ob noch mehr in die zeitlich verlagerte Sub verschoben werden muss, müsste man noch prüfen... das ist nur in Kladde :)

Grüße
Reiner
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: mumpitzstuff am 26 April 2018, 15:23:45
Ich glaube für sowas gibts globale Events. Ich bin jetzt auch kein FHEM Experte, aber so ein Timer kann funktionieren, muss es aber nicht. Vermutlich ist man mit einem globalen Event auf der sicheren Seite. Siehe dazu auch:

https://wiki.fhem.de/wiki/DevelopmentModuleIntro#globale_Events (https://wiki.fhem.de/wiki/DevelopmentModuleIntro#globale_Events)
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: Reinerlein am 26 April 2018, 15:45:38
Hi,

Timer werden erst nach "init_done" verarbeitet, und sind somit sicher nach dem fertigen Start von FHEM.

Das mit dem globalen Event geht natürlich auch. Da hier aber noch kein Code für Event-Verarbeitung enthalten ist, erschien es mir als größere Hürde :)

Grüße
Reiner
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: KölnSolar am 26 April 2018, 18:13:21
Hallo Reiner,
ich hab es jetzt mal mit dem timer und der verzögerten "Definition" umgesetzt. Gegenüber Deinem Vorschlag hab ich lediglich das Attribut envPrefix genannt. Funktioniert soweit, zumindest in meinem Testsystem und produktiv mit mute/volume. Ich würde die Version hier veröffentlichen, wenn mir nicht beim Streaming im Prod-System ein Freeze von 30 Sek. aufgefallen wäre bzw. das Streaming nich funktioniert  :o
2018.04.26 18:00:57.568 5: Cmd: >{BlockingStart('809')}<
2018.04.26 18:00:57.572 5: Cmd: >{DLNARenderer_generateDidlLiteBlockingFinished('DLNA_4844f7aa62ab|http://192.168.178.50:8083/fhem/rss/mycallrss.jpg|')}<
2018.04.26 18:00:57.573 5: DLNARenderer: AVTransport: urn:schemas-upnp-org:service:AVTransport:1 found. OK.
--- log skips    30.192 secs.
2018.04.26 18:01:27.765 5: DLNARenderer: AVTransport, SetAVTransportURI(0,http://192.168.178.50:8083/fhem/rss/mycallrss.jpg,) succeed.
2018.04.26 18:01:27.767 5: DLNARenderer: AVTransport: urn:schemas-upnp-org:service:AVTransport:1 found. OK.
2018.04.26 18:01:27.806 5: DLNARenderer: AVTransport, Play(0,1) succeed.


Ich geh dann mal auf die Suche....
Danke&Grüße
Markus
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: schwatter am 26 April 2018, 20:09:17
Hallo zusammen,

hat jemand das Plugin mit Cocy auf  Enigma2 am laufen? Gefunden wird der Renderer bei mir nicht.
UpnpTester gibt folgendes aus:

+-+ cocy Media Renderer on vuduo2 (Device)
  |   
  |   Manufacturer: cocy
  |   FriendlyName: Media Renderer on vuduo2
  |   UDN: uuid:7013106a-707a-4568-ae58-b836db83a7e8
  |   DeviceType: urn:schemas-upnp-org:device:MediaRenderer:1
  |   ModelName: Media Renderer on vuduo2
  |


Internals:
   NAME       dlnadevices
   NR         140
   STATE      initialized
   TYPE       DLNARenderer
   UDN        0
   VERSION    v2.0.7
   READINGS:
     2018-04-26 19:40:12   state           initialized
   helper:
     caskeid    0
     caskeidClients
Attributes:
   acceptedUDNs uuid:7013106a-707a-4568-ae58-b836db83a7e8
   room       3. Wohnzimmer
   userattr   acceptedUDNs defaultRoom ignoreUDNs
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: frank am 26 April 2018, 20:30:41
hast du an der richtigen stelle gesucht?
ZitatAfter about 2 minutes you can find all automatically created DLNA devices under "Unsorted".
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: schwatter am 26 April 2018, 20:50:13
...jetzt macht es klick...danke. Ja, da issa  :P
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: KölnSolar am 27 April 2018, 10:17:49
Ich bin dem Problem näher gekommen: Es funktioniert alles auf dem Samsung TV, also volume, mute, stream, play, on, off.
Lediglich das Streaming eines "on-demand"-Bildes http://192.168.178.xx:8083/fhem/rss/mypicturerss.jpg führt zu einem 30 Sekunden freeze, wenn das Bild auf dem SELBEN Server generiert wird. Da scheint sich also RSS mit dem DLNARender gegenseitig zu blockieren.  :(

@STV-User: Ihr könnt jetzt die attachte Version nutzen und bei der Definition des TV einfach für den optionalen DLNAClient den device-name des DLNA-Renderer-devices des TV angeben. Genauere Informationen findet Ihr in den STV-Threads.

Grüße Markus
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: frank am 27 April 2018, 11:41:16
hallo markus,
bei mir gibt es hin und wieder ein freeze, wenn rss zb beim generieren der dateien probleme hat. zb wenn rss ein bild aus dem internet einbinden soll und dabei auf das bild warten muss.

allerdings hat das noch keine 30s gedauert, eher 3s.
das wird dann eigentlich auch im log sichtbar.
nur mal so als hinweis.
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: KölnSolar am 27 April 2018, 12:44:49
Hi frank,
jede Info kann helfen  ;)
Es ist aber reproduzierbar 30 Sek. Irgendwo muss also ein timeout von 30 Sek. drin stecken. Nur wo und warum?  :-\ :-[ :-\
Werde das mit Detaildebugging rausfinden.  ;D Wäre ja schade, wenn RSS-Bilder nicht gingen, für die wir so gekämpft haben  ;)
Grüße Markus
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: frank am 27 April 2018, 14:17:19
ich werde erst nächste woche testen können.
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: Fhemotto am 27 April 2018, 19:42:17
Hallo

Habe heute erfolgreich mit dem  DLNARenderer getestet.
F(8090) und M(6179) Serie.
Habe aber ein Problem mit meinem AVM FRITZ!MediaRenderer
Dies ist ein Repeater N/G von AVM, den ich seit Jahre mit dem  DLNAClient
erfolgreich im Einsatz habe.
Folgende Meldungen ( alles mit verbose5) im Log:
2018.04.27 19:29:08 3: DLNARenderer: handleOnce failed, junk '
' after XML element

2018.04.27 19:29:08 3: DLNARenderer: handleOnce failed, junk '
' after XML element

2018.04.27 19:29:11 3: DLNARenderer: handleOnce failed, junk '
' after XML element

2018.04.27 19:29:26 5: DLNARenderer: AVTransport: urn:schemas-upnp-org:service:AVTransport:1 found. OK.
2018.04.27 19:29:26 5: DLNARenderer: AVTransport, SetAVTransportURI(0,http://avw.mdr.de/streams/284320-0_mp3_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://avw.mdr.de/streams/284320-0_mp3_high.m3u</dc:title><upnp:album>http://avw.mdr.de/streams/284320-0_mp3_high.m3u</upnp:album><res protocolInfo="http-get:*:audio/x-mpegurl:DLNA.ORG_OP=01;DLNA.ORG_FLAGS=01700000000000000000000000000000" size="149">http://avw.mdr.de/streams/284320-0_mp3_high.m3u</res></item></DIDL-Lite>) succeed.
2018.04.27 19:29:26 5: DLNARenderer: AVTransport: urn:schemas-upnp-org:service:AVTransport:1 found. OK.


Die Meldung 2018.04.27 19:29:08 3: DLNARenderer: handleOnce failed, junk '
' after XML element      kommt zyklisch immer wieder

Es wird zwar "succeed" gemeldet aber ich habe keine Reaktion am Empfänger

Nachtrag: Nach einem Neustart noch folgende Meldungen:

xxxx.xx.xx xx:xx:xx 5: ControlPoint: Accepted Search-Response: "CACHE-CONTROL: max-age=1800
DATE: Fri, 27 Apr 2018 18:00:11 GMT
EXT:
LOCATION: http://192.168.155.68:9197/dmr
SERVER: Samsung-Linux/4.1, UPnP/1.0, Samsung_UPnP_SDK/1.0
ST: urn:schemas-upnp-org:device:MediaRenderer:1
USN: uuid:4fd13ed5-55d3-449f-97bc-e9d4e963b485::urn:schemas-upnp-org:device:MediaRenderer:1
Content-Length: 0
BOOTID.UPNP.ORG: 2

"
2018.04.27 20:00:17 4: DLNARenderer: deviceAdded, [TV] Samsung 6 Series (50)
2018.04.27 20:00:17 1: 192.168.155.44:55000 reappeared (samsungTV)
xxxx.xx.xx xx:xx:xx 5: ControlPoint: Accepted Search-Response: "LOCATION: http://192.168.155.100:49200/MediaRendererDevDesc.xml
SERVER: FRITZ!WLAN Repeater N/G UPnP/1.0 AVM FRITZ!WLAN Repeater N/G 68.04.88
CACHE-CONTROL: max-age=1800
EXT:
ST: urn:schemas-upnp-org:device:MediaRenderer:1
USN: uuid:fa095ecc-e13e-40e7-8e6c-9CC7A60FA3AE::urn:schemas-upnp-org:device:MediaRenderer:1

"
2018.04.27 20:00:18 4: DLNARenderer: deviceAdded, AVM FRITZ!MediaRenderer
2018.04.27 20:00:18 5: DLNARenderer: AVTransport: urn:schemas-upnp-org:service:AVTransport:1 found. OK.
2018.04.27 20:00:18 5: DLNARenderer: AVTransport: urn:schemas-upnp-org:service:AVTransport:1 found. OK.
2018.04.27 20:00:18 5: DLNARenderer: RenderingControl: urn:schemas-upnp-org:service:RenderingControl:1 found. OK.
2018.04.27 20:00:18 5: DLNARenderer: RenderingControl: urn:schemas-upnp-org:service:RenderingControl:1 found. OK.
2018.04.27 20:00:18 4: DLNARenderer: SpeakerManagement unknown for DLNA_9CC7A60FA3AE.
2018.04.27 20:00:18 4: DLNARenderer: SessionManagement unknown for DLNA_9CC7A60FA3AE.
2018.04.27 20:00:19 1: Timeout for MilightBridge_DoPing reached, terminated process 2399
2018.04.27 20:00:19 3: BlockingCall for MilightBridge1 was aborted
xxxx.xx.xx xx:xx:xx 5: ControlPoint: Accepted Search-Response: "CACHE-CONTROL: max-age=1800
Date: Thu, 01 Jan 1970 02:05:56 GMT
EXT:
LOCATION: http://192.168.155.44:7676/smp_16_
SERVER: SHP, UPnP/1.0, Samsung UPnP SDK/1.0
ST: urn:schemas-upnp-org:device:MediaRenderer:1
USN: uuid:0bebc200-00c8-1000-87c7-0c8910b67f18::urn:schemas-upnp-org:device:MediaRenderer:1
Content-Length: 0

"
2018.04.27 20:00:20 4: DLNARenderer: deviceAdded, [TV]Samsung LED55
xxxx.xx.xx xx:xx:xx 5: ControlPoint: Accepted Search-Response: "CACHE-CONTROL: max-age=1801
DATE: Fri, 27 Apr 2018 18:00:16 GMT
EXT:
LOCATION: http://192.168.155.67:8888/upnp_descriptor_0
SERVER: Linux/2.6.33-rc4 UPnP/1.0 MediabolicUPnP/1.8.225
ST: urn:schemas-upnp-org:device:MediaRenderer:1
USN: uuid:82b03b99-3b3b-99b9-9032-99093bb9328b::urn:schemas-upnp-org:device:MediaRenderer:1

"
2018.04.27 20:00:22 4: DLNARenderer: deviceAdded, HT-R693
2018.04.27 20:00:22 1: PERL WARNING: Subscription request failed with error: 412 Invalid Timeout at ./FHEM/98_DLNARenderer.pm line 1366
2018.04.27 20:00:22 1: PERL WARNING: Subscription request failed with error: 412 Invalid Timeout at ./FHEM/98_DLNARenderer.pm line 1370
2018.04.27 20:00:22 3: DLNARenderer: handleOnce failed, junk '
' after XML element

2018.04.27 20:00:23 3: DLNARenderer: handleOnce failed, junk '
' after XML element

2018.04.27 20:00:23 3: DLNARenderer: handleOnce failed, junk '
' after XML element

2018.04.27 20:00:24 3: DLNARenderer: handleOnce failed, junk '
' after XML element

2018.04.27 20:01:16 1: 192.168.155.67:60128 reappeared (Onkyo)


Vielen Danke schon mal für die Arbeit bisher.
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: KölnSolar am 27 April 2018, 21:55:03
ZitatDies ist ein Repeater N/G von AVM, den ich seit Jahre mit dem  DLNAClient
erfolgreich im Einsatz habe.
Wie machst Du das ? Lt. upnptester kann meiner nur die Services aura und configd  ???

Ich hab die 30 sek. freeze näher eingegrenzt: Zeile 299 in HTTP.pm
             $self->SUPER::request($http_request)
Super, jetzt muss ich erst mal gucken was dieses SUPER bedeutet.. ::)

Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: Fhemotto am 27 April 2018, 22:35:37
Hallo
Verstehe deine Frage nicht ganz.

Bin leider kein Experte, nutze den Repeater N/G für mein Internetradio oder auch für durchsagen wie ,,Waschmaschine fertig" im ganzen Haus als UKW Sender.
In einem DOIF z.B. set DLNAFritzRenderer stream http://stream.sunshine-live.de/live/mp3-192/stream.sunshine-live.de/play.m3u
Mit dem DLNAClient hat dies bisher gut geklappt.
Mit dem upnptester  habe ich auch schon geschaut und gestreamt, aber da fehlen mir die Kenntnisse was der  Repeater N/G können muss oder soll. Es geht mit dem DLNAClient und das ist mir wichtig.
Wenn du genauere Infos brauchst bitte schreiben (Services aura und configd  ?????).
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: KölnSolar am 28 April 2018, 08:59:22
Naja, upnptester findet 2 devices:
Description: AVM Audiobruecke
DeviceType: urn:schemas-upnp-org:device:aura:1
FriendlyName: AVM Audiobruecke
Manufacturer: AVM Berlin
ManufacturerUrl: http://www.avm.de/
ModelName: FRITZ!WLAN Repeater N/G
ModelNumber: 0.9.4
ModelURL: http://www.avm.de/
PresentationUrl: http://fritz.repeater/
UDN: uuid:22617c0d-cb0f-4fb9-a31f-4711

Description: FRITZ!WLAN Repeater N/G 68.04.88
DeviceType: urn:schemas-avm-de:device:configd:1
FriendlyName: FRITZ!WLAN Repeater N/G
Manufacturer: AVM Berlin
ManufacturerUrl: http://www.avm.de/
ModelName: FRITZ!WLAN Repeater N/G
ModelNumber: avm
ModelURL: http://www.avm.de/
PresentationUrl: http://fritz.repeater/
UDN: uuid:297bf8b4-0cd9-11df-bb1b-4712


Kein device mit den beiden für DLNA notwendigen services wie bei Dir
Zitatxxxx.xx.xx xx:xx:xx 5: ControlPoint: Accepted Search-Response: "LOCATION: http://192.168.155.100:49200/MediaRendererDevDesc.xml
SERVER: FRITZ!WLAN Repeater N/G UPnP/1.0 AVM FRITZ!WLAN Repeater N/G 68.04.88
CACHE-CONTROL: max-age=1800
EXT:
ST: urn:schemas-upnp-org:device:MediaRenderer:1
USN: uuid:fa095ecc-e13e-40e7-8e6c-9CC7A60FA3AE::urn:schemas-upnp-org:device:MediaRenderer:1

"
2018.04.27 20:00:18 4: DLNARenderer: deviceAdded, AVM FRITZ!MediaRenderer
2018.04.27 20:00:18 5: DLNARenderer: AVTransport: urn:schemas-upnp-org:service:AVTransport:1 found. OK.
2018.04.27 20:00:18 5: DLNARenderer: AVTransport: urn:schemas-upnp-org:service:AVTransport:1 found. OK.
2018.04.27 20:00:18 5: DLNARenderer: RenderingControl: urn:schemas-upnp-org:service:RenderingControl:1 found. OK.
2018.04.27 20:00:18 5: DLNARenderer: RenderingControl: urn:schemas-upnp-org:service:RenderingControl:1 found. OK.
Bei mir scheint also irgendeine Option nicht gesetzt  :'(

Edit: Ahhhhh, unter Audio und 3.analog/digital ein Häkchen und nun spuckt der upnptester das device aus:
Description: FRITZ!MediaRenderer
DeviceType: urn:schemas-upnp-org:device:MediaRenderer:1
FriendlyName: AVM FRITZ!MediaRenderer
Manufacturer: AVM Berlin
ManufacturerUrl: http://www.avm.de/
ModelName: FRITZ!WLAN Repeater N/G
ModelNumber: avm
ModelURL: http://fritz.repeater/
PresentationUrl: http://fritz.repeater/
SerialNumber: 10
UDN: uuid:fa095ecc-e13e-40e7-4713


Mal gucken, was das so ausspuckt.... :D
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: KölnSolar am 28 April 2018, 18:12:36
Neue Erkenntnisse zum 30s-/60s-freeze: Der freeze entsteht auch, wenn man ein gar nicht vorhandenes file vom FHEM-Server aufruft.
also:
freeze:
- http://FHEM-IP:8083/falscherPfad/irgendwas.jpg
- http://FHEM-IP:8083/fhem/rss/rssvorhanden.jpg
- http://FHEM-IP:8084/fhem/rss/rssnichtvorhanden.jpg
kein freeze:
- jeder Pfad ungleich FHEM-WebServer. Egal ob existent oder nicht. 

Hier mal das freezemonlog bei http://FHEM-IP:8084/fhem/41.mp4

[Freezemon] freezedetect: possible freeze starting at 16:27:29, delay is 60.444 possibly caused by: tmr-BlockingKill(N/A)
2018.04.28 16:27:28.300 4: WEB_FHEM-IP_49976 POST /fhem?cmd.setDLNA_4844f7aa62ab%3Dset%20DLNA_4844f7aa62ab%20stream%20http%3A%2F%2FFHEM-IP%3A8084%2Ffhem%2F41.mp4&XHR=1&fwcsrf=csrf_120982151928161&fw_id=572; BUFLEN:0
2018.04.28 16:27:28.303 5: Cmd: >set DLNA_4844f7aa62ab stream http://FHEM-IP:8084/fhem/41.mp4<
2018.04.28 16:27:28.321 4: BlockingCall (DLNARenderer_generateDidlLiteBlocking): created child (25650), uses telnetPort to connect back
2018.04.28 16:27:28.397 5: End notify loop for DLNA_4844f7aa62ab
2018.04.28 16:27:28.402 4: WEB: /fhem?cmd.setDLNA_4844f7aa62ab%3Dset%20DLNA_4844f7aa62ab%20stream%20http%3A%2F%2FFHEM-IP%3A8084%2Ffhem%2F41.mp4&XHR=1&fwcsrf=csrf_120982151928161&fw_id=572 / RL:20 / text/plain; charset=UTF-8 / Content-Encoding: gzip
/
2018.04.28 16:27:28.441 4: Connection accepted from WEBPhone_FHEM-IP_56814
2018.04.28 16:27:28.452 4: WEBPhone_FHEM-IP_56814 GET /fhem/41.mp4; BUFLEN:0
2018.04.28 16:27:28.497 4: WEBPhone: /fhem/41.mp4 / RL:3411 / text/html; charset=UTF-8 /  /
2018.04.28 16:27:28.620 4: Connection closed for WEBPhone_FHEM-IP_56814: EOF
2018.04.28 16:27:28.637 4: Connection accepted from telnetPort_127.0.0.1_48136
2018.04.28 16:27:28.658 5: Cmd: >{BlockingStart('60')}<
2018.04.28 16:27:28.663 5: Cmd: >{DLNARenderer_generateDidlLiteBlockingFinished('DLNA_4844f7aa62ab|http://FHEM-IP:8084/fhem/41.mp4|')}<
2018.04.28 16:27:28.666 2: DLNARenderer: AVTransport: urn:schemas-upnp-org:service:AVTransport:1 found. OK.
--- log skips    60.537 secs.
2018.04.28 16:28:29.202 5: DLNARenderer: Service UPnP::ControlPoint::Service=HASH(0x341a940), upnpServiceCtrlProxy UPnP::ControlPoint::ControlProxy=HASH(0x3a6e908)
2018.04.28 16:28:29.203 5: DLNARenderer: AVTransport, SetAVTransportURI(0,http://FHEM-IP:8084/fhem/41.mp4,) succeed. return: UPnP::ControlPoint::ActionResult=HASH(0x22e6478)
2018.04.28 16:28:29.207 2: DLNARenderer: AVTransport: urn:schemas-upnp-org:service:AVTransport:1 found. OK.
2018.04.28 16:28:29.421 5: DLNARenderer: Service UPnP::ControlPoint::Service=HASH(0x341a940), upnpServiceCtrlProxy UPnP::ControlPoint::ControlProxy=HASH(0x362b460)
2018.04.28 16:28:29.421 5: DLNARenderer: AVTransport, Play(0,1) succeed. return: UPnP::ControlPoint::ActionResult=HASH(0x39e7d90)
2018.04.28 16:28:29.440 5: End notify loop for DLNA_4844f7aa62ab
2018.04.28 16:28:29.445 5: [Freezemon] freezedetect: ----------- Starting Freeze handling at 2018.04.28 16:28:29.444 ---------------------


und bei http://FHEM-IP:8083/fhem/rss/mycallrss.jpg

[Freezemon] freezedetect: possible freeze starting at 16:40:59, delay is 59.828 possibly caused by: no bad guy found :-(
2018.04.28 16:40:58.019 4: Connection accepted from telnetPort_127.0.0.1_48330
2018.04.28 16:40:58.038 5: Cmd: >{BlockingStart('88')}<
2018.04.28 16:40:58.043 5: Cmd: >{DLNARenderer_generateDidlLiteBlockingFinished('DLNA_4844f7aa62ab|http://FHEM-IP:8083/fhem/rss/mycallrss.jpg|')}<
2018.04.28 16:40:58.053 2: DLNARenderer: AVTransport: urn:schemas-upnp-org:service:AVTransport:1 found. OK.
--- log skips    60.533 secs.
2018.04.28 16:41:58.586 5: DLNARenderer: Service UPnP::ControlPoint::Service=HASH(0x341a940), upnpServiceCtrlProxy UPnP::ControlPoint::ControlProxy=HASH(0x3a9f0a8)
2018.04.28 16:41:58.586 5: DLNARenderer: AVTransport, SetAVTransportURI(0,http://FHEM-IP:8083/fhem/rss/mycallrss.jpg,) succeed. return: UPnP::ControlPoint::ActionResult=HASH(0x3aa3188)
2018.04.28 16:41:58.590 2: DLNARenderer: AVTransport: urn:schemas-upnp-org:service:AVTransport:1 found. OK.
2018.04.28 16:41:58.804 5: DLNARenderer: Service UPnP::ControlPoint::Service=HASH(0x341a940), upnpServiceCtrlProxy UPnP::ControlPoint::ControlProxy=HASH(0x3a92520)
2018.04.28 16:41:58.805 5: DLNARenderer: AVTransport, Play(0,1) succeed. return: UPnP::ControlPoint::ActionResult=HASH(0x39eeb68)
2018.04.28 16:41:58.824 5: End notify loop for DLNA_4844f7aa62ab


Ich denke, dass das kein Samsung-spezifisches Problem ist, sondern ein generelles des DLNARenderers. Kann das jemand bestätigen ?
Was behindert sich da ?
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: KölnSolar am 29 April 2018, 00:36:22
Ich hab dann mal den Status abgefragt, damit nicht mehr die irreführende Meldung"...succeed" sondern die vom device gelieferte Fehlerbeschreibung kommt. So z.B. für den fritz.repeater von Fhemotto:
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}}"
@willibutz: Hilft zumindest mal zu sehen, was der Sony meckert...
Grüße Markus
PS: ....abgekupfert aus reinerleins SONOS  ;)
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: willibutz am 29 April 2018, 16:07:55
Hallo Markus,
danke dir, werde ich probieren, bin jetzt aber erst mal 1 Woche im Urlaub  :)

LG willibutz
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: MichaelT am 29 April 2018, 16:11:25
Hallo Markus,

habe das Modul mal getestet. Version wird mit 2.07Patch angezeigt - aber leider kein attr "envPrefix".

dlnadevices: unknown attribute envPrefix. Type 'attr dlnadevices ?' for a detailed list.

Hast Du eine Idee, was das sein könnte?

Gruß
Michael
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: KölnSolar am 29 April 2018, 16:14:47
Hallo Michael,
Du findest es nur im "Master" device.
Grüße Markus
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: MichaelT am 29 April 2018, 16:22:32
Hallo Markus,

dlnadevices ist das masterdevice!

Ich glaube, es fehlt im Modul Zeile 174 der envPrefix in der Liste.

$hash->{AttrList}  = "ignoredIPs usedonlyIPs envPrefix ".$readingFnAttributes;

EDIT:
Scheint erstmal unauffällig zu funktionieren. Ich habe hier einige peaq-Munets. Am TV probiere ich es noch.

Danke für deine Zeit
Gruß Michael
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: KölnSolar am 02 Mai 2018, 17:32:21
Hallo Reiner,
ich hoffe Du liest noch mit.
Wie fhemotto hab ich auch einen FritzRepeater n/g. Device wird erkannt, aber keine actions möglich: 502 xml Fehler. Also hab ich gedebugged. Schuld sind wieder die namespaces  >:( Mir ist dann der mir überflüssig erscheinende namespace
xmlns:namesp1="u"
aufgefallen. Erzeugt wird er beim Controlproxy-Aufruf durch... ->ns("u"). Flink auskommentiert und die actions funktionieren für den Repeater u. auch meinen Samsung.
<?xml version="1.0" encoding="UTF-8"?>
<s:Envelope s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<s:Body>
<SetAVTransportURI xmlns="urn:schemas-upnp-org:service:AVTransport:1">
<InstanceID xsi:type="xsd:int">0</InstanceID>
<CurrentURI xsi:type="xsd:string">x</CurrentURI><CurrentURIMetaData xsi:type="xsd:string" />
</SetAVTransportURI>
</s:Body>
</s:Envelope>

<?xml version="1.0" encoding="UTF-8"?>
<s:Envelope s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<s:Body>
<Play xmlns="urn:schemas-upnp-org:service:AVTransport:1">
<InstanceID xsi:type="xsd:int">0</InstanceID>
<Speed xsi:type="xsd:string">1</Speed>
</Play>
</s:Body><
/s:Envelope>

<?xml version="1.0" encoding="UTF-8"?>
<s:Envelope s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<s:Body>
<SetVolume xmlns="urn:schemas-upnp-org:service:RenderingControl:1">
<InstanceID xsi:type="xsd:int">0</InstanceID>
<Channel xsi:type="xsd:string">Master</Channel>
<DesiredVolume xsi:type="xsd:int">12</DesiredVolume>
</SetVolume>
</s:Body>
</s:Envelope>


Außerdem ist mir aufgefallen, dass die Prüfung auf bereits benutzte namespaces in SOAP::Lite nicht zu funktionieren scheint. Es werden immer neue namespaces namspxy mit jeder action generiert. Ohne die Option ->ns("u") passiert das nicht, weil keine namespaces generiert werden.

Und nun die Frage: Kannst Du das so übernehmen oder brauchen andere devices diesen namespace ?  :-\
Grüße Markus
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: Reinerlein am 04 Mai 2018, 16:15:40
Hi Markus,

damit klappt leider die Kommunikation mit den Sonos-Playern nicht mehr richtig.
Ich vermute, da ich einiges selber per regulärem Ausdruck parse, dass damit dann irgendwelche Tags nicht mehr passen...

Kannst du mal probieren, ob es mit einem Leerstring geht?
Oder mal ein prefix mit angeben (zweiter, optionaler Parameter)...

Irgendwas müssen wir jetzt noch finden, sonst muss ich halt ein If drumherum basteln. Das würd ich aber gerne vermeiden :)

Grüße
Reiner
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: KölnSolar am 04 Mai 2018, 23:01:47
Hi Reiner,
space oder leer
<?xml version="1.0" encoding="UTF-8"?><s:Envelope s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:namesp1=" " xmlns:namesp2="urn:schemas-upnp-org:service:AVTransport:1" xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><s:Body><namesp2:SetAVTransportURI><InstanceID xsi:type="xsd:int">0</InstanceID><CurrentURI xsi:type="xsd:string">x</CurrentURI><CurrentURIMetaData xsi:type="xsd:string" /></namesp2:SetAVTransportURI></s:Body></s:Envelope>

und prefix "u"
<?xml version="1.0" encoding="UTF-8"?><s:Envelope s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:namesp1="urn:schemas-upnp-org:service:AVTransport:1" xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:u="u" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><s:Body><namesp1:SetAVTransportURI><InstanceID xsi:type="xsd:int">0</InstanceID><CurrentURI xsi:type="xsd:string">x</CurrentURI><CurrentURIMetaData xsi:type="xsd:string" /></namesp1:SetAVTransportURI></s:Body></s:Envelope>
funktionieren leider nicht.
Zitatsonst muss ich halt ein If drumherum basteln. Das würd ich aber gerne vermeiden
If hieße ja auch wieder ein Attribut. Den Repeater haben aber sicherlich nicht viele. Und die wenigen können ja ggfs. meinen "Workaround" nutzen. Nur, wenn andere devices ähnlich reagieren ?  :-\
Grüße Markus
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: Reinerlein am 04 Mai 2018, 23:15:22
Hi Markus,

naja, Workaround hieße ja eine Codeänderung durch den Anwender, die beim nächsten Update weg wäre, oder eben eine Updateverhinderung durch exclude_from_update, was dann u.U. in der Zukunft zu einer alten Version führen würde.

Ich denke, mit einem optionalen Parameter, der dann wieder als Attribut am DLNARenderer gesetzt werden kann, sollte das dann schon gehen... sofern das mit den zeitversetzten Attributen mal produktiv drin ist :)

Ich überlege mir nur gerade, was in dem Parameter eigentlich stehen muss.
Sinnvollerweise muss man etwas eintragen können, was dann auch verwendet wird, und einen "Sonderstring", der für "weglassen des ->ns() Zusatzes" steht, vielleicht "<none>" oder so...
Und gar nicht angeben macht dann den bisherigen Zustand mit "->ns('u')".
Damit bleiben wir Abwärtskompatibel, und können alles andere zulassen und ermöglichen...

Ich baue mal :)

Grüße
Reiner
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: KölnSolar am 05 Mai 2018, 07:13:07
Hallo Reiner,
Zitatnaja, Workaround hieße ja eine Codeänderung durch den Anwender, die beim nächsten Update weg wäre, oder eben eine Updateverhinderung durch exclude_from_update, was dann u.U. in der Zukunft zu einer alten Version führen würde.
genau so dachte ich
ZitatIch denke, mit einem optionalen Parameter, der dann wieder als Attribut am DLNARenderer gesetzt werden kann, sollte das dann schon gehen... sofern das mit den zeitversetzten Attributen mal produktiv drin ist :)
Ich hab halt so ein bißchen Sorge, dass bei dem "tollen" "Standard" immer wieder neue Sonderlocken erforderlich werden. Also alles immer unübersichtlicher. Aber Du bist der maintainer  ;D u. mit Deinem SONOS-Modul der Hauptnutzer. (Und Dominik für den DLNARenderer. Wäre ja schön, wenn der sich auch mal wieder zu Wort melden würde.  ::)) Gibt es noch weitere Module, die die "FHEM-UPnP-Lib" einsetzen ?

ZitatSinnvollerweise muss man etwas eintragen können, was dann auch verwendet wird, und einen "Sonderstring", der für "weglassen des ->ns() Zusatzes" steht, vielleicht "<none>" oder so...
Und gar nicht angeben macht dann den bisherigen Zustand mit "->ns('u')".
Damit bleiben wir Abwärtskompatibel, und können alles andere zulassen und ermöglichen...
Wie wäre es mit default_ns = y/n[default] ? Das ist ja genau das, was bei weglassen von "->ns('u')" durchlaufen wird.
Und im DLNA_Renderer könnten wir es vielleicht sogar mit default=y einbauen ? Mein Bauchgefühl sagt mir, dass damit alle devices klar kommen.  :-\

Btw, hast Du eine Idee, was den 30Sek.-freeze auslöst, wenn man versucht einen stream mit URI des FHEMWEB-Servers zu senden ? Kannst Du mit dem SONOS-Modul auch eine URI eines nicht Mediaservers versuchen zu streamen und hast dann das selbe Problem ?

Kurz zum Verständnis:
Ich habe das STV-Modul so umgebaut, dass man sich Bildschirmnachrichten als Bild/Audio/Video auf dem STV per DLNARenderer(aktuell noch mit DLNAClient)rendern kann. Grundsätzlich sollte dafür ein Mediaserver eingesetzt werden. Die interessanteste Anwendung ist aber dabei das Medium dynamisch zu generieren, also z.B. bei einem eingehenden Anruf Infos wie Name, Tel. einzubauen. Das wiederum hab ich aus früheren Zeiten mit dem RSS-Modul gemacht und mir ein jpeg dynamisch erzeugt. Dieses als URI(http://FHEM_IP:FHEMWEB_Port/fhem/rss/mycallrss.jpg) angegeben funktioniert perfekt mit dem DLNAClient. Und frag mich nicht, warum das überhaupt funktionioniert, da FHEMWEB ja kein Media-Server ist.  8) Der DLNARenderer friert aber genau 30 Sek ein  :'( Es beißt sich also irgendetwas mit FHEM. Da ich zwischenzeitlich herausgefunden habe, dass es auch passiert, wenn man z.B. die unsinnige URI http://FHEM_IP:FHEMWEB_Port/fhem/nichtvorhandenes.jpg streamed, lässt sich das RSS-Modul als Ursache ausschließen und ich kann es mir nur so erklären:
- in den Tiefen des UPnP wird 30 Sek. blockierend auf eine Antwort des TV gewartet(evtl. auch STV-spezifisch, dass von dort nach 30 Sek. vergeblichen Wartens auf den vermeintlichen Mediaserver erst eine response geschickt wird  :-\) Gegen diese Theorie spricht eigentlich, dass ein Aufruf eines nicht vorhandenen streams vom Media-Server nicht blockierend ist.
- (eher eine vage Spekulation) FHEMWEB u. DLNA blockieren sich gegenseitig. Nur wo genau und warum ? :-[ :-\ :-\ :-[
Grüße Markus
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: Reinerlein am 05 Mai 2018, 11:55:03
Hi Markus,

kurz zu deinem Problem:
Ich würde sagen, dass du da einen Dead-Lock vorliegen hast.

Dein DLNARenderer (oder -Client) wartet auf die Antwort deines STV. Der STV aber wiederrum kann die Antwort erst erzeugen, wenn er weiß, ob er den Stream bekommen kann oder nicht.
Wenn der Stream jetzt von FHEM geliefert werden soll, klemmt es, da FHEM ja noch mit dem DLNA-Aufruf beschäftigt ist (er wartet ja auf die Antwort).
Eine Art der Auflösung eines solchen Deadlocks erlebst du ja durch den erfolgten Timeout :)

Das ist der Grund, warum ich einen eigenen SubProzess für die Kommunikation mit den Sonos-Playern gebaut habe, der läuft dann autark gegenüber Fhem, und damit gibt es auch einen solchen Deadlock nicht.

Das kannst du nur umgehen, wenn du deinen DLNA-Aufruf z.B. über die NonBlocking-Mechanik in Fhem, aufrufst:
- NonBlocking baut spontan einen neuen Thread, führt dort deine Aufgabe aus, und verbindet sich vor dem Töten (oder besser: ausleben lassen) des Threads mit Fhem, um das Ergebnis dieses Aufrufs zu übertragen.
- Währenddessen ist Fhem frei, und kann deine FhemWeb-Anfrage (indirekt durch den STV) verarbeiten
- Dein STV erhält sofort eine Meldung, und nicht erst nach seinem eigenen Timeout, weil Fhem jetzt auch sofort reagieren kann
- Das Ergebnis deines DLNA-Aufrufs landet asynchron in deinem Reading (oder wo auch immer)

Grüße
Reiner
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: KölnSolar am 07 Mai 2018, 10:50:51
Hallo Reiner,
ja, so denke ich ist es. Wäre ja auch gar nicht soooo dramatisch, wenn es bei tatsächlich nicht vorhandenen streams auftreten würde. Die hat man ja eher nie. Sprich, der freeze ist quasi Symptom aber nicht Ursache.
Ich erinnere mich wieder schwach, dass der STV im konkreten Fall mit einem "HEAD" anstatt "POST" antwortet. Dafür hatte Rudi uns extra ein Global-Attribut spendiert. Ich debugge mal tiefer, auch wenn ich glaube, dass mir das nicht wirklich weiterhilft, weil eine "Korrektur" dann ja in einem Perl-Modul außerhalb von FHEM stattfinden müsste. :'(
Grüße Markus
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: willibutz am 07 Mai 2018, 20:32:56
Zitat von: KölnSolar am 29 April 2018, 00:36:22
Ich hab dann mal den Status abgefragt, damit nicht mehr die irreführende Meldung"...succeed" sondern die vom device gelieferte Fehlerbeschreibung kommt. So z.B. für den fritz.repeater von Fhemotto:@willibutz: Hilft zumindest mal zu sehen, was der Sony meckert...

Hallo Markus,
habe mal deine angepasste  Version von 98_DLNARenderer.pm installiert und dann folgendes Log bekommen:

Datum         Zeit Stufe Nachrichten
2018-05-07 19:56:17 Notice : DLNA_104fa8052a77 stream: http://translate.google.com/translate_tts?tl=en&client=tw-ob&q=Hallo
2018-05-07 19:56:17 Error : 3: DLNARenderer: Error! UPnP-Fault-Fields: Code: s:Client"
2018-05-07 19:56:17 Debug : 5: DLNARenderer: AVTransport: urn:schemas-upnp-org:service:AVTransport:1 found. OK.
2018-05-07 19:56:17 Error : 3: DLNARenderer: Error! UPnP-Fault-Fields: Code: s:Client"
2018-05-07 19:56:16 Debug : 5: DLNARenderer: AVTransport: urn:schemas-upnp-org:service:AVTransport:1 found. OK.
2018-05-07 19:56:16 Notice : DLNA_104fa8052a77 stream http://translate.google.com/translate_tts?tl=en&client=tw-ob&q=Hallo
2018-05-07 18:20:26 Notice : DLNA_104fa8052a77 stream: http://translate.google.com/translate_tts?tl=en&client=tw-ob&q=Hallo
2018-05-07 18:20:26 Debug : 5: DLNARenderer: AVTransport, Play(0,1) succeed.
2018-05-07 18:20:26 Debug : 5: DLNARenderer: AVTransport: urn:schemas-upnp-org:service:AVTransport:1 found. OK.
2018-05-07 18:20:26 Debug : 5: DLNARenderer: AVTransport, SetAVTransportURI(0,http://translate.google.com/translate_tts?tl=en&client=tw-ob&q=Hallo,<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://translate.google.com/translate_tts?tl=en&amp
2018-05-07 18:20:25 Debug : 5: DLNARenderer: AVTransport: urn:schemas-upnp-org:service:AVTransport:1 found. OK.
2018-05-07 18:20:25 Notice : DLNA_104fa8052a77 stream http://translate.google.com/translate_tts?tl=en&client=tw-ob&q=Hallo
2018-05-07 18:19:50 Warning : 1: PERL WARNING: Use of uninitialized value in numeric eq (==) at /usr/local/FHEM/share/fhem/FHEM/98_DLNARenderer.pm line 318.
2018-05-07 18:10:55 Notice : DLNA_104fa8052a77 multiRoomSupport: 0
2018-05-07 18:10:55 Info    : 4: DLNARenderer: SessionManagement unknown for DLNA_104fa8052a77.
2018-05-07 18:10:55 Notice : DLNA_104fa8052a77 online
2018-05-07 18:10:55 Notice : DLNA_104fa8052a77 presence: online
2018-05-07 18:10:55 Info : 4: DLNARenderer: SpeakerManagement unknown for DLNA_104fa8052a77.
2018-05-07 18:10:55 Warning : 1: PERL WARNING: Subscription request failed with error: 400 Bad Request at /usr/local/FHEM/share/fhem/FHEM/98_DLNARenderer.pm line 1360.
2018-05-07 18:10:55 Debug : 5: DLNARenderer: RenderingControl: urn:schemas-upnp-org:service:RenderingControl:1 found. OK.
2018-05-07 18:10:55 Debug : 5: DLNARenderer: RenderingControl: urn:schemas-upnp-org:service:RenderingControl:1 found. OK.
2018-05-07 18:10:55 Warning : 1: PERL WARNING: Subscription request failed with error: 400 Bad Request at /usr/local/FHEM/share/fhem/FHEM/98_DLNARenderer.pm line 1356.
2018-05-07 18:10:55 Debug : 5: DLNARenderer: AVTransport: urn:schemas-upnp-org:service:AVTransport:1 found. OK.
2018-05-07 18:10:55 Debug : 5: DLNARenderer: AVTransport: urn:schemas-upnp-org:service:AVTransport:1 found. OK.
2018-05-07 18:10:55 Notice : DLNA_104fa8052a77 manufacturer: Sony Corporation
2018-05-07 18:10:55 Notice : DLNA_104fa8052a77 manufacturerURL: http://www.sony.net/
2018-05-07 18:10:55 Notice : DLNA_104fa8052a77 modelNumber: BAR-2015
2018-05-07 18:10:55 Notice : DLNA_104fa8052a77 modelName: HT-XT3
2018-05-07 18:10:55 Notice : DLNA_104fa8052a77 manufacturer: Sony Corporation
2018-05-07 18:10:55 Notice : DLNA_104fa8052a77 friendlyName: BRAVIABOX


hilft das schon weiter oder brauchst du noch mehr Infos?

LG willibutz
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: KölnSolar am 08 Mai 2018, 00:27:54
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
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: willibutz am 08 Mai 2018, 18:28:34
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
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: mumpitzstuff am 08 Mai 2018, 21:03:23
Sollte das Modul auch durch fhem ausgelieferte mp3 Dateien abspielen können oder nur Dateien von einem dlna Server wie z.b. miniDLNA?
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: KölnSolar am 09 Mai 2018, 06:52:31
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
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: mumpitzstuff am 09 Mai 2018, 12:39:12
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.
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: frank am 09 Mai 2018, 12:51:00
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.
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: mumpitzstuff am 09 Mai 2018, 14:11:15
Oh je was sind das wieder für geheime Settings. :) (Unendliche Weiten...)

Danke werde ich probieren!
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: willibutz am 09 Mai 2018, 22:55:57
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
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: KölnSolar am 10 Mai 2018, 09:12:32
Schön aufbereitet  :) Mustergültig  ;)
Das sieht mir nach dem selben Problem wie beim FritzRepeater (https://forum.fhem.de/index.php/topic,39706.msg799029.html#msg799029) 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
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: willibutz am 12 Mai 2018, 16:51:07
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
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: KölnSolar am 13 Mai 2018, 19:28:56
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.
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: willibutz am 13 Mai 2018, 20:20:34
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?
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: KölnSolar am 13 Mai 2018, 21:57:22
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.
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: willibutz am 13 Mai 2018, 22:19:12
ja mit dem DLNAClient hatte es schon mal funktioniert, mit dem DLNARenderer allerdings nicht.
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: KölnSolar am 14 Mai 2018, 07:30:47
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).
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: willibutz am 15 Mai 2018, 22:54:46
Hallo Markus,
ich habe den DNLAClient noch mal installiert und getestet. Den Stream, den ich mit am DLNARenderer einstelle, spielt das PLAY vom DLNAClient nicht ab, sondern den, der am DLNAClient eingestellt ist :-(

LG willibutz
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: KölnSolar am 16 Mai 2018, 19:24:05
Blöd, dass der DLNAClient das so handhabt.  :'(
Aber Du hast doch auch ein UPnP-Tool installiert oder hab ich das falsch im Kopf ? Da könntest Du mal das play probieren.
Grüße Markus
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: willibutz am 16 Mai 2018, 19:27:42
das hatte ich als erstes probiert. Dort ist es genauso. Den DLNAClient hatte ich nur noch mal reaktiviert, weil du das so vorgeschlagen hattest, und weil ja dann die beiden Befehle auch von der "gleichen IP" kommen (scheint aber auch kein Unterschied zu sein)
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: KölnSolar am 17 Mai 2018, 19:32:07
Hmm, genauso ? Wenn der Sony "frisch" gestartet wurde, dann ein stream mit dem DLNARenderer und dann das play über ein UPnP-Tool ? Das dürfte doch entweder nur den stream abspielen oder eine Fehlermeldung bringen ?
Stell doch mal ein list vom Sony-device ein, nachdem Du ein "stream" abgesetzt hast. Vielleicht bringt das ja mich oder einen Anderen auf eine Idee.
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: neodee am 28 Mai 2018, 10:21:00
Hallo zusammen,

ich versuche seit Tagen das Modul zusammen mit meinem Denon AVR zum laufen zu bringen.

Allerdings bekomme ich nach der Definition des Moduls auch Stunden später die Meldungen:
DLNARenderer: Currently searching for device...


Internals:
   NAME       dlnadevices
   NR         315
   STATE      initialized
   TYPE       DLNARenderer
   UDN        0
   VERSION    v2.0.7
   READINGS:
     2018-05-27 21:26:58   state           initialized
   helper:
     caskeid    0
     caskeidClients
Attributes:
   userattr   acceptedUDNs defaultRoom ignoreUDNs
   verbose    5


Die benötigten Pakete habe ich mit CPAN installiert, scheinen auch alle up to date zu sein.

Irgendwelche Vorschläge wo ich ansetzen kann?

Grüße

NeoDee
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: KölnSolar am 28 Mai 2018, 21:35:23
Das von Dir angelegte device ist das "master device". Das sucht immer  ;D
Im room "unsorted" sollte der Denon automatisch als weiteres device angelegt worden sein(steht dann auch im Log). Ansonsten wird's schwierig.
Grüße Markus
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: dwi am 14 September 2018, 21:49:28
Wofür nutzt ihr die DLNA Anbindung ans FHEM denn so?
Für die Steuerung des Gerätes (Lauter/Leiser/komplizierte EIN AUS Szenarien)? Oder auch für die Ansteuerung mit Multimedia Inhalten?
Wie bindet ihr die Inhalte denn ein? Ich habe jetzt ein paar Minuten DLNA Library und alles erdenkliche gesucht, aber nichts gefunden. Wie bekommt ihr die Daten nach FHEM, damit ihr sie wiedergeben könnt?
Ich habe mir schon verschiedene fertige Lösungen angesehen (Plex, Kodi und co) und bin im Moment bei emby gelandet, bin da aber auch nicht zufrieden.
Kann FHEM das alles? Library, Player und Fernsteuerung?
Hat hier jemand ein Beispielbild, wie seine Bibliothek in fhem aussieht? Ich kann mir das gar nicht vorstellen. Oder verstehe ich das Modul einfach nicht?
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: KölnSolar am 16 September 2018, 21:59:09
ich vermute  :'(
Library ist nicht. Es werden sonstwie vorhandene libraries(z.B. minidlna auf dem Rpi) genutzt. Mediendateien werden FHEMgesteuert an das Zielgerät gestreamed(zB. Anrufuferinfo auf den TV).
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: michael.winkler am 19 September 2018, 23:02:09
Hi, ich habe einen Samsung TV der von DLNA erkannt wird. Leider lässt sich über FHEM nichts steuern.

Im Log steht folgendes, wenn ich versuche die Lautstärke zu ändern:

2018.09.19 22:43:32.163 3: DLNARenderer: Created device DLNA_40163b70d6fd for [TV]Samsung LED40
2018.09.19 22:59:32.645 5: DLNARenderer: RenderingControl: urn:schemas-upnp-org:service:RenderingControl:1 found. OK.
2018.09.19 22:59:32.744 5: DLNARenderer: RenderingControl, SetVolume(0,Master,30) succeed.


Kann mir jemand weiterhelfen
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: KölnSolar am 20 September 2018, 08:16:10
Hallo Michael,
der Renderer bereitet (noch) ziemliche Probleme mit Samsung-devices. Leider ist das Problem dabei auch, dass Samsung große firmware-Unterschiede hat. Ich bin dabei das Problem näher zu ergründen und vielleicht zu lösen....

Mir stellt sich aber erst einmal die Frage welche Serie Dein TV ist und was Du erreichen möchtest.
Ich hab für den Samsung und das STV-Modul folgenden serienübergreifenden Thread erstellt, der einen ersten Einblick (https://forum.fhem.de/index.php/topic,82890.msg750370.html) geben soll.

Mittlerweile besitze ich wenigstens 2 von mal grob klassifizierten 5 unterschiedlichen firmwares, so dass ich nun besser testen kann. Demnächst wird es dann ein 70_STV geben, welches für alle firmwares einsetzbar ist und dann auch regelmäßig gewartet wird.

Grüße
Markus

Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: michael.winkler am 20 September 2018, 08:45:42
Hi,

das Gerät wird wie folgt angelegt:


Internals:
   CFGFN     
   DEF        uuid:0db58581-00e6-1000-851e-40163b70d6fd
   NAME       DLNA_40163b70d6fd
   NR         171
   STATE      offline
   TYPE       DLNARenderer
   UDN        uuid:0db58581-00e6-1000-851e-40163b70d6fd
   .attraggr:
   .attrminint:
   READINGS:
     2018-09-19 22:43:32   friendlyName    [TV]Samsung LED40
     2018-09-19 22:43:32   manufacturer    Samsung Electronics
     2018-09-19 22:43:32   manufacturerURL http://www.samsung.com/sec
     2018-09-19 22:43:32   modelDescription Samsung TV DMR
     2018-09-19 22:43:32   modelName       UE40J5278
     2018-09-19 22:43:32   modelNumber     AllShare1.0
     2018-09-19 22:43:32   modelURL        http://www.samsung.com/sec
     2018-09-19 22:43:32   multiRoomSupport 0
     2018-09-19 22:43:32   multiRoomVolume 8
     2018-09-19 22:43:32   mute            0
     2018-09-19 23:46:09   presence        offline
     2018-09-19 23:46:09   state           offline
     2018-09-19 22:51:57   stream          http://translate.google.com/translate_tts?tl=en&client=tw-ob&q=gghg
     2018-09-19 22:43:32   transportState  NO_MEDIA_PRESENT
     2018-09-19 22:43:32   transportStatus OK
     2018-09-19 22:43:32   volume          8
   helper:
     caskeid    0
     caskeidClients
Attributes:
   alias      [TV]Samsung LED40
   userattr   channel_01 channel_02 channel_03 channel_04 channel_05 channel_06 channel_07 channel_08 channel_09 channel_10 multiRoomGroups ttsLanguage
   verbose    5
   webCmd     volume


Über andere DLNA Anwendung lässt sich der Fernseher(DLNA) steuern, nur nicht über FHEM.
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: KölnSolar am 20 September 2018, 11:09:28
ZitatÜber andere DLNA Anwendung lässt sich der Fernseher(DLNA) steuern, nur nicht über FHEM.
Ja, das liegt an den Perl-Bibliotheken. Guck mal in den von mir angegebenen Thread. Da findest Du irgendwo den Link zum Vorgängermodul DLNA_Client. Das funktioniert eigentlich bestens mit dem Samsung-J-Serie.
Evtl. hilft auch meine Version vom DLNA_Renderer (https://forum.fhem.de/index.php/topic,39706.msg798029.html#msg798029).
Ist nur jetzt etwas länger her. Und da ich viel gebastelt habe weiß ich nicht mehr, was die aktuell funktionierende Version war. ::)
Da ich nun endlich die aktuellste N-Serie habe, werde ich mich im Kurztageshalbjahr wieder mehr dem Thema widmen.
Grüße Markus
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: dwi am 21 September 2018, 20:44:40
Zitat von: KölnSolar am 16 September 2018, 21:59:09
ich vermute  :'(
Library ist nicht. Es werden sonstwie vorhandene libraries(z.B. minidlna auf dem Rpi) genutzt. Mediendateien werden FHEMgesteuert an das Zielgerät gestreamed(zB. Anrufuferinfo auf den TV).

okay, einen minidlna habe ich auch laufen. Aber wie bekomme ich jetzt die minidlna source hier nach FHEM, damit ich meinen DLNA Renderer damit füttern kann?
Ich habe jetzt testweise die src URLs aus meinem emby kopiert und konnte sie auch super mittels FHEM auf meine Wiedergabegeräte streamen.
Ich könnte jetzt natürlich versuchen meinen emby so umzubauen, dass er beim Druck auf einen Link nicht den emby Player öffnet, sondern die source per FHEM direkt streamed, aber das ist ja wohl nicht, was die meisten hier machen.
Wo bekommt ihr die File Source her um überhaupt etwas auf die Renderer Streamen zu können und wie navigiert ihr durch die Multimedia Files?
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: KölnSolar am 22 September 2018, 13:14:23
Ich denke Du bist da immer noch etwas auf dem falschen Dampfer. Du möchtest FHEM wie einen Windows-Mediaplayer, also als DLNA--Digital-Media-Controller, nutzen ? Das macht meines Erachtens keinen Sinn für FHEM. Dafür gibt es genügend andere Software. Ich finde dieses Schema (https://de.wikipedia.org/w/index.php?title=Datei:DLNA_new.svg&filetimestamp=20110119010747&) recht selbsterklärend, was die Aufgabe eines Renderers ist.

Zitatwie navigiert ihr durch die Multimedia Files?
Allgemein eben gar nicht mit FHEM(DLNA_Renderer). Speziell auf ein Device bezogen vielleicht mit z.B. SONOS  :-\

Zumindest mein Ziel ist es, bei Ereignissen(z.B. Telefonanruf) etwas definiertes aus FHEM heraus auf den TV zu streamen.

ZitatWo bekommt ihr die File Source her um überhaupt etwas auf die Renderer Streamen zu können
Quellpfad u. -Dateinamen von Mediendateien auf z.B. Rpi/minidlna z.B. über den Windows-Mediaplayer. Diese dann fix in at, notify, DOIF, Spezialmodulen(STV f. Samsung).... bzw. u.U. ereignisorientiert generisch.
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: Jewe am 03 Oktober 2018, 14:30:34
Hallo,

seit ein paar Tagen bekomme ich Regelmäßig folgende Einträge im Logfile :
2018.10.03 14:23:36 3: DLNARenderer: handleOnce failed, Not a HASH reference at ./FHEM/98_DLNARenderer.pm line 1146.
2018.10.03 14:24:06 3: DLNARenderer: handleOnce failed, Not a HASH reference at ./FHEM/98_DLNARenderer.pm line 1146.
2018.10.03 14:24:27 3: DLNARenderer: handleOnce failed, Not a HASH reference at ./FHEM/98_DLNARenderer.pm line 1146.
2018.10.03 14:24:47 3: DLNARenderer: handleOnce failed, Not a HASH reference at ./FHEM/98_DLNARenderer.pm line 1146.


Wie werde ich diese wieder los ?
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: KölnSolar am 03 Oktober 2018, 18:27:01
Offizielle Version ?

A einfachsten stellst Du verbose 2 ein  ;)
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: Jewe am 04 Oktober 2018, 10:09:51
Zitat von: KölnSolar am 03 Oktober 2018, 18:27:01
Offizielle Version ?

A einfachsten stellst Du verbose 2 ein  ;)

Da hätte ich ja auch drauf kommen können.
Danke
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: Jewe am 07 Oktober 2018, 14:45:40
Hallo,

ich würde gerne mit dem Medialist-Modul den DNLARenderer befeuern.
https://wiki.fhem.de/wiki/MediaList

Dazu müste dem DLNARenderer eine Playlist mit übergeben werden. z.B. so
set DLNA_e8265c675a4a StartPlaylist file:cache/DLNA_e8265c675a4a.m3u

Gibt es dazu eine Möglichkeit ?

Jens
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: KölnSolar am 21 Oktober 2018, 22:37:45
Hallo Reinerlein,
Du erinnerst Dich noch an unsere Diskussion (https://forum.fhem.de/index.php/topic,39706.msg799696.html#msg799696) bevor der Sommer begann ?  ;D

Ich hab mir einen neuen Samsung zugelegt und musste feststellen, dass der das selbe Fehler(Lösungs-)bild hat. Wollen wir da mal ran ?
Mit dem freeze bin ich leider noch nicht weiter.  :'(
Grüße Markus


Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: Brockmann am 23 Oktober 2018, 07:56:23
Zitat von: Jewe am 07 Oktober 2018, 14:45:40
Dazu müste dem DLNARenderer eine Playlist mit übergeben werden. z.B. so
set DLNA_e8265c675a4a StartPlaylist file:cache/DLNA_e8265c675a4a.m3u
Eine Playlist kannst Du genauso übergeben wie eine mp3-Datei. Also beispielsweise set DLNA_e8265c675a4a stream http://192.168.X.X:49200/AUDIO/MUSIK/Play.m3u.
Voraussetzung ist, dass die m3u-Datei per http abgerufen werden kann und dass das Wiedergabegerät Playlisten unterstützt.
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: KölnSolar am 08 November 2018, 20:37:24
Hi Dominik,
wäre prima, wenn Du Dich mal wieder melden würdest. Hab ein paar Dinge am DLNARenderer angepasst. Vor einer Veröffentlichung muss Reiner aber das Controlpoint.pm noch ändern. Erst dann kann ich die Version einstellen.

Beim Test in Kombination mit dem STV ist FHEM abgeschmiert:
Undefined subroutine &main::DLNARenderer_seek called at ./FHEM/98_DLNARenderer.pm line 332.

Ich hab auch schon mal im SVN geguckt. Anscheinend gabs die Funktion noch nie ?  :o Hat denn noch nie jemand seek ausprobiert ?

Grüße Markus
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: Izzy am 19 November 2018, 22:24:54
Ich habe auch mit der aktuellsten Version (gerade update gefahren) noch dieses Problem (https://forum.fhem.de/index.php/topic,39706.msg634838.html#msg634838) von vor über einem Jahr. Die zwei Posts darüber genannte Lösung half bei mir nicht. Was komischerweise funktionierte war die use UPnP::ControlPoint; Zeile direkt hinter das use LWP::UserAgent; zu verschieben.

Wollte das nur kurz erwähnen, falls noch jemand in der gleichen Klemme steckt.

So, und jetzt mal schauen, ob ich (nach langer Pause) mich wieder in FHEM hinein finde – und mit diesem Modul klar komme ...  ;)
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: Markofu am 30 Dezember 2018, 09:10:54
Hallo,
ich habe ein Teufel one S und nutze DLNARederer. Das Gerät wurde gefunden und ist auch steuerba und Radiosender kann ich abspielen. Das einzige was ich nicht hinbekomme ist eine Sprachausgabe mit speak. Der google link der ersellt wird funktioniert wenn ich diesen im Browser aufrufe. Nur über Fhem klappt es nicht.

Es scheint ohne Fehler zu laufen da im Log kein Eintrag ist. Es kommt nur kein Ton raus !

Ich habe jetzt mal einen längeren String eingegeben und anscheinend werden die ersten drei "Test" abgeschnitten.
Beispiel:
http://translate.google.com/translate_tts?tl=de&client=tw-ob&q=test test test test test test test test

Wie kann ich es verhindern das der erste Teil abgeschnitten wird ?

Hier der Auszug aus dem Log mit  verbose 5
2018.12.30 10:01:43 4: DLNARenderer: Update reading transportState with TRANSITIONING
2018.12.30 10:01:43 4: DLNARenderer: Update reading currentTrackURI with http://translate.google.com/translate_tts?tl=de&client=tw-ob&q=test test test test test test
2018.12.30 10:01:43 4: DLNARenderer: Received event: $VAR1 = 'LastChange';
$VAR2 = '<Event xmlns="urn:schemas-upnp-org:metadata-1-0/AVT/"><InstanceID val="0"><CurrentTrackDuration val="00:00:03"/><RoomStates val="uuid:94dd333a-07e6-4588-bf42-2ceb325555c6=TRANSITIONING"/></InstanceID></Event>';

2018.12.30 10:01:43 4: DLNARenderer: $VAR1 = {
          'Event' => {
                     'InstanceID' => {
                                     'RoomStates' => {
                                                     'val' => 'uuid:94dd333a-07e6-4588-bf42-2ceb325555c6=TRANSITIONING'
                                                   },
                                     'CurrentTrackDuration' => {
                                                               'val' => '00:00:03'
                                                             },
                                     'val' => '0'
                                   },
                     'xmlns' => 'urn:schemas-upnp-org:metadata-1-0/AVT/'
                   }
        };

2018.12.30 10:01:43 4: DLNARenderer: Received event: $VAR1 = 'LastChange';
$VAR2 = '<Event xmlns="urn:schemas-upnp-org:metadata-1-0/AVT/"><InstanceID val="0"><TransportState val="PLAYING"/><RoomStates val="uuid:94dd333a-07e6-4588-bf42-2ceb325555c6=PLAYING"/><CurrentTransportActions val="Pause,Previous,Repeat,Seek,Stop"/></InstanceID></Event>';

2018.12.30 10:01:43 4: DLNARenderer: $VAR1 = {
          'Event' => {
                     'InstanceID' => {
                                     'TransportState' => {
                                                         'val' => 'PLAYING'
                                                       },
                                     'CurrentTransportActions' => {
                                                                  'val' => 'Pause,Previous,Repeat,Seek,Stop'
                                                                },
                                     'RoomStates' => {
                                                     'val' => 'uuid:94dd333a-07e6-4588-bf42-2ceb325555c6=PLAYING'
                                                   },
                                     'val' => '0'
                                   },
                     'xmlns' => 'urn:schemas-upnp-org:metadata-1-0/AVT/'
                   }
        };

2018.12.30 10:01:43 4: DLNARenderer: Update reading transportState with PLAYING
2018.12.30 10:01:46 4: DLNARenderer: Received event: $VAR1 = 'LastChange';
$VAR2 = '<Event xmlns="urn:schemas-upnp-org:metadata-1-0/AVT/"><InstanceID val="0"><TransportState val="STOPPED"/><RoomStates val="uuid:94dd333a-07e6-4588-bf42-2ceb325555c6=STOPPED"/><CurrentTransportActions val="Play,Previous,Repeat,Seek"/></InstanceID></Event>';

2018.12.30 10:01:46 4: DLNARenderer: $VAR1 = {
          'Event' => {
                     'InstanceID' => {
                                     'RoomStates' => {
                                                     'val' => 'uuid:94dd333a-07e6-4588-bf42-2ceb325555c6=STOPPED'
                                                   },
                                     'CurrentTransportActions' => {
                                                                  'val' => 'Play,Previous,Repeat,Seek'
                                                                },
                                     'TransportState' => {
                                                         'val' => 'STOPPED'
                                                       },
                                     'val' => '0'
                                   },
                     'xmlns' => 'urn:schemas-upnp-org:metadata-1-0/AVT/'
                   }
        };

2018.12.30 10:01:46 4: DLNARenderer: Update reading transportState with STOPPED


Hat jemand eine Idee ?
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: Ajuba am 03 Januar 2019, 22:25:48
Ich habe das Modul soeben entdeckt und getestet.
Zuerst mal hat die Installation von sudo cpan SOAP::Lite ewig gedauert und gefühlte zig Megabyte wurden heruntergeladen und konfiguriert. Ist das normal?
Die Suche nach einem Apache Server konnte ich dabei nicht beantworten - Ist der wichtig?
Nach der Installation der anderen Perl Module habe ich define dlnadevices DLNARenderer eingeben und hoffte nach den in Commandref erwähnten 2 Minuten auf ein Ergebnis.
Nun ist Fhem schon seit mehr als einer halben Stunde damit beschäftigt DLNA Geräte zu suchen.

Nur weil ich parallel die Fhem Events Seite offen habe sehe ich ab zu - wenn Fhem aus seinem Nirvana erwacht - dass er meine Panasonic All2 Player und andere Geräte findet.
Ansonsten ist es aber nicht mehr wirklich ansprechbar?
Was könnte da falsch laufen?
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: KölnSolar am 03 Januar 2019, 22:53:54
ZitatFHEM auf RPi3, CUL 868, Siemens S7
und
Zitatsudo cpan SOAP::Lite
beißt sich doch, oder ?

Für Debian apt-get install libsoap-lite-perl.

Was das nun für Dein System bedeutet, kann ich nicht beurteilen.
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: Ajuba am 03 Januar 2019, 23:47:17
Hallo KölnSolar
Danke für die Grundlagen Nachhilfe, die ich aber ehrlich gesagt nicht verstehe. Darf ich da noch um mehr Details fragen?

Du meinst also RPi3 und cpan vertragen sich nicht? Ich habe bisher Installationen immer nach commandref oder Wiki durchgeführt und da waren meines Wissens durchaus auch cpan Installationen dabei.
Ich habe aber inzwischen auch an anderer Stelle gefunden, dass man so leichter ans Ziel kommt  sudo apt-get install libsoap-lite-perl .
Aber wo finde ich bei dieser Anweisung heraus was ich mit apt-get installieren soll?
Note: The followig libraries are required for this module:
SOAP::Lite
LWP::Simple
XML::Simple
XML::Parser::Lite
LWP::UserAgent


Übrigens, sudo apt-get install libsoap-lite-perl habe ich noch nachgesetzt und das Finden meiner Geräte geht jetzt schneller aber dann hängt Fhem trotzdem.

Nach einem Raspi Reboot läuft fhem wieder ohne Probleme
Gibt es einen Tip wie ich wie ich das nun wieder gerade biege? CPAN Uninstall gibt es ja anscheinend nicht.
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: KölnSolar am 04 Januar 2019, 07:52:26
So tief stecke ich auch nicht im "Systemthema". Aber Debian sollte immer über apt-get install die neuen Pakete laden. Und natürlich immer ein apt-get update und apt-get upgrade davor, damit auch die bereits installierten Pakete auf den neusten Stand gebracht werden.

cpan ist sicherlich auch im Wiki etc. erwähnt, betrifft dann aber vermutlich nicht-Debian-Linux-Systeme.

ZitatNach einem Raspi Reboot läuft fhem wieder ohne Probleme
Gibt es einen Tip wie ich wie ich das nun wieder gerade biege?
Ich hoffe für Dich, dass dieser Weg schon ausreichend war. Du hast das Debian-Paket auf die Platte gebracht, geladen war aber noch das cpan-Paket. Durch den Reboot wurden dann die Debian-Pakete wieder benutzt.
Sofern Du es nicht gemacht hast, würde ich das oben genannte(update/upgrade) ausführen und nochmals einen reboot durchführen.
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: Fhemotto am 04 Januar 2019, 09:57:19
Hallo Markus

Ich habe gesehen das du eine neue 70_STV.pm bereitgestellt hast.
in diesem Thread   https://forum.fhem.de/index.php/topic,57595.msg880694.html#msg880694 (https://forum.fhem.de/index.php/topic,57595.msg880694.html#msg880694) erwähnst du auch deinen modifizierten DLNARenderer (ControlPoint ?)
ZitatIch arbeite seit Monaten mit nicht veröffentlichten Modifikationen !!!

Da du sicherlich mit dem Samsung Modul genug beschäftigt bist, wollte ich fragen,
ob du deine Version (eventuell erst mal als unsupported ) irgendwie zur Verfügung stellen könntest.

Hintergrund:
Eventuell kannst du dich erinnern das wir mal den FritzRepeater N/G getestet hatten.
Das hatte, dank deinen Versuchen, auch grob funktioniert.
Ich bin aber seitdem immer noch bei dem alten DLNAClient geblieben, da dieser für mich stabil läuft. ( Auch mit meinem Samsung F8090) 

Warte seitdem auch sehnsüchtig das sich hier im Thread bzw. am Modul wieder was tut.

Wenn's bei mir läuft würde ich eine kurze Rückmeldung geben aber ansonsten warten bis du oder wer auch immer hier was Neues postet und mich dann dazu melden.

Danke
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: KölnSolar am 04 Januar 2019, 19:12:00
Ich erinnere mich.  ;)

Unter diesem Aspekt attached eine Version, wo ich einiges seit meiner nur leicht angepassten Version verändert habe. Primär war das mangelndes Logging, Fehlerkorrektur beim event handling/subscription(zumindest beim Samsung TV), Umstellung auf non-blocking, um z.B. keine freezes mehr zu haben, wenn ich ein FHEM-RSS-Bild auf den TV streame. Im Modul habe ich noch folgendes eingetragen:
Zitat- FEATURE: commandref corrected
#            allowed set commands depending on device types and services
#            subscription timeout changed to 320 sec.; internal timer to renew subscription changed to 300 sec.
#            additional log outputs to analyze devices
#            blocking call of DLNARenderer_upnpSetAVTransportURI to avoid freezes
#            speak: translate whitespaces to %20 to allow sentences
#            seek no longer a valid command because function DLNARenderer_seek wasn't implemented

Vollständig funktioniert diese Version NUR mit der hier (https://forum.fhem.de/index.php/topic,39706.msg799029.html#msg799029) beschriebenen Änderung der ControlPoint.pm !!!!!!

Getestet nur mit Samsung TV.
Edit: Attachement removed;
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: Ajuba am 04 Januar 2019, 19:24:17
Ich habe nun sudo apt-get update
sudo apt-get upgrade

ausgeführt und mir im Internet kreuz und quer apt-get install Befehle für die benötigten Module SOAP::Lite, LWP::Simple, XML::Simple, XML::Parser::Lite und LWP::UserAgent zusammengesucht und ausgeführt und dann neu gestartet.

Aber offensichtlich ohne Erfolg.
Fhem fällt dann nach dem Aufruf von DLNARenderer wieder ins Nirvana und nur nach sudo reboot läuft alles wieder problemlos.

Wo finde ich gesammelt für welches Perl Modul welches Repository Paket installiert werden muss? Wenn ich das mal richtig weiß will ich versuchen Fhem mit einem alten SD Karten Image zu starten und ohne CPAN Desaster neu zu beginnen.

Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: KölnSolar am 04 Januar 2019, 20:05:10
ZitatWo finde ich gesammelt für welches Perl Modul welches Repository Paket installiert werden muss?
Meines Wissens nirgends.  :'( Manchmal findet man es in der commandref, manchmal dort aber auch nur der Hinweis aufs Modul. Dasselbe gilt fürs Wiki. Google hilft in der Regel, um vom Modul auf das Paket zu kommen. Kein schöner Weg, ich weiß.

Deshalb gilt die Devise: bei jeder erstmaligen Nutzung eines FHEM-Moduls dokumentieren, welches Paket man wie geladen hat.

In der bei Dir nun scheinbar verfahrenen Situation ist es vermutlich am sinnvollsten so vorzugehen:
- backup des FHEM-Ordners (sicherheitshalber auch noch ein komplettes Image)
- altes image einspielen
- update/upgrade
- bis hierhin sollte ja alles problemlos laufen
- nun ggfs. das backup des FHEM-Ordner einspielen; (evtl. auch nur die fhem.cfg/fhem.save; dann würd ich davor aber erst ein FHEM update
  machen)
- ein image mit aktualisiertem Rpi-Debian und FHEM schadet sicherlich nicht
- erst jetzt neue devices anlegen, die ein bisher noch nicht eingesetztes FHEM-Modul nutzen. Jetzt bekommst Du entweder eine
  Fehlermeldung aus dem Modul, einen Logeintrag, Perl-Warning oder Du weißt vorab, dass ein Modul fehlt. Dann nach dem zu installierenden
  Paket suchen und installieren.

Anders kann ich Dir leider nicht helfen.

Wenn es aber "nur" der DLNARenderer ist, der Probleme macht, vielleicht kommen wir mit meiner obigen Version und einem Logauszug mit verbose=5 weiter  :-\
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: Fhemotto am 04 Januar 2019, 20:15:59
Hallo Markus

Danke für die Version.
Frage noch zu ControlPoint.pm
Du schreibst auskommentiert, ist das so exakt?
Hatte das damals auch probiert aber irgendwie bin ich mir nicht mehr ganz sicher.

        my $result;
        if ($SOAP::Lite::VERSION >= 0.67) {
            $result = SOAP::Lite
                    ->envprefix($EnvPrefix)
#                    ->ns("u")
                    ->uri('urn:schemas-upnp-org:control-1-0')
                    ->proxy($self->controlURL)
                    ->call('QueryStateVariable' =>

ALT:
            return bless {
                    _service => $service,
                    _proxy =>
SOAP::Lite->envprefix($EnvPrefix)->ns("u")->uri($service->serviceType)->proxy($service->controlURL),

NEU:
SOAP::Lite->envprefix($EnvPrefix)->uri($service->serviceType)->proxy($service->controlURL),



und nun noch die Anfängerfrage  ;)
Wie kommst du zu dieser Ansicht im Code von ?
https://forum.fhem.de/index.php/topic,39706.msg799029.html#msg799029 (https://forum.fhem.de/index.php/topic,39706.msg799029.html#msg799029)

Danke

Edit:  habe gerade im STV Thread gelesen " Knobelaufgabe ", Bitte um Auflösung  ;D
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: KölnSolar am 04 Januar 2019, 20:52:01
ZitatDu schreibst auskommentiert, ist das so exakt?
Nein.
In Zeile 887 ist
->ns("u")
zu "viel".
Muss dann so aussehen:
  _proxy => SOAP::Lite->envprefix($EnvPrefix)->uri($service->serviceType)->proxy($service->controlURL),

ZitatWie kommst du zu dieser Ansicht im Code von ?
Das ist keine Anfängerfrage  ;D ;D ;D Das habe ich damals über massenhaften Einbau von Loggings bekommen. Das lässt sich nicht nachstellen. Das sind die SOAP-Messages, die ich Reinerlein nur zeigen wollte, damit er etwas zu den namespaces "entdecken" kann. Vielleicht kommt das aber auch immer noch bei verbose=5 ?  :-\
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: Fhemotto am 04 Januar 2019, 21:10:50
Also eigentlich so wie ich unter "Neu" geschrieben hatte.
Ich erkenne da keinen unterschied. 
Hatte nur das  "_proxy =" nicht mit rein koppiert.

Aber trotzdem Danke

Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: KölnSolar am 04 Januar 2019, 21:44:53
mir sah das eher so aus, als wäre das ein paar Dutzend Zeilen höher  :-\ Also nicht in der Funktion "new", sondern "queryStateVariable".
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: Fhemotto am 04 Januar 2019, 22:15:10
Sorry war genau die Zeile 887 , habe wohl zur Verwirrung beigetragen.

Bin wohl gerade auf ein ganz anderes Problem gestoßen und war wohl immer auf dem Holzweg. >:(

Bei der Übergabe eines Stream habe ich immer den Stream aus meinem alten DLNAClient benutzt.
z.B.  stream http://www.rockantenne.de/webradio/rockantenne.m3u
Diese scheinen aber nicht zu gehen sondern nur z.B. lokale Daten. :(

Ich muss nun erst einmal nach den Netzwerkberechtigungen , Ports , Freigaben  usw. schauen wo da der Unterschied liegt. Alles was im Internet liegt geht nicht, lokal schon.
Werde das morgen mal versuchen zu analysieren.

schönen Abend noch.


Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: KölnSolar am 04 Januar 2019, 22:35:03
Ich hab bisher nie WWW-URIs getestet. Hab Deinen jetzt mal probiert. Geht bei mir durch, aber scheinbar nicht vom Samsung unterstützt:
"file format not supported"  :'( Edit: Anzeige auf dem TV.
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: Fhemotto am 04 Januar 2019, 22:42:24
OK
Habs auch nur schnell mit meinem geliebten FritzRepeater N/G bzw. auf einem TAB mit BubbleUPnP App (welches ich bis jetzt immer erst einmal zum Testen benutzte) probiert.
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: Ajuba am 05 Januar 2019, 00:53:17
Danke für das Angebot
Zitat von: KölnSolar am 04 Januar 2019, 20:05:10
Wenn es aber "nur" der DLNARenderer ist, der Probleme macht, vielleicht kommen wir mit meiner obigen Version und einem Logauszug mit verbose=5 weiter  :-\

Ich versuche nun mal mit einem Tip in dem anderen Thread https://forum.fhem.de/index.php/topic,95320.0.html (https://forum.fhem.de/index.php/topic,95320.0.html)abzuklären, dass ich wirklich die richtigen Module installiere. Erst dann schaue ich weiter. Ausser du kannst mir auf die schnelle die richtigen apt-get install nennen.

Und nur damit ich weiß ob ich überhaupt auf das richtige Pferd setzte. Ich möchte meine Panasonic All2 Player steuern. Also zumindest Lautstärke und ggf mp3 Messages abspielen. Bin ich da beim DLNARenderer überhaupt richtig?

Du beziehst dich auf deine obige Version. Was macht sie anders? Ist das nur für den Samsung TV wichtig?
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: KölnSolar am 05 Januar 2019, 08:37:54
ZitatWas macht sie anders?
Viel. Ist ja im Post beschrieben.
ZitatIst das nur für den Samsung TV wichtig?
Nein. Ist nach wie vor universell, aber eben nur mit meinem STV getestet.
ZitatIch möchte meine Panasonic All2 Player steuern.
Ob das klappt kann ich Dir nicht sagen. Der DLNA-Standard ist da immer etwas eigen je Hersteller.
ZitatAlso zumindest Lautstärke und ggf mp3 Messages abspielen. Bin ich da beim DLNARenderer überhaupt richtig?
Das geht grundsätzlich prima.
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: Fhemotto am 05 Januar 2019, 14:22:10
Hallo Markus

Wie bereits geschrieben hatte ich wohl immer mal den falschen Stream zum Testen,
und zwar mit www.xxx.yyy.M3U, eine Art Container-Datei die die eigentliche Adresse enthält.
Bei der Direkteingabe, z.B. BubbleUPnP App auf einem Tab, ist das kein Problem.
Bei Übergabe über den DLNARenderer geht dies nicht. Beim Samsung z.B. wird ,,falsches Dateiformat" ausgegeben.

Ich habe nun ein paar kurze Tests durchgeführt.
(alle mit envPrefix ="s")

Samsung F8090:
Stream von lokaler Adresse ->geht
Stream von internet Adresse ->geht nicht / egal welche Adressen ich verwende (auch ohne ...M3U)  kommt immer ,,falsches Format"
lokales RRS Bild -> geht
Lautstärke -> geht nicht (eventuell nicht unterstützt)

Tablett mit BubbleUPnP APP:
Stream von lokaler Adresse ->geht
Stream von internet Adresse -> geht nicht / egal welche Adressen ich verwende (auch ohne ...M3U)
lokales RRS Bild -> geht
Lautstärke -> geht

AVM FRITZ!MediaRenderer (FRITZ!WLAN Repeater N/G):
Stream von lokaler Adresse ->geht nicht
Stream von internet Adresse ->geht nicht
Lautstärke -> geht nicht
Habe hier überhauptkeine Reaktionen

Im Log hatte ich keine auffälligen Infos, war aber auch alles auf Verbose 0
Wollte ja erstmal die Grundfunktionen kurz an testen.

Das keine Internetadressen gehen kann ich noch nicht nachvollziehen (Wahrscheinlich ein anderes Problem).
Auf Grund der Tatsache werde ich die Internetradio Streaming Adressen in meiner Fritz-Box verwalten und das Füttern des DLNARenders über die lokale Adresse
,,http://192.168.155.10:49200/ST/AUDIO/DLNA-1-0/mp3channels.webradio.rockantenne.de/rockantenne ,,
benutzen. (Mediaserver auf Fritzbox muss natürlich eingerichtet sein)

Die URL findet man z.B. in besagter APP ( bei Play auf die 3 Punkte und show Metadata), leider wird das in den Readings des DLNARenders nicht angezeigt, wenn man den Stream anderweitig startet.
(währe eine Option für die Zukunft, dass die Readings zyklisch aktualisiert werden)

Zu meinem geliebten FRITZ!WLAN Repeater N/G muss ich mich später noch mal bemühen (Logs , Verbose 5 usw.) warum hier Garnichts geht.
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: KölnSolar am 05 Januar 2019, 15:49:51
Zitat(alle mit envPrefix ="s")
Das ist vermutlich der Fehler bzgl. Fritz-Repeater. Meinen habe ich gar nicht definiert und der wird mir dann per autocreate so angelegt(Raw definition)
defmod DLNA_BC0543512C9A DLNARenderer uuid:fa095ecc-e13e-40e7-8e6c-BC0543512C9A
attr DLNA_BC0543512C9A 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_BC0543512C9A alias AVM FRITZ!MediaRenderer
attr DLNA_BC0543512C9A webCmd volume

setstate DLNA_BC0543512C9A online
setstate DLNA_BC0543512C9A 2019-01-05 10:21:12 friendlyName AVM FRITZ!MediaRenderer
setstate DLNA_BC0543512C9A 2019-01-05 10:21:12 manufacturer AVM Berlin
setstate DLNA_BC0543512C9A 2019-01-05 10:21:12 manufacturerURL http://www.avm.de
setstate DLNA_BC0543512C9A 2019-01-05 10:21:12 modelDescription FRITZ!MediaRenderer
setstate DLNA_BC0543512C9A 2019-01-05 10:21:12 modelName FRITZ!WLAN Repeater N/G
setstate DLNA_BC0543512C9A 2019-01-05 10:21:12 modelNumber avm
setstate DLNA_BC0543512C9A 2019-01-05 10:21:12 modelURL http://fritz.repeater
setstate DLNA_BC0543512C9A 2019-01-05 10:21:12 multiRoomSupport 0
setstate DLNA_BC0543512C9A 2019-01-05 10:21:12 presence online
setstate DLNA_BC0543512C9A 2019-01-05 10:21:12 presentationURL http://fritz.repeater
setstate DLNA_BC0543512C9A 2019-01-05 10:21:12 state online


ZitatDas keine Internetadressen gehen kann ich noch nicht nachvollziehen
Versuch mal das speak des DLNA-Renderer. Das funktioniert bei mir einwandfrei und nutzt ja google-translate.

ZitatLautstärke -> geht nicht (eventuell nicht unterstützt)
Kann ich mir fast nicht vorstellen. Hast Du die scpdurl ?
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: Fhemotto am 05 Januar 2019, 16:59:41
alle mit envPrefix ="s" geht aber nur zentral zu setzen und nicht Gerätespezifisch.
Dachte braucht man für Samsung (F8090 eher nicht ?) habe aber noch einen MU6179
(z.Z. bei den Kindern) den ich auch mal mit einbinden möchte.

Alle Geräte wurden hier natürlich auch per autocreate angelegt
wüsste gar nicht wie das anders gehen sollte)

Raw definition sieht bei mir genauso aus.

Test speak:
2019.01.05 16:51:21 5: DLNARenderer: AVTransport, SetAVTransportURI(0,http://translate.google.com/translate_tts?tl=en&client=tw-ob&q=test,) succeed.
2019.01.05 16:51:21 5: DLNARenderer: AVTransport: urn:schemas-upnp-org:service:AVTransport:1 found. OK.
2019.01.05 16:51:21 5: DLNARenderer: AVTransport, Play(0,1) succeed.

Keine Reaktion

Edit: beim Tab und Bublle APP gehts

Scpdurl ? Bitte Erklärung.

Ganz ganz blöde Frage: Kann es sein das sich DLNARenderer und DLNAClient nicht vertragen?
Habe den nebenher noch am laufen, kann ich eigentlich auch nicht deaktivieren /löschen, da
der in gefühlten 1000 Funktionen ;) verknüpft ist.
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: Ajuba am 05 Januar 2019, 20:08:32
Hallo KölnSolar, ich habs angepackt.
Aufgrund der Hilfe im anderen Thread habe ich folgende Pakete installiert. Vielleicht kann jemand bestätigen, dass ihr das auch so gemacht habt und nichts fehlt:
SOAP::Lite -> libsoap-lite-perl
LWP::Simple -> libwww-perl
XML::Simple -> libxml-simple-perl
XML::Parser::Lite -> libxml-parser-lite-perl
LWP::UserAgent  -> libwww-perl

Dann habe ich die Version von diesem Post heruntergeladen
Zitat von: KölnSolar am 27 April 2018, 10:17:49
@STV-User: Ihr könnt jetzt die attachte Version nutzen und bei der Definition des TV einfach für den optionalen DLNAClient den device-name des DLNA-Renderer-devices des TV angeben. Genauere Informationen findet Ihr in den STV-Threads.
Grüße Markus

In Windows über Samba auf Fhem drüber kopiert und zur Sicherheit noch
sudo chown -R fhem: /opt/fhem ausgeführt.

Dann Global auf Verbose 5 gestellt und define dlnadevices DLNARenderer ausgeführt
Das Ergebnis war das gleiche, Fhem beschäftigt sich intensiv mit dem DLNARenderer und fällt ins Nirvana.
Irgendwie habe ich den Eindruck, dass mein DBLog intensiv mit DLNARenderer beschäftigt wird owohl ich es ausdrücklich auf include gesetzt habe, also dass es nur Geräte loggen soll, die ein Include Attribut haben.

2019.01.05 19:41:05 4: WEB_192.168.1.7_56046 POST /fhem&fw_id=337&room=CONTROL-%3EFHEM&cmd=define+dlnadevices+DLNARenderer; BUFLEN:0
2019.01.05 19:41:05 5: Cmd: >define dlnadevices DLNARenderer<
2019.01.05 19:41:05 5: Loading ./FHEM/98_DLNARenderer.pm
2019.01.05 19:41:05 3: DLNARenderer: DLNA Renderer v2.0.7Patch
2019.01.05 19:41:05 5: Starting notify loop for global, 1 event(s), first is DEFINED dlnadevices
2019.01.05 19:41:05 5: createNotifyHash


2019.01.05 19:41:08 4: DLNARenderer: deviceAdded, WZ_Links
2019.01.05 19:41:08 5: Starting notify loop for DLNA_b88687269248, 1 event(s), first is presence: offline
2019.01.05 19:41:08 4: DbLog myDbLog -> ################################################################
2019.01.05 19:41:08 4: DbLog myDbLog -> ###              start of new Logcycle                       ###
2019.01.05 19:41:08 4: DbLog myDbLog -> ################################################################
2019.01.05 19:41:08 4: DbLog myDbLog -> number of events received: 1 for device: DLNA_b88687269248
2019.01.05 19:41:08 4: DbLog myDbLog -> check Device: DLNA_b88687269248 , Event: presence: offline
2019.01.05 19:41:08 5: DbLog myDbLog -> parsed Event: DLNA_b88687269248 , Event: presence: offline
2019.01.05 19:41:08 5: End notify loop for DLNA_b88687269248
2019.01.05 19:41:08 5: Starting notify loop for DLNA_b88687269248, 1 event(s), first is offline
2019.01.05 19:41:08 4: DbLog myDbLog -> ################################################################
2019.01.05 19:41:08 4: DbLog myDbLog -> ###              start of new Logcycle                       ###
2019.01.05 19:41:08 4: DbLog myDbLog -> ################################################################
2019.01.05 19:41:08 4: DbLog myDbLog -> number of events received: 1 for device: DLNA_b88687269248
2019.01.05 19:41:08 4: DbLog myDbLog -> check Device: DLNA_b88687269248 , Event: state: offline
2019.01.05 19:41:08 5: DbLog myDbLog -> parsed Event: DLNA_b88687269248 , Event: state: offline
2019.01.05 19:41:08 5: End notify loop for DLNA_b88687269248
2019.01.05 19:41:08 5: Starting notify loop for global, 1 event(s), first is DEFINED DLNA_b88687269248
2019.01.05 19:41:08 5: createNotifyHash
2019.01.05 19:41:08 4: DbLog myDbLog -> ################################################################
2019.01.05 19:41:08 4: DbLog myDbLog -> ###              start of new Logcycle                       ###
2019.01.05 19:41:08 4: DbLog myDbLog -> ################################################################
2019.01.05 19:41:08 4: DbLog myDbLog -> number of events received: 1 for device: global
2019.01.05 19:41:08 4: DbLog myDbLog -> check Device: global , Event: DEFINED DLNA_b88687269248
2019.01.05 19:41:08 5: DbLog myDbLog -> parsed Event: global , Event: DEFINED DLNA_b88687269248
2019.01.05 19:41:08 5: End notify loop for global
2019.01.05 19:41:08 5: Starting notify loop for global, 1 event(s), first is ATTR DLNA_b88687269248 alias WZ_Links
2019.01.05 19:41:08 4: DbLog myDbLog -> ################################################################
2019.01.05 19:41:08 4: DbLog myDbLog -> ###              start of new Logcycle                       ###
2019.01.05 19:41:08 4: DbLog myDbLog -> ################################################################
2019.01.05 19:41:08 4: DbLog myDbLog -> number of events received: 1 for device: global
2019.01.05 19:41:08 4: DbLog myDbLog -> check Device: global , Event: ATTR DLNA_b88687269248 alias WZ_Links
2019.01.05 19:41:08 5: DbLog myDbLog -> parsed Event: global , Event: ATTR DLNA_b88687269248 alias WZ_Links
2019.01.05 19:41:08 5: End notify loop for global
2019.01.05 19:41:08 5: Starting notify loop for global, 1 event(s), first is ATTR DLNA_b88687269248 webCmd volume
2019.01.05 19:41:08 4: DbLog myDbLog -> ################################################################
2019.01.05 19:41:08 4: DbLog myDbLog -> ###              start of new Logcycle                       ###
2019.01.05 19:41:08 4: DbLog myDbLog -> ################################################################
2019.01.05 19:41:08 4: DbLog myDbLog -> number of events received: 1 for device: global
2019.01.05 19:41:08 4: DbLog myDbLog -> check Device: global , Event: ATTR DLNA_b88687269248 webCmd volume
2019.01.05 19:41:08 5: DbLog myDbLog -> parsed Event: global , Event: ATTR DLNA_b88687269248 webCmd volume
2019.01.05 19:41:08 5: End notify loop for global
2019.01.05 19:41:08 3: DLNARenderer: Created device DLNA_b88687269248 for WZ_Links
2019.01.05 19:41:08 5: Starting notify loop for DLNA_b88687269248, 1 event(s), first is friendlyName: WZ_Links
2019.01.05 19:41:08 4: DbLog myDbLog -> ################################################################
2019.01.05 19:41:08 4: DbLog myDbLog -> ###              start of new Logcycle                       ###
2019.01.05 19:41:08 4: DbLog myDbLog -> ################################################################
2019.01.05 19:41:08 4: DbLog myDbLog -> number of events received: 1 for device: DLNA_b88687269248
2019.01.05 19:41:08 4: DbLog myDbLog -> check Device: DLNA_b88687269248 , Event: friendlyName: WZ_Links
2019.01.05 19:41:08 5: DbLog myDbLog -> parsed Event: DLNA_b88687269248 , Event: friendlyName: WZ_Links
2019.01.05 19:41:08 5: End notify loop for DLNA_b88687269248
2019.01.05 19:41:08 5: Starting notify loop for DLNA_b88687269248, 1 event(s), first is manufacturer: Qualcomm AllPlay
2019.01.05 19:41:08 4: DbLog myDbLog -> ################################################################
2019.01.05 19:41:08 4: DbLog myDbLog -> ###              start of new Logcycle                       ###
2019.01.05 19:41:08 4: DbLog myDbLog -> ################################################################
2019.01.05 19:41:08 4: DbLog myDbLog -> number of events received: 1 for device: DLNA_b88687269248
2019.01.05 19:41:08 4: DbLog myDbLog -> check Device: DLNA_b88687269248 , Event: manufacturer: Qualcomm AllPlay
2019.01.05 19:41:08 5: DbLog myDbLog -> parsed Event: DLNA_b88687269248 , Event: manufacturer: Qualcomm AllPlay
2019.01.05 19:41:08 5: End notify loop for DLNA_b88687269248
2019.01.05 19:41:08 5: Starting notify loop for DLNA_b88687269248, 1 event(s), first is modelDescription: AllPlay capable network audio module.
2019.01.05 19:41:08 4: DbLog myDbLog -> ################################################################
2019.01.05 19:41:08 4: DbLog myDbLog -> ###              start of new Logcycle                       ###
2019.01.05 19:41:08 4: DbLog myDbLog -> ################################################################
2019.01.05 19:41:08 4: DbLog myDbLog -> number of events received: 1 for device: DLNA_b88687269248
2019.01.05 19:41:08 4: DbLog myDbLog -> check Device: DLNA_b88687269248 , Event: modelDescription: AllPlay capable network audio module.
2019.01.05 19:41:08 5: DbLog myDbLog -> parsed Event: DLNA_b88687269248 , Event: modelDescription: AllPlay capable network audio module.
2019.01.05 19:41:08 5: End notify loop for DLNA_b88687269248
2019.01.05 19:41:08 5: Starting notify loop for DLNA_b88687269248, 1 event(s), first is modelName: 2015ALL2
2019.01.05 19:41:08 4: DbLog myDbLog -> ################################################################
2019.01.05 19:41:08 4: DbLog myDbLog -> ###              start of new Logcycle                       ###
2019.01.05 19:41:08 4: DbLog myDbLog -> ################################################################
2019.01.05 19:41:08 4: DbLog myDbLog -> number of events received: 1 for device: DLNA_b88687269248
2019.01.05 19:41:08 4: DbLog myDbLog -> check Device: DLNA_b88687269248 , Event: modelName: 2015ALL2
2019.01.05 19:41:08 5: DbLog myDbLog -> parsed Event: DLNA_b88687269248 , Event: modelName: 2015ALL2
2019.01.05 19:41:08 5: End notify loop for DLNA_b88687269248
2019.01.05 19:41:08 5: Starting notify loop for DLNA_b88687269248, 1 event(s), first is modelNumber: CUS227 1.0
2019.01.05 19:41:08 4: DbLog myDbLog -> ################################################################
2019.01.05 19:41:08 4: DbLog myDbLog -> ###              start of new Logcycle                       ###
2019.01.05 19:41:08 4: DbLog myDbLog -> ################################################################
2019.01.05 19:41:08 4: DbLog myDbLog -> number of events received: 1 for device: DLNA_b88687269248
2019.01.05 19:41:08 4: DbLog myDbLog -> check Device: DLNA_b88687269248 , Event: modelNumber: CUS227 1.0
2019.01.05 19:41:08 5: DbLog myDbLog -> parsed Event: DLNA_b88687269248 , Event: modelNumber: CUS227 1.0
2019.01.05 19:41:08 5: End notify loop for DLNA_b88687269248
2019.01.05 19:41:08 5: Starting notify loop for DLNA_b88687269248, 1 event(s), first is modelURL: REPLACE WITH URL for this model
2019.01.05 19:41:08 4: DbLog myDbLog -> ################################################################
2019.01.05 19:41:08 4: DbLog myDbLog -> ###              start of new Logcycle                       ###
2019.01.05 19:41:08 4: DbLog myDbLog -> ################################################################
2019.01.05 19:41:08 4: DbLog myDbLog -> number of events received: 1 for device: DLNA_b88687269248
2019.01.05 19:41:08 4: DbLog myDbLog -> check Device: DLNA_b88687269248 , Event: modelURL: REPLACE WITH URL for this model
2019.01.05 19:41:08 5: DbLog myDbLog -> parsed Event: DLNA_b88687269248 , Event: modelURL: REPLACE WITH URL for this model
2019.01.05 19:41:08 5: End notify loop for DLNA_b88687269248
2019.01.05 19:41:08 5: Starting notify loop for DLNA_b88687269248, 1 event(s), first is manufacturerURL: http://www.qualcomm.com
2019.01.05 19:41:08 4: DbLog myDbLog -> ################################################################
2019.01.05 19:41:08 4: DbLog myDbLog -> ###              start of new Logcycle                       ###
2019.01.05 19:41:08 4: DbLog myDbLog -> ################################################################
2019.01.05 19:41:08 4: DbLog myDbLog -> number of events received: 1 for device: DLNA_b88687269248
2019.01.05 19:41:08 4: DbLog myDbLog -> check Device: DLNA_b88687269248 , Event: manufacturerURL: http://www.qualcomm.com
2019.01.05 19:41:08 5: DbLog myDbLog -> parsed Event: DLNA_b88687269248 , Event: manufacturerURL: http://www.qualcomm.com
2019.01.05 19:41:08 5: End notify loop for DLNA_b88687269248
2019.01.05 19:41:08 5: Starting notify loop for DLNA_b88687269248, 1 event(s), first is manufacturer: Qualcomm AllPlay
2019.01.05 19:41:08 4: DbLog myDbLog -> ################################################################
2019.01.05 19:41:08 4: DbLog myDbLog -> ###              start of new Logcycle                       ###
2019.01.05 19:41:08 4: DbLog myDbLog -> ################################################################
2019.01.05 19:41:08 4: DbLog myDbLog -> number of events received: 1 for device: DLNA_b88687269248
2019.01.05 19:41:08 4: DbLog myDbLog -> check Device: DLNA_b88687269248 , Event: manufacturer: Qualcomm AllPlay
2019.01.05 19:41:08 5: DbLog myDbLog -> parsed Event: DLNA_b88687269248 , Event: manufacturer: Qualcomm AllPlay
2019.01.05 19:41:08 5: End notify loop for DLNA_b88687269248
2019.01.05 19:41:08 5: DLNARenderer: AVTransport: urn:schemas-upnp-org:service:AVTransport:1 found. OK.
2019.01.05 19:41:08 5: DLNARenderer: AVTransport: urn:schemas-upnp-org:service:AVTransport:1 found. OK.
2019.01.05 19:41:08 5: DLNARenderer: RenderingControl: urn:schemas-upnp-org:service:RenderingControl:1 found. OK.
2019.01.05 19:41:08 5: DLNARenderer: RenderingControl: urn:schemas-upnp-org:service:RenderingControl:1 found. OK.
2019.01.05 19:41:08 4: DLNARenderer: SpeakerManagement unknown for DLNA_b88687269248.
2019.01.05 19:41:08 5: Starting notify loop for DLNA_b88687269248, 1 event(s), first is presence: online
2019.01.05 19:41:08 4: DbLog myDbLog -> ################################################################
2019.01.05 19:41:08 4: DbLog myDbLog -> ###              start of new Logcycle                       ###
2019.01.05 19:41:08 4: DbLog myDbLog -> ################################################################
2019.01.05 19:41:08 4: DbLog myDbLog -> number of events received: 1 for device: DLNA_b88687269248
2019.01.05 19:41:08 4: DbLog myDbLog -> check Device: DLNA_b88687269248 , Event: presence: online
2019.01.05 19:41:08 5: DbLog myDbLog -> parsed Event: DLNA_b88687269248 , Event: presence: online
2019.01.05 19:41:08 5: End notify loop for DLNA_b88687269248
2019.01.05 19:41:08 5: Starting notify loop for DLNA_b88687269248, 1 event(s), first is online
2019.01.05 19:41:08 4: DbLog myDbLog -> ################################################################
2019.01.05 19:41:08 4: DbLog myDbLog -> ###              start of new Logcycle                       ###
2019.01.05 19:41:08 4: DbLog myDbLog -> ################################################################
2019.01.05 19:41:08 4: DbLog myDbLog -> number of events received: 1 for device: DLNA_b88687269248
2019.01.05 19:41:08 4: DbLog myDbLog -> check Device: DLNA_b88687269248 , Event: state: online
2019.01.05 19:41:08 5: DbLog myDbLog -> parsed Event: DLNA_b88687269248 , Event: state: online
2019.01.05 19:41:08 5: End notify loop for DLNA_b88687269248
2019.01.05 19:41:08 4: DLNARenderer: SessionManagement unknown for DLNA_b88687269248.
2019.01.05 19:41:08 5: Starting notify loop for DLNA_b88687269248, 1 event(s), first is multiRoomSupport: 0
2019.01.05 19:41:08 4: DbLog myDbLog -> ################################################################
2019.01.05 19:41:08 4: DbLog myDbLog -> ###              start of new Logcycle                       ###
2019.01.05 19:41:08 4: DbLog myDbLog -> ################################################################
2019.01.05 19:41:08 4: DbLog myDbLog -> number of events received: 1 for device: DLNA_b88687269248
2019.01.05 19:41:08 4: DbLog myDbLog -> check Device: DLNA_b88687269248 , Event: multiRoomSupport: 0
2019.01.05 19:41:08 5: DbLog myDbLog -> parsed Event: DLNA_b88687269248 , Event: multiRoomSupport: 0
2019.01.05 19:41:08 5: End notify loop for DLNA_b88687269248



Eventuell ist auch das hier interessant
2019.01.05 19:41:08 4: DLNARenderer: Received event: $VAR1 = 'LastChange';
$VAR2 = '<Event xmlns="urn:schemas-upnp-org:metadata-1-0/AVT/"><InstanceID val="0"><AVTransportURI val=""/><NumberOfTracks val="0"/><AVTransportURIMetaData val=""/><PlaybackStorageMedium val="NONE"/><CurrentMediaCategory val="NO_MEDIA"/><PossiblePlaybackStorageMedia val="NONE,NETWORK"/><RecordStorageMedium val="NOT_IMPLEMENTED"/><PossibleRecordStorageMedia val="NOT_IMPLEMENTED"/><RecordMediumWriteStatus val="NOT_IMPLEMENTED"/><NextAVTransportURI val="NOT_IMPLEMENTED"/><NextAVTransportURIMetaData val="NOT_IMPLEMENTED"/><CurrentPlayMode val="NORMAL"/><CurrentRecordQualityMode val="NOT_IMPLEMENTED"/><PossibleRecordQualityModes val="NOT_IMPLEMENTED"/><TransportState val="NO_MEDIA_PRESENT"/><TransportStatus val="OK"/><TransportPlaySpeed val="1/1"/><CurrentTrack val="0"/><CurrentTrackDuration val="00:00:00"/><CurrentTrackMetaData val=""/><CurrentTrackURI val=""/><CurrentMediaDuration val="00:00:00"/><CurrentTransportActions val=""/></InstanceID></Event>';

2019.01.05 19:41:08 4: DLNARenderer: $VAR1 = {
          'Event' => {
                     'xmlns' => 'urn:schemas-upnp-org:metadata-1-0/AVT/',
                     'InstanceID' => {
                                     'CurrentRecordQualityMode' => {
                                                                   'val' => 'NOT_IMPLEMENTED'
                                                                 },
                                     'CurrentTrackDuration' => {
                                                               'val' => '00:00:00'
                                                             },
                                     'PossibleRecordStorageMedia' => {
                                                                     'val' => 'NOT_IMPLEMENTED'
                                                                   },
                                     'CurrentTrackURI' => {
                                                          'val' => ''
                                                        },
                                     'CurrentTrackMetaData' => {
                                                               'val' => ''
                                                             },
                                     'TransportState' => {
                                                         'val' => 'NO_MEDIA_PRESENT'
                                                       },
                                     'CurrentMediaDuration' => {
                                                               'val' => '00:00:00'
                                                             },
                                     'CurrentTrack' => {
                                                       'val' => '0'
                                                     },
                                     'TransportPlaySpeed' => {
                                                             'val' => '1/1'
                                                           },
                                     'CurrentMediaCategory' => {
                                                               'val' => 'NO_MEDIA'
                                                             },
                                     'CurrentPlayMode' => {
                                                          'val' => 'NORMAL'
                                                        },
                                     'AVTransportURI' => {
                                                         'val' => ''
                                                       },
                                     'PossiblePlaybackStorageMedia' => {
                                                                       'val' => 'NONE,NETWORK'
                                                                     },
                                     'val' => '0',
                                     'CurrentTransportActions' => {
                                                                  'val' => ''
                                                                },
                                     'TransportStatus' => {
                                                          'val' => 'OK'
                                                        },
                                     'PossibleRecordQualityModes' => {
                                                                     'val' => 'NOT_IMPLEMENTED'
                                                                   },
                                     'NextAVTransportURIMetaData' => {
                                                                     'val' => 'NOT_IMPLEMENTED'
                                                                   },
                                     'AVTransportURIMetaData' => {
                                                                 'val' => ''
                                                               },
                                     'PlaybackStorageMedium' => {
                                                                'val' => 'NONE'
                                                              },
                                     'NumberOfTracks' => {
                                                         'val' => '0'
                                                       },
                                     'RecordStorageMedium' => {
                                                              'val' => 'NOT_IMPLEMENTED'
                                                            },
                                     'RecordMediumWriteStatus' => {
                                                                  'val' => 'NOT_IMPLEMENTED'
                                                                },
                                     'NextAVTransportURI' => {
                                                             'val' => 'NOT_IMPLEMENTED'
                                                           }
                                   }
                   }
        };


und dann noch das
2019.01.05 19:41:08 4: DLNARenderer: Received event: $VAR1 = 'LastChange';
$VAR2 = '<Event xmlns="urn:schemas-upnp-org:metadata-1-0/RCS/"><InstanceID val="0"><Mute channel="Master" val="0"/><Volume channel="Master" val="24"/><VolumeDB channel="Master" val="-5836"/><PresetNameList val="FactoryDefaults"/></InstanceID></Event>';

2019.01.05 19:41:08 4: DLNARenderer: $VAR1 = {
          'Event' => {
                     'InstanceID' => {
                                     'val' => '0',
                                     'PresetNameList' => {
                                                         'val' => 'FactoryDefaults'
                                                       },
                                     'VolumeDB' => [
                                                   {
                                                     'channel' => 'Master',
                                                     'val' => '-5836'
                                                   }
                                                 ],
                                     'Mute' => [
                                               {
                                                 'channel' => 'Master',
                                                 'val' => '0'
                                               }
                                             ],
                                     'Volume' => [
                                                 {
                                                   'val' => '24',
                                                   'channel' => 'Master'
                                                 }
                                               ]
                                   },
                     'xmlns' => 'urn:schemas-upnp-org:metadata-1-0/RCS/'
                   }
        };


und dann hab ich noch das gefunden, wobei ich mir da nicht sicher bin ob es überhaupt mit dem DLNARenderer in Zusammenhang steht.

2019.01.05 19:41:21 5: redefine at command at_fp_time as +*00:00:01 { fhem 'set fp_time '.strftime('%H:%M:%S', localtime) }
2019.01.05 19:43:33 1: PERL WARNING: Loading device description failed with error: 500 Can't connect to 192.168.66.1:49152 (Connection timed out) (Location: http://192.168.66.1:49152/description.xml) at ./FHEM/98_DLNARenderer.pm line 260.


Das waren nur ein paar Auszüge, keine Ahnung ob es genügt oder ob ich mehr schicken soll.
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: KölnSolar am 05 Januar 2019, 23:06:36
ZitatVielleicht kann jemand bestätigen, dass ihr das auch so gemacht habt und nichts fehlt:
Mach Dir da mal keinen Kopf. Fehlende Module merkst Du schon.
Zitat
Dann habe ich die Version von diesem Post heruntergeladen
Nimm bitte die von gestern.
ZitatDas Ergebnis war das gleiche, Fhem beschäftigt sich intensiv mit dem DLNARenderer und fällt ins Nirvana.
Kein Logging mehr ? Was steht als letztes im Log ?
ZitatIrgendwie habe ich den Eindruck, dass mein DBLog intensiv mit DLNARenderer beschäftigt wird owohl ich es ausdrücklich auf include gesetzt habe, also dass es nur Geräte loggen soll, die ein Include Attribut haben.
Kann ich nichts zu sagen. Ich nutze kein dblog. Sieht aber OK aus. Ist scheinbar das Logging vom autocreate des Allplay.
Diebeiden nächste sind events vom Allplay. Fernbedienung benutzt, oder ?
Zitat2019.01.05 19:43:33 1: PERL WARNING: Loading device description failed with error: 500 Can't connect to 192.168.66.1:49152 (Connection timed out) (Location: http://192.168.66.1:49152/description.xml) at ./FHEM/98_DLNARenderer.pm line 260.
Da kam keine Antwort. Guck ich mir mal in Ruhe an.
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: Ajuba am 05 Januar 2019, 23:25:47
Ach, die Version von gestern hab ich übersehen - probiere ich morgen aus.
Mit Nirvana hab ich mich wohl zu drastisch ausgedrückt. Fhem werkt schon noch und produziert auch fleißig Logs, es ist aber nicht mehr über das Webinterface ansprechbar.

Alle gelieferten Logs sind nur Auszüge von den Unmengen an produzierten Einträgen.
Soll ich morgen alles per PN schicken damit ich nichts wesentliches übersehe ?

Übrigens, ich habe keine Fernbedienung zu den Panasonic All2 Lautsprechern auf Allplay Basis. Sie werden per App gesteuert und die habe ich nicht benutzt. Das muss was anderes sein. Und diese IP Adresse ist nicht in meinem gewählten Bereich.
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: KölnSolar am 05 Januar 2019, 23:46:53
Zitatalle mit envPrefix ="s" geht aber nur zentral zu setzen und nicht Gerätespezifisch.
Stimmt. vergessen .  :-[
ZitatKeine Reaktion
Bei was ? dem F8090 ? STV läuft ? Berechtigungen OK beim TV ?
Scpdurl beim F8090 http://IP:7676/smp_19_ oder _21_  Einfacher, Befehl bei verbose=5 ausführen.
ZitatDLNARenderer: AVTransport, Play(0,1) succeed.
Das ist dann wohl gelogen.  8) Ich guck mal, aber ich glaub nicht, dass ich da was machen kann. Ging aber doch gestern  :-\ Ich bin verwirrt. Oder es liegt tatsächlich an Deinem Netzwerk ? :-\ Der Browser vom TV funktioniert ? Readings des device ? Update bei FB-Bedienung ?
ZitatGanz ganz blöde Frage: Kann es sein das sich DLNARenderer und DLNAClient nicht vertragen?
Glaub ich eigentlich nicht. Beim event-handling vielleicht. Aber das hätte nur Auswirkungen auf Readings bei FB-Bedienung.
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: KölnSolar am 05 Januar 2019, 23:57:45
ZitatAlle gelieferten Logs sind nur Auszüge von den Unmengen an produzierten Einträgen.
Das bessert sich, wenn Du verbose=5 nur für den Allplay einstellst(sofern Du auf FHem kommst)  ;)
ZitatDas muss was anderes sein. Und diese IP Adresse ist nicht in meinem gewählten Bereich.
Sicher ? Die ist aber scheinbar vom Allplay angegeben worden ? Egal, dasselbe mit der Version von gestern und dann gucken wir weiter...
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: Fhemotto am 06 Januar 2019, 12:41:48
Zitat
Zitat

    Keine Reaktion

Bei was ? dem F8090 ? STV läuft ? Berechtigungen OK beim TV ?
Scpdurl beim F8090 http://IP:7676/smp_19_ oder _21_  Einfacher, Befehl bei verbose=5 ausführen.

Keine Reaktion bezog sich auf den FRITZ!WLAN Repeater N/G siehe hier:
ZitatCode: [Auswählen]
2019.01.05 16:51:21 5: DLNARenderer: AVTransport, SetAVTransportURI(0,http://translate.google.com/translate_tts?tl=en&client=tw-ob&q=test,) succeed.
2019.01.05 16:51:21 5: DLNARenderer: AVTransport: urn:schemas-upnp-org:service:AVTransport:1 found. OK.
2019.01.05 16:51:21 5: DLNARenderer: AVTransport, Play(0,1) succeed.
Keine Reaktion



Der F8090 läuft ( bis auf Lautstärke; die ich momentan auch nicht benutzen würde) : siehe hier
Zitat
Samsung F8090:
Stream von lokaler Adresse ->geht
Stream von internet Adresse ->geht nicht / egal welche Adressen ich verwende (auch ohne ...M3U)  kommt immer ,,falsches Format"
lokales RRS Bild -> geht
Lautstärke -> geht nicht (eventuell nicht unterstützt)

Zitat
Zitat

    Ganz ganz blöde Frage: Kann es sein das sich DLNARenderer und DLNAClient nicht vertragen?

Glaub ich eigentlich nicht. Beim event-handling vielleicht. Aber das hätte nur Auswirkungen auf Readings bei FB-Bedienung.
Interessanter weise bekomme ich diesen Log-Eintrag vom DLNARenderer bei Verbose 5
wenn ich mit dem DLNAClient ein Bild [EDIT) zum F8090  sende.

2019.01.06 12:26:44 4: DLNARenderer: Received event. Details with verbose=5
2019.01.06 12:26:44 5: DLNARenderer: process event$VAR1 = {
          'Event' => {
                     'xmlns' => 'urn:schemas-upnp-org:metadata-1-0/AVT/',
                     'InstanceID' => {
                                     'TransportState' => {
                                                         'val' => 'TRANSITIONING'
                                                       },
                                     'val' => '0'
                                   }
                   }
        };

2019.01.06 12:26:44 4: DLNARenderer: Update reading transportState with TRANSITIONING
2019.01.06 12:26:45 4: DLNARenderer: Received event. Details with verbose=5
2019.01.06 12:26:45 5: DLNARenderer: process event$VAR1 = {
          'Event' => {
                     'xmlns' => 'urn:schemas-upnp-org:metadata-1-0/AVT/',
                     'InstanceID' => {
                                     'AVTransportURI' => {
                                                         'val' => 'http://192.168.155.11:8084/fhem/rss/RSS_text.jpg'
                                                       },
                                     'TransportState' => {
                                                         'val' => 'STOPPED'
                                                       },
                                     'CurrentTrackURI' => {
                                                          'val' => 'http://192.168.155.11:8084/fhem/rss/RSS_text.jpg'
                                                        },
                                     'CurrentTrackMetaData' => {
                                                               'val' => '<DIDL-Lite xmlns="urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:upnp="urn:schemas-upnp-org:metadata-1-0/upnp/" xmlns:dlna="urn:schemas-dlna-org:metadata-1-0/"><item><dc:title>image - RSS_text.jpg</dc:title><upnp:class>object.item.imageItem</upnp:class><res protocolInfo="http-get:*:image/jpeg:" size="71660">http://192.168.155.11:8084/fhem/rss/RSS_text.jpg</res></item></DIDL-Lite>'
                                                             },
                                     'val' => '0',
                                     'AVTransportURIMetaData' => {
                                                                 'val' => '<DIDL-Lite xmlns="urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:upnp="urn:schemas-upnp-org:metadata-1-0/upnp/" xmlns:dlna="urn:schemas-dlna-org:metadata-1-0/"><item><dc:title>image - RSS_text.jpg</dc:title><upnp:class>object.item.imageItem</upnp:class><res protocolInfo="http-get:*:image/jpeg:" size="71660">http://192.168.155.11:8084/fhem/rss/RSS_text.jpg</res></item></DIDL-Lite>'
                                                               }
                                   }
                   }
        };

2019.01.06 12:26:45 4: DLNARenderer: Update reading transportState with STOPPED
2019.01.06 12:26:45 4: DLNARenderer: Update reading currentTrackURI with http://192.168.155.11:8084/fhem/rss/RSS_text.jpg
2019.01.06 12:26:45 4: DLNARenderer: MetaData: $VAR1 = {
          'DIDL-Lite' => {
                         'xmlns' => 'urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/',
                         'item' => {
                                   'upnp:class' => 'object.item.imageItem',
                                   'dc:title' => 'image - RSS_text.jpg',
                                   'res' => {
                                            'content' => 'http://192.168.155.11:8084/fhem/rss/RSS_text.jpg',
                                            'protocolInfo' => 'http-get:*:image/jpeg:',
                                            'size' => '71660'
                                          }
                                 },
                         'xmlns:upnp' => 'urn:schemas-upnp-org:metadata-1-0/upnp/',
                         'xmlns:dlna' => 'urn:schemas-dlna-org:metadata-1-0/',
                         'xmlns:dc' => 'http://purl.org/dc/elements/1.1/'
                       }
        };

2019.01.06 12:26:46 4: DLNARenderer: Received event. Details with verbose=5
2019.01.06 12:26:46 5: DLNARenderer: process event$VAR1 = {
          'Event' => {
                     'xmlns' => 'urn:schemas-upnp-org:metadata-1-0/AVT/',
                     'InstanceID' => {
                                     'TransportState' => {
                                                         'val' => 'TRANSITIONING'
                                                       },
                                     'val' => '0'
                                   }
                   }
        };

2019.01.06 12:26:46 4: DLNARenderer: Update reading transportState with TRANSITIONING
2019.01.06 12:26:46 4: DLNARenderer: Received event. Details with verbose=5
2019.01.06 12:26:46 5: DLNARenderer: process event$VAR1 = {
          'Event' => {
                     'xmlns' => 'urn:schemas-upnp-org:metadata-1-0/AVT/',
                     'InstanceID' => {
                                     'CurrentTransportActions' => {
                                                                  'val' => 'Stop'
                                                                },
                                     'val' => '0'
                                   }
                   }
        };

2019.01.06 12:26:47 4: DLNARenderer: Received event. Details with verbose=5
2019.01.06 12:26:47 5: DLNARenderer: process event$VAR1 = {
          'Event' => {
                     'xmlns' => 'urn:schemas-upnp-org:metadata-1-0/AVT/',
                     'InstanceID' => {
                                     'CurrentTransportActions' => {
                                                                  'val' => 'Stop'
                                                                },
                                     'val' => '0'
                                   }
                   }
        };

2019.01.06 12:26:49 4: DLNARenderer: Received event. Details with verbose=5
2019.01.06 12:26:49 5: DLNARenderer: process event$VAR1 = {
          'Event' => {
                     'xmlns' => 'urn:schemas-upnp-org:metadata-1-0/AVT/',
                     'InstanceID' => {
                                     'TransportState' => {
                                                         'val' => 'PLAYING'
                                                       },
                                     'val' => '0'
                                   }
                   }
        };

2019.01.06 12:26:49 4: DLNARenderer: Update reading transportState with PLAYING
2019.01.06 12:26:49 4: DLNARenderer: Received event. Details with verbose=5
2019.01.06 12:26:49 5: DLNARenderer: process event$VAR1 = {
          'Event' => {
                     'xmlns' => 'urn:schemas-upnp-org:metadata-1-0/AVT/',
                     'InstanceID' => {
                                     'TransportState' => {
                                                         'val' => 'PLAYING'
                                                       },
                                     'val' => '0'
                                   }
                   }
        };

2019.01.06 12:26:49 4: DLNARenderer: Update reading transportState with PLAYING

Wird da vom DLNARenderer nur mitgelesen oder wie kommen die Informationen da rein.
Wie gesagt, ausgeführt habe ich das mit dem alten DLNAClient.
Denke fast, dass es da doch Abhängigkeiten oder Einflüsse gibt.

Das mein FRITZ!WLAN Repeater N/G gar nicht reagiert, ist für mich momentan wichtiger.

[EDIT]
2019.01.06 13:56:36 4: DLNARenderer: try to renew subscriptions for services, device DLNA_9CC7A60FA3AE
2019.01.06 13:56:36 5: DLNARenderer: Carp, Renewal of subscription failed with error: 412 Precondition Failed at ./FHEM/98_DLNARenderer.pm line 1333

2019.01.06 13:56:36 5: DLNARenderer: Carp, Renewal of subscription failed with error: 412 Precondition Failed at ./FHEM/98_DLNARenderer.pm line 1340

Diese Zeilen kommen zyklisch, Die Adresse ist mein  FRITZ!WLAN Repeater N/G
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: KölnSolar am 06 Januar 2019, 15:43:36
ZitatInteressanter weise bekomme ich diesen Log-Eintrag vom DLNARenderer bei Verbose 5
wenn ich mit dem DLNAClient ein Bild [EDIT) zum F8090 sende.
Das ist das event handling von DLNA. Der TV meldet zurück, was gerade bei ihm passiert. Eben auch ohne FHEM, sondern Fb, App...., oder DLNAClient  ;)
ZitatDas mein FRITZ!WLAN Repeater N/G gar nicht reagiert, ist für mich momentan wichtiger.
Dann lass uns vorerst nur bei dem device bleiben. Hilft mir für geringere Verwirrtheit.
ZitatDiese Zeilen kommen zyklisch, Die Adresse ist mein  FRITZ!WLAN Repeater N/G
Das kommt vom event handling. Kein aktiver Handshake !  Meiner läuft. Was mache ich anders ? 
kein aktiver DLNAClient ? :-\ Probier mal ein defmod oder gar löschen und per autocreate neu anlegen lassen. Wie lange dauert es bis die Meldungen erstmalig kommen ?

ZitatKeine Reaktion bezog sich auf den FRITZ!WLAN Repeater N/G
Ok, beim speak. Und lokale URIs, volume, mute ? Das ging mit meiner Version von April ?
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: MichaelT am 06 Januar 2019, 18:28:31
Hallo Markus,

kurzes Feedback zu deinem gepatchten Modul (P2):

Nachdem ich FHEM neu gestartet habe, sieht alles gut aus. Es melden sich meine drei Renderer (alle PEAQ PMN-300).
Nach kurzer Zeit bekomme ich aber von allen Renderen folgende Infos:
2019.01.06 17:57:58.309 4: DLNARenderer: try to renew subscriptions for services, device OG_BAD_Radio
2019.01.06 17:57:58.346 5: DLNARenderer: Carp, Renewal of subscription failed with error: 412 Precondition Failed at ./FHEM/98_DLNARenderer.pm line 1333.
2019.01.06 17:57:58.373 5: DLNARenderer: Carp, Renewal of subscription failed with error: 412 Precondition Failed at ./FHEM/98_DLNARenderer.pm line 1340.
2019.01.06 17:57:58.435 5: DLNARenderer: Carp, Renewal of subscription failed with error: 412 Precondition Failed at ./FHEM/98_DLNARenderer.pm line 1347.
2019.01.06 17:58:02.386 4: DLNARenderer: try to renew subscriptions for services, device DG_BUE_Radio
2019.01.06 17:58:02.545 5: DLNARenderer: Carp, Renewal of subscription failed with error: 412 Precondition Failed at ./FHEM/98_DLNARenderer.pm line 1333.
2019.01.06 17:58:02.578 5: DLNARenderer: Carp, Renewal of subscription failed with error: 412 Precondition Failed at ./FHEM/98_DLNARenderer.pm line 1340.
2019.01.06 17:58:02.610 5: DLNARenderer: Carp, Renewal of subscription failed with error: 412 Precondition Failed at ./FHEM/98_DLNARenderer.pm line 1347.
2019.01.06 17:58:27.417 4: DLNARenderer: try to renew subscriptions for services, device OG_SZ_Radio
2019.01.06 17:58:27.457 5: DLNARenderer: Carp, Renewal of subscription failed with error: 412 Precondition Failed at ./FHEM/98_DLNARenderer.pm line 1333.
2019.01.06 17:58:27.499 5: DLNARenderer: Carp, Renewal of subscription failed with error: 412 Precondition Failed at ./FHEM/98_DLNARenderer.pm line 1340.
2019.01.06 17:58:27.527 5: DLNARenderer: Carp, Renewal of subscription failed with error: 412 Precondition Failed at ./FHEM/98_DLNARenderer.pm line 1347.


Ab diesem Zeitpunkt kommen die Fehler immer und der Status wird nicht mehr aktualisiert. Steuern kann man das Device aber noch.

Bisher war ich auf dem P1 und habe den Effekt nur gehabt, wenn sich ein Device mal kurzzeitig vom Netz abgemeldet hatte.

Gehe wieder auf P1

Danke für deine Arbeit.
Gruß Michael
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: Fhemotto am 06 Januar 2019, 19:10:03
FRITZ!WLAN Repeater N/G

Device gelöscht, nach 1h nicht neu angelegt
Gerät (Fritz Repeater ) Neugestartet, nach 1h nicht neu angelegt
FHEM neu gestartet


xxxx.xx.xx xx:xx:xx 5: ControlPoint: Accepted Search-Response: "CACHE-CONTROL: max-age=1800
Date: Thu, 01 Jan 1970 07:24:56 GMT
EXT:
LOCATION: http://192.168.155.44:7676/smp_16_
SERVER: SHP, UPnP/1.0, Samsung UPnP SDK/1.0
ST: urn:schemas-upnp-org:device:MediaRenderer:1
USN: uuid:0bebc200-00c8-1000-87c7-0c8910b67f18::urn:schemas-upnp-org:device:MediaRenderer:1
Content-Length: 0

"
2019.01.06 18:34:13 4: DLNARenderer: deviceAdded, [TV]Samsung LED55

xxxx.xx.xx xx:xx:xx 5: ControlPoint: Accepted Search-Response: "LOCATION: http://192.168.155.100:49200/MediaRendererDevDesc.xml
SERVER: FRITZ!WLAN Repeater N/G UPnP/1.0 AVM FRITZ!WLAN Repeater N/G 68.04.88
CACHE-CONTROL: max-age=1800
EXT:
ST: urn:schemas-upnp-org:device:MediaRenderer:1
USN: uuid:fa095ecc-e13e-40e7-8e6c-9CC7A60FA3AE::urn:schemas-upnp-org:device:MediaRenderer:1

"
2019.01.06 18:34:17 4: DLNARenderer: deviceAdded, AVM FRITZ!MediaRenderer
2019.01.06 18:34:17 3: DLNARenderer: Created device DLNA_9CC7A60FA3AE for AVM FRITZ!MediaRenderer
xxxx.xx.xx xx:xx:xx 5: ControlPoint: Accepted Search-Response: "Ext:
St: urn:schemas-upnp-org:device:MediaRenderer:1
Cache-control: max-age=1800
Location: http://192.168.155.87:58645/dev/06ffab71-3555-ead7-ffff-ffffcea0b447/desc.xml
Server: Linux/4.4.71 UPnP/1.0 BubbleUPnP/3.1.2
Usn: uuid:06ffab71-3555-ead7-ffff-ffffcea0b447::urn:schemas-upnp-org:device:MediaRenderer:1

"
2019.01.06 18:34:19 4: DLNARenderer: deviceAdded, BubbleUPnP (Orbsmart Soundpad 700)
2019.01.06 18:34:19 2: AttrTemplates: got 35 entries
xxxx.xx.xx xx:xx:xx 5: ControlPoint: Accepted Search-Response: "CACHE-CONTROL: max-age=1801
DATE: Sun, 06 Jan 2019 17:34:16 GMT
EXT:
LOCATION: http://192.168.155.67:8888/upnp_descriptor_0
SERVER: Linux/2.6.33-rc4 UPnP/1.0 MediabolicUPnP/1.8.225
ST: urn:schemas-upnp-org:device:MediaRenderer:1
USN: uuid:82b03b99-3b3b-99b9-9032-99093bb9328b::urn:schemas-upnp-org:device:MediaRenderer:1

"
2019.01.06 18:34:19 4: DLNARenderer: deviceAdded, HT-R693
2019.01.06 18:34:19 1: PERL WARNING: Subscription request failed with error: 412 Invalid Timeout at ./FHEM/98_DLNARenderer.pm line 1411
2019.01.06 18:34:19 1: PERL WARNING: Subscription request failed with error: 412 Invalid Timeout at ./FHEM/98_DLNARenderer.pm line 1415
2019.01.06 18:34:20 3: DLNARenderer: DLNASocket-DLNA_Renderer_Main-35 handleOnce failed, junk '
' after XML element

2019.01.06 18:34:21 3: DLNARenderer: DLNASocket-DLNA_Renderer_Main-35 handleOnce failed, junk '
' after XML element

2019.01.06 18:34:22 3: DLNARenderer: DLNASocket-DLNA_Renderer_Main-35 handleOnce failed, junk '
' after XML element


2019.01.06 18:54:17 4: DLNARenderer: try to renew subscriptions for services, device DLNA_9CC7A60FA3AE
2019.01.06 18:59:00 3: DLNARenderer: DLNASocket-DLNA_Renderer_Main-35 handleOnce failed, junk '
' after XML element

2019.01.06 18:59:05 3: DLNARenderer: DLNASocket-DLNA_Renderer_Main-35 handleOnce failed, junk '
' after XML element

2019.01.06 18:59:05 3: DLNARenderer: DLNASocket-DLNA_Renderer_Main-35 handleOnce failed, junk '
' after XML element

2019.01.06 18:59:07 3: DLNARenderer: DLNASocket-DLNA_Renderer_Main-35 handleOnce failed, junk '
' after XML element

2019.01.06 18:59:17 4: DLNARenderer: try to renew subscriptions for services, device DLNA_9CC7A60FA3AE



Meldung .... DLNARenderer: try to renew subscriptions....   kommt ca. nach 20 min

Gleich noch mal einen Stream gesetzt  ... bringt:

2019.01.06 19:05:04 5: DLNARenderer: AVTransport: urn:schemas-upnp-org:service:AVTransport:1 found. OK.
2019.01.06 19:05:04 5: DLNARenderer: AVTransport, SetAVTransportURI(0,http://stream.sunshine-live.de/live/mp3-192/stream.sunshine-live.de,<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>Electronic</dc:title><upnp:album>sunshine live</upnp:album><res protocolInfo="http-get:*:audio/mpeg:DLNA.ORG_OP=01;DLNA.ORG_FLAGS=01700000000000000000000000000000">http://stream.sunshine-live.de/live/mp3-192/stream.sunshine-live.de</res></item></DIDL-Lite>) succeed.
2019.01.06 19:05:04 5: DLNARenderer: AVTransport: urn:schemas-upnp-org:service:AVTransport:1 found. OK.
2019.01.06 19:05:04 5: DLNARenderer: AVTransport, Play(0,1) succeed.


Aber am Repeater tut sich nichts  >:(
Test mit DLNAClient gleicher Stream und der läuft   :-\

[EDIT] Als Nachtrag  Firmware-Version: 68.04.88 FritzRepeater
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: ChrisseDD am 06 Januar 2019, 19:36:48
Hallo, ich habe das Modul bei mir frisch definiert. Ich finde auch ein Endgerät in der Anzeige. Es handelt sich um ein MediaReceiver401B
Dieser wird auch korrekt erkannt. aber leider reagiert er auf keine Eingabe von seitens FHEM. hier ein Auszug aus der log. Mir ist bewusst, dass der Receiver nicht vollständig DLNA unerstützt. Aber die Youtube-App soll angeblich funktionieren und ich finde ja schließlich auch das Gerät per DLNA. Habt Ihr eine Idee? Ich will nur ein Video abspielen. Mehr funktionen bauche ich gar nicht.


2019.01.06 19:18:05 3: DLNARenderer: AVTransport, SetAVTransportURI(0,https://www.youtube.com/watch?v=CAR4UReDuqs,) failed, Can't call method "fault" on an undefined value at FHEM/lib/UPnP/ControlPoint.pm line 940.

2019.01.06 19:18:05 3: DLNARenderer: AVTransport, Play(0,1) failed, Can't call method "fault" on an undefined value at FHEM/lib/UPnP/ControlPoint.pm line 940.
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: KölnSolar am 06 Januar 2019, 20:15:07
Hallo Michael,
danke für die Rückmeldung. Die Situation kenne ich, nur genau umgekehrt. ??? Früher ging der "handshake"(subscription) zum event handling verloren. Daher hatte ich das etwas umgebaut(Erneuerung 300 Sek. Zyklus;timeout 320 Sek.) Ich denke, dass das für Deine devices kürzer sein muss. Eigentlich geben wir das vor, aber ich habe schwach in Erinnerung, dass manche devices sich einen Teufel drum scheren und einen eigenen Zyklus vorgeben. Ich gucks mir mal näher an...
Du könntest mal zur Verifizierung in dieser Zeile  InternalTimer(gettimeofday() + 300, 'DLNARenderer_renewSubscriptions', $hash, 0); die 300 in 30 ändern und das Verhalten testen.


ZitatLOCATION: http://192.168.155.100:49200/MediaRendererDevDesc.xml
scpdurl  ;D Gib das mal im Browser ein.
Zitat2019.01.06 18:34:21 3: DLNARenderer: DLNASocket-DLNA_Renderer_Main-35 handleOnce failed, junk '
' after XML element
Die hab ich auch. Die kommt von einem der 3 "Steuerdevices"(automatisch angelegt mit room hidden und über room everything sichtbar).
ZitatDLNARenderer: try to renew subscriptions....   
kommt alle 300 Sek.(s.o.) und ist nur eine Kontrollmeldung, wenn die initiale subscription erfolgreich war.
ZitatAber am Repeater tut sich nichts 
ZitatUnd lokale URIs, volume, mute ? Das ging mit meiner Version von April ?

Zitat2019.01.06 19:18:05 3: DLNARenderer: AVTransport, SetAVTransportURI(0,https://www.youtube.com/watch?v=CAR4UReDuqs,) failed, Can't call method "fault" on an undefined value
Na immerhin ne Fehlermeldung.  8) Das ist dann eher gerätespezifisch. Versuch mal vom einfachen zum komplizierten: lokales jpg,mp3,mp4, wenns klappt das gleiche aber extern(WWW) und dann erst so etwas komplexes, was ja im Gerät umgesetzt werden muss.

Grüße Markus
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: Fhemotto am 06 Januar 2019, 20:43:45
Zitat
    LOCATION: http://192.168.155.100:49200/MediaRendererDevDesc.xml
scpdurl  ;D Gib das mal im Browser ein.

<root><specVersion><major>1</major><minor>0</minor></specVersion><device><dlna:X_DLNADOC>DMR-1.50</dlna:X_DLNADOC><deviceType>urn:schemas-upnp-org:device:MediaRenderer:1</deviceType><friendlyName>AVM FRITZ!MediaRenderer</friendlyName><manufacturer>AVM Berlin</manufacturer><manufacturerURL>http://www.avm.de</manufacturerURL><modelDescription>FRITZ!MediaRenderer</modelDescription><modelName>FRITZ!WLAN Repeater N/G</modelName><modelNumber>avm</modelNumber><modelURL>http://fritz.repeater</modelURL><serialNumber>10</serialNumber><UDN>uuid:fa095ecc-e13e-40e7-8e6c-9CC7A60FA3AE</UDN><serviceList><service><serviceType>urn:schemas-upnp-org:service:RenderingControl:1</serviceType><serviceId>urn:upnp-org:serviceId:RenderingControl</serviceId><SCPDURL>/MediaRendererRenderingControl.xml</SCPDURL><controlURL>/MediaRenderer/RenderingControl/Control</controlURL><eventSubURL>/MediaRenderer/RenderingControl/Event</eventSubURL></service><service><serviceType>urn:schemas-upnp-org:service:ConnectionManager:1</serviceType><serviceId>urn:upnp-org:serviceId:ConnectionManager</serviceId><SCPDURL>/MediaRendererConnectionManager.xml</SCPDURL><controlURL>/MediaRenderer/ConnectionManager/Control</controlURL><eventSubURL>/MediaRenderer/ConnectionManager/Event</eventSubURL></service><service><serviceType>urn:schemas-upnp-org:service:AVTransport:1</serviceType><serviceId>urn:upnp-org:serviceId:AVTransport</serviceId><SCPDURL>/MediaRendererAVTransport.xml</SCPDURL><controlURL>/MediaRenderer/AudioVideoTransport/Control</controlURL><eventSubURL>/MediaRenderer/AudioVideoTransport/Event</eventSubURL></service></serviceList><presentationURL>http://fritz.repeater</presentationURL></device></root>


[EDIT] und hier die http://192.168.155.100:49200/MediaRendererRenderingControl.xml
<scpd><specVersion><major>1</major><minor>0</minor></specVersion><serviceStateTable><stateVariable><name>PresetNameList</name><sendEventsAttribute>no</sendEventsAttribute><dataType>string</dataType></stateVariable><stateVariable><name>LastChange</name><sendEventsAttribute>yes</sendEventsAttribute><dataType>string</dataType></stateVariable><stateVariable><name>A_ARG_TYPE_InstanceID</name><sendEventsAttribute>no</sendEventsAttribute><dataType>ui4</dataType></stateVariable><stateVariable><name>A_ARG_TYPE_Channel</name><sendEventsAttribute>no</sendEventsAttribute><dataType>string</dataType></stateVariable><stateVariable><name>A_ARG_TYPE_PresetName</name><sendEventsAttribute>no</sendEventsAttribute><dataType>string</dataType><allowedValueList><allowedValue>FactoryDefaults</allowedValue></allowedValueList></stateVariable></serviceStateTable><actionList><action><name>ListPresets</name><argumentList><argument><name>InstanceID</name><direction>in</direction><relatedStateVariable>A_ARG_TYPE_InstanceID</relatedStateVariable></argument><argument><name>CurrentPresetNameList</name><direction>out</direction><relatedStateVariable>PresetNameList</relatedStateVariable></argument></argumentList></action><action><name>SelectPreset</name><argumentList><argument><name>InstanceID</name><direction>in</direction><relatedStateVariable>A_ARG_TYPE_InstanceID</relatedStateVariable></argument><argument><name>PresetName</name><direction>in</direction><relatedStateVariable>A_ARG_TYPE_PresetName</relatedStateVariable></argument></argumentList></action></actionList></scpd>

http://192.168.155.100:49200/MediaRendererConnectionManager.xml:
<scpd><specVersion><major>1</major><minor>0</minor></specVersion><serviceStateTable><stateVariable><name>SourceProtocolInfo</name><sendEventsAttribute>yes</sendEventsAttribute><dataType>string</dataType><defaultValue/></stateVariable><stateVariable><name>SinkProtocolInfo</name><sendEventsAttribute>yes</sendEventsAttribute><dataType>string</dataType><defaultValue>http-get:*:audio/mp3:*,http-get:*:audio/mpeg:*,http-get:*:audio/mpeg3:*,http-get:*:audio/x-wav:*</defaultValue></stateVariable><stateVariable><name>CurrentConnectionIDs</name><sendEventsAttribute>yes</sendEventsAttribute><dataType>string</dataType><defaultValue>0</defaultValue></stateVariable><stateVariable><name>A_ARG_TYPE_ConnectionStatus</name><sendEventsAttribute>no</sendEventsAttribute><dataType>string</dataType><allowedValueList><allowedValue>Unknown</allowedValue><allowedValue>ContentFormatMismatch</allowedValue><allowedValue>InsufficientBandwidth</allowedValue><allowedValue>UnreliableChannel</allowedValue><allowedValue>OK</allowedValue></allowedValueList></stateVariable><stateVariable><name>A_ARG_TYPE_ConnectionManager</name><sendEventsAttribute>no</sendEventsAttribute><dataType>string</dataType></stateVariable><stateVariable><name>A_ARG_TYPE_Direction</name><sendEventsAttribute>no</sendEventsAttribute><dataType>string</dataType><allowedValueList><allowedValue>Input</allowedValue></allowedValueList></stateVariable><stateVariable><name>A_ARG_TYPE_ProtocolInfo</name><sendEventsAttribute>no</sendEventsAttribute><dataType>string</dataType></stateVariable><stateVariable><name>A_ARG_TYPE_ConnectionID</name><sendEventsAttribute>no</sendEventsAttribute><dataType>i4</dataType></stateVariable><stateVariable><name>A_ARG_TYPE_AVTransportID</name><sendEventsAttribute>no</sendEventsAttribute><dataType>i4</dataType></stateVariable><stateVariable><name>A_ARG_TYPE_RcsID</name><sendEventsAttribute>no</sendEventsAttribute><dataType>i4</dataType></stateVariable></serviceStateTable><actionList><action><name>GetProtocolInfo</name><argumentList><argument><name>Source</name><direction>out</direction><relatedStateVariable>SourceProtocolInfo</relatedStateVariable></argument><argument><name>Sink</name><direction>out</direction><relatedStateVariable>SinkProtocolInfo</relatedStateVariable></argument></argumentList></action><action><Optional/><name>ConnectionComplete</name><argumentList><argument><name>ConnectionID</name><direction>in</direction><relatedStateVariable>A_ARG_TYPE_ConnectionID</relatedStateVariable></argument></argumentList></action><action><name>GetCurrentConnectionIDs</name><argumentList><argument><name>ConnectionIDs</name><direction>out</direction><relatedStateVariable>CurrentConnectionIDs</relatedStateVariable></argument></argumentList></action><action><name>GetCurrentConnectionInfo</name><argumentList><argument><name>ConnectionID</name><direction>in</direction><relatedStateVariable>A_ARG_TYPE_ConnectionID</relatedStateVariable></argument><argument><name>RcsID</name><direction>out</direction><relatedStateVariable>A_ARG_TYPE_RcsID</relatedStateVariable></argument><argument><name>AVTransportID</name><direction>out</direction><relatedStateVariable>A_ARG_TYPE_AVTransportID</relatedStateVariable></argument><argument><name>ProtocolInfo</name><direction>out</direction><relatedStateVariable>A_ARG_TYPE_ProtocolInfo</relatedStateVariable></argument><argument><name>PeerConnectionManager</name><direction>out</direction><relatedStateVariable>A_ARG_TYPE_ConnectionManager</relatedStateVariable></argument><argument><name>PeerConnectionID</name><direction>out</direction><relatedStateVariable>A_ARG_TYPE_ConnectionID</relatedStateVariable></argument><argument><name>Direction</name><direction>out</direction><relatedStateVariable>A_ARG_TYPE_Direction</relatedStateVariable></argument><argument><name>Status</name><direction>out</direction><relatedStateVariable>A_ARG_TYPE_ConnectionStatus</relatedStateVariable></argument></argumentList></action></actionList></scpd>

http://192.168.155.100:49200/MediaRendererAVTransport.xml:
<scpd><specVersion><major>1</major><minor>0</minor></specVersion><serviceStateTable><stateVariable><name>TransportState</name><sendEventsAttribute>no</sendEventsAttribute><dataType>string</dataType><allowedValueList><allowedValue>NO_MEDIA_PRESENT</allowedValue><allowedValue>STOPPED</allowedValue><allowedValue>PLAYING</allowedValue><allowedValue>TRANSITIONING</allowedValue><allowedValue>PAUSED_PLAYBACK</allowedValue></allowedValueList><defaultValue>NO_MEDIA_PRESENT</defaultValue></stateVariable><stateVariable><name>TransportStatus</name><sendEventsAttribute>no</sendEventsAttribute><dataType>string</dataType><allowedValueList><allowedValue>OK</allowedValue><allowedValue>ERROR_OCCURRED</allowedValue></allowedValueList><defaultValue>OK</defaultValue></stateVariable><stateVariable><name>CurrentMediaCategory</name><sendEventsAttribute>no</sendEventsAttribute><dataType>string</dataType><allowedValueList><allowedValue>NO_MEDIA</allowedValue><allowedValue>TRACK_AWARE</allowedValue><allowedValue>TRACK_UNAWARE</allowedValue></allowedValueList><defaultValue>NO_MEDIA</defaultValue></stateVariable><stateVariable><name>PlaybackStorageMedium</name><sendEventsAttribute>no</sendEventsAttribute><dataType>string</dataType><allowedValueList><allowedValue>NONE</allowedValue><allowedValue>NETWORK</allowedValue><allowedValue>USB-MASS</allowedValue></allowedValueList><defaultValue>NONE</defaultValue></stateVariable><stateVariable><name>RecordStorageMedium</name><sendEventsAttribute>no</sendEventsAttribute><dataType>string</dataType><defaultValue>NOT_IMPLEMENTED</defaultValue></stateVariable><stateVariable><name>PossiblePlaybackStorageMedia</name><sendEventsAttribute>no</sendEventsAttribute><dataType>string</dataType><allowedValueList><allowedValue>NONE</allowedValue><allowedValue>NETWORK</allowedValue><allowedValue>USB-MASS</allowedValue></allowedValueList></stateVariable><stateVariable><name>PossibleRecordStorageMedia</name><sendEventsAttribute>no</sendEventsAttribute><dataType>string</dataType><allowedValueList><allowedValue>NOT_IMPLEMENTED</allowedValue></allowedValueList></stateVariable><stateVariable><name>CurrentPlayMode</name><sendEventsAttribute>no</sendEventsAttribute><dataType>string</dataType><allowedValueList><allowedValue>NORMAL</allowedValue><allowedValue>SHUFFLE</allowedValue><allowedValue>REPEAT_ONE</allowedValue><allowedValue>REPEAT_ALL</allowedValue></allowedValueList><defaultValue>NORMAL</defaultValue></stateVariable><stateVariable><name>TransportPlaySpeed</name><sendEventsAttribute>no</sendEventsAttribute><dataType>string</dataType><allowedValueList><allowedValue>1</allowedValue></allowedValueList><defaultValue>1</defaultValue></stateVariable><stateVariable><sendEventsAttribute>no</sendEventsAttribute><name>RecordMediumWriteStatus</name><dataType>string</dataType><defaultValue>NOT_IMPLEMENTED</defaultValue></stateVariable><stateVariable><name>CurrentRecordQualityMode</name><sendEventsAttribute>no</sendEventsAttribute><dataType>string</dataType><defaultValue>NOT_IMPLEMENTED</defaultValue></stateVariable><stateVariable><name>PossibleRecordQualityModes</name><sendEventsAttribute>no</sendEventsAttribute><dataType>string</dataType><allowedValueList><allowedValue>NOT_IMPLEMENTED</allowedValue></allowedValueList></stateVariable><stateVariable><name>NumberOfTracks</name><sendEventsAttribute>no</sendEventsAttribute><dataType>ui4</dataType><allowedValueRange><minimum>0</minimum><maximum>1</maximum></allowedValueRange><defaultValue>0</defaultValue></stateVariable><stateVariable><name>CurrentTrack</name><sendEventsAttribute>no</sendEventsAttribute><dataType>ui4</dataType><allowedValueRange><minimum>0</minimum><maximum>100000</maximum><step>1</step></allowedValueRange><defaultValue>0</defaultValue></stateVariable><stateVariable><name>CurrentTrackDuration</name><sendEventsAttribute>no</sendEventsAttribute><dataType>string</dataType><defaultValue>00:00:00</defaultValue></stateVariable><stateVariable><name>CurrentMediaDuration</name><sendEventsAttribute>no</sendEventsAttribute><dataType>string</dataType><defaultValue>00:00:00</defaultValue></stateVariable><stateVariable><name>CurrentTrackMetaData</name><sendEventsAttribute>no</sendEventsAttribute><dataType>string</dataType></stateVariable><stateVariable><name>CurrentTrackURI</name><sendEventsAttribute>no</sendEventsAttribute><dataType>string</dataType></stateVariable><stateVariable><name>AVTransportURI</name><sendEventsAttribute>no</sendEventsAttribute><dataType>string</dataType></stateVariable><stateVariable><name>AVTransportURIMetaData</name><sendEventsAttribute>no</sendEventsAttribute><dataType>string</dataType></stateVariable><stateVariable><name>NextAVTransportURI</name><sendEventsAttribute>no</sendEventsAttribute><dataType>string</dataType><defaultValue>NOT_IMPLEMENTED</defaultValue></stateVariable><stateVariable><name>NextAVTransportURIMetaData</name><sendEventsAttribute>no</sendEventsAttribute><dataType>string</dataType><defaultValue>NOT_IMPLEMENTED</defaultValue></stateVariable><stateVariable><name>RelativeTimePosition</name><sendEventsAttribute>no</sendEventsAttribute><dataType>string</dataType><defaultValue>00:00:00</defaultValue></stateVariable><stateVariable><name>AbsoluteTimePosition</name><sendEventsAttribute>no</sendEventsAttribute><dataType>string</dataType><defaultValue>NOT_IMPLEMENTED</defaultValue></stateVariable><stateVariable><name>RelativeCounterPosition</name><sendEventsAttribute>no</sendEventsAttribute><dataType>i4</dataType><defaultValue>2147483647</defaultValue></stateVariable><stateVariable><name>AbsoluteCounterPosition</name><sendEventsAttribute>no</sendEventsAttribute><dataType>i4</dataType><defaultValue>2147483647</defaultValue></stateVariable><stateVariable><name>CurrentTransportActions</name><sendEventsAttribute>no</sendEventsAttribute><dataType>string</dataType><defaultValue>Play,Stop,Pause,Seek</defaultValue></stateVariable><stateVariable><name>LastChange</name><sendEventsAttribute>yes</sendEventsAttribute><dataType>string</dataType></stateVariable><stateVariable><name>A_ARG_TYPE_SeekMode</name><sendEventsAttribute>no</sendEventsAttribute><dataType>string</dataType><allowedValueList><allowedValue>TRACK_NR</allowedValue></allowedValueList></stateVariable><stateVariable><name>A_ARG_TYPE_SeekTarget</name><sendEventsAttribute>no</sendEventsAttribute><dataType>string</dataType></stateVariable><stateVariable><name>A_ARG_TYPE_InstanceID</name><sendEventsAttribute>no</sendEventsAttribute><dataType>ui4</dataType></stateVariable></serviceStateTable><actionList><action><name>GetDeviceCapabilities</name><argumentList><argument><name>InstanceID</name><direction>in</direction><relatedStateVariable>A_ARG_TYPE_InstanceID</relatedStateVariable></argument><argument><name>PlayMedia</name><direction>out</direction><relatedStateVariable>PossiblePlaybackStorageMedia</relatedStateVariable></argument><argument><name>RecMedia</name><direction>out</direction><relatedStateVariable>PossibleRecordStorageMedia</relatedStateVariable></argument><argument><name>RecQualityModes</name><direction>out</direction><relatedStateVariable>PossibleRecordQualityModes</relatedStateVariable></argument></argumentList></action><action><name>GetMediaInfo</name><argumentList><argument><name>InstanceID</name><direction>in</direction><relatedStateVariable>A_ARG_TYPE_InstanceID</relatedStateVariable></argument><argument><name>NrTracks</name><direction>out</direction><relatedStateVariable>NumberOfTracks</relatedStateVariable></argument><argument><name>MediaDuration</name><direction>out</direction><relatedStateVariable>CurrentMediaDuration</relatedStateVariable></argument><argument><name>CurrentURI</name><direction>out</direction><relatedStateVariable>AVTransportURI</relatedStateVariable></argument><argument><name>CurrentURIMetaData</name><direction>out</direction><relatedStateVariable>AVTransportURIMetaData</relatedStateVariable></argument><argument><name>NextURI</name><direction>out</direction><relatedStateVariable>NextAVTransportURI</relatedStateVariable></argument><argument><name>NextURIMetaData</name><direction>out</direction><relatedStateVariable>NextAVTransportURIMetaData</relatedStateVariable></argument><argument><name>PlayMedium</name><direction>out</direction><relatedStateVariable>PlaybackStorageMedium</relatedStateVariable></argument><argument><name>RecordMedium</name><direction>out</direction><relatedStateVariable>RecordStorageMedium</relatedStateVariable></argument><argument><name>WriteStatus</name><direction>out</direction><relatedStateVariable>RecordMediumWriteStatus</relatedStateVariable></argument></argumentList></action><action><name>GetPositionInfo</name><argumentList><argument><name>InstanceID</name><direction>in</direction><relatedStateVariable>A_ARG_TYPE_InstanceID</relatedStateVariable></argument><argument><name>Track</name><direction>out</direction><relatedStateVariable>CurrentTrack</relatedStateVariable></argument><argument><name>TrackDuration</name><direction>out</direction><relatedStateVariable>CurrentTrackDuration</relatedStateVariable></argument><argument><name>TrackMetaData</name><direction>out</direction><relatedStateVariable>CurrentTrackMetaData</relatedStateVariable></argument><argument><name>TrackURI</name><direction>out</direction><relatedStateVariable>CurrentTrackURI</relatedStateVariable></argument><argument><name>RelTime</name><direction>out</direction><relatedStateVariable>RelativeTimePosition</relatedStateVariable></argument><argument><name>AbsTime</name><direction>out</direction><relatedStateVariable>AbsoluteTimePosition</relatedStateVariable></argument><argument><name>RelCount</name><direction>out</direction><relatedStateVariable>RelativeCounterPosition</relatedStateVariable></argument><argument><name>AbsCount</name><direction>out</direction><relatedStateVariable>AbsoluteCounterPosition</relatedStateVariable></argument></argumentList></action><action><name>GetTransportInfo</name><argumentList><argument><name>InstanceID</name><direction>in</direction><relatedStateVariable>A_ARG_TYPE_InstanceID</relatedStateVariable></argument><argument><name>CurrentTransportState</name><direction>out</direction><relatedStateVariable>TransportState</relatedStateVariable></argument><argument><name>CurrentTransportStatus</name><direction>out</direction><relatedStateVariable>TransportStatus</relatedStateVariable></argument><argument><name>CurrentSpeed</name><direction>out</direction><relatedStateVariable>TransportPlaySpeed</relatedStateVariable></argument></argumentList></action><action><name>GetTransportSettings</name><argumentList><argument><name>InstanceID</name><direction>in</direction><relatedStateVariable>A_ARG_TYPE_InstanceID</relatedStateVariable></argument><argument><name>PlayMode</name><direction>out</direction><relatedStateVariable>CurrentPlayMode</relatedStateVariable></argument><argument><name>RecQualityMode</name><direction>out</direction><relatedStateVariable>CurrentRecordQualityMode</relatedStateVariable></argument></argumentList></action><action><name>Next</name><argumentList><argument><name>InstanceID</name><direction>in</direction><relatedStateVariable>A_ARG_TYPE_InstanceID</relatedStateVariable></argument></argumentList></action><action><name>Play</name><argumentList><argument><name>InstanceID</name><direction>in</direction><relatedStateVariable>A_ARG_TYPE_InstanceID</relatedStateVariable></argument><argument><name>Speed</name><direction>in</direction><relatedStateVariable>TransportPlaySpeed</relatedStateVariable></argument></argumentList></action><action><name>Pause</name><argumentList><argument><name>InstanceID</name><direction>in</direction><relatedStateVariable>A_ARG_TYPE_InstanceID</relatedStateVariable></argument></argumentList></action><action><name>Previous</name><argumentList><argument><name>InstanceID</name><direction>in</direction><relatedStateVariable>A_ARG_TYPE_InstanceID</relatedStateVariable></argument></argumentList></action><action><name>Seek</name><argumentList><argument><name>InstanceID</name><direction>in</direction><relatedStateVariable>A_ARG_TYPE_InstanceID</relatedStateVariable></argument><argument><name>Unit</name><direction>in</direction><relatedStateVariable>A_ARG_TYPE_SeekMode</relatedStateVariable></argument><argument><name>Target</name><direction>in</direction><relatedStateVariable>A_ARG_TYPE_SeekTarget</relatedStateVariable></argument></argumentList></action><action><name>SetAVTransportURI</name><argumentList><argument><name>InstanceID</name><direction>in</direction><relatedStateVariable>A_ARG_TYPE_InstanceID</relatedStateVariable></argument><argument><name>CurrentURI</name><direction>in</direction><relatedStateVariable>AVTransportURI</relatedStateVariable></argument><argument><name>CurrentURIMetaData</name><direction>in</direction><relatedStateVariable>AVTransportURIMetaData</relatedStateVariable></argument></argumentList></action><action><name>Stop</name><argumentList><argument><name>InstanceID</name><direction>in</direction><relatedStateVariable>A_ARG_TYPE_InstanceID</relatedStateVariable></argument></argumentList></action><action><name>GetMediaInfo_Ext</name><argumentList><argument><name>InstanceID</name><direction>in</direction><relatedStateVariable>A_ARG_TYPE_InstanceID</relatedStateVariable></argument><argument><name>CurrentType</name><direction>out</direction><relatedStateVariable>CurrentMediaCategory</relatedStateVariable></argument><argument><name>NrTracks</name><direction>out</direction><relatedStateVariable>NumberOfTracks</relatedStateVariable></argument><argument><name>MediaDuration</name><direction>out</direction><relatedStateVariable>CurrentMediaDuration</relatedStateVariable></argument><argument><name>CurrentURI</name><direction>out</direction><relatedStateVariable>AVTransportURI</relatedStateVariable></argument><argument><name>CurrentURIMetaData</name><direction>out</direction><relatedStateVariable>AVTransportURIMetaData</relatedStateVariable></argument><argument><name>NextURI</name><direction>out</direction><relatedStateVariable>NextAVTransportURI</relatedStateVariable></argument><argument><name>NextURIMetaData</name><direction>out</direction><relatedStateVariable>NextAVTransportURIMetaData</relatedStateVariable></argument><argument><name>PlayMedium</name><direction>out</direction><relatedStateVariable>PlaybackStorageMedium</relatedStateVariable></argument><argument><name>RecordMedium</name><direction>out</direction><relatedStateVariable>RecordStorageMedium</relatedStateVariable></argument><argument><name>WriteStatus</name><direction>out</direction><relatedStateVariable>RecordMediumWriteStatus</relatedStateVariable></argument></argumentList></action><action><name>SetPlayMode</name><argumentList><argument><name>InstanceID</name><direction>in</direction><relatedStateVariable>A_ARG_TYPE_InstanceID</relatedStateVariable></argument><argument><name>NewPlayMode</name><direction>in</direction><relatedStateVariable>CurrentPlayMode</relatedStateVariable></argument></argumentList></action><action><name>GetCurrentTransportActions</name><argumentList><argument><name>InstanceID</name><direction>in</direction><relatedStateVariable>A_ARG_TYPE_InstanceID</relatedStateVariable></argument><argument><name>Actions</name><direction>out</direction><relatedStateVariable>CurrentTransportActions</relatedStateVariable></argument></argumentList></action></actionList></scpd>

Zitat
Und lokale URIs, volume, mute ? Das ging mit meiner Version von April ?

Stream (auch lokal) ,Play,Pause,Stop gehen nicht
Volume ging noch nie bei dem Gerät, hatte ich auch mit diversen anderen ControlClients (diverse Apps usw.)  getestet.



So, nun aber auch erst mal einen herzlichen Dank für die Mühe/Arbeit bisher. :D

Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: KölnSolar am 06 Januar 2019, 21:24:38
ich sehe, Du hast scpdurl verstanden. ;)
Zitathttp://192.168.155.100:49200/MediaRendererRenderingControl.xml
Dort sind dann die "actions" etc. beschrieben. kein volume oder mute  :'(
Zitat<SCPDURL>/MediaRendererAVTransport.xml</SCPDURL>
Dort die actions zum streamen.
ZitatStream (auch lokal) ,Play,Pause,Stop gehen nicht
ZitatDas ging mit meiner Version von April ?
Ich nutze meinen ja nicht, meine aber damals getestet zu haben, dass es klappt. Aber mit envprefix oder ohne, oder doch nur mit dem DLNAClient ? Eigentlich müsste es klappen(lt. Log). Hast Du es mit einem "simplen"mp3 probiert ? Ich vermute, dass da der Hund begraben liegt:<name>CurrentURIMetaData</name>
<direction>in</direction>
<relatedStateVariable>AVTransportURIMetaData</relatedStateVariable>


Edit: stream mit DLNAClient führt nicht zum readings-update des DLNARenderer devices ? Nach pause/stop DLNAClient ist ein DLNARenderer play nicht erfolgreich ?


Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: Fhemotto am 06 Januar 2019, 21:52:06
Zitat

    Das ging mit meiner Version von April ?

Bin mir da nun auch nicht ganz sicher, hatte da mehr mit dem Samung TV probiert.

Zitat"simplen"mp3
hatte ich z.B.     
http://192.168.155.10:49200/AUDIO/DLNA-1-0/Musik/Wachmaschine_Fertig_Ansage.mp3
probiert.

Aber auch ein STOP/Play wenn was z.B. vom DLNAClient angestossen wurde geht nicht.

Im Log sieht das alles so aus, als würde hier einem Dummy/Fakegerät kommunizieren. ;)

<name>CurrentURIMetaData</name>
<direction>in</direction>
<relatedStateVariable>AVTransportURIMetaData</relatedStateVariable>

Verstehe im Detail zwar nicht die Hintergründe, aber warum geht das dann mit dem DLNAClient?  :(


EDIT:
ZitatEdit: stream mit DLNAClient führt nicht zum readings-update des DLNARenderer devices ?
Nein, auch nicht umgekehrt
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: Fhemotto am 06 Januar 2019, 22:11:37
kleiner Nachtrag

Hatte vor langer Zeit mal mit dem UPNPtester Tool gespielt.
und kann mich nur wenig erinnern dass ich immer irgend eine Tranport ID auswählen musste
und zwar 1 statt 0 oder 2 statt 1
wäre das irgendwie von Bedeutung?
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: KölnSolar am 06 Januar 2019, 22:16:18
ZitatVerstehe im Detail zwar nicht die Hintergründe, aber warum geht das dann mit dem DLNAClient?
Sorry, das kannst Du auch nicht verstehen. Diese Besonderheit hab ich selber noch nicht richtig verstanden. :-[
AVTransportURIMetaData Das ist nicht nur die simple URI, sondern (manchmal ?)noch "Zeugs" drumherum. Das könnte der Unterschied zwischen den beiden Modulen sein. Ich grab den Repeater die Tage mal wieder aus und schließe Ohrstöpsel an....

UPNPtester ist gut  :) So aus dem Stehgreif ist das die channel-Id und in der Regel 0. Kann natürlich sein..., obwohl ich dann erwarten würde, dass es dann eine Fehlermeldung gibt. Ich guck mir das in Ruhe an und bastele mir wieder extensives Logging. In der Zwischenzeit kannst Du ja STV mit DLNARenderer testen  ;)
Edit: Ha, Dein eigenes Beispiel
'AVTransportURIMetaData' => {
                                                                 'val' => '<DIDL-Lite xmlns="urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:upnp="urn:schemas-upnp-org:metadata-1-0/upnp/" xmlns:dlna="urn:schemas-dlna-org:metadata-1-0/"><item><dc:title>image - RSS_text.jpg</dc:title><upnp:class>object.item.imageItem</upnp:class><res protocolInfo="http-get:*:image/jpeg:" size="71660">http://192.168.155.11:8084/fhem/rss/RSS_text.jpg</res></item></DIDL-Lite>'
                                                               }
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: MichaelT am 06 Januar 2019, 22:25:48
Hallo Markus probiere ich morgen.

Die Arbeit ruft wieder!

Grüße
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: KölnSolar am 07 Januar 2019, 11:43:16
Aus dem Zimmer meines Sohnes den Repeater entwendet, bekomme ich folgendes Log bei verbose=5 und set FritzRepeater stream http://192.168.x.y:miniDLNAPort/MediaItems/49.mp3
set FritzRepeater volume 6
2019.01.07 10:29:23 5: DLNARenderer: AVTransport: urn:schemas-upnp-org:service:AVTransport:1 found. OK.
2019.01.07 10:29:23 5: DLNARenderer: AVTransport, SetAVTransportURI(0,http://192.168.x.y:miniDLNAPort/MediaItems/49.mp3,<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://192.168.x.y:miniDLNAPort/MediaItems/49.mp3</dc:title><upnp:album>http://192.168.x.y:miniDLNAPort/MediaItems/49.mp3</upnp:album><res protocolInfo="http-get:*:audio/mpeg:DLNA.ORG_PN=MP3;DLNA.ORG_OP=01;DLNA.ORG_CI=0;DLNA.ORG_FLAGS=01700000000000000000000000000000" size="181393">http://192.168.x.y:miniDLNAPort/MediaItems/49.mp3</res></item></DIDL-Lite>) succeed.
2019.01.07 10:29:23 5: DLNARenderer: AVTransport: urn:schemas-upnp-org:service:AVTransport:1 found. OK.
2019.01.07 10:29:23 5: DLNARenderer: AVTransport, Play(0,1) succeed.
2019.01.07 10:29:24 5: DLNARenderer: AVTransport: urn:schemas-upnp-org:service:AVTransport:1 found. OK.
2019.01.07 10:29:25 5: DLNARenderer: AVTransport, SetAVTransportURI(0,http://192.168.x.y:miniDLNAPort/MediaItems/49.mp3,<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://192.168.x.y:miniDLNAPort/MediaItems/49.mp3</dc:title><upnp:album>http://192.168.x.y:miniDLNAPort/MediaItems/49.mp3</upnp:album><res protocolInfo="http-get:*:audio/mpeg:DLNA.ORG_PN=MP3;DLNA.ORG_OP=01;DLNA.ORG_CI=0;DLNA.ORG_FLAGS=01700000000000000000000000000000" size="181393">http://192.168.x.y:miniDLNAPort/MediaItems/49.mp3</res></item></DIDL-Lite>) succeed.
2019.01.07 10:29:25 5: DLNARenderer: AVTransport: urn:schemas-upnp-org:service:AVTransport:1 found. OK.
2019.01.07 10:29:25 5: DLNARenderer: AVTransport, Play(0,1) succeed.
2019.01.07 10:29:47 5: DLNARenderer: RenderingControl: urn:schemas-upnp-org:service:RenderingControl:1 found. OK.
2019.01.07 10:29:47 4: DLNARenderer: RenderingControl, SetVolume(0,Master,6) does not exist.
2019.01.07 10:29:47 4: DLNARenderer: RenderingControl, SetVolume(0,Master,6) does not exist.
2019.01.07 10:29:47 4: DLNARenderer: RenderingControl, SetVolume(0,Master,6) does not exist.

Das Log sagt die Wahrheit. Streaming hat funktioniert, der volume-Befehl nicht(letzteres war ja klar, wollte es aber nochmal im Log sehen)

Was ist anders bei Dir ? :-\ (Außer dem parallel installierten DLNAClient)
und das
2019.01.07 11:11:23 4: DLNARenderer: try to renew subscriptions for services, device DLNA_BC0543512C9A
2019.01.07 11:11:23 5: DLNARenderer: Carp, Renewal of subscription failed with error: 412 Precondition Failed at ./FHEM/98_DLNARenderer.pm line 1333.

2019.01.07 11:11:23 5: DLNARenderer: Carp, Renewal of subscription failed with error: 412 Precondition Failed at ./FHEM/98_DLNARenderer.pm line 1340.
hab ich dann auch. Ich glaube, dass es eben der FritzRepeater war, der einfach die Vorgabe von 300 Sek. "ignoriert" und einen kürzeren Zyklus "bestimmt"(siehe Kommentar zu Michaels Thematik). Da es scheinbar mehrere device-Typen betrifft, guck ich mal wie ich das flexibler handhaben kann(das device liefert glaub ich bei der subscription die Dauer zurück)
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: Fhemotto am 07 Januar 2019, 13:56:01
ZitatWas ist anders bei Dir ? :-\ (Außer dem parallel installierten DLNAClient)
mit envPrefix ="s" ?

[EDIT]

Deine Daten: DLNARenderer: AVTransport, SetAVTransportURI(0,,<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></dc:title><upnp:album></upnp:album><res protocolInfo="http-get:*:audio/mpeg:DLNA.ORG_PN=MP3;DLNA.ORG_OP=01;DLNA.ORG_CI=0;DLNA.ORG_FLAGS=01700000000000000000000000000000" size="181393"></res></item></DIDL-Lite>) succeed.
Meine Daten: DLNARenderer: AVTransport, SetAVTransportURI(0,,<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></dc:title><upnp:album></upnp:album><res protocolInfo="http-get:*:audio/mpeg:DLNA.ORG_OP=01;                              DLNA.ORG_FLAGS=01700000000000000000000000000000" size="24048"></res></item></DIDL-Lite>) succeed.


Habe mal die Logs gegenüber gestellt und die Stream Adressen usw. entfernt.
Kleiner unterschied am Ende. Von Bedeutung ?


Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: MichaelT am 07 Januar 2019, 19:17:48
Hallo Markus,

die Änderung von 300 auf 30 hat das Problem gelöst. Ich lasse dein Modul jetzt mal bei mir in Betrieb.
Melde mich dann spätestens am WE ob alles noch läuft.

Gruß
Michael
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: Ajuba am 07 Januar 2019, 20:09:39
Hallo KölnSolar
Danke für den Tip mit dem upnptester.
Der Übertäter ist enttarnt. Es war der Medion Accesspoint.
Den Habe ich ausgesteckt und schon war die Erkennung der echten Lautsprecher ohne Probleme erledigt.

Aber wie geht's jetzt weiter???
Kaum stecke ich ihn an ist Fhem wieder blockiert und das Leben ohne WLAN kommt meiner Familie gar nicht gut an  >:(
Kann man DLNARenderer irgenwie davor bewahren weitere Geräte zu suchen?
Vorläufig habe ich die gefundenen Geräte und DLNARenderer in der config auskommentiert und neu gestartet.

Außerdem:
Kann ich an den Lautsprechern die Lautstärke nicht verändern. Hier der LOG

2019.01.07 19:53:25 5: DLNARenderer: RenderingControl: urn:schemas-upnp-org:service:RenderingControl:1 found. OK.
2019.01.07 19:53:25 5: DLNARenderer: RenderingControl, SetVolume(0,Master,5) succeed.
2019.01.07 19:54:31 5: DLNARenderer: RenderingControl: urn:schemas-upnp-org:service:RenderingControl:1 found. OK.
2019.01.07 19:54:32 5: DLNARenderer: RenderingControl, SetVolume(0,Master,3) succeed.
2019.01.07 19:54:43 4: DLNARenderer: try to renew subscriptions for services, device DLNA_b88687269248
2019.01.07 19:54:43 5: DLNARenderer: Carp, Renewal of subscription failed with error: 412 Precondition Failed at ./FHEM/98_DLNARenderer.pm line 1333.

2019.01.07 19:54:44 5: DLNARenderer: Carp, Renewal of subscription failed with error: 412 Precondition Failed at ./FHEM/98_DLNARenderer.pm line 1340.

2019.01.07 19:54:44 4: DLNARenderer: try to renew subscriptions for services, device DLNA_b886872682f0
2019.01.07 19:54:44 5: DLNARenderer: Carp, Renewal of subscription failed with error: 412 Precondition Failed at ./FHEM/98_DLNARenderer.pm line 1333.

2019.01.07 19:54:44 5: DLNARenderer: Carp, Renewal of subscription failed with error: 412 Precondition Failed at ./FHEM/98_DLNARenderer.pm line 1340.

2019.01.07 19:55:18 1: PERL WARNING: Loading device description failed with error: 500 Internal Server Error (Location: http://192.168.1.224/upnp/basic_dev.cgi) at ./FHEM/98_DLNARenderer.pm line 269.
2019.01.07 19:56:24 5: DLNARenderer: RenderingControl: urn:schemas-upnp-org:service:RenderingControl:1 found. OK.
2019.01.07 19:56:24 5: DLNARenderer: RenderingControl, SetVolume(0,Master,4) succeed.
2019.01.07 19:56:36 5: DLNARenderer: RenderingControl: urn:schemas-upnp-org:service:RenderingControl:1 found. OK.
2019.01.07 19:56:36 5: DLNARenderer: RenderingControl, SetVolume(0,Master,3) succeed.
2019.01.07 19:57:00 5: DLNARenderer: RenderingControl: urn:schemas-upnp-org:service:RenderingControl:1 found. OK.
2019.01.07 19:57:00 5: DLNARenderer: RenderingControl, SetMute(0,Master,1) succeed.
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: KölnSolar am 07 Januar 2019, 20:40:19
ZitatDer Übertäter ist enttarnt. Es war der Medion Accesspoint.
Hölle nochmal.  >:( Und was macht der mit einer IP, die nicht in Dein lokales Netzwerk "passt"  :o
ZitatKann man DLNARenderer irgenwie davor bewahren weitere Geräte zu suchen?
Guck doch bitte in die commandref.  ::)

Lautstärke sieht ja gut aus.
Zitat2019.01.07 19:53:25 5: DLNARenderer: RenderingControl, SetVolume(0,Master,5) succeed.
Kann ich Dir im Augenblick nichts weiter zu sagen.

Zitat2019.01.07 19:54:44 5: DLNARenderer: Carp, Renewal of subscription failed with error: 412 Precondition Failed at ./FHEM/98_DLNARenderer.pm line 1333
Das ist mir dringlicher, weil es scheinbar ein allgemeines Problem mit der event subscription gibt.  :'(

Zitatmit envPrefix ="s" ?
natürlich.  ;)
ZitatVon Bedeutung ?
ich vermute.  :-\ Probier mal, wenn Du meinen String(natürlich 3* mit Deinem http-mp3) in das channel01-Attribut packst und dann set... channel 1 aufrufst. Also <DIDL-Lite xmlns="urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/"......</res></item></DIDL-Lite> ins Attribut.

@Michael: Danke für den Test. Da ist aber noch mehr im Argen. Ich arbeite dran...

Grüße Markus
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: Fhemotto am 07 Januar 2019, 21:30:34

2019.01.07 21:06:18 2: DLNARenderer: Incorrect DIDL-Lite format, No value specified for 'ForceArray' option in call to XMLin() at ./FHEM/98_DLNARenderer.pm line 376

2019.01.07 21:06:18 5: DLNARenderer: AVTransport: urn:schemas-upnp-org:service:AVTransport:1 found. OK.
2019.01.07 21:06:18 5: DLNARenderer: AVTransport, SetAVTransportURI(0,<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://192.168.155.10:49200/AUDIO/DLNA-1-0/Musik/Wachmaschine.mp3</dc:title><upnp:album>http://192.168.155.10:49200/AUDIO/DLNA-1-0/Musik/Wachmaschine.mp3</upnp:album><res protocolInfo="http-get:*:audio/mpeg:DLNA.ORG_PN=MP3;DLNA.ORG_OP=01;DLNA.ORG_CI=0;DLNA.ORG_FLAGS=01700000000000000000000000000000" size="181393">http://192.168.155.10:49200/AUDIO/DLNA-1-0/Musik/Wachmaschine.mp3</res></item></DIDL-Lite>,) succeed.
2019.01.07 21:06:18 5: DLNARenderer: AVTransport: urn:schemas-upnp-org:service:AVTransport:1 found. OK.
2019.01.07 21:06:18 5: DLNARenderer: AVTransport, Play(0,1) succeed.

Bringt am Anfang einen Format Fehler, dann ist für ihn aber alles OK, Aber kein Reaktion am Repeater.   ::)
War für mich fast zu erwarten. Da er ja nicht einmal ein simples Stop macht.

Was leider nie im Log erscheint, ist eine Info mit wem er tatsächlich kommuniziert.
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: Ajuba am 07 Januar 2019, 23:19:46
Zitat von: KölnSolar am 07 Januar 2019, 20:40:19
:oGuck doch bitte in die commandref.  ::)
Du meinst wohl
ignoreUDNs
Define list (comma or blank separated) of UDNs which should prevent automatic device creation.
It is important that uuid: is also part of the UDN and must be included.

Ich habe die uuid des Übeltäters mit upnpTest gesucht und folgendermaßen eingetragen
# define dlnadevices DLNARenderer
# attr dlnadevices userattr acceptedUDNs defaultRoom envPrefix ignoreUDNs
# attr dlnadevices ignoreUDNs uuid:28802880-2880-1880-a880-74da383e0a30
# attr dlnadevices room Multimedia
# attr dlnadevices verbose 5

Denkste!  ::) gleiches Dilemma. Beim Neustart mit angestecktem AccessPoint ist Fhem so weggetreten, dass ich nur mehr per reboot wieder rankomme. Natürlich ist dann auch die uuid nicht abgespeichert, die ihn so aus der Bahn wirft.


Zitat von: KölnSolar am 07 Januar 2019, 20:40:19
Lautstärke sieht ja gut aus.
Und auch hier leider NEIN
Ich kann die Lautstärke auf 0 setzen wie ich will, Der DLNA Renderer schreibt ins LOG, dass er glücklich ist aber die Anzeige in Fhem bleibt auf einem Wert wie z.B. 24 und der Lautsprecher dudelt lustig auf Stufe 5 von 50 weiter. >:(
2019.01.07 22:53:31 4: DLNARenderer: Update reading mute with 0
2019.01.07 22:53:31 4: DLNARenderer: Update reading volume with 12
2019.01.07 22:53:41 5: DLNARenderer: RenderingControl: urn:schemas-upnp-org:service:RenderingControl:1 found. OK.
2019.01.07 22:53:41 5: DLNARenderer: RenderingControl, SetVolume(0,Master,0) succeed.
2019.01.07 22:53:43 5: DLNARenderer: RenderingControl: urn:schemas-upnp-org:service:RenderingControl:1 found. OK.
2019.01.07 22:53:43 5: DLNARenderer: RenderingControl, SetVolume(0,Master,0) succeed.
2019.01.07 22:54:23 1: PERL WARNING: Subroutine HandleTimeout redefined at ./FHEM/98_apptime.pm line 46.
2019.01.07 22:54:23 1: PERL WARNING: Subroutine CallFn redefined at ./FHEM/98_apptime.pm line 149.
2019.01.07 22:54:29 5: DLNARenderer: RenderingControl: urn:schemas-upnp-org:service:RenderingControl:1 found. OK.
2019.01.07 22:54:29 5: DLNARenderer: RenderingControl, SetVolume(0,Master,0) succeed.
2019.01.07 22:54:39 5: DLNARenderer: RenderingControl: urn:schemas-upnp-org:service:RenderingControl:1 found. OK.
2019.01.07 22:54:39 5: DLNARenderer: RenderingControl, SetVolume(0,Master,0) succeed.
2019.01.07 22:54:45 5: DLNARenderer: RenderingControl: urn:schemas-upnp-org:service:RenderingControl:1 found. OK.
2019.01.07 22:54:45 5: DLNARenderer: RenderingControl, SetVolume(0,Master,0) succeed.
2019.01.07 22:55:35 1: PERL WARNING: Loading device description failed with error: 500 Internal Server Error (Location: http://192.168.1.224/upnp/basic_dev.cgi) at ./FHEM/98_DLNARenderer.pm line 269.
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: KölnSolar am 08 Januar 2019, 00:51:33
ZitatDenkste!  ::) gleiches Dilemma.
Und die IP ? commandref lesen. Die IP meldet sich doch und führt dann zum blockierenden Verhalten. Also aussperren.

Zitat2019.01.07 21:06:18 5: DLNARenderer: AVTransport, SetAVTransportURI(0,<DIDL-....DIDL-Lite>,) succeed.
Warum ist das in der Reihenfolge ? hinter dem ersten Komma ist bei mir der URI und Metadaten erst hinter dem 2. Komma.  :-\
Ich hab keine Idee mehr, was an Deinem System "krumm" ist. Ist es auf einem aktuellen Stand, da Du ja auch die Probleme mit den "externen" Links hast ?
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: Ajuba am 08 Januar 2019, 07:58:48
Also in der commandRef finde ich beim DLNARenderer nur das Aussperren der uuid:.
Kann man dort auch IP Adressen eingeben oder habe ich was überlesen? Gibt es einen generellen Fhem Befehl um IPs auszusperren? Sorry wenn ich mich blöd anstelle aber das verstehe ich nicht.

Zur Systemaktualität habe ich in der vergangenen Woche folgendes gemacht:
Linux: apt-get update und apt-get upgrade
Fhem: Update all

Die Lautsprecher habe ich schon mal mit OpenHAB am PC gesteuert: Laut, Leiser, Play, Stop

Ich weiß jetzt nicht was du mit Problemen bei externen Links meinst:
Yahoo Wetter wurde generell abgedreht
Falls du das meinst, das war ein alter Link in /etc/apt/sources.list und ist behoben.
W: Failed to fetch https://debian.fhem.de/stable/./Packages  HttpError403
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: KölnSolar am 08 Januar 2019, 09:05:34
ZitatZur Systemaktualität habe ich in der vergangenen Woche folgendes gemacht:
Linux: apt-get update und apt-get upgrade
Fhem: Update all

Die Lautsprecher habe ich schon mal mit OpenHAB am PC gesteuert: Laut, Leiser, Play, Stop

Ich weiß jetzt nicht was du mit Problemen bei externen Links meinst:
Yahoo Wetter wurde generell abgedreht
Falls du das meinst, das war ein alter Link in /etc/apt/sources.list und ist behoben.
W: Failed to fetch https://debian.fhem.de/stable/./Packages  HttpError403
Du warst doch nicht gemeint. Das Zitat vor meiner Antwort/Fragen stammt doch von Fhemotto.

ZitatAlso in der commandRef finde ich beim DLNARenderer nur das Aussperren der uuid:.
Und da hatte ich gedacht ich hätte die commandref etwas verständlicher gemacht. ::)
Zitatmaster device only

defaultRoom
Define default room for automatic device creation.
envPrefix
Use prefix for Controlpoint definition. e.g define "s" for Samsung devices
acceptedUDNs
Define list (comma or blank separated) of UDNs which should be accepted by automatic device creation.
It is important that uuid: is also part of the UDN and must be included.
ignoreUDNs
Define list (comma or blank separated) of UDNs which should be excluded from automatic device creation.
It is important that uuid: is also part of the UDN and must be included.
ignoredIPs
Define list (comma or blank separated) of IPs which should be ignored by Controlpoint.
usedonlyIPs
Define list (comma or blank separated) of IPs which should be used by Controlpoint.
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: frank am 08 Januar 2019, 09:19:35
ZitatUnd da hatte ich gedacht ich hätte die commandref etwas verständlicher gemacht. ::)
entweder nutzt er die falsche moduldatei oder den falschen link zum hilfetext.
mit dem richtigen modul (plus reload/restart) und "device specific help" sollte es eigentlich funktionieren.


meine "original" modulversion von ca mitte dez kennt auch keine attribute für IPs.
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: Ajuba am 08 Januar 2019, 20:47:46
Also genutzt habe ich die Internet Version der Commandref.
https://fhem.de/commandref.html#DLNARenderer (https://fhem.de/commandref.html#DLNARenderer)
und dort stehen nur folgende Attribute
ignoreUDNs
Define list (comma or blank separated) of UDNs which should prevent automatic device creation.
It is important that uuid: is also part of the UDN and must be included.

Und es heißt ja immer: Zuerst gilt die englische Commandref.

In der Device Specific help in der Version v2.0.7Patch_2 von KölnSolar steht schon viel ausführlicher
Attributes

renderer devices only

channel_01...channel_10
Define URI to play with channel command.
e.g. attr channel_01 http://... (save URI to channel_01); set channel 1 (play channel_01)

multiRoomGroups
t.b.d

ttsLanguage
Define language to be used by speak command(speak functionality via Google Translate).
e.g. attr ttsLanguage de


master device only

defaultRoom
Define default room for automatic device creation.

envPrefix
Use prefix for Controlpoint definition. e.g define "s" for Samsung devices

acceptedUDNs
Define list (comma or blank separated) of UDNs which should be accepted by automatic device creation.
It is important that uuid: is also part of the UDN and must be included.

ignoreUDNs
Define list (comma or blank separated) of UDNs which should be excluded from automatic device creation.
It is important that uuid: is also part of the UDN and must be included.

ignoredIPs
Define list (comma or blank separated) of IPs which should be ignored by Controlpoint.

usedonlyIPs
Define list (comma or blank separated) of IPs which should be used by Controlpoint.


Das hat bei meinem Problem mit dem WLAN AccessPoint trotzdem nichts genützt obwohl ich die AccessPoint IP sowie die ominöse aufgerufende IP eingetragen habe.
defmod dlnadevices DLNARenderer
attr dlnadevices userattr acceptedUDNs defaultRoom envPrefix ignoreUDNs
attr dlnadevices ignoreUDNs uuid:28802880-2880-1880-a880-74da383e0a30
attr dlnadevices ignoredIPs 192.168.1.18 192.168.66.1
attr dlnadevices room Multimedia
attr dlnadevices verbose 5

setstate dlnadevices initialized
setstate dlnadevices 2019-01-08 20:09:03 state initialized


Der AccessPoint ist nun in die Kiste gewandert und ich habe vorübergehend meinen alten reaktiviert und das System läuft nun mal wieder stabil.

Aber alles umsonst, da ich ja sowieso nicht mal die Lautstärke ändern kann.  :'( :'( :'(
Falls noch irgendjemand bereit ist, mir zu helfen wäre hier das List eines Lautsprechers
Internals:
   DEF        uuid:13c3d8c0-00b8-101b-8000-b88687269248
   NAME       DLNA_b88687269248
   NR         312
   STATE      online
   TYPE       DLNARenderer
   UDN        uuid:13c3d8c0-00b8-101b-8000-b88687269248
   READINGS:
     2019-01-08 20:09:07   friendlyName    WZ_Links
     2019-01-08 20:09:07   manufacturer    Qualcomm AllPlay
     2019-01-08 20:09:07   manufacturerURL http://www.qualcomm.com
     2019-01-08 20:09:07   modelDescription AllPlay capable network audio module.
     2019-01-08 20:09:07   modelName       2015ALL2
     2019-01-08 20:09:07   modelNumber     CUS227 1.0
     2019-01-08 20:09:07   modelURL        REPLACE WITH URL for this model
     2019-01-08 20:09:07   multiRoomSupport 0
     2019-01-08 20:09:08   multiRoomVolume 24
     2019-01-08 19:50:08   mute            0
     2019-01-08 19:50:08   nextAVTransportURI NOT_IMPLEMENTED
     2019-01-08 20:09:08   nextAlbum       
     2019-01-08 20:09:08   nextAlbumArtURI
     2019-01-08 20:09:08   nextAlbumArtist
     2019-01-08 20:09:08   nextArtist     
     2019-01-08 20:09:08   nextDuration   
     2019-01-08 20:09:08   nextOriginalTrackNumber
     2019-01-08 20:09:08   nextTitle       
     2019-01-08 20:09:07   presence        online
     2019-01-08 20:09:08   state           online
     2019-01-08 19:50:08   transportState  NO_MEDIA_PRESENT
     2019-01-08 19:50:08   transportStatus OK
     2019-01-08 19:50:08   volume          24
   helper:
     caskeid    0
     caskeidClients
Attributes:
   alias      WZ_Links
   room       Multimedia
   userattr   channel_01 channel_02 channel_03 channel_04 channel_05 channel_06 channel_07 channel_08 channel_09 channel_10 multiRoomGroups ttsLanguage
   verbose    5
   webCmd     volume


Log Einträge poste ich vorerst keine, weil ich nicht weiß was davon hilfreich ist.
Ich weiß nicht weiter aber falls doch noch jemand bereit mir zu helfen würde ich mich sehr freuen.
Unter OpenHAB  konnte ich ja auch was abspielen und die Lautstärke regeln.
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: Fhemotto am 08 Januar 2019, 21:00:18
Hallo Markus

ZitatIch hab keine Idee mehr, was an Deinem System "krumm" ist. Ist es auf einem aktuellen Stand, da Du ja auch die Probleme mit den "externen" Links hast ?
FHEM neueste Stand.
Habe nun doch mal probiert meinen DLNAClient raus zu werfen.
Habe alles vom DLNAClient und DLNARenderer (inklusive die 3 DLNA_Renderer_Main-XX im hidden) entfernt.
Reboot.
Pakete neu installiert mit sudo apt-get --reinstall install lib.....
Reboot
DLNARenderer neu angelegt.
Leider wieder ohne Erfolg.

Mir ist nur das hier aufgefallen.
Hatte ich vorher wohl übersehen.
2019.01.08 20:11:16 5: DLNARenderer: AVTransport: urn:schemas-upnp-org:service:AVTransport:1 found. OK.
2019.01.08 20:11:16 5: DLNARenderer: AVTransport: urn:schemas-upnp-org:service:AVTransport:1 found. OK.
2019.01.08 20:11:16 5: DLNARenderer: RenderingControl: urn:schemas-upnp-org:service:RenderingControl:1 found. OK.
2019.01.08 20:11:16 5: DLNARenderer: RenderingControl: urn:schemas-upnp-org:service:RenderingControl:1 found. OK.
2019.01.08 20:11:16 4: DLNARenderer: SpeakerManagement unknown for DLNA_9CC7A60FA3AE.
2019.01.08 20:11:16 4: DLNARenderer: SessionManagement unknown for DLNA_9CC7A60FA3AE.
2019.01.08 20:11:19 3: DLNARenderer: DLNASocket-DLNA_Renderer_Main-36 handleOnce failed, junk '


Nur die Frage bei ,,SessionManagement unknown" kann das doch wohl gar nicht gehen wenn ich das richtig interpretiere?
Kurze Antwort reicht,
habe nun auch keine Ideen mehr außer mal alles im Netzwerk raus zu nehmen ( Problem wie bei User ,,Ajuba" ?) 

[EDIT]
Zitat
[EDIT] Als Nachtrag  Firmware-Version: 68.04.88 FritzRepeater
Wenn du noch Lust und Laune (Zeit) hast, bitte mal vergleichen.

Danke
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: KölnSolar am 08 Januar 2019, 22:11:04
ZitatAlso genutzt habe ich die Internet Version der Commandref.
https://fhem.de/commandref.html#DLNARenderer
Das ist der Fehler. Wenn Du ein nichtoffizielles Modul nutzt, findest Du natürlich auch nichts auf fhem.de, sondern musst sie Dir wie frank geschrieben hat ansehen.
Zitat
Der AccessPoint ist nun in die Kiste gewandert und ich habe vorübergehend meinen alten reaktiviert und das System läuft nun mal wieder stabil.
Prima.  :-* Aber, Du hast ja IgnoredIP benutzt. Ein Versuch wäre acceptedIP wert.
Zitatda ich ja sowieso nicht mal die Lautstärke ändern kann.   
Eigentlich die leichteste Übung... :'( Aber remote wird das nix.  :'( Du könntest Dich per upnptester vortasten. Dort kannst Du ja auch parametrisiert commands absetzen. Ist aber nicht soooo simpel.  :-\
ZitatUnter OpenHAB  konnte ich ja auch was abspielen und die Lautstärke regeln.
Dann könntest Du auch mit Wireshark mitschneiden und analysieren. Ist aber auch eine Herausforderung.
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: KölnSolar am 08 Januar 2019, 22:47:26
ZitatNur die Frage bei ,,SessionManagement unknown" kann das doch wohl gar nicht gehen wenn ich das richtig interpretiere?
kurz ? :-\ ;D Es werden immer diese 3 services abgefragt. Der Fortschritt in meiner Version ist, dass man sieht, welches device welche services bietet. SessionManagement ist unwichtig.  8)
Zitat68.04.88
Hab ich auch.
ZitatProblem wie bei User ,,Ajuba" ?)
Nee, bei ihm hat der AP sich "einnisten" wollen und hat aberwitzige IPs zur Kommunikation angeboten, die nicht erreichbar waren.--> Blocking.

Aber einen Ansatz hab ich noch: upnptester und tiefer in die Materie einsteigen ?
Ok, ein zweiter: ohne envprefix probiert ?
Und dann doch noch ein Dritter: mich nervt das subscription Fehlverhalten. Bis jetzt außer verplemperter Zeit aber noch ohne Erfolg.  :'( Vielleicht bringt das ja was, wenn gelöst. Zumindest dann Rückmeldungen des N/G an FHEM.

Wenn ich nicht identische Hardware hätte, hätte ich schon aufgegeben, aber so. Gibts doch nicht, dass es bei mir läuft und bei Dir nicht. >:( Erst mal F8090 zur Entspannung ?  ;D

Oh, noch ein Vierter: meine damalige Version ? Da hatte ich ja extra für Dich meinen Sohn bestohlen und die Version ging doch bei uns beiden.  :-\ Evtl. ohne die Anpassung der Controlpoint.pm ?
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: KölnSolar am 09 Januar 2019, 18:10:23
Und nun der fünfte Ansatz und ich glaube der ist es. Du hast bisher noch nie beschrieben, wie Du das device nebst Attributen definierst. Ich spekuliere, dass Du es im "laufenden Betrieb" machst, also über das webinterface. Dann funktioniert aber das, zumindest für den Samsung notwendige, Attribut envPrefix "s" NICHT. Wirkt also gar nicht. :o

Daher auch für andere die notwendige Vorgehensweise zur Definition:
define MasterDLNARenderer DLNARenderer
attr MasterDLNARenderer userattr acceptedUDNs defaultRoom envPrefix envNamespace ignoreUDNs
attr MasterDLNARenderer envPrefix s
attr MasterDLNARenderer defaultRoom usersepcificroom
.
.

Nun sind die 3-Systemdevices im room "hidden" angelegt und in der Regel auch die DLNA-devices per autocreate im room des Attributs defaultroom erzeugt.
Jetzt ein save der .cfg.
Dann ein shutdown/restart
Und erst jetzt ist das Attribut wirksam und es kann getestet werden.

Wenn es das wirklich war, erklär ich gerne warum das so ist. ;)
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: MichaelT am 09 Januar 2019, 18:59:45
Hallo Markus,

kurzes Feedback. Mit den 30 Sek. läuft es immer noch. Nur wenn ich eine kurze Netzwerk-Unterbrechung habe
fängt sich das renewal nicht mehr.

2019.01.09 00:00:26.429 4: DLNARenderer: try to renew subscriptions for services, device OG_BAD_Radio
2019.01.09 00:00:26.465 5: DLNARenderer: Carp, Renewal of subscription failed with error: 412 Precondition Failed at ./FHEM/98_DLNARenderer.pm line 1333.

2019.01.09 00:00:26.493 5: DLNARenderer: Carp, Renewal of subscription failed with error: 412 Precondition Failed at ./FHEM/98_DLNARenderer.pm line 1340.

2019.01.09 00:00:26.545 5: DLNARenderer: Carp, Renewal of subscription failed with error: 412 Precondition Failed at ./FHEM/98_DLNARenderer.pm line 1347.


Würde es was bringen, nach einem Netzwerk-Problem - also hiernach
2019.01.08 16:10:04.242 4: DLNARenderer: try to renew subscriptions for services, device OG_BAD_Radio
2019.01.08 16:10:12.198 5: DLNARenderer: Carp, Renewal of subscription failed with error: 500 Can't connect to 192.168.4.30:55390 at ./FHEM/98_DLNARenderer.pm line 1340.

2019.01.08 16:10:22.238 5: DLNARenderer: Carp, Renewal of subscription failed with error: 500 Can't connect to 192.168.4.30:55390 at ./FHEM/98_DLNARenderer.pm line 1333.

2019.01.08 16:10:32.218 5: DLNARenderer: Carp, Renewal of subscription failed with error: 500 Can't connect to 192.168.4.30:55390 at ./FHEM/98_DLNARenderer.pm line 1347.


ein DLNARenderer_removedDevice aufzurufen und zu warten bis es sich von selbst über den Discover wieder meldet.


Gruß Michael


Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: KölnSolar am 09 Januar 2019, 19:34:49
Hallo Michael,
Du hast Dich ja ganz schön in das Modul reingefuchst.
Das ist ein guter Denkanstoß. Ich überleg mir das so oder ähnlich reinzunehmen. Vielleicht aber eher auf den 412 zu reagieren und über einen internaltimer das  subscription neu aufzubauen.
Ich hab es nur leider immer noch nicht geschafft den timeout verwertbar auszulesen. Ich seh jetzt zwar die Information, kann Sie aber nicht aus dem ganzen Datenwust extrahieren.  :'( Da ist Perl-OOP irgendwie ne Nummer zu hoch für mich.  :'(
Grüße Markus
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: Fhemotto am 09 Januar 2019, 21:15:06
ZitatJetzt ein save der .cfg.
Dann ein shutdown/restart
Habe ich in den letzten Tagen bestimmt schon gefühlte 100 mal ausgeführt.
Gerade nach dem Test mit dem löschen von allem, und dann wurden die neuen Geräte angelegt, es erscheint das "?" unter Save.
Also Save, und zur Sicherheit "shutdown/restart".
Habe gerade nochmals sicherheitshalber "Save" ,"shutdown/restart" ausgeführt.

Zitatein Vierter: meine damalige Version ? Da hatte ich ja extra für Dich meinen Sohn bestohlen und die Version ging doch bei uns beiden.  :-\ Evtl. ohne die Anpassung der Controlpoint.pm ?
Mit. 
Kannst du mir deine Controlpoint.pm unter ( /opt/fhem/FHEM/lib/UPnP) mal geben, zum Vergleich ?
Vielleicht ist da doch  der ,,berühmte Haken"/ Bit/Funktion anders, die unbewusst gemacht wurden. ;D
Vielleicht bei mir: ,,Ich sehe den Wald vor lauter Bäumen nicht"  ???
Ich denke nun in alle Richtungen, deshalb hab ich auch mal den Pfad mit angegeben. ;)

Zitatein Dritter: mich nervt das subscription Fehlverhalten. Bis jetzt außer verplemperter Zeit aber noch ohne Erfolg.  :'( Vielleicht bringt das ja was, wenn gelöst. Zumindest dann Rückmeldungen des N/G an FHEM.
ZitatIch guck mir das in Ruhe an und bastele mir wieder extensives Logging.
Eventuell könntest du das wieder einbauen siehe:
https://forum.fhem.de/index.php/topic,39706.msg798029.html#msg798029 (https://forum.fhem.de/index.php/topic,39706.msg798029.html#msg798029)
Hat aber Zeit.
Bin dann leider erst einmal 2 Wochen beruflich unterwegs und kann ab Freitag nichts testen. :(

Danke


[Edit]
2019.01.09 17:12:01 1: PERL WARNING: Loading device description failed with error: 500 Can't connect to 192.168.178.2:49000 (Network is unreachable) (Location: http://192.168.178.2:49000/configd.xml) at ./FHEM/98_DLNARenderer.pm line 269

Werde langsam blöde. >:(
Habe hier einen Eintrag im Log gefunden (und vor 2 Tagen)von einer IP die definitiv nicht in meinem Netzwerk sein kann. Habe nur feste IPs, Neuanmeldung Wlan nicht erlaubt. Mein Bereich 192.168.155.xxx.
Aber das soll dich eigentlich erst mal nicht beschäftigen.
Sorry, Mein Problem

Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: Ajuba am 09 Januar 2019, 22:26:38
Den lästigen Access Point konnte ich endlich ruhig stellen durch Einschränkung auf eine IP
attr dlnadevices usedonlyIPs 192.168.1.204
Als ich im Anschluss noch andere IPs hinzufügte konnte ich aber nicht erreichen, dass diese gefunden und Geräte angelegt wurden. Auch nicht durch Neustart. Kann oder muss man den DLNARenderder neu anstoßen?
Solange ich noch weitere IPs eingetragen hatte, bekam ich beim Versuch eine Lautstärke zu setzen die Meldung, dass DLNARenderer damit beschäftigt sei Geräte zu suchen. Erst als ich die weiteren IPs wieder löschte war das weg.

Bei den Versuchen einen Lautsprecher zu steuern bekomme ich immer die "succeed" Meldungen obwohl sich am Lautsprecher gar nichts tut.
Kurz darauf kamen auch die 2 Fehlermeldungen, die andauern.
2019.01.09 20:14:27 4: DLNARenderer: Update reading mute with 0
2019.01.09 20:14:27 4: DLNARenderer: Update reading volume with 24
2019.01.09 20:14:42 5: DLNARenderer: RenderingControl: urn:schemas-upnp-org:service:RenderingControl:1 found. OK.
2019.01.09 20:14:43 5: DLNARenderer: RenderingControl, SetVolume(0,Master,3) succeed.
2019.01.09 20:17:46 5: DLNARenderer: RenderingControl: urn:schemas-upnp-org:service:RenderingControl:1 found. OK.
2019.01.09 20:17:46 5: DLNARenderer: RenderingControl, SetMute(0,Master,1) succeed.
2019.01.09 20:17:56 5: DLNARenderer: RenderingControl: urn:schemas-upnp-org:service:RenderingControl:1 found. OK.
2019.01.09 20:17:56 5: DLNARenderer: RenderingControl, SetVolume(0,Master,8) succeed.
2019.01.09 20:19:26 4: DLNARenderer: try to renew subscriptions for services, device DLNA_b88687269248
2019.01.09 20:19:26 5: DLNARenderer: Carp, Renewal of subscription failed with error: 412 Precondition Failed at ./FHEM/98_DLNARenderer.pm line 1333.

2019.01.09 20:19:26 5: DLNARenderer: Carp, Renewal of subscription failed with error: 412 Precondition Failed at ./FHEM/98_DLNARenderer.pm line 1340.


Mit Wireshark habe ich mal versucht beim Lautsprecher 192.168.1.204 mitzulauschen aber da kam eigentlich gar nichts an. Auch nicht als ich ihn mit der App bediente.  Wahrscheinlich ich habe falsch gesucht.
Gibt's einen kurzen Tip worauf ich da achten soll?
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: KölnSolar am 10 Januar 2019, 11:38:09
ZitatHabe gerade nochmals sicherheitshalber  "shutdown/restart" ausgeführt
Mist  >:( Ich hätte wetten können...
ZitatKannst du mir deine Controlpoint.pm unter ( /opt/fhem/FHEM/lib/UPnP) mal geben, zum Vergleich ?
Nein. Ich denke, dass ich morgen eine neue Version einstelle. Dann wird das über ein Attribut gesteuert. In der Controlpoint ist das seit heute schon offiziell.
ZitatEventuell könntest du das wieder einbauen siehe:
Das ist noch immer drin.  :( Sicherheitshalber gucke ich morgen aber genau.
ZitatHabe hier einen Eintrag im Log gefunden (und vor 2 Tagen)von einer IP die definitiv nicht in meinem Netzwerk sein kann.
Das ist dann ähnlich Ajubas AP.  :o Komisch, dass das auch noch der Port vom N/G ist  :-\

ZitatAls ich im Anschluss noch andere IPs hinzufügte konnte ich aber nicht erreichen, dass diese gefunden und Geräte angelegt wurden. Auch nicht durch Neustart. Kann oder muss man den DLNARenderder neu anstoßen?
Dann erklär ich mal die allgemeine Funktionsweise in Ergänzung zu o.g.

Das "master device" ist der Controlpoint. Das setzt EINMALIG bei dessen Definition einen Search-Request ab, auf den dann alle Geräte, die online sind, auf dem mitgegebenen Port (System-DLNARenderer-device Nr. 1) antworten können(und das in der Regel auch tun). Danach erfolgt NIE wieder ein "search". Bei dem define des masters werden die "Eigenschaften" für die Dauer der FHEM-Session UNVERÄNDERBAR festgeschrieben.
Warum werden trotzdem neue Geräte erkannt ? Weil auch jedes device bei Ein-,Ausschalten eine Broadcast-message sendet, nach dem Motto: Hallo hier bin ich bzw. ich bin dann mal weg. (Funktioniert natürlich nicht, wenn man, wie ich, hart per Funksteckdose abschaltet  ;)) Diese Nachrichten werden an Port 1900 "verschickt". Das ist dann beim Modul das System-device Nr. 2. Nachteilig dabei ist, dass auch nicht DLNA-UPnP-Geräte solche messages auf Port 1900 schicken, z.B. Access Points...  :'(
Bliebe noch System-device Nr. 3. Hier macht das Modul einen eigenen Port auf, teilt dem device mit, dass es auf diesem Port lauscht, um Mitteilungen über Zustandsveränderungen am device zu erfahren. Das ist dann der subscription-process. Dabei wird auch vereinbart wie lange diese Vereinbarung Gültigkeit hat. Diese muss dann natürlich auch immer wieder erneuert werden, renewal halt. Über diesen Weg bekommen wir dann permanente Informationen für Readings-Aktualisierung, events in FHEM(wenn es denn funktioniert).
Dieser DLNA-Standard ist schon eine feine Sache. Das Problem ist nur, dass die Hersteller den Standard unterschiedlich interpretieren.

Und warum schreibe ich das alles ? Ihr wollt ja nur das Modul nutzen. Es ist schon wichtig zu verstehen, was da passiert, dass, im Gegensatz zu anderen Modulen, eben einerseits NUR beim define Eigenschaften quasi UNABÄNDERLICH festgelegt werden, andererseits Festlegungen getroffen werden, mit denen nicht JEDES device einer Installation klar kommt. Das sind dann zumindest die Attribute envPrefix und ein Attribut, das Ihr noch kennenlernt: envNamespace. Ich brauche bei mir beides, damit DLNA meines Samsung TV funktioniert. Zufällig kommt auch der FritzRepeater damit klar. Andere devices habe(OK, jeder hat wohl Win-Mediaplayer)/brauche ich nicht. Für mich prima. Wer aber für unterschiedliche devices unterschiedliche Ausprägungen der Attribute benötigt, hat keine Chance diese in einem System zu realisieren.  :'( Und wenn Ihr halbwegs das Konzept verstanden habt, wisst Ihr auch, dass es je physischem device genau VIER FHEM-devices gibt, die für die Funktionsweise ineinandergreifen. Folglich kann nun jeder für sein Problem überlegen, WANN es zeitlich auftritt und für welche der 4 devices LOGs mit verbose=5 zur Fremd-Analyse einzustellen sind.

In der nächsten Version kommt wie gesagt ein weiteres Attribut, das dann die manuelle Anpassung der Controlpoint überflüssig macht. Auch habe ich die Namensvergabe der Systemdevices etwas verändert. Die werden dann nicht mehr über den Filedescriptor unterscheidbar, sondern über den verwendeten Port. Dadurch wird dann neben der einmaligen define-Festlegung ein defmod/modify möglich. Aber auch nur vorsichtig einzusetzen, da Filedescriptoren (noch) nicht geschlossen werden, neue Ports geöffnet werden, vorher eröffnete offen bleiben, System-device Nr. 3 nicht gelöscht wird....

Und vielleicht nutzt ja jemand die ausführlichen Erläuterungen, um einen Wiki-Beitrag zu beginnen..... :-\

Markus

Edit:
ZitatAndererseits und außerdem, wenn das nur einmalig geschieht, sind dann nicht alle nachträglich eingegebenen eingrenzenden Attribute eher sinnlos?
Bei diesen Attributen sollte die Abgrenzung funktionieren. Aber eher die ...IP anstatt ...UDN, eher accept... als ignore..., weil das device sonst schon längst angelegt wurde, Attribute aber nur für die Zukunft ihre Wirkung entfalten.
Zu Deinem konkreten Fall: Du weißt ja jetzt, dass ein search nur einmalig ausgeführt wird. Wie schafft man es bei hinzufügen zu acceptedIPs trotzdem ein neues device zu bekommen ?
Bevor wir über meine Art der Motivation zur Mitwirkung diskutieren die Lösung: physisches device ab- u. wieder einschalten.
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: Ajuba am 10 Januar 2019, 13:14:39
ZitatDas "master device" ist der Controlpoint. Das setzt EINMALIG bei dessen Definition einen Search-Request ab, auf den dann alle
ich schreibe noch weiter..

Ohne deine weitere Erklärung abzuwarten...
Sowas hab ich mir schon gedacht.
Dann wundere ich mich warum bei einem über die Kommandozeile eingegebenen "Set Volume Befehl" der DLNARenderer meldet, dass er damit beschäftigt sei Geräte zu suchen. Nebenbei bemerkt, wenn man es innerhalb des Geräts einfach mit der "Set" Taste probiert bekommt man das gar nicht mit.

Andererseits und außerdem, wenn das nur einmalig geschieht, sind dann nicht alle nachträglich eingegebenen eingrenzenden Attribute eher sinnlos?


Zu fremden IPs noch etwas:
Bei meinen gestrigen hilflosen Wireshark-Versuchen habe ich einige IPs gesehen wo ich mir dachte, wo zur Hölle kommen die denn her?
Kann das normal sein, dass Geräte mit IPs sprechen oder es zumindest versuchen die man gar nicht glaubt zu haben?
Vielleicht ist das aber vollkommen falsch verstandener Blödsinn weil ich mich noch nicht auskenne.
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: KölnSolar am 10 Januar 2019, 15:58:57
Und nun die neue Version:
für Samsung TVs(u. FritzRepeater) ist das setzen des neuen Attributs envNamespace auf <undef> notwendig(incl. Klammern).
Noch wichtiger: update von FHEM, damit die seit gestern offiziell geänderte Controlpoint.pm vorhanden ist.
Und am besten nach der Definition des Attributs ein shutdown/restart.

weitere Änderungen:
- Systemdevicenames enden nicht mehr mit dem Filedescriptor, sondern mit dem Port
- für den Fehlerfall des renewals der subscription den internaltimer entfernt; Hinweis des manuellen ab-/abschaltens des devices zur Wiedererkennung
- renewal auf 30 min. erhöht
- Anpassungen des Debug-Loggings
- Neustart des Controlpoints per defmod am master device müsste funktionieren; bleibt aber mit Vorsicht zu genießen

@Michael: das renewal der subscription ist abgesehen vom Intervall kaum verändert, vermutlich taucht bei Dir der alte Fehler auf: Dann die Zeiten des internal timer wieder reduzieren. Eine Automatik bei Netzwerkausfall war auf die schnelle nicht machbar. Ich hab daher erst einmal nur ein Logging eingebaut, damit ich sicher bin an der richtigen Stelle im Modul einzugreifen. Bitte dann neue Logs, wenn der Fehler auftritt.

Grüße Markus
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: Fhemotto am 10 Januar 2019, 22:21:35
Hallo Marus

Nach Update, Parameter setzen, Save, Reboot, unverändert keine Reaktion. >:(

Werde, wie geschrieben, erst in 2 Wochen weiter testen können. :(
Werde dann erst mal nach der unbekannten Ip im Netzwerk weiter suchen.

Anmerkung zum neuen Modul:
Modul-Commandref
Zitat
    envNamespace        Use EnvNamespace for Controlpoint definition. e.g define "" for Samsung devices to work properly
Hier sollte eigentlich ,, Attributs envNamespace auf <undef> notwendig(incl. Klammern)" stehen.

2019.01.01 00:59:25 3: DLNARenderer: handleOnce failed, junk ' ' after XML element

kommt weiterhin zyklisch

Frage. Kann man das Logs irgendwie erweitern das man die tatsächliche IP sieht und nicht nur ,,uuid"?
Denke immer noch das hier was falsches angesprochen wird.

[Edit]
Und Danke für die Beschreibung Post:665, Habe es zu spät bemerkt ,, wegen ,, ... schreibe weiter" ;D
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: KölnSolar am 10 Januar 2019, 22:42:51
ZitatKann man das Log irgendwie erweitern das man die tatsächliche IP sieht und nicht nur ,,uuid"?
It depends. Es kommt auf das konkrete Logging an, da das Modul ja völlig unterschiedlich durchlaufen wird. Bei "Reaktionen" auf eingehende messages wird sofort vom Modul in das Controlpoint gesprungen. Die message selber wird erst dort gelesen, ggfs. wird eine der callback-Funktionen des Moduls aufgerufen. Im Fehlerfall kommt nur die Fehlermessage zurück.

Bei einem set-Befehl kann ich alle bekannten Informationen loggen. Hier bleibt aber das, was in der Controlpoint passiert, eine Black box. succeed heißt leider succeed, weil kein Fehler vom Controlpoint kommt.  :'(

Wir machen das anders. Wenn du wieder einsatzbereit bist, schickst Du mir eine PN und ich beschreibe Dir eine einfache Modifikation, die Dir fürchterlich viele und unformatiert Daten liefert, die Du analysieren kannst.


Edit: Ich hab obige Funktions-Beschreibung etwas anders aufbereitet in meine SamsungDoku (https://forum.fhem.de/index.php/topic,82890.msg885372.html#msg885372) gepackt.
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: Fhemotto am 10 Januar 2019, 22:49:59
Ja, Danke 8)
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: frank am 11 Januar 2019, 15:37:38
Zitat von: KölnSolar am 10 Januar 2019, 15:58:57
Und nun die neue Version:
für Samsung TVs(u. FritzRepeater) ist das setzen des neuen Attributs envNamespace auf <undef> notwendig(incl. Klammern).
Noch wichtiger: update von FHEM, damit die seit gestern offiziell geänderte Controlpoint.pm vorhanden ist.
Und am besten nach der Definition des Attributs ein shutdown/restart.

hi,

ich habe gerade v2.0.7Patch3 vom 98_DLNARenderer.pm und die neue ControlPoint.pm installiert, um mit meinem samsung H5373 zu testen.

allerdings finde ich das attr envNamespace / envPrefix nicht. muss ich das erst im userattr vom master device hinzufügen?

Internals:
   NAME       dlna
   NR         642
   STATE      initialized
   TYPE       DLNARenderer
   UDN        0
   VERSION    v2.0.7Patch_3
   .attraggr:
   .attrminint:
   READINGS:
     2019-01-11 14:39:27   state           initialized
   helper:
     caskeid    0
     caskeidClients
Attributes:
   defaultRoom 09_Media
   room       09_Media
   userattr   acceptedUDNs defaultRoom ignoreUDNs


laut commanddref ist es ja für das master device.
Zitatmaster device only

    defaultRoom
    Define default room for automatic device creation.

    envPrefix
    Use prefix for Controlpoint definition. e.g define "s" for Samsung devices

    envNamespace
    Use EnvNamespace for Controlpoint definition. e.g define "" for Samsung devices to work properly

    acceptedUDNs
    Define list (comma or blank separated) of UDNs which should be accepted by automatic device creation.
    It is important that uuid: is also part of the UDN and must be included.

    ignoreUDNs
    Define list (comma or blank separated) of UDNs which should be excluded from automatic device creation.
    It is important that uuid: is also part of the UDN and must be included.

    ignoredIPs
    Define list (comma or blank separated) of IPs which should be ignored by Controlpoint.

    usedonlyIPs
    Define list (comma or blank separated) of IPs which should be used by Controlpoint.


wenn es aber im master device angesiedelt ist und mit envNamespace=<undev> "nur" für samsungTV nötig ist, benötige ich dann mehrere master devices für unterschiedlich zu behandelnde gerätegruppen?

bisher funktioniert der DLNARenderer, wie vorher. also im prinzip als "listener", da ich nichts aktiv setzen kann.
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: frank am 11 Januar 2019, 16:26:28
ok, nach dem löschen aller devices und neu definieren des master devices sind die attribute vorhanden.
nach dem setzen der attribute und fhem restart wird jetzt allerdings meine squeezebox boom nicht mehr gefunden.

mehrere master definieren macht ja irgendwie auch kein sinn, oder?

dafür kann ich jetzt den tv auch steuern. prima und danke.  8)
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: KölnSolar am 11 Januar 2019, 18:16:53
Hi frank,
Zitatwenn es aber im master device angesiedelt ist und mit envNamespace=<undev> "nur" für samsungTV nötig ist, benötige ich dann mehrere master devices für unterschiedlich zu behandelnde gerätegruppen
Du hast es einerseits richtig erkannt, andererseits geht nur ein master device, da mehrere gemeinsam auf port 1900 lauschen müssten. Da Du ja etwas bewanderter als andere bist, könntest Du es aber trotzdem mit mehreren mastern probieren. Wenn es nicht zum absoluten Chaos(gar Absturz, Dauerblockade) kommt, müsste es bis auf Neuerkennung im laufenden Betrieb funktionieren. Ich würd auf jeden Fall (edit:versuchen) mit usedonlyIPs arbeiten. 
In meiner SamsungDoku (https://forum.fhem.de/index.php/topic,82890.msg885372.html#msg885372) hab ich die Hintergründe des Moduls etwas erläutert.

Viel Erfolg und gerne Rückmeldung
Markus
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: MichaelT am 11 Januar 2019, 20:31:50
Zitat von: KölnSolar am 10 Januar 2019, 15:58:57
Und nun die neue Version:

...

@Michael: das renewal der subscription ist abgesehen vom Intervall kaum verändert, vermutlich taucht bei Dir der alte Fehler auf: Dann die Zeiten des internal timer wieder reduzieren. Eine Automatik bei Netzwerkausfall war auf die schnelle nicht machbar. Ich hab daher erst einmal nur ein Logging eingebaut, damit ich sicher bin an der richtigen Stelle im Modul einzugreifen. Bitte dann neue Logs, wenn der Fehler auftritt.

Grüße Markus
Hallo Markus,

habe mal das Modul in Betrieb genommen. Wie du befürchtet hast, musste ich wieder auf 30 Sek. gehen. Dann läuft es.
Das Logging ist wie erwartet. renewal ... usw.

Ach ja, danke für deine super Erklärung weiter oben, war für mich sehr hilfreich.
Evtl. frickel ich auch mal ein bisschen am Modul rum. Aber perl ist für c++ lastige Menschen eher ungewöhnlich.

Danke und schönes WE.
Gruß Michael

Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: KölnSolar am 12 Januar 2019, 09:32:23
ich schick Dir mal ne PN....
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: nuart am 13 Januar 2019, 19:44:19
Hallo,
ich habe das Modul DLNARenderer installiert um Raumfeld Connectoren zu steuern. Das klappt soweit auch, allerdings habe ich folgendes festgestellt:
Es werden für jeden Connector zwei Renderer angelegt. Einer für das Gerät und einer für die jeweils laufende  Zone. Über den Renderer für das Gerät kann ich den Connector mit on/off ein und ausschalten (Standby), Lautstärke kann ich ebenfalls regeln. Das deckt auch meine ursprünglichen Anforderungen. Aber mit dem Essen kommt der Appetit und ich wollte dann auch automatisch streams starten, Das funktoniert auch noch. Allerdings wird der Renderer für den Raum/die Zone bei jeder neuen Zuordnung in der Raumfeld App neu angelegt. Der alte ist dann offline, der neue bekommt einen neuen Device-Namen und eine neue UDN. Und damit kann ich keine automatisierten Streams starten, da ja die Geräte-ID's ständig wechseln. Vielleicht hat das Problem schon jemand lösen können, für Hinweise wäre ich sehr dankbar.
Beste Grüße
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: pejonp am 14 Januar 2019, 22:02:46
Hallo KölnSolar,

ich habe mir mal das Modul installiert. Es werden mir auch die Sony-Geräte angelegt. Steuern kann ich sie aber nicht. Vielleicht habe ich auch das System nicht verstanden.
Als Anlage mal XML-Dateien.

Master ist so definiert:
defmod dlnadevices DLNARenderer
attr dlnadevices userattr acceptedUDNs defaultRoom envPrefix envNamespace ignoreUDNs
attr dlnadevices defaultRoom DLNA
attr dlnadevices envPrefix s
attr dlnadevices room DLNA


list vom Masterdevice

Internals:
   NAME       dlnadevices
   NR         613
   STATE      initialized
   TYPE       DLNARenderer
   UDN        0
   VERSION    v2.0.7Patch_3
   READINGS:
     2019-01-14 21:33:10   state           initialized
   helper:
     caskeid    0
     caskeidClients
Attributes:
   defaultRoom DLNA
   envPrefix  s
   room       DLNA
   userattr   acceptedUDNs defaultRoom envPrefix envNamespace ignoreUDNs
   verbose    5


list von einem Client

Internals:
   CFGFN     
   DEF        uuid:00000000-0000-1010-8000-30F9ED867CE6
   NAME       DLNA_30F9ED867CE6
   NR         628
   STATE      online
   TYPE       DLNARenderer
   UDN        uuid:00000000-0000-1010-8000-30F9ED867CE6
   READINGS:
     2019-01-14 21:33:35   friendlyName    BRAVIA KDL-32EX725
     2019-01-14 21:33:35   manufacturer    Sony Corporation
     2019-01-14 21:33:35   manufacturerURL http://www.sony.net/
     2019-01-14 21:33:35   modelName       KDL-32EX725
     2019-01-14 21:33:35   multiRoomSupport 0
     2019-01-14 21:33:35   presence        online
     2019-01-14 21:33:35   state           online
   helper:
     avTransportSubscription
     caskeid    0
     caskeidClients
     renderingControlSubscription
Attributes:
   alias      BRAVIA KDL-32EX725
   room       DLNA
   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


Perlwarnung:


2019.01.14 21:33:18.628 1: PERL WARNING: Subscription request failed with error: 400 Bad Request at ./FHEM/98_DLNARenderer.pm line 1450.
2019.01.14 21:33:18.629 4: DLNARenderer:dlnadevices Initial Subscription for DLNA_d8d43c733751 with answer
2019.01.14 21:33:18.667 1: PERL WARNING: Subscription request failed with error: 400 Bad Request at ./FHEM/98_DLNARenderer.pm line 1456.


Log Verbose 5

xxxx.xx.xx xx:xx:xx 5: ControlPoint: Accepted Search-Response: "CACHE-CONTROL: max-age=1800
EXT:
LOCATION: http://192.168.2.167:8080/dd.xml
SERVER: POSIX, UPnP/1.0, Intel MicroStack/1.0.2777
ST: urn:schemas-upnp-org:device:MediaRenderer:1
USN: uuid:3DCC7100-F76C-11DD-87AF-002261645354::urn:schemas-upnp-org:device:MediaRenderer:1

"
2019.01.14 21:33:16.452 4: DLNARenderer_discoverCallback: device dlnadevices, deviceAdded, Radio
2019.01.14 21:33:16.552 3: DLNARenderer: Created device DLNA_002261645354 for Radio
2019.01.14 21:33:16.760 4: DLNARenderer:dlnadevices Initial Subscription for DLNA_002261645354 with answer
xxxx.xx.xx xx:xx:xx 5: ControlPoint: Accepted Search-Response: "CACHE-CONTROL: max-age=1800
EXT:
LOCATION: http://192.168.2.152:52323/dmr.xml
SERVER: Linux/2.6 UPnP/1.0 KDL-42W655A/1.7
ST: urn:schemas-upnp-org:device:MediaRenderer:1
USN: uuid:00000000-0000-1010-8000-d8d43c733751::urn:schemas-upnp-org:device:MediaRenderer:1
X-AV-Physical-Unit-Info: pa="BRAVIA KDL-42W655A";
X-AV-Server-Info: av=5.0; cn="Sony Corporation"; mn="BRAVIA KDL-42W655A"; mv="1.7";

"
2019.01.14 21:33:18.457 4: DLNARenderer_discoverCallback: device dlnadevices, deviceAdded, BRAVIA KDL-42W655A
2019.01.14 21:33:18.556 3: DLNARenderer: Created device DLNA_d8d43c733751 for BRAVIA KDL-42W655A
2019.01.14 21:33:18.628 1: PERL WARNING: Subscription request failed with error: 400 Bad Request at ./FHEM/98_DLNARenderer.pm line 1450.
2019.01.14 21:33:18.629 4: DLNARenderer:dlnadevices Initial Subscription for DLNA_d8d43c733751 with answer
2019.01.14 21:33:18.667 1: PERL WARNING: Subscription request failed with error: 400 Bad Request at ./FHEM/98_DLNARenderer.pm line 1456.
..
xxxx.xx.xx xx:xx:xx 5: ControlPoint: Accepted Search-Response: "CACHE-CONTROL: max-age=1800
EXT:
LOCATION: http://192.168.2.132:52323/dmr.xml
SERVER: Linux/2.6 UPnP/1.0 KDL-32EX725/1.7
ST: urn:schemas-upnp-org:device:MediaRenderer:1
USN: uuid:00000000-0000-1010-8000-30F9ED867CE6::urn:schemas-upnp-org:device:MediaRenderer:1
X-AV-Physical-Unit-Info: pa="BRAVIA KDL-32EX725";
X-AV-Server-Info: av=5.0; cn="Sony Corporation"; mn="BRAVIA KDL-32EX725"; mv="1.7";

"
2019.01.14 21:33:35.109 4: DLNARenderer_discoverCallback: device dlnadevices, deviceAdded, BRAVIA KDL-32EX725
2019.01.14 21:33:35.240 3: DLNARenderer: Created device DLNA_30F9ED867CE6 for BRAVIA KDL-32EX725
2019.01.14 21:33:35.280 4: DLNARenderer:dlnadevices Initial Subscription for DLNA_30F9ED867CE6 with answer
xxxx.xx.xx xx:xx:xx 5: ControlPoint: Accepted Search-Response: "CACHE-CONTROL: max-age=1800
EXT:
LOCATION: http://192.168.2.126:52323/dmr.xml
SERVER: Linux/2.6 UPnP/1.0 KDL-37EX725/1.7
ST: urn:schemas-upnp-org:device:MediaRenderer:1
USN: uuid:00000000-0000-1010-8000-F0BF977F668B::urn:schemas-upnp-org:device:MediaRenderer:1
X-AV-Physical-Unit-Info: pa="BRAVIA KDL-37EX725";
X-AV-Server-Info: av=5.0; cn="Sony Corporation"; mn="BRAVIA KDL-37EX725"; mv="1.7";

"
2019.01.14 21:33:36.956 4: DLNARenderer_discoverCallback: device dlnadevices, deviceAdded, BRAVIA KDL-37EX725
2019.01.14 21:33:37.051 3: DLNARenderer: Created device DLNA_F0BF977F668B for BRAVIA KDL-37EX725
2019.01.14 21:33:37.103 4: DLNARenderer:dlnadevices Initial Subscription for DLNA_F0BF977F668B with answer


pejonp
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: KölnSolar am 15 Januar 2019, 11:48:34
Ich sehe 3 TVs und ein "Radio". Die Subscription für den 42" geht mit einem 400er Return-Code in die Hose, beim 32" u. 37" scheint es zu klappen. Bei diesen beiden würde ich events erwarten, sobald Du z.B. die Lautstärke per Fb änderst.

Letztendlich kannst Du nur selber feststellen, ob und welche Unterschiede die beiden neuen env...-Attribute bringen(Nach jeder Änderung shutdown/restart).

Wie das DLNARenderer-Modul funktioniert habe ich ja nun schon mehrfach ausführlich beschrieben. Aus Anwendersicht ergeben sich folgende Fragestellungen:
- Wird ein device automatisch nach dem Neustart angelegt(nur dann, wenn auch online) ?
- Wird ein device automatisch ohne Neustart angelegt, nachdem es eingeschaltet wird ?
- Wird bei einem device automatisch der Status(online/offline) geändert ?
- Werden externe(nicht FHEM) Änderungen von z.B. Lautstärke in FHEM erkannt ?
- Lassen sich z.B. Lautstärke aus FHEM heraus ändern ?
- Lässt sich aus FHEM heraus streamen ?

Die xml's helfen wenig. Aus dem sony.xml sehe ich, dass die Services AVTransport(streaming) und RenderingControl(z.B.Lautstärke) unterstützt werden. Den jeweiligen scpdurls könntest Du die unterstützten actions entnehmen. controlURL ist der Pfad, an den der DLNARenderer die Befehle absetzt, eventSuburl für das subscription handling. Warum dann evtl. etwas nicht funktioniert, lässt sich nur lokal ermitteln.
IRCC, S2MTV, CERS scheint irgendetwas Sony-spezifisches zu sein, was mit DLNA nichts zu tun hat.

Grüße Markus
Edit: Vielleicht noch etwas allgemeiner: Das Modul ist zwar sehr komplex, aber im user-handling relativ simpel. Falsch machen kann man eigentlich nichts(außer shutdown/restart zu vergessen). Funktioniert etwas nicht, so liegt das in der Regel am device selber, weil es den Standard DLNA etwas anders interpretiert.
Da lässt sich dann auch remote wenig ändern oder helfen. Es ist Eigeninitiative gefragt. So wie ich das für Samsung-devices gemacht habe: device über Windows-Mediaplayer und/oder upnptester testen und verstehen. Den Unterschied in der Interpretation des Standards herausarbeiten. Dann lässt sich ggfs. auch das Modul oder das dahinterliegende Controlpoint anpassen.
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: nuart am 03 Februar 2019, 21:34:00
Hallo,
mittlerweile hab ich es auch geschafft einzelne Titel oder Radiosender direkt abzuspielen (über Stream oder attr Channelxx). Funktioniert super, Kompliment an die Entwickler. Gibt es auch eine Möglichkeit Playlisten abzuspielen?
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: rico5588 am 07 Februar 2019, 08:50:45
Moin,

ist es eigentlich ebenso möglich Videos zu übertragen? Leider hat dies bei noch keinem meiner Gerät funktioniert!
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: Brockmann am 07 Februar 2019, 08:55:01
Zitat von: nuart am 03 Februar 2019, 21:34:00
Hallo,
mittlerweile hab ich es auch geschafft einzelne Titel oder Radiosender direkt abzuspielen (über Stream oder attr Channelxx). Funktioniert super, Kompliment an die Entwickler. Gibt es auch eine Möglichkeit Playlisten abzuspielen?

https://forum.fhem.de/index.php/topic,39706.msg848752/topicseen.html#msg848752
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: KölnSolar am 07 Februar 2019, 19:48:03
Zitatist es eigentlich ebenso möglich Videos zu übertragen?
Why not ? Sicherlich eine Frage des devices. Welche hast Du denn ? ein Log bei verbose=5 wäre auch nicht übel.
Grüße Markus
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: rico5588 am 07 Februar 2019, 20:08:17
Hallo Markus,

ich gehe mal davon aus das es an meinem Aufbau liegt...
Zur Aufgabenstellung:
Ich möchte gern den Stream den meine IP Kamera bringt kurzweilig auf einem DLNA Clienten angezeigt bekommen.
Soweit die Idee.
Wenn ich mich auf den Webserver der Kamera schalte (Ohne Login etc) sehe ich sofort den Stream...mit diesem Link war ich der Meinung meine Endgeräte zu Füttern.
Es passiert jedoch nichts...


2019.02.07 20:07:08 4: DLNARenderer: $VAR1 = {
          'Event' => {
                     'InstanceID' => {
                                     'CurrentTrackDuration' => {
                                                               'val' => '00:00:00'
                                                             },
                                     'val' => '0',
                                     'CurrentTransportActions' => {
                                                                  'val' => 'Play, Seek, X_DLNA_SeekTime'
                                                                },
                                     'AVTransportURIMetaData' => {
                                                                 'val' => ''
                                                               },
                                     'CurrentMediaDuration' => {
                                                               'val' => '00:00:00'
                                                             },
                                     'NumberOfTracks' => {
                                                         'val' => '1'
                                                       },
                                     'CurrentTrack' => {
                                                       'val' => '1'
                                                     },
                                     'CurrentTrackURI' => {
                                                          'val' => 'http://192.168.9.142/viewcam'
                                                        },
                                     'CurrentTrackMetaData' => {
                                                               'val' => ''
                                                             },
                                     'AVTransportURI' => {
                                                         'val' => 'http://192.168.9.142/viewcam'
                                                       }
                                   },
                     'xmlns' => 'urn:schemas-upnp-org:metadata-1-0/AVT/'
                   }
        };

2019.02.07 20:07:08 4: DLNARenderer: Update reading currentTrackURI with http://192.168.9.142/viewcam
2019.02.07 20:07:08 4: DLNARenderer: Received event: $VAR1 = 'LastChange';
$VAR2 = '<Event xmlns="urn:schemas-upnp-org:metadata-1-0/AVT/"><InstanceID val="0"><TransportState val="TRANSITIONING"/><CurrentTrackDuration val="00:00:00"/><CurrentMediaDuration val="00:00:00"/><CurrentTransportActions val="Stop"/></InstanceID></Event>';

2019.02.07 20:07:08 4: DLNARenderer: $VAR1 = {
          'Event' => {
                     'xmlns' => 'urn:schemas-upnp-org:metadata-1-0/AVT/',
                     'InstanceID' => {
                                     'val' => '0',
                                     'CurrentTrackDuration' => {
                                                               'val' => '00:00:00'
                                                             },
                                     'CurrentTransportActions' => {
                                                                  'val' => 'Stop'
                                                                },
                                     'CurrentMediaDuration' => {
                                                               'val' => '00:00:00'
                                                             },
                                     'TransportState' => {
                                                         'val' => 'TRANSITIONING'
                                                       }
                                   }
                   }
        };

2019.02.07 20:07:08 4: DLNARenderer: Update reading transportState with TRANSITIONING
2019.02.07 20:07:08 4: DLNARenderer: Received event: $VAR1 = 'LastChange';
$VAR2 = '<Event xmlns="urn:schemas-upnp-org:metadata-1-0/AVT/"><InstanceID val="0"><TransportState val="STOPPED"/><TransportStatus val="OK"/><CurrentTransportActions val="Play, Seek, X_DLNA_SeekTime"/></InstanceID></Event>';

2019.02.07 20:07:08 4: DLNARenderer: $VAR1 = {
          'Event' => {
                     'InstanceID' => {
                                     'TransportState' => {
                                                         'val' => 'STOPPED'
                                                       },
                                     'TransportStatus' => {
                                                          'val' => 'OK'
                                                        },
                                     'val' => '0',
                                     'CurrentTransportActions' => {
                                                                  'val' => 'Play, Seek, X_DLNA_SeekTime'
                                                                }
                                   },
                     'xmlns' => 'urn:schemas-upnp-org:metadata-1-0/AVT/'
                   }
        };

2019.02.07 20:07:08 4: DLNARenderer: Update reading transportState with STOPPED
2019.02.07 20:07:08 4: DLNARenderer: Update reading transportStatus with OK
2019.02.07 20:07:09 4: DLNARenderer: Received event: $VAR1 = 'LastChange';
$VAR2 = '<Event xmlns="urn:schemas-upnp-org:metadata-1-0/AVT/"><InstanceID val="0"></InstanceID></Event>';

2019.02.07 20:07:09 4: DLNARenderer: $VAR1 = {
          'Event' => {
                     'xmlns' => 'urn:schemas-upnp-org:metadata-1-0/AVT/',
                     'InstanceID' => {
                                     'val' => '0'
                                   }
                   }
        };
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: rico5588 am 07 Februar 2019, 20:13:16
Noch ein Versuch mit dem Freigegebenen Link der Diskstation
Verbose 5
2019.02.07 20:11:23 5: DLNARenderer: AVTransport: urn:schemas-upnp-org:service:AVTransport:1 found. OK.
2019.02.07 20:11:23 5: DLNARenderer: AVTransport, SetAVTransportURI(0,http://192.168.9.11:5000/webapi/entry.cgi?api=SYNO.SurveillanceStation.Stream.VideoStreaming&version=1&method=Stream&format=mjpeg&cameraId=4&StmKey="77be5457e1e6b981f77805ca2dd71736,) succeed.
2019.02.07 20:11:23 5: DLNARenderer: AVTransport: urn:schemas-upnp-org:service:AVTransport:1 found. OK.
2019.02.07 20:11:23 5: DLNARenderer: AVTransport, Play(0,1) succeed.
2019.02.07 20:11:23 4: DLNARenderer: Received event: $VAR1 = 'LastChange';
$VAR2 = '<Event xmlns="urn:schemas-upnp-org:metadata-1-0/AVT/"><InstanceID val="0"><NumberOfTracks val="1"/><CurrentTrack val="1"/><CurrentTrackDuration val="00:00:00"/><CurrentMediaDuration val="00:00:00"/><CurrentTrackURI val="http://192.168.9.11:5000/webapi/entry.cgi?api=SYNO.SurveillanceStation.Stream.VideoStreaming&amp;version=1&amp;method=Stream&amp;format=mjpeg&amp;cameraId=4&amp;StmKey=&quot;77be5457e1e6b981f77805ca2dd71736"/><AVTransportURI val="http://192.168.9.11:5000/webapi/entry.cgi?api=SYNO.SurveillanceStation.Stream.VideoStreaming&amp;version=1&amp;method=Stream&amp;format=mjpeg&amp;cameraId=4&amp;StmKey=&quot;77be5457e1e6b981f77805ca2dd71736"/><CurrentTrackMetaData val=""/><AVTransportURIMetaData val=""/><CurrentTransportActions val="Play, Seek, X_DLNA_SeekTime"/></InstanceID></Event>';

2019.02.07 20:11:23 4: DLNARenderer: $VAR1 = {
          'Event' => {
                     'InstanceID' => {
                                     'CurrentTrackMetaData' => {
                                                               'val' => ''
                                                             },
                                     'AVTransportURI' => {
                                                         'val' => 'http://192.168.9.11:5000/webapi/entry.cgi?api=SYNO.SurveillanceStation.Stream.VideoStreaming&version=1&method=Stream&format=mjpeg&cameraId=4&StmKey="77be5457e1e6b981f77805ca2dd71736'
                                                       },
                                     'CurrentTrackURI' => {
                                                          'val' => 'http://192.168.9.11:5000/webapi/entry.cgi?api=SYNO.SurveillanceStation.Stream.VideoStreaming&version=1&method=Stream&format=mjpeg&cameraId=4&StmKey="77be5457e1e6b981f77805ca2dd71736'
                                                        },
                                     'CurrentTrack' => {
                                                       'val' => '1'
                                                     },
                                     'CurrentMediaDuration' => {
                                                               'val' => '00:00:00'
                                                             },
                                     'NumberOfTracks' => {
                                                         'val' => '1'
                                                       },
                                     'CurrentTransportActions' => {
                                                                  'val' => 'Play, Seek, X_DLNA_SeekTime'
                                                                },
                                     'AVTransportURIMetaData' => {
                                                                 'val' => ''
                                                               },
                                     'CurrentTrackDuration' => {
                                                               'val' => '00:00:00'
                                                             },
                                     'val' => '0'
                                   },
                     'xmlns' => 'urn:schemas-upnp-org:metadata-1-0/AVT/'
                   }
        };

2019.02.07 20:11:23 4: DLNARenderer: Update reading currentTrackURI with http://192.168.9.11:5000/webapi/entry.cgi?api=SYNO.SurveillanceStation.Stream.VideoStreaming&version=1&method=Stream&format=mjpeg&cameraId=4&StmKey="77be5457e1e6b981f77805ca2dd71736
2019.02.07 20:11:23 4: DLNARenderer: Received event: $VAR1 = 'LastChange';
$VAR2 = '<Event xmlns="urn:schemas-upnp-org:metadata-1-0/AVT/"><InstanceID val="0"><TransportState val="TRANSITIONING"/><CurrentTrackDuration val="00:00:00"/><CurrentMediaDuration val="00:00:00"/><CurrentTransportActions val="Stop"/></InstanceID></Event>';

2019.02.07 20:11:23 4: DLNARenderer: $VAR1 = {
          'Event' => {
                     'xmlns' => 'urn:schemas-upnp-org:metadata-1-0/AVT/',
                     'InstanceID' => {
                                     'CurrentMediaDuration' => {
                                                               'val' => '00:00:00'
                                                             },
                                     'TransportState' => {
                                                         'val' => 'TRANSITIONING'
                                                       },
                                     'val' => '0',
                                     'CurrentTrackDuration' => {
                                                               'val' => '00:00:00'
                                                             },
                                     'CurrentTransportActions' => {
                                                                  'val' => 'Stop'
                                                                }
                                   }
                   }
        };

2019.02.07 20:11:23 4: DLNARenderer: Update reading transportState with TRANSITIONING
2019.02.07 20:11:23 4: DLNARenderer: Received event: $VAR1 = 'LastChange';
$VAR2 = '<Event xmlns="urn:schemas-upnp-org:metadata-1-0/AVT/"><InstanceID val="0"></InstanceID></Event>';

2019.02.07 20:11:23 4: DLNARenderer: $VAR1 = {
          'Event' => {
                     'xmlns' => 'urn:schemas-upnp-org:metadata-1-0/AVT/',
                     'InstanceID' => {
                                     'val' => '0'
                                   }
                   }
        };

2019.02.07 20:11:25 4: DLNARenderer: Received event: $VAR1 = 'LastChange';
$VAR2 = '<Event xmlns="urn:schemas-upnp-org:metadata-1-0/AVT/"><InstanceID val="0"><TransportState val="STOPPED"/><TransportStatus val="OK"/><CurrentTransportActions val="Play, Seek, X_DLNA_SeekTime"/></InstanceID></Event>';

2019.02.07 20:11:25 4: DLNARenderer: $VAR1 = {
          'Event' => {
                     'InstanceID' => {
                                     'val' => '0',
                                     'TransportStatus' => {
                                                          'val' => 'OK'
                                                        },
                                     'CurrentTransportActions' => {
                                                                  'val' => 'Play, Seek, X_DLNA_SeekTime'
                                                                },
                                     'TransportState' => {
                                                         'val' => 'STOPPED'
                                                       }
                                   },
                     'xmlns' => 'urn:schemas-upnp-org:metadata-1-0/AVT/'
                   }
        };

2019.02.07 20:11:25 4: DLNARenderer: Update reading transportState with STOPPED
2019.02.07 20:11:25 4: DLNARenderer: Update reading transportStatus with OK
2019.02.07 20:11:25 4: DLNARenderer: Received event: $VAR1 = 'LastChange';
$VAR2 = '<Event xmlns="urn:schemas-upnp-org:metadata-1-0/AVT/"><InstanceID val="0"></InstanceID></Event>';

2019.02.07 20:11:25 4: DLNARenderer: $VAR1 = {
          'Event' => {
                     'InstanceID' => {
                                     'val' => '0'
                                   },
                     'xmlns' => 'urn:schemas-upnp-org:metadata-1-0/AVT/'
                   }
        };

2019.02.07 20:11:53 4: DLNARenderer: Received event: $VAR1 = 'LastChange';
$VAR2 = '<Event xmlns="urn:schemas-upnp-org:metadata-1-0/AVT/"><InstanceID val="0"><CurrentTrackDuration val="00:00:00"/><CurrentMediaDuration val="00:00:00"/><CurrentTransportActions val="Play, Seek, X_DLNA_SeekTime"/></InstanceID></Event>';

2019.02.07 20:11:53 4: DLNARenderer: $VAR1 = {
          'Event' => {
                     'xmlns' => 'urn:schemas-upnp-org:metadata-1-0/AVT/',
                     'InstanceID' => {
                                     'CurrentMediaDuration' => {
                                                               'val' => '00:00:00'
                                                             },
                                     'CurrentTransportActions' => {
                                                                  'val' => 'Play, Seek, X_DLNA_SeekTime'
                                                                },
                                     'val' => '0',
                                     'CurrentTrackDuration' => {
                                                               'val' => '00:00:00'
                                                             }
                                   }
                   }
        };

2019.02.07 20:11:55 4: DLNARenderer: Received event: $VAR1 = 'LastChange';
$VAR2 = '<Event xmlns="urn:schemas-upnp-org:metadata-1-0/AVT/"><InstanceID val="0"><CurrentTrackDuration val="00:00:00"/><CurrentMediaDuration val="00:00:00"/><CurrentTransportActions val="Play, Seek, X_DLNA_SeekTime"/></InstanceID></Event>';

2019.02.07 20:11:55 4: DLNARenderer: $VAR1 = {
          'Event' => {
                     'InstanceID' => {
                                     'CurrentMediaDuration' => {
                                                               'val' => '00:00:00'
                                                             },
                                     'CurrentTransportActions' => {
                                                                  'val' => 'Play, Seek, X_DLNA_SeekTime'
                                                                },
                                     'val' => '0',
                                     'CurrentTrackDuration' => {
                                                               'val' => '00:00:00'
                                                             }
                                   },
                     'xmlns' => 'urn:schemas-upnp-org:metadata-1-0/AVT/'
                   }
        };
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: KölnSolar am 07 Februar 2019, 23:05:15
Das hat aber jetzt meines Erachtens wenig mit DLNA zu tun. Dabei geht es ja grundsätzlich um Bild-, Audio-, Video-KONSERVEN, die auf einem Server zugänglich sind. Du müsstest also einen workaround finden. Die Cam-Streams als mehrere kleine Videodatei abspeichern und dann mit etwas Zeitverzug mit dem DLNA_Renderer nach und nach abspielen ?  :-\ Ich befürchte aber, dass das ein arges Gestottere wird....
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: Jewe am 08 März 2019, 17:15:23
Hey,

habe bei mir das Problem, dass ich einen Raumfeld Connector besitze, aber in Fhem werden 4 Stück angelegt und noch 3 DLNASocket-Renderer.
Keiner davon funktioniert mit dem Connector dauerhaft. Irgendeiner geht mal und dann wieder nicht ?

Angelegt ahbe ich ja nur das Device "renderer"

Internals:
   FUUID      5c4cce28-f33f-9f49-654b-c9ca18a7003ceb29
   NAME       renderer
   NR         548
   STATE      initialized
   TYPE       DLNARenderer
   UDN        0
   VERSION    v2.0.7
   READINGS:
     2019-03-08 16:59:25   state           initialized
   helper:
     caskeid    0
     caskeidClients
Attributes:
   DbLogExclude .*
   room       Entertainment
   userattr   acceptedUDNs defaultRoom ignoreUDNs


Wie kann ich das machen, oder was mache ich falsch, dass ich so viele Devices bekomme ??

Jens
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: TM4889 am 12 März 2019, 19:44:20
Ich bin gerade dabei mich mit der Funktion des Moduls vertraut zu machen. Dabei habe ich festgestellt, dass die im Anhang markierten Set-Kommandos keine Funktion haben (auch in der *.pm nicht zu finden).

Desweiteren gibt es auch Kommandos, welche in der Device-Hilfe nicht aufgeführt sind. Gibt es irgendwo eine genaue Erklärung der Funktionen?
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: mumpitzstuff am 14 März 2019, 12:17:30
https://fhem.de/commandref.html#setExtensions (https://fhem.de/commandref.html#setExtensions)
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: TM4889 am 15 März 2019, 22:17:23
Warum wird die "v2.0.7Patch_3 - 20190107" nicht offiziel aufgenommen?
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: Wolfgang Hochweller am 17 März 2019, 10:47:16
Beim Systemstart sehe ich folgendes im Log :



2019.03.17 10:43:11 2: DLNARenderer: XML formatting error: File does not exist: <Event xmlns="urn:schemas-upnp-org:metadata-1-0/RCS/"><InstanceID val="0"><Volume Channel="Master" val="50"/><Mute Channel="Master" val="0"/><PresetNameList val="FactoryDefaults"/><VolumeDB Channel="Master" val="0"/></InstanceID></Event> at ./FHEM/98_DLNARenderer.pm line 1233.
, <Event xmlns="urn:schemas-upnp-org:metadata-1-0/RCS/"><InstanceID val="0"><Volume Channel="Master" val="50"/><Mute Channel="Master" val="0"/><PresetNameList val="FactoryDefaults"/><VolumeDB Channel="Master" val="0"/></InstanceID></Event>



Nichts deutet auf ein spezielles Geraet, was tun ?
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: KölnSolar am 17 März 2019, 10:50:12
Mit verbose=5 starten. Dann sieht man wenigstens mehr(z.B. gefundene Geräte).
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: AxelSchweiss am 01 Mai 2019, 18:06:42
Hallo
Ich hätte da mal ein Problem  ;D
Ich habe hier einen MEDION Lifebeat P61075 WLAN-Lautsprecher.
Angeblich kann der DLNA, wird auch vom Modul gefunden.
Allerdings funktionieren führt das Beispiel  mit "stream http://mp3-live.swr3.de/swr3_m.m3u" zum kompletten Feeze von FHEM.
Auch Befehle wie play oder mute bringen nichts.

Woran kann das liegen ? Oder ist der Lautsprecher nicht kompatibel?

Gruß und Danke
  AxelSchweiss
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: mumpitzstuff am 01 Mai 2019, 19:47:07
Bei diesen Lautsprechern muss man meist erst einmal in den richtigen Modus schalten. Installier dir die App von dem Lautsprecher, schalte in den Dlna Modus und dann klappt vielleicht auch das abspielen.
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: AxelSchweiss am 01 Mai 2019, 21:31:41
in der App habe ich leider nichts gefunden.
Mit nem iPAD und Airplay funktionierts.
KODI findet den Lautsprecher auch ... spielt dann aber trotzdem lokal ab  ... liegt aber eher an KODI.
Über den Browser kommt man auf den Lautsprecher ... dort gibts aber auch nix zum einstellen.
Ich glaube ich schick das Ding wieder zurück.
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: AxelSchweiss am 01 Mai 2019, 22:22:58
Aha ...
Mit "speak test" konnte ich ihm schon mal was entlocken.
Aber wenn ich "stream http://metafiles.gl-systemhaus.de/hr/hr3_2.m3u" eingebe friert das gesamte FHEM ein und nur via SIGKILL bekommt man es weg.
Den Lautsprecher muss ich danach auch via Steckerziehen resetten ... sonst stellt er sich tot.

Im Logfile finde ich auch folgenden Eintrag beim initialisieren des Lautsprechers

2019.05.01 22:16:56 2: DLNARenderer: XML formatting error:
mismatched tag at line 45, column 2, byte 2188 at /usr/lib/arm-linux-gnueabihf/perl5/5.24/XML/Parser.pm line 187.
XML::Simple called at ./FHEM/98_DLNARenderer.pm line 1233.
, <Event xmlns="urn:schemas-upnp-org:metadata-1-0/AVT/">
<InstanceID val="0">
<TransportState val="NO_MEDIA_PRESENT"/>
<TransportStatus val="OK"/>
<NumberOfTracks val="0"/>
<CurrentTrack val="0"/>
<CurrentTrackDuration val="00:00:00"/>
<CurrentMediaDuration val="00:00:00"/>
<CurrentTrackURI val=""/>
<AVTransportURI val=""/>
<CurrentTrackMetaData val="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;
&lt;DIDL-Lite xmlns:dc=&quot;http://purl.org/dc/elements/1.1/&quot; xmlns:upnp=&quot;urn:schemas-upnp-org:metadata-1-0/upnp/&quot; xmlns:song=&quot;www.wiimu.com/song/&quot; xmlns=&quot;urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/&quot;&gt;
&lt;upnp:class&gt;object.item.audioItem.musicTrack&lt;/upnp:class&gt;
&lt;item id=&quot;0&quot;&gt;
&lt;song:bitrate&gt;0&lt;/song:bitrate&gt;
&lt;song:type_description&gt;&lt;/song:type_description&gt;
&lt;song:pick_count&gt;0&lt;/song:pick_count&gt;
&lt;song:id&gt;0&lt;/song:id&gt;
&lt;song:like&gt;0&lt;/song:like&gt;
&lt;song:singerid&gt;0&lt;/song:singerid&gt;
&lt;song:albumid&gt;0&lt;/song:albumid&gt;
&lt;res protocolInfo=&quot;http-get:*:audio/mpeg:DLNA.ORG_PN=MP3;DLNA.ORG_OP=01;&quot; duration=&quot;00:00:00.000&quot;&gt;&lt;/res&gt;
&lt;dc:title&gt;&lt;/dc:title&gt;
&lt;dc:creator&gt;&lt;/dc:creator&gt;
&lt;upnp:artist&gt;&lt;/upnp:artist&gt;
&lt;upnp:album&gt;&lt;/upnp:album&gt;
&lt;upnp:albumArtURI&gt;un_known&lt;/upnp:albumArtURI&gt;
&lt;/item&gt;
&lt;/DIDL-Lite&gt;
">
<PlaybackStorageMedium val="UNKNOWN"/>
<PossiblePlaybackStorageMedia val="NONE,STATION-NETWORK,SONGLIST-NETWORK,SONGLIST-LOCAL,THIRD-DLNA,AIRPLAY,UNKNOWN"/>
<PossibleRecordStorageMedia val="NOT_IMPLEMENTED"/>
<RecordStorageMedium val="NOT_IMPLEMENTED"/>
<CurrentPlayMode val="NORMAL"/>
<TransportPlaySpeed val="1"/>
<RecordMediumWriteStatus val="NOT_IMPLEMENTED"/>
<CurrentRecordQualityMode val="NOT_IMPLEMENTED"/>
<PossibleRecordQualityModes val="NOT_IMPLEMENTED"/>
<RelativeTimePosition val="00:00:00"/>
<AbsoluteTimePosition val="NOT_IMPLEMENTED"/>
<RelativeCounterPosition val="-1"/>
<AbsoluteCounterPosition val="-1"/>
<CurrentTransportActions val="Play,Stop,Seek,X_DLNA_SeekTime,Pause"/>
</InstanceID>
</Event>


Woran kann das nochliegen .. FHEM ist aktuell?
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: Gisbert am 17 Juli 2019, 20:50:16
Hallo Markus,

ich hab aufgeräumt dabei den http-Zugriff für Fhem von Port 8084 auf 8086 gelegt.
Jetzt kommt kein Bild mehr auf den Fernseher.
Die entsprechenden Einträge (8086 statt 8084) für das DLNARenderer-Modul habe ich angepasst, shutdown und restart durchgeführt.
Bei dem http-Zugriff ist eine User/Passwort-Abfrage vorhanden, kann es daran liegen?

Am Fernseher kann es eigentlich nicht liegen, denn vom SamsungAV-Modul kann ich ein Bild zum Fernseher streamen.

Das DLNARenderer Device:
defmod DLNA_f47b5e48e6d6 DLNARenderer uuid:0ee6b280-00fa-1000-889e-f47b5e48e6d6
attr DLNA_f47b5e48e6d6 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_f47b5e48e6d6 alias [TV]UE50ES6980
attr DLNA_f47b5e48e6d6 channel_01 http://192.168.1.46:8086/fhem/rss/RSS.Anruf.jpg
attr DLNA_f47b5e48e6d6 channel_02 http://192.168.1.46:8086/fhem/rss/RSS.SZ.Gisbert.jpg
attr DLNA_f47b5e48e6d6 icon it_television
attr DLNA_f47b5e48e6d6 room Network
attr DLNA_f47b5e48e6d6 verbose 5
attr DLNA_f47b5e48e6d6 webCmd volume


Mit verbose 5 bei DLNARenderer:
2019.07.17 20:00:49 5:  DLNARenderer: DLNA_f47b5e48e6d6, AVTransport: urn:schemas-upnp-org:service:AVTransport:1 found. OK.

2019.07.17 20:00:49 5:  DLNARenderer: DLNA_f47b5e48e6d6, AVTransport, SetAVTransportURI(0,http://192.168.1.46:8086/fhem/rss/RSS.SZ.Gisbert.jpg,) succeed.

2019.07.17 20:00:50 4:  DLNARenderer: device DLNA_f47b5e48e6d6 received event. Details with verbose=5

2019.07.17 20:00:50 5:  DLNARenderer: process event$VAR1 = {

          'Event' => {

                     'InstanceID' => {

                                     'CurrentTransportActions' => {

                                                                  'val' => ''

                                                                },

                                     'CurrentTrackMetaData' => {

                                                               'val' => ''

                                                             },

                                     'AVTransportURIMetaData' => {

                                                                 'val' => ''

                                                               },

                                     'NumberOfTracks' => {

                                                         'val' => '0'

                                                       },

                                     'AVTransportURI' => {

                                                         'val' => 'http://192.168.1.46:8086/fhem/rss/RSS.SZ.Gisbert.jpg'

                                                       },

                                     'CurrentTrackURI' => {

                                                          'val' => ''

                                                        },

                                     'val' => '0',

                                     'CurrentTrack' => {

                                                       'val' => '0'

                                                     },

                                     'TransportState' => {

                                                         'val' => 'NO_MEDIA_PRESENT'

                                                       }

                                   },

                     'xmlns' => 'urn:schemas-upnp-org:metadata-1-0/AVT/'

                   }

        };

2019.07.17 20:00:50 4:  DLNARenderer: Update reading transportState with NO_MEDIA_PRESENT

2019.07.17 20:00:50 4:  DLNARenderer: Update reading currentTrackURI with

2019.07.17 20:00:50 5:  DLNARenderer: DLNA_f47b5e48e6d6, AVTransport: urn:schemas-upnp-org:service:AVTransport:1 found. OK.

2019.07.17 20:00:50 5:  DLNARenderer: DLNA_f47b5e48e6d6, AVTransport, Play(0,1) succeed.


bzw. auch so, mit verbose 5:
2019.07.17 20:43:32 5:  DLNARenderer: DLNA_f47b5e48e6d6, AVTransport: urn:schemas-upnp-org:service:AVTransport:1 found. OK.

2019.07.17 20:43:32 5:  DLNARenderer: DLNA_f47b5e48e6d6, AVTransport, SetAVTransportURI(0,http://192.168.1.46:8086/fhem/rss/RSS.Anruf.jpg,) succeed.

2019.07.17 20:43:32 5:  DLNARenderer: DLNA_f47b5e48e6d6, AVTransport: urn:schemas-upnp-org:service:AVTransport:1 found. OK.

2019.07.17 20:43:32 5:  DLNARenderer: DLNA_f47b5e48e6d6, AVTransport, Play(0,1) succeed.


Kannst du mir auf die Sprünge helfen?
Viele Grüße
Gisbert
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: KölnSolar am 17 Juli 2019, 20:56:53
Hi Gisbert,
erste Reaktion: Kommt mir sehr dünn vor das Log. Evtl. bei Aufräumen meine inoffizielle Version mit der offiziellen überschrieben ? :-\
ZitatBei dem http-Zugriff ist eine User/Passwort-Abfrage vorhanden, kann es daran liegen?
Gib mir Augen.  ;D Auf dem TV, oder wo ? Auf dem TV ist das immer ein Zeichen, dass der "Anfrager" noch nicht freigegeben ist.

Grüße Markus
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: Gisbert am 17 Juli 2019, 21:14:52
Hallo Markus,

ich Rindviieccchhhh (man beachte die Vervielfältigung der Buchstaben zum Ende hin) - gerade hab ich deine Instruktion bzgl. User/Passwort gefunden.
Der Fehler war, dass das http-FHEMWEB mit Port 8086 noch mit einem allowed-Device verknüpft war - das hatte ich vergessen zu ändern. Jetzt läuft es wieder :)

Zitaterste Reaktion: Kommt mir sehr dünn vor das Log. Evtl. bei Aufräumen meine inoffizielle Version mit der offiziellen überschrieben ? :-\
Ich hab nix überschrieben, und das Aufräumen bezog sich nur auf FHEMWEB.
72_FRITZBOX.pm und 98_DLNARenderer.pm sind bei mir vom update excluded (so steht's in global drin).

Mein Beitrag, den ich vorhin abgeschickt hatte, war der 2. Versuch, weil ich es mal wieder geschafft habe den 1. ins Nirvana zu schicken.
Der 2. Versuch ist dann insgesamt knapper ausgefallen.

Viele Grüße Gisbert
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: KölnSolar am 17 Juli 2019, 22:23:37
prima.  ;)
ZitatMein Beitrag, den ich vorhin abgeschickt hatte, war der 2. Versuch, weil ich es mal wieder geschafft habe den 1. ins Nirvana zu schicken.
Passiert mir auch öfter. Manchmal denk ich dran und "sichere" mir das Geschriebsel per Strg+C in die Zwischenablage.
Frohes TV messaging
Markus
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: isdnbus am 28 Juli 2019, 20:54:18
Hallo ich habe ein Verständnisproblem mit diesem Modul.
Habe dieses Modul bereits auf meinem Live-System und einer Test-Umgebung installiert.
Bei meinen vorhandenen Internet-Radios kann ich über set DLNA_xxxx volume 34 z.B. die aktuelle Lautstärke verändern.
Mit set DLNA_xxxx speak Test ist die Sprachausgabe auch im Lautsprecher zu hören.
Mit set DLNA_xxxx stream http://schlagerplanet.hoerradar.de/schlagerplanet-deutsch-mp3-hq kommt kein Ton aus dem Lautsprecher, der Link wird in den Readings allerdings angezeigt. Ein set DLNA_xxxx play bringt auch nichts.

Das erscheint im Log wenn ich das ganze auf Verbose 5 umstelle.
Auf dem Test-System sind nur die Module SIRD und DLNARender installiert.

DLNARenderer: handleOnce failed, mismatched tag 'head'

2019.07.28 20:37:29 1: PERL WARNING: Use of uninitialized value in numeric eq (==) at ./FHEM/98_DLNARenderer.pm line 318.
2019.07.28 20:37:29 1: PERL WARNING: Use of uninitialized value $txt in concatenation (.) or string at ./FHEM/01_FHEMWEB.pm line 3264.
2019.07.28 20:38:37 3: DLNARenderer: handleOnce failed, mismatched tag 'head'

2019.07.28 20:40:53 3: DLNARenderer: handleOnce failed, mismatched tag 'head'

2019.07.28 20:46:07 3: DLNARenderer: handleOnce failed, mismatched tag 'head'

2019.07.28 20:48:23 3: DLNARenderer: handleOnce failed, mismatched tag 'head'

2019.07.28 20:49:29 5: DLNARenderer: AVTransport: urn:schemas-upnp-org:service:AVTransport:1 found. OK.
2019.07.28 20:49:29 5: DLNARenderer: AVTransport, Play(0,1) succeed.

Gruß Bernd
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: KölnSolar am 28 Juli 2019, 21:50:14
Hallo Bernd,
bitte Logauszüge in code tags(#-Zeichen) posten.

Hast Du meine inoffizielle Version (https://forum.fhem.de/index.php/topic,82890.msg759194.html#msg759194) installiert ? Zumindest bekomme ich Deine URL damit auf meinen TV gepushed.
Grüße Markus
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: frank am 02 August 2019, 13:27:04
moin,

je nach quelle (url) und verbindungsqualität bekomme ich mit "set stream" entsprechende freezes in fhem.

daher wünsche ich mir eine nicht blockierende version von "set stream". eventuell auch sinnvoll für weitere cmds.
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: isdnbus am 04 August 2019, 18:42:35
Hallo Markus,

ich habe deine inoffizielle Version einmal installiert.
Eins vorweg mit dem SIRD Modul funktioniert das streamen der URL´s die ich ebenfalls im DLNA Renderer probiert habe.
Dort funktioniert der der Stream Befehl und das Radio switched um auf DMR und wird korrekt wiedergegeben.
Es funktionieren auch sonst die Befehle aus dem DLNA Renderer.
Dann habe ich noch ein SilverCrest C14 Radio. Wenn ich hier set SilverCrest stream URL eingebe, schaltet das Radio zwar um auf LocalMusic. Im Display erscheint allerdings No Media.
Mit meinem Samsung Fernseher Q-Serie funktioniert weder die Wiedergabe eines Bildes noch ein Media-Stream.
Mir erscheint es so als würde ich set DLNASamsungTV stream URL im Webinterface absetzen können.

Hast du noch eine Idee woran es liegen könnte?

Gruß Bernd
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: KölnSolar am 04 August 2019, 19:45:15
Hi Bernd,
hast Du auch die entsprechenden Anpassungen vorgenommen wie unter o.g. Link beschrieben ? Hast Du evtl. head anstatt HEAD im FHEMWEB-device angegeben ?
ZitatMit meinem Samsung Fernseher Q-Serie funktioniert weder die Wiedergabe eines Bildes noch ein Media-Stream.
Was nutzt Du als Mediaserver ?
Versuch mal etwas von einem Win-Rechner auf den TV zu streamen.
Nutzt Du das SamsungAV-Modul ?
Grüße Markus
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: mumpitzstuff am 04 August 2019, 22:43:08
Zitat von: isdnbus am 04 August 2019, 18:42:35
Hallo Markus,

ich habe deine inoffizielle Version einmal installiert.
Eins vorweg mit dem SIRD Modul funktioniert das streamen der URL´s die ich ebenfalls im DLNA Renderer probiert habe.
Dort funktioniert der der Stream Befehl und das Radio switched um auf DMR und wird korrekt wiedergegeben.
Es funktionieren auch sonst die Befehle aus dem DLNA Renderer.
Dann habe ich noch ein SilverCrest C14 Radio. Wenn ich hier set SilverCrest stream URL eingebe, schaltet das Radio zwar um auf LocalMusic. Im Display erscheint allerdings No Media.
Mit meinem Samsung Fernseher Q-Serie funktioniert weder die Wiedergabe eines Bildes noch ein Media-Stream.
Mir erscheint es so als würde ich set DLNASamsungTV stream URL im Webinterface absetzen können.

Hast du noch eine Idee woran es liegen könnte?

Gruß Bernd

Das Sird Modul macht beim Stream Kommando mehr als nur reine dlna Befehle abzusetzen. Versuch doch mal folgendes:

1.) Schalte mit dem Sird Modul das Radio ein und den Input auf DMR um.
2.) Versuche danach mit dem dlna Renderer einen Stream abzuspielen.
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: isdnbus am 08 August 2019, 20:11:38
Hallo zusammen,

ZitatWas nutzt Du als Mediaserver ?
Eine Fritzbox für mp4, einen Apache-Server für Bilder
ZitatVersuch mal etwas von einem Win-Rechner auf den TV zu streamen
Hab´s mal mit einem Win PC probiert und das funktioniert.
ZitatNutzt Du das SamsungAV-Modul ?
Ja

Zitat1.) Schalte mit dem Sird Modul das Radio ein und den Input auf DMR um.
Das funktioniert mit dem Dual Radio und der folgenden Url http://schlagerplanet.hoerradar.de/schlagerplanet-deutsch-mp3-hq im SIRD Modul und auch mit dem DLNA Renderer.
Mit dem SilverCrest C14 Radio funktioniert die Url http://schlagerplanet.hoerradar.de/schlagerplanet-deutsch-mp3-hq im SIRD Modul aber mit dem DLNA Renderer wird die Quelle umgeschaltet jedoch erscheint im Display NoMedia und nichts ist zu hören.
Die http://mp3-live.swr3.de/swr3_m.m3u funktioniert z.B. überhaupt nicht in fhem allerdings kann ich den Stream mit dem Windows Media Player auf einem PC hören.

Wenn ich ein Stream zum Fernseher absetze erscheint die Freigabeaufforderung, die dann auch bestätigt wird aber mehr passiert danach nicht. Power, Channel und die weiteren Befehle funktionieren soweit.
Mit RCdelay habe ich auch schon erfolglos experimentiert.
HEAD ist gesetzt.

Gruß Bernd
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: KölnSolar am 08 August 2019, 21:44:17
ZitatHEAD ist gesetzt.
Wichtiger für Samsung: attr MeinRenderer envPrefix s
attr MeinRenderer envNamespace <undef>
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: Fillip am 11 August 2019, 21:24:47
Zitat von: KölnSolar am 08 August 2019, 21:44:17
Wichtiger für Samsung: attr MeinRenderer envPrefix s
attr MeinRenderer envNamespace <undef>


Ich bekomme beim Verusuch die attr zu setzen immer folgende Meldung
DLNARenderer: unknown attribute envPrefix. Type 'attr DLNARenderer ?' for a detailed list.
oder
DLNA_b83819ec6a33: unknown attribute envPrefix. Type 'attr DLNA_b83819ec6a33 ?' for a detailed list.
Bei mir läuft Version v2.0.7
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: KölnSolar am 12 August 2019, 09:58:29
Dann scheint nicht meine modifizierte Version zu laufen. Die lautet v2.0.7Patch_3.
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: Fillip am 12 August 2019, 17:00:58
Wo gibt es diese denn her?

Hab sie gefunden  :D
https://forum.fhem.de/index.php/topic,39706.msg885157.html#msg885157
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: isdnbus am 13 August 2019, 20:07:43
Hallo Markus,

ich habe inzwischen den Renderer noch einmal gelöscht und das SamsungAV Modul ebenfalls. Anschließend wieder alles installiert.
Die Attribute im HauptRenderer envPrefix = s und envNamespace <undef> so gesetzt. Danach Verbose auf 5 gesetzt.

Im Log erscheinen dann diese Fehlermeldungen.

2019.08.13 19:47:10 4: DLNARenderer: DLNA_42469c1e9ff3, AVTransport,
SetAVTransportURI(0,http://schlagerplanet.hoerradar.de/schlagerplanet-deutsch-mp3-hq,<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>various</dc:title><upnp:album>Schlagerplanet
100% deutsch</upnp:album><res protocolInfo="http-get:*:audio/mpeg:DLNA.ORG_OP=01;
DLNA.ORG_FLAGS=01700000000000000000000000000000">http://schlagerplanet.hoerradar.de/schlagerplanet-deutsch-
mp3-hq</res></item></DIDL-Lite>) does not exist.


und diese

DLNARenderer: DLNASocket-HauptRenderer-1900, HauptRenderer handleOnce failed, mismatched tag 'head'

Müsste ich eigentlich auch eine ControlPoint.pm im Ordner FHEM/lib/UPnP/ haben. Der Ordner ist komplett leer.

Gruß Bernd

Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: KölnSolar am 14 August 2019, 07:17:14
Hallo Bernd,
ZitatMüsste ich eigentlich auch eine ControlPoint.pm im Ordner FHEM/lib/UPnP/ haben. Der Ordner ist komplett leer.
Selbstverständlich.  :o Da scheint also was mit Deiner Installation nicht zu stimmen. Da die Dateien in lib/UPnP per update ausgeliefert werden, müsste eigentlich schon bei update ein Fehler gemeldet werden.  ???

Grüße Markus
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: isdnbus am 14 August 2019, 20:57:05
Hallo Markus,

so das Problem mit der ControlPoint.pm ist gefixt.

2019.08.14 20:21:37 5: DLNARenderer: DLNA_0022619991c4, AVTransport, SetAVTransportURI(0,http://rbb-fritz-
live.cast.addradio.de/rbb/fritz/live/mp3/128/stream.mp3,<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://rbb-fritz-live.cast.addradio.de/rbb/fritz/live/mp3
/128/stream.mp3</dc:title><upnp:album>Fritz vom rbb live hören - www.fritz.de (c) Rundfunk Berlin-Brandenburg</upnp:album><res
protocolInfo="http-get:*:audio/mpeg:DLNA.ORG_OP=01;DLNA.ORG_FLAGS=01700000000000000000000000000000">http://rbb-
fritz-live.cast.addradio.de/rbb/fritz/live/mp3/128/stream.mp3</res></item></DIDL-Lite>) succeed.

2019.08.14 20:21:41 5: DLNARenderer: DLNA_0022619991c4, AVTransport: urn:schemas-upnp-org:service:AVTransport:1 found. OK.

2019.08.14 20:21:43 5: DLNARenderer: DLNA_0022619991c4, AVTransport, Play(0,1) succeed.


Das ist der Log-Auszug für mein DUAL Radio. Funktioniert alles wie gewünscht.

2019.08.14 20:16:20 4: DLNARenderer: DLNA_00226150FAFC, AVTransport, SetAVTransportURI(0,http://rbb-fritz-
live.cast.addradio.de/rbb/fritz/live/mp3/128/stream.mp3,<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://rbb-fritz-live.cast.addradio.de/rbb/fritz/live/mp3
/128/stream.mp3</dc:title><upnp:album>Fritz vom rbb live hören - www.fritz.de (c) Rundfunk Berlin-Brandenburg</upnp:album><res
protocolInfo="http-get:*:audio/mpeg:DLNA.ORG_OP=01;DLNA.ORG_FLAGS=01700000000000000000000000000000">http://rbb-
fritz-live.cast.addradio.de/rbb/fritz/live/mp3/128/stream.mp3</res></item></DIDL-Lite>) does not exist.

2019.08.14 20:16:21 5: DLNARenderer: DLNA_00226150FAFC, AVTransport: urn:schemas-upnp-org:service:AVTransport:1 found. OK.

2019.08.14 20:16:21 4: DLNARenderer: DLNA_00226150FAFC, AVTransport, Play(0,1) does not exist.


Nun der Auszug vom SilverCrest Radio. Funktioniert nicht d.h. das Gerät schaltet schon in den Modus um aber es kommt keine Musik.

und jetzt noch der Auszug für den Samsung Fernseher.

2019.08.14 20:27:10 5: DLNARenderer: DLNA_42469c1e9ff3, AVTransport: urn:schemas-upnp-org:service:AVTransport:1 found.
OK.

2019.08.14 20:27:10 5: DLNARenderer: DLNA_42469c1e9ff3, AVTransport, SetAVTransportURI(0,http://rbb-fritz-live.cast.addradio.de
/rbb/fritz/live/mp3/128/stream.mp3,<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://rbb-fritz-live.cast.addradio.de/rbb/fritz/live/mp3
/128/stream.mp3</dc:title><upnp:album>Fritz vom rbb live hören - www.fritz.de (c) Rundfunk Berlin-Brandenburg</upnp:album><res
protocolInfo="http-get:*:audio/mpeg:DLNA.ORG_OP=01;DLNA.ORG_FLAGS=01700000000000000000000000000000">http://rbb-
fritz-live.cast.addradio.de/rbb/fritz/live/mp3/128/stream.mp3</res></item></DIDL-Lite>) succeed.

2019.08.14 20:27:11 5: DLNARenderer: DLNA_42469c1e9ff3, AVTransport: urn:schemas-upnp-org:service:AVTransport:1 found. OK.

2019.08.14 20:27:11 5: DLNARenderer: DLNA_42469c1e9ff3, AVTransport, Play(0,1) succeed.


Es erscheint nichts auf dem Fernseher bzw. ich habe den Eindruck es wird auch kein Kommando an den Fernseher gesendet.
Das SamsungAV Modul sendet schon die Befehle, welche für das Modell funktionieren.

Noch irgend eine Idee?

Gruß Bernd
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: KölnSolar am 15 August 2019, 08:49:41
Hallo Bernd,
diese URI funktioniert bei meinem Samsung auch nicht. Keine Ahnung woran das liegt. Probier es mal mit dem, womit Du begonnen hattest: http://schlagerplanet.hoerradar.de/schlagerplanet-deutsch-mp3-hq
Das Log sieht dann so aus2019.08.15 08:38:45 5: DLNARenderer: DLNA_ae982c38c20f, AVTransport: urn:schemas-upnp-org:service:AVTransport:1 found. OK.
2019.08.15 08:38:45 4: DLNARenderer: device DLNA_ae982c38c20f received event. Details with verbose=5
2019.08.15 08:38:45 5: DLNARenderer: process event$VAR1 = {
          'Event' => {
                     'xmlns' => 'urn:schemas-upnp-org:metadata-1-0/AVT/',
                     'InstanceID' => {
                                     'val' => '0',
                                     'TransportState' => {
                                                         'val' => 'TRANSITIONING'
                                                       }
                                   }
                   }
        };

2019.08.15 08:38:45 4: DLNARenderer: Update reading transportState with TRANSITIONING
2019.08.15 08:38:46 5: DLNARenderer: DLNA_ae982c38c20f, AVTransport, SetAVTransportURI(0,http://schlagerplanet.hoerradar.de/schlagerplanet-deutsch-mp3-hq,<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>various</dc:title><upnp:album>Schlagerplanet 100% deutsch</upnp:album><res protocolInfo="http-get:*:audio/mpeg:DLNA.ORG_OP=01;DLNA.ORG_FLAGS=01700000000000000000000000000000">http://schlagerplanet.hoerradar.de/schlagerplanet-deutsch-mp3-hq</res></item></DIDL-Lite>) succeed.
2019.08.15 08:38:46 5: DLNARenderer: DLNA_ae982c38c20f, AVTransport: urn:schemas-upnp-org:service:AVTransport:1 found. OK.
2019.08.15 08:38:46 5: DLNARenderer: DLNA_ae982c38c20f, AVTransport, Play(0,1) succeed.
2019.08.15 08:38:46 4: DLNARenderer: device DLNA_ae982c38c20f received event. Details with verbose=5
2019.08.15 08:38:46 5: DLNARenderer: process event$VAR1 = {
          'Event' => {
                     'InstanceID' => {
                                     'val' => '0',
                                     'TransportState' => {
                                                         'val' => 'STOPPED'
                                                       }
                                   },
                     'xmlns' => 'urn:schemas-upnp-org:metadata-1-0/AVT/'
                   }
        };

2019.08.15 08:38:46 4: DLNARenderer: Update reading transportState with STOPPED
2019.08.15 08:38:47 4: DLNARenderer: device DLNA_ae982c38c20f received event. Details with verbose=5
2019.08.15 08:38:47 5: DLNARenderer: process event$VAR1 = {
          'Event' => {
                     'InstanceID' => {
                                     'CurrentTransportActions' => {
                                                                  'val' => 'Stop'
                                                                },
                                     'val' => '0',
                                     'TransportState' => {
                                                         'val' => 'TRANSITIONING'
                                                       }
                                   },
                     'xmlns' => 'urn:schemas-upnp-org:metadata-1-0/AVT/'
                   }
        };

2019.08.15 08:38:47 4: DLNARenderer: Update reading transportState with TRANSITIONING
2019.08.15 08:38:47 5: DLNARenderer: DLNA_ae982c38c20f, AVTransport: urn:schemas-upnp-org:service:AVTransport:1 found. OK.
2019.08.15 08:38:47 5: DLNARenderer: DLNA_ae982c38c20f, AVTransport, SetAVTransportURI(0,http://schlagerplanet.hoerradar.de/schlagerplanet-deutsch-mp3-hq,<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>various</dc:title><upnp:album>Schlagerplanet 100% deutsch</upnp:album><res protocolInfo="http-get:*:audio/mpeg:DLNA.ORG_OP=01;DLNA.ORG_FLAGS=01700000000000000000000000000000">http://schlagerplanet.hoerradar.de/schlagerplanet-deutsch-mp3-hq</res></item></DIDL-Lite>) succeed.
2019.08.15 08:38:47 5: DLNARenderer: DLNA_ae982c38c20f, AVTransport: urn:schemas-upnp-org:service:AVTransport:1 found. OK.
2019.08.15 08:38:47 5: DLNARenderer: DLNA_ae982c38c20f, AVTransport, Play(0,1) succeed.
2019.08.15 08:38:48 4: DLNARenderer: device DLNA_ae982c38c20f received event. Details with verbose=5
2019.08.15 08:38:48 5: DLNARenderer: process event$VAR1 = {
          'Event' => {
                     'xmlns' => 'urn:schemas-upnp-org:metadata-1-0/AVT/',
                     'InstanceID' => {
                                     'CurrentTransportActions' => {
                                                                  'val' => 'Pause,Seek,Stop,X_DLNA_SeekByte,X_DLNA_SeekTime'
                                                                },
                                     'TransportState' => {
                                                         'val' => 'PLAYING'
                                                       },
                                     'val' => '0'
                                   }
                   }
        };

2019.08.15 08:38:48 4: DLNARenderer: Update reading transportState with PLAYING

Wenn der Link beim Samsung funktioniert, aber nicht beim Silvercrest, könnte es an den "Samsung-Attributen" liegen.

Da die Attribute auf der "Controlpoint-Ebene" wirken, hast Du keine Chance verschiedenartige Geräte gleichzeitig zu betreiben.  :(.
Grüße Markus
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: isdnbus am 15 August 2019, 20:08:16
Hallo Markus,

Danke für den kurzen Test.
Mir ist es auch nicht so wichtig, ob die Radios mit dem DLNA Modul funktionieren.
Habe es nur zum Vergleich im Verhalten benutzt.
Mit dem SIRD Modul funktionieren sie zuverlässig.
Wichtig ist mir das der Samsung mal etwas zeigt.
Ich habe mein Log mal mit Deinem verglichen.
Ab hier ist der Unterschied.


ZitatDLNARenderer: device DLNA_ae982c38c20f received event. Details with verbose=5
2019.08.15 08:38:45 5: DLNARenderer: process event$VAR1 = {
          'Event' => {
                     'xmlns' => 'urn:schemas-upnp-org:metadata-1-0/AVT/',
                     'InstanceID' => {
                                     'val' => '0',
                                     'TransportState' => {
                                                         'val' => 'TRANSITIONING'
                                                       }
                                   }
                   }
        };

Es sieht so aus als würde der Befehl bei meinem Fernseher nicht ankommen, da dein Device mit:
Zitatdevice DLNA_ae982c38c20f received event
antwortet und bei mir fehlt diese und die nachfolgende Meldung?
Praktisch jede Meldung in der der TransportState zurückgemeldet wird fehlt bei mir.

Gruß Bernd
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: KölnSolar am 15 August 2019, 20:49:42
Schon richtig. Es sind die Rückmeldungen des Samsung, die dann zusätzlich gelogged werden.
Mit Deinem bei meinem Samsung auch nicht funktionierenden URI sieht mein Log auch so aus wie bei Dir, also ohne Rückmeldungen.

Hast Du denn jetzt mit dem anderen URI getestet ?
Wenn es Dir nur um den Samsung geht, testest Du viel einfacher den mute oder volume-Befehl. Außerdem wäre ein list mal nicht schlecht(Master und TV-device).  ;)
Und bei verbose=4 solltest Du eigentlich periodische Log-Meldungen zum Subscription haben.

Ich vermute Du hast verbose nicht in der cfg gespeichert ? Mach das mal mit verbose=5 , denn dann sehen wir im Log, was bei der Definition passiert.

Grüße Markus
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: isdnbus am 16 August 2019, 17:11:38
Hallo Markus,

ich hoffe Du kannst mit den nachfolgenden Informationen etwas anfangen.
Verbose 5 habe ich nicht global gesetzt nur beim TV-Renderer und dem SamsungAV Device. Jedoch abgespeichert und dann FHEM neu gestartet.
Komisch ist auch, daß die Datei 1.jpg nicht angezeigt wird. Im Browser ist das Bild zu öffnen.  :-\
Der mute-Befehl wird ebenfalls nicht ausgeführt. Vom SamsungAV funktinoniert er.

ZitatInternals:
   FUUID      5d510d90-f33f-c990-0172-a8c5edff89743f98
   NAME       HauptRenderer
   NR         299
   STATE      initialized
   TYPE       DLNARenderer
   UDN        0
   VERSION    v2.0.7Patch_3
   READINGS:
     2019-08-16 16:30:50   state           initialized
   helper:
     caskeid    0
     caskeidClients
Attributes:
   envNamespace <undef>
   envPrefix  s
   room       Wohnzimmer
   userattr   acceptedUDNs defaultRoom envNamespace envPrefix ignoreUDNs

ZitatInternals:
   DEF        uuid:629798df-fb4f-4934-97b1-42469c1e9ff3
   FUUID      5d510fca-f33f-c990-78cf-9ec310ed30adab52
   NAME       DLNA_42469c1e9ff3
   NR         300
   STATE      online
   TYPE       DLNARenderer
   UDN        uuid:629798df-fb4f-4934-97b1-42469c1e9ff3
   READINGS:
     2019-08-13 17:54:21   currentAlbum    Camera
     2019-08-14 17:28:46   currentAlbumArtURI
     2019-08-13 05:05:00   currentArtist   <unknown>
     2019-08-13 17:35:44   currentDuration 0:00:53.714
     2019-08-14 17:28:45   currentTitle    IMG_20180826_182529
     2019-08-14 20:59:06   currentTrackURI
     2019-08-16 16:37:53   friendlyName    [TV] Samsung Q6 Series (55)
     2019-08-16 16:37:53   manufacturer    Samsung Electronics
     2019-08-16 16:37:53   manufacturerURL http://www.samsung.com/sec
     2019-08-16 16:37:53   modelDescription Samsung TV DMR
     2019-08-16 16:37:53   modelName       GQ55Q6FNG
     2019-08-16 16:37:53   modelNumber     AllShare1.0
     2019-08-16 16:37:53   modelURL        http://www.samsung.com/sec
     2019-08-16 16:37:53   multiRoomSupport 0
     2019-08-16 16:45:36   multiRoomVolume 15
     2019-08-16 16:45:36   mute            1
     2019-08-16 16:37:53   presence        online
     2019-08-16 16:37:54   state           online
     2019-08-16 16:46:14   stream          http://192.168.178.22:8083/fhem/www/images/1.jpg
     2019-08-14 20:59:06   transportState  NO_MEDIA_PRESENT
     2019-08-12 09:05:47   transportStatus OK
     2019-08-12 09:35:31   volume          15
   helper:
     caskeid    0
     caskeidClients
Attributes:
   alias      [TV] Samsung Q6 Series (55)
   room       Wohnzimmer
   ttsLanguage de
   userattr   channel_01 channel_02 channel_03 channel_04 channel_05 channel_06 channel_07 channel_08 channel_09 channel_10 multiRoomGroups ttsLanguage
   verbose    5
   webCmd     volume

Zitat2019.08.16 16:46:12 4: DLNARenderer: DLNA_42469c1e9ff3, AVTransport, SetAVTransportURI(0,http://192.168.178.22:8083/fhem/www/images/1.jpg,) does not exist.
2019.08.16 16:46:12 5: DLNARenderer: DLNA_42469c1e9ff3, AVTransport: urn:schemas-upnp-org:service:AVTransport:1 found. OK.
2019.08.16 16:46:14 4: DLNARenderer: DLNA_42469c1e9ff3, AVTransport, Play(0,1) does not exist.
2019.08.16 16:46:37 4: [SamsungAV] MeinFernseher online with 192.168.178.54:8001 - HTTP-Response: 401

2019.08.16 16:43:53 5: DLNARenderer: DLNA_42469c1e9ff3, RenderingControl: urn:schemas-upnp-org:service:RenderingControl:1 found. OK.
2019.08.16 16:43:54 5: DLNARenderer: DLNA_42469c1e9ff3, RenderingControl, SetMute(0,Master,1) succeed.
2019.08.16 16:43:55 5: DLNARenderer: DLNA_42469c1e9ff3, RenderingControl: urn:schemas-upnp-org:service:RenderingControl:1 found. OK.
2019.08.16 16:43:55 5: DLNARenderer: DLNA_42469c1e9ff3, RenderingControl, SetMute(0,Master,0) succeed.
2019.08.16 16:44:02 5: DLNARenderer: DLNA_42469c1e9ff3, RenderingControl: urn:schemas-upnp-org:service:RenderingControl:1 found. OK.
2019.08.16 16:44:03 5: DLNARenderer: DLNA_42469c1e9ff3, RenderingControl, SetMute(0,Master,1) succeed.


Gruß Bernd
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: KölnSolar am 16 August 2019, 20:31:48
Jetzt gehen mir die Ideen aus.  :-[

Ich spekuliere: um 16:30 hast Du FHEM gestartet, um 16:37 den TV eingeschaltet und um 16:45 den mute-Befehl benutzt. Dabei war der TV auf Lautstärke 15. Sieht eigentlich alles passabel aus. Nur die events fehlen.

ZitatDer mute-Befehl wird ebenfalls nicht ausgeführt. Vom SamsungAV funktinoniert er.
Das hat nichts zu heißen. Die beiden Module setzen unterschiedliche Technologien ein.

Geh mal in den detailsView und schalte den TV mit der Fb aus und wieder an. Ändern sich die timestamps der readings ? Wenn ja, wurden ja die events vom TV empfangen, dann müsste auch das Log die events zeigen.

Grüße Markus

Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: isdnbus am 20 August 2019, 19:52:51
Hallo Markus,

ja du hast richtig spekuliert.
Beim Ein/Aus schalten ändern sich die readings.
Ich habe jetzt mal alles auf meiner Haupt- fhem- Instanz deinstalliert und einen Rasp neu aufgesetzt und bin Stück für Stück deine Anleitung durchgegangen (VERSION v2.0.7Patch_3).
Funktioniert ebenfalls nicht.
set DLNA_42469c1e9ff3 stream http://EureFHEM_IP:8083/fhem/www/image/1.jpg

Zitat- Vorbereitung des FHEMWEB-devices:
Da wir derzeit noch keine Lösung haben, wie wir username/Passwort übergeben können, muss ein FHEMWEB-device gewählt oder ggfs neu erstellt werden, welches nicht mit dem allowed-device verknüpft ist. Der Port dieses devices sollte logischerweise nicht geroutet sein(kein Zugriff von außen)
Es ist das zusätzliche Attribut allowedHttpMethods mit GET|POST|HEAD einzurichten. Bedeutung u. Auswirkungen sind in der commandref   beschrieben.

Frage muss ich noch ein zusätzliches Device vom Typ FHEMWEB anlegen oder habe es richtig verstanden das Attribut allowedHttpMethods mit GET|POST|HEAD in dem 8083 global zu setzen?

Diese Perlmodule habe ich auch installiert.
ZitatSOAP::Lite
LWP::Simple
XML::Simple
XML::Parser::Lite
LWP::UserAgent

Gibt´s es eine Möglichkeit zu prüfen ob sie richtig installiert wurden?

Gruß Bernd

Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: KölnSolar am 20 August 2019, 22:16:04
Hi Bernd,
ZitatBeim Ein/Aus schalten ändern sich die readings.
Dann klappt die Kommunikation über die events ja doch. Das widerspricht aberdieser Aussage (https://forum.fhem.de/index.php/topic,39706.msg967185.html#msg967185). Ich bin verwirrt. Kann es sein, dass es "kurzzeitig" funktioniert und dann aber nach einer "Weile" nicht mehr ? Beobachte mal die DetailsView über einen längeren Zeitraum.(Sollte genügen, dass Du nach einem Fernsehabend noch einen Lautstärkeänderungsbefehl an der Fb machst und nach dem abschalten mit der FB noch einen schnellen Blick auf die DetailsView wirfst. Dort müsste der Status ja auf absent gegangen sein und volume den aktuellen timestamp haben.

Ich bräuchte dann mal das Log bei verbose=5 für: TV einschalten, 1 min. warten, Lautstärke mit der Fb ändern, Lautstärke über FHEM ändern. Bei jeder Aktion die DetailsView von FHEM auf Veränderung(events des TV) beobachten.

ZitatFrage muss ich noch ein zusätzliches Device vom Typ FHEMWEB anlegen oder habe es richtig verstanden das Attribut allowedHttpMethods mit GET|POST|HEAD in dem 8083 global zu setzen?
Das ist korrekt verstanden. Hast Du auch den Hinweis auf "allowed" berücksichtigt ?

ZitatGibt´s es eine Möglichkeit zu prüfen ob sie richtig installiert wurden?
Nein, aber das wird schon richtig sein.

Grüße Markus
Edit: Zu Deinem technischen Verständnis lies bitte mal hier (https://forum.fhem.de/index.php/topic,82890.msg891566.html?PHPSESSID=kgmbchh75q4l7gr7el162oti54#msg891566). Dass Du Veränderungen an den Readings bei An-/abschalten mit der Fb feststellen konntest, liegt daran, dass "systemdevice 2" eine "allgemeine" Nachricht erhalten und verarbeitet hat. Für die Verarbeitung von sonstigen Aktionen ist "systemdevice 3" der "Empfänger". Dabei spielt es keine Rolle, ob der Befehl(z.B. volume) per FB oder FHEM abgesetzt wurde. Wenn also ein z.B. volume-Befehl von der FB in FHEM empfangen wird, dann wissen wir genau, dass der subscription-event-Prozess zu diesem Zeitpunkt funktioniert. Löst zwar nicht das Problem, aber wir wüssten, dass "nur" der FHEM-Befehl beim TV nicht ankommt.(warum auch immer;  :-\ )
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: isdnbus am 21 August 2019, 21:06:10
Hallo Markus,

ich habe mein TV eingeschaltet und ab da ändern sich auch die Readings, wenn die Eingabe über die FB erfolgt. Über FHEM ändern sich nichts.
Das Einschalten habe ich nicht mit aufgezeichnet.

Danach am TV die Lautstärke verändert und anschießend über FHEM versucht die Lautstärke einmal auf 40 und dann auf 18 zu ändern. Das funktioniert jedoch nicht.

2019.08.21 20:47:54 4: DLNARenderer: device DLNA_42469c1e9ff3 received event. Details with verbose=5
2019.08.21 20:47:54 5: DLNARenderer: process event$VAR1 = {
          'Event' => {
                     'xmlns' => 'urn:schemas-upnp-org:metadata-1-0/RCS/',
                     'InstanceID' => {
                                     'Volume' => [
                                                 {
                                                   'channel' => 'Master',
                                                   'val' => '16'
                                                 }
                                               ],
                                     'val' => '0'
                                   }
                   }
        };

2019.08.21 20:47:54 4: DLNARenderer: Update reading volume with 16
2019.08.21 20:47:55 4: DLNARenderer: device DLNA_42469c1e9ff3 received event. Details with verbose=5
2019.08.21 20:47:55 5: DLNARenderer: process event$VAR1 = {
          'Event' => {
                     'InstanceID' => {
                                     'val' => '0',
                                     'Volume' => [
                                                 {
                                                   'channel' => 'Master',
                                                   'val' => '17'
                                                 }
                                               ]
                                   },
                     'xmlns' => 'urn:schemas-upnp-org:metadata-1-0/RCS/'
                   }
        };

2019.08.21 20:47:55 4: DLNARenderer: Update reading volume with 17
2019.08.21 20:47:56 4: DLNARenderer: device DLNA_42469c1e9ff3 received event. Details with verbose=5
2019.08.21 20:47:56 5: DLNARenderer: process event$VAR1 = {
          'Event' => {
                     'xmlns' => 'urn:schemas-upnp-org:metadata-1-0/RCS/',
                     'InstanceID' => {
                                     'Volume' => [
                                                 {
                                                   'channel' => 'Master',
                                                   'val' => '16'
                                                 }
                                               ],
                                     'val' => '0'
                                   }
                   }
        };

2019.08.21 20:47:56 4: DLNARenderer: Update reading volume with 16
2019.08.21 20:47:56 4: DLNARenderer: device DLNA_42469c1e9ff3 received event. Details with verbose=5
2019.08.21 20:47:56 5: DLNARenderer: process event$VAR1 = {
          'Event' => {
                     'InstanceID' => {
                                     'val' => '0',
                                     'Volume' => [
                                                 {
                                                   'channel' => 'Master',
                                                   'val' => '15'
                                                 }
                                               ]
                                   },
                     'xmlns' => 'urn:schemas-upnp-org:metadata-1-0/RCS/'
                   }
        };

2019.08.21 20:47:56 4: DLNARenderer: Update reading volume with 15
2019.08.21 20:47:57 4: DLNARenderer: device DLNA_42469c1e9ff3 received event. Details with verbose=5
2019.08.21 20:47:57 5: DLNARenderer: process event$VAR1 = {
          'Event' => {
                     'InstanceID' => {
                                     'Volume' => [
                                                 {
                                                   'val' => '14',
                                                   'channel' => 'Master'
                                                 }
                                               ],
                                     'val' => '0'
                                   },
                     'xmlns' => 'urn:schemas-upnp-org:metadata-1-0/RCS/'
                   }
        };

2019.08.21 20:47:57 4: DLNARenderer: Update reading volume with 14
2019.08.21 20:47:57 4: DLNARenderer: device DLNA_42469c1e9ff3 received event. Details with verbose=5
2019.08.21 20:47:57 5: DLNARenderer: process event$VAR1 = {
          'Event' => {
                     'xmlns' => 'urn:schemas-upnp-org:metadata-1-0/RCS/',
                     'InstanceID' => {
                                     'Volume' => [
                                                 {
                                                   'channel' => 'Master',
                                                   'val' => '13'
                                                 }
                                               ],
                                     'val' => '0'
                                   }
                   }
        };

2019.08.21 20:47:57 4: DLNARenderer: Update reading volume with 13
2019.08.21 20:48:39 5: DLNARenderer: DLNA_42469c1e9ff3, RenderingControl: urn:schemas-upnp-org:service:RenderingControl:1 found. OK.
2019.08.21 20:48:39 4: DLNARenderer: DLNA_42469c1e9ff3, RenderingControl, SetVolume(0,Master,40) does not exist.
2019.08.21 20:48:39 4: DLNARenderer: DLNA_42469c1e9ff3, RenderingControl, SetVolume(0,Master,40) does not exist.
2019.08.21 20:48:39 4: DLNARenderer: DLNA_42469c1e9ff3, RenderingControl, SetVolume(0,Master,40) does not exist.
2019.08.21 20:51:15 5: DLNARenderer: DLNA_42469c1e9ff3, RenderingControl: urn:schemas-upnp-org:service:RenderingControl:1 found. OK.
2019.08.21 20:51:15 4: DLNARenderer: DLNA_42469c1e9ff3, RenderingControl, SetVolume(0,Master,18) does not exist.
2019.08.21 20:51:15 4: DLNARenderer: DLNA_42469c1e9ff3, RenderingControl, SetVolume(0,Master,18) does not exist.
2019.08.21 20:51:15 4: DLNARenderer: DLNA_42469c1e9ff3, RenderingControl, SetVolume(0,Master,18) does not exist.


ZitatHast Du auch den Hinweis auf "allowed" berücksichtigt ?
Jetzt wo ich da noch etwas mehr nachgelesen habe, wohl nicht. ::) Bin aber zur Zeit etwas ratlos was ich genau machen muss/soll :(

Gruß Bernd
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: KölnSolar am 21 August 2019, 23:10:12
Hi Bernd,

event klappt.  :D

Dann nur das  allowed ? Musste jetzt selber wieder überlegen, warum das überhaupt notwendig war.  :-[ Nur, wenn man(wie Du es mal probiert hast) eine Mediendatei über den FHEM-Server streamen möchte also IP:Port/.... Dieser Port, darf dann nicht mit dem allowed-device verknüpft sein, also nicht attr allowed_device validFor FhemWebdevicemitPort.

Dass die anderen FHEM-Befehle nicht ankommen, dürfte aber nichts damit zu tun haben. Mich wundert
Zitat2019.08.21 20:48:39 5: DLNARenderer: DLNA_42469c1e9ff3, RenderingControl: urn:schemas-upnp-org:service:RenderingControl:1 found. OK.
2019.08.21 20:48:39 4: DLNARenderer: DLNA_42469c1e9ff3, RenderingControl, SetVolume(0,Master,40) does not exist.
In dem Fall ist es klar, dass kein Befehl ankam. Übersetzt heißen die beiden Zeilen: Es wurde ein Service RenderingControl für den TV gefunden. Der beinhaltet aber keine action  setVolume.  :o ??? Ist es bei channel und mute dasselbe ?

Mach mal http://DeineTVIP:9197/RenderingControl_1.xml u. http://DeineTVIP:9197/AVTransport_1.xml und poste das Ergebnis. Ein http://DeineTVIP:8001/api/v2/ würde mich auch interessieren(den Post ein wenig anonymisieren  ;))

Grüße Markus
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: isdnbus am 27 August 2019, 19:57:19
Hallo Markus,

nachfolgend die Rückmeldungen vom TV:

Die api/v2

{"device":{"FrameTVSupport":"false","GamePadSupport":"true","ImeSyncedSupport":"true","OS":"Tizen","TokenAuthSupport":"true","VoiceSupport":"true","countryCode":"DE","description":"Samsung DTV RCR","developerIP":"0.0.0.0","developerMode":"0","duid":"uuid:336fdf74-eeb6-438a-824a-5c14b5fd2aa4","firmwareVersion":"Unknown","id":"uuid:336fdf74-eeb6-438a-824a-5c14b5fd2aa4","ip":"111.112.113.114","model":"18_KANTM2_QTV","modelName":"GQ55Q6FNG","name":"[TV] Samsung Q6 Series (55)","networkType":"wireless","resolution":"3840x2160","smartHubAgreement":"true","ssid":"e8:df:70:65:cc:dd","type":"Samsung SmartTV","udn":"uuid:336fdf74-eeb6-438a-824a-5c14b5fd2aa4","wifiMac":"C0:48:E6:FF:FE:FC"},"id":"uuid:336fdf74-eeb6-438a-824a-5c14b5fd2aa4","isSupport":"{\"DMP_DRM_PLAYREADY\":\"false\",\"DMP_DRM_WIDEVINE\":\"false\",\"DMP_available\":\"true\",\"EDEN_available\":\"true\",\"FrameTVSupport\":\"false\",\"ImeSyncedSupport\":\"true\",\"TokenAuthSupport\":\"true\",\"remote_available\":\"true\",\"remote_fourDirections\":\"true\",\"remote_touchPad\":\"true\",\"remote_voiceControl\":\"true\"}\n","name":"[TV] Samsung Q6 Series (55)","remote":"1.0","type":"Samsung SmartTV","uri":"http://111.112.113.114:8001/api/v2/","version":"2.0.25"}


Die AVTransport_1.xml

<scpd><specVersion><major>1</major><minor>0</minor></specVersion><actionList><action><name>Play</name><argumentList><argument><name>InstanceID</name><direction>in</direction><relatedStateVariable>A_ARG_TYPE_InstanceID</relatedStateVariable></argument><argument><name>Speed</name><direction>in</direction><relatedStateVariable>TransportPlaySpeed</relatedStateVariable></argument></argumentList></action><action><name>Stop</name><argumentList><argument><name>InstanceID</name><direction>in</direction><relatedStateVariable>A_ARG_TYPE_InstanceID</relatedStateVariable></argument></argumentList></action><action><name>Next</name><argumentList><argument><name>InstanceID</name><direction>in</direction><relatedStateVariable>A_ARG_TYPE_InstanceID</relatedStateVariable></argument></argumentList></action><action><name>Previous</name><argumentList><argument><name>InstanceID</name><direction>in</direction><relatedStateVariable>A_ARG_TYPE_InstanceID</relatedStateVariable></argument></argumentList></action><action><name>SetPlayMode</name><argumentList><argument><name>InstanceID</name><direction>in</direction><relatedStateVariable>A_ARG_TYPE_InstanceID</relatedStateVariable></argument><argument><name>NewPlayMode</name><direction>in</direction><relatedStateVariable>CurrentPlayMode</relatedStateVariable></argument></argumentList></action><action><name>GetMediaInfo</name><argumentList><argument><name>InstanceID</name><direction>in</direction><relatedStateVariable>A_ARG_TYPE_InstanceID</relatedStateVariable></argument><argument><name>NrTracks</name><direction>out</direction><relatedStateVariable>NumberOfTracks</relatedStateVariable><defaultValue>0</defaultValue></argument><argument><name>MediaDuration</name><direction>out</direction><relatedStateVariable>CurrentMediaDuration</relatedStateVariable></argument><argument><name>CurrentURI</name><direction>out</direction><relatedStateVariable>AVTransportURI</relatedStateVariable></argument><argument><name>CurrentURIMetaData</name><direction>out</direction><relatedStateVariable>AVTransportURIMetaData</relatedStateVariable></argument><argument><name>NextURI</name><direction>out</direction><relatedStateVariable>NextAVTransportURI</relatedStateVariable></argument><argument><name>NextURIMetaData</name><direction>out</direction><relatedStateVariable>NextAVTransportURIMetaData</relatedStateVariable></argument><argument><name>PlayMedium</name><direction>out</direction><relatedStateVariable>PlaybackStorageMedium</relatedStateVariable></argument><argument><name>RecordMedium</name><direction>out</direction><relatedStateVariable>RecordStorageMedium</relatedStateVariable></argument><argument><name>WriteStatus</name><direction>out</direction><relatedStateVariable>RecordMediumWriteStatus</relatedStateVariable></argument></argumentList></action><action><name>GetDeviceCapabilities</name><argumentList><argument><name>InstanceID</name><direction>in</direction><relatedStateVariable>A_ARG_TYPE_InstanceID</relatedStateVariable></argument><argument><name>PlayMedia</name><direction>out</direction><relatedStateVariable>PossiblePlaybackStorageMedia</relatedStateVariable></argument><argument><name>RecMedia</name><direction>out</direction><relatedStateVariable>PossibleRecordStorageMedia</relatedStateVariable></argument><argument><name>RecQualityModes</name><direction>out</direction><relatedStateVariable>PossibleRecordQualityModes</relatedStateVariable></argument></argumentList></action><action><name>SetAVTransportURI</name><argumentList><argument><name>InstanceID</name><direction>in</direction><relatedStateVariable>A_ARG_TYPE_InstanceID</relatedStateVariable></argument><argument><name>CurrentURI</name><direction>in</direction><relatedStateVariable>AVTransportURI</relatedStateVariable></argument><argument><name>CurrentURIMetaData</name><direction>in</direction><relatedStateVariable>AVTransportURIMetaData</relatedStateVariable></argument></argumentList></action><action><name>SetNextAVTransportURI</name><argumentList><argument><name>InstanceID</name><direction>in</direction><relatedStateVariable>A_ARG_TYPE_InstanceID</relatedStateVariable></argument><argument><name>NextURI</name><direction>in</direction><relatedStateVariable>NextAVTransportURI</relatedStateVariable></argument><argument><name>NextURIMetaData</name><direction>in</direction><relatedStateVariable>NextAVTransportURIMetaData</relatedStateVariable></argument></argumentList></action><action><name>X_PrefetchURI</name><argumentList><argument><name>InstanceID</name><direction>in</direction><relatedStateVariable>A_ARG_TYPE_InstanceID</relatedStateVariable></argument><argument><name>PrefetchURI</name><direction>in</direction><relatedStateVariable>A_ARG_TYPE_PrefetchURI</relatedStateVariable></argument><argument><name>PrefetchURIMetaData</name><direction>in</direction><relatedStateVariable>A_ARG_TYPE_PrefetchURIMetaData</relatedStateVariable></argument></argumentList></action><action><name>GetTransportSettings</name><argumentList><argument><name>InstanceID</name><direction>in</direction><relatedStateVariable>A_ARG_TYPE_InstanceID</relatedStateVariable></argument><argument><name>PlayMode</name><direction>out</direction><relatedStateVariable>CurrentPlayMode</relatedStateVariable></argument><argument><name>RecQualityMode</name><direction>out</direction><relatedStateVariable>CurrentRecordQualityMode</relatedStateVariable></argument></argumentList></action><action><name>GetTransportInfo</name><argumentList><argument><name>InstanceID</name><direction>in</direction><relatedStateVariable>A_ARG_TYPE_InstanceID</relatedStateVariable></argument><argument><name>CurrentTransportState</name><direction>out</direction><relatedStateVariable>TransportState</relatedStateVariable></argument><argument><name>CurrentTransportStatus</name><direction>out</direction><relatedStateVariable>TransportStatus</relatedStateVariable></argument><argument><name>CurrentSpeed</name><direction>out</direction><relatedStateVariable>TransportPlaySpeed</relatedStateVariable></argument></argumentList></action><action><name>Pause</name><argumentList><argument><name>InstanceID</name><direction>in</direction><relatedStateVariable>A_ARG_TYPE_InstanceID</relatedStateVariable></argument></argumentList></action><action><name>Seek</name><argumentList><argument><name>InstanceID</name><direction>in</direction><relatedStateVariable>A_ARG_TYPE_InstanceID</relatedStateVariable></argument><argument><name>Unit</name><direction>in</direction><relatedStateVariable>A_ARG_TYPE_SeekMode</relatedStateVariable></argument><argument><name>Target</name><direction>in</direction><relatedStateVariable>A_ARG_TYPE_SeekTarget</relatedStateVariable></argument></argumentList></action><action><name>GetPositionInfo</name><argumentList><argument><name>InstanceID</name><direction>in</direction><relatedStateVariable>A_ARG_TYPE_InstanceID</relatedStateVariable></argument><argument><name>Track</name><direction>out</direction><relatedStateVariable>CurrentTrack</relatedStateVariable></argument><argument><name>TrackDuration</name><direction>out</direction><relatedStateVariable>CurrentTrackDuration</relatedStateVariable></argument><argument><name>TrackMetaData</name><direction>out</direction><relatedStateVariable>CurrentTrackMetaData</relatedStateVariable></argument><argument><name>TrackURI</name><direction>out</direction><relatedStateVariable>CurrentTrackURI</relatedStateVariable></argument><argument><name>RelTime</name><direction>out</direction><relatedStateVariable>RelativeTimePosition</relatedStateVariable></argument><argument><name>AbsTime</name><direction>out</direction><relatedStateVariable>AbsoluteTimePosition</relatedStateVariable></argument><argument><name>RelCount</name><direction>out</direction><relatedStateVariable>RelativeCounterPosition</relatedStateVariable></argument><argument><name>AbsCount</name><direction>out</direction><relatedStateVariable>AbsoluteCounterPosition</relatedStateVariable></argument></argumentList></action><action><name>GetCurrentTransportActions</name><argumentList><argument><name>InstanceID</name><direction>in</direction><relatedStateVariable>A_ARG_TYPE_InstanceID</relatedStateVariable></argument><argument><name>Actions</name><direction>out</direction><relatedStateVariable>CurrentTransportActions</relatedStateVariable></argument></argumentList></action><action><name>X_DLNA_GetBytePositionInfo</name><argumentList><argument><name>InstanceID</name><direction>in</direction><relatedStateVariable>A_ARG_TYPE_InstanceID</relatedStateVariable></argument><argument><name>TrackSize</name><direction>out</direction><relatedStateVariable>X_DLNA_CurrentTrackSize</relatedStateVariable></argument><argument><name>RelByte</name><direction>out</direction><relatedStateVariable>X_DLNA_RelativeBytePosition</relatedStateVariable></argument><argument><name>AbsByte</name><direction>out</direction><relatedStateVariable>X_DLNA_AbsoluteBytePosition</relatedStateVariable></argument></argumentList></action><action><name>X_GetStoppedReason</name><argumentList><argument><name>InstanceID</name><direction>in</direction><relatedStateVariable>A_ARG_TYPE_InstanceID</relatedStateVariable></argument><argument><name>StoppedReason</name><direction>out</direction><relatedStateVariable>A_ARG_TYPE_StoppedReason</relatedStateVariable></argument><argument><name>StoppedReasonData</name><direction>out</direction><relatedStateVariable>A_ARG_TYPE_StoppedReasonData</relatedStateVariable></argument></argumentList></action><action><name>X_PlayerAppHint</name><argumentList><argument><name>InstanceID</name><direction>in</direction><relatedStateVariable>A_ARG_TYPE_InstanceID</relatedStateVariable></argument><argument><name>UpnpClass</name><direction>in</direction><relatedStateVariable>X_ARG_TYPE_UpnpClass</relatedStateVariable></argument><argument><name>PlayerHint</name><direction>in</direction><relatedStateVariable>X_ARG_TYPE_PlayerHint</relatedStateVariable></argument></argumentList></action></actionList><serviceStateTable><stateVariable sendEvents="no"><name>TransportState</name><dataType>string</dataType><allowedValueList><allowedValue>STOPPED</allowedValue><allowedValue>PAUSED_PLAYBACK</allowedValue><allowedValue>PLAYING</allowedValue><allowedValue>TRANSITIONING</allowedValue><allowedValue>NO_MEDIA_PRESENT</allowedValue></allowedValueList><defaultValue>NO_MEDIA_PRESENT</defaultValue></stateVariable><stateVariable sendEvents="no"><name>TransportStatus</name><dataType>string</dataType><allowedValueList><allowedValue>OK</allowedValue><allowedValue>ERROR_OCCURRED</allowedValue></allowedValueList><defaultValue>OK</defaultValue></stateVariable><stateVariable sendEvents="no"><name>TransportPlaySpeed</name><dataType>string</dataType><defaultValue>1</defaultValue></stateVariable><stateVariable sendEvents="no"><name>NumberOfTracks</name><dataType>ui4</dataType><allowedValueRange><minimum>0</minimum><maximum>4294967295</maximum></allowedValueRange><defaultValue>0</defaultValue></stateVariable><stateVariable sendEvents="no"><name>CurrentMediaDuration</name><dataType>string</dataType><defaultValue>00:00:00</defaultValue></stateVariable><stateVariable sendEvents="no"><name>AVTransportURI</name><dataType>string</dataType></stateVariable><stateVariable sendEvents="no"><name>AVTransportURIMetaData</name><dataType>string</dataType></stateVariable><stateVariable sendEvents="no"><name>PlaybackStorageMedium</name><dataType>string</dataType><allowedValueList><allowedValue>NONE</allowedValue><allowedValue>NETWORK</allowedValue></allowedValueList><defaultValue>NONE</defaultValue></stateVariable><stateVariable sendEvents="no"><name>CurrentTrack</name><dataType>ui4</dataType><allowedValueRange><minimum>0</minimum><maximum>4294967295</maximum><step>1</step></allowedValueRange><defaultValue>0</defaultValue></stateVariable><stateVariable sendEvents="no"><name>CurrentTrackDuration</name><dataType>string</dataType><defaultValue>00:00:00</defaultValue></stateVariable><stateVariable sendEvents="no"><name>CurrentTrackMetaData</name><dataType>string</dataType></stateVariable><stateVariable sendEvents="no"><name>CurrentTrackURI</name><dataType>string</dataType></stateVariable><stateVariable sendEvents="no"><name>RelativeTimePosition</name><dataType>string</dataType><defaultValue>00:00:00</defaultValue></stateVariable><stateVariable sendEvents="no"><name>AbsoluteTimePosition</name><dataType>string</dataType><defaultValue>00:00:00</defaultValue></stateVariable><stateVariable sendEvents="no"><name>NextAVTransportURI</name><dataType>string</dataType></stateVariable><stateVariable sendEvents="no"><name>NextAVTransportURIMetaData</name><dataType>string</dataType></stateVariable><stateVariable sendEvents="no"><name>CurrentTransportActions</name><dataType>string</dataType></stateVariable><stateVariable sendEvents="no"><name>RecordStorageMedium</name><dataType>string</dataType><allowedValueList><allowedValue>NOT_IMPLEMENTED</allowedValue></allowedValueList><defaultValue>NOT_IMPLEMENTED</defaultValue></stateVariable><stateVariable sendEvents="no"><name>RecordMediumWriteStatus</name><dataType>string</dataType><allowedValueList><allowedValue>NOT_IMPLEMENTED</allowedValue></allowedValueList><defaultValue>NOT_IMPLEMENTED</defaultValue></stateVariable><stateVariable sendEvents="no"><name>RelativeCounterPosition</name><dataType>i4</dataType><defaultValue>2147483647</defaultValue></stateVariable><stateVariable sendEvents="no"><name>AbsoluteCounterPosition</name><dataType>i4</dataType><defaultValue>2147483647</defaultValue></stateVariable><stateVariable sendEvents="no"><name>PossiblePlaybackStorageMedia</name><dataType>string</dataType><defaultValue>NETWORK</defaultValue></stateVariable><stateVariable sendEvents="no"><name>PossibleRecordStorageMedia</name><dataType>string</dataType><defaultValue>NOT_IMPLEMENTED</defaultValue></stateVariable><stateVariable sendEvents="no"><name>PossibleRecordQualityModes</name><dataType>string</dataType><defaultValue>NOT_IMPLEMENTED</defaultValue></stateVariable><stateVariable sendEvents="no"><name>CurrentPlayMode</name><dataType>string</dataType><allowedValueList><allowedValue>NORMAL</allowedValue></allowedValueList><defaultValue>NORMAL</defaultValue></stateVariable><stateVariable sendEvents="no"><name>CurrentRecordQualityMode</name><dataType>string</dataType><allowedValueList><allowedValue>NOT_IMPLEMENTED</allowedValue></allowedValueList><defaultValue>NOT_IMPLEMENTED</defaultValue></stateVariable><stateVariable sendEvents="yes"><name>LastChange</name><dataType>string</dataType></stateVariable><stateVariable sendEvents="no"><name>A_ARG_TYPE_InstanceID</name><dataType>ui4</dataType></stateVariable><stateVariable sendEvents="no"><name>A_ARG_TYPE_PrefetchURI</name><dataType>string</dataType></stateVariable><stateVariable sendEvents="no"><name>A_ARG_TYPE_PrefetchURIMetaData</name><dataType>string</dataType></stateVariable><stateVariable sendEvents="no"><name>A_ARG_TYPE_SeekMode</name><dataType>string</dataType><allowedValueList><allowedValue>TRACK_NR</allowedValue><allowedValue>REL_TIME</allowedValue><allowedValue>ABS_TIME</allowedValue><allowedValue>ABS_COUNT</allowedValue><allowedValue>REL_COUNT</allowedValue><allowedValue>X_DLNA_REL_BYTE</allowedValue></allowedValueList><defaultValue>REL_TIME</defaultValue></stateVariable><stateVariable sendEvents="no"><name>A_ARG_TYPE_SeekTarget</name><dataType>string</dataType></stateVariable><stateVariable sendEvents="no"><name>X_DLNA_RelativeBytePosition</name><dataType>string</dataType></stateVariable><stateVariable sendEvents="no"><name>X_DLNA_AbsoluteBytePosition</name><dataType>string</dataType></stateVariable><stateVariable sendEvents="no"><name>X_DLNA_CurrentTrackSize</name><dataType>string</dataType></stateVariable><stateVariable sendEvents="no"><name>A_ARG_TYPE_StoppedReason</name><dataType>string</dataType></stateVariable><stateVariable sendEvents="no"><name>A_ARG_TYPE_StoppedReasonData</name><dataType>string</dataType></stateVariable><stateVariable sendEvents="no"><name>X_ARG_TYPE_UpnpClass</name><dataType>string</dataType><allowedValueList><allowedValue>object.item.imageItem</allowedValue><allowedValue>object.item.audioItem</allowedValue><allowedValue>object.item.videoItem</allowedValue></allowedValueList></stateVariable><stateVariable sendEvents="no"><name>X_ARG_TYPE_PlayerHint</name><dataType>string</dataType><allowedValueList><allowedValue>load</allowedValue><allowedValue>unload</allowedValue></allowedValueList></stateVariable></serviceStateTable></scpd>

Die 9197/RenderingControl_1.xml

<scpd><specVersion><major>1</major><minor>0</minor></specVersion><actionList><action><name>ListPresets</name><argumentList><argument><name>InstanceID</name><direction>in</direction><relatedStateVariable>A_ARG_TYPE_InstanceID</relatedStateVariable></argument><argument><name>CurrentPresetNameList</name><direction>out</direction><relatedStateVariable>PresetNameList</relatedStateVariable></argument></argumentList></action><action><name>SelectPreset</name><argumentList><argument><name>InstanceID</name><direction>in</direction><relatedStateVariable>A_ARG_TYPE_InstanceID</relatedStateVariable></argument><argument><name>PresetName</name><direction>in</direction><relatedStateVariable>A_ARG_TYPE_PresetName</relatedStateVariable></argument></argumentList></action><action><name>GetMute</name><argumentList><argument><name>InstanceID</name><direction>in</direction><relatedStateVariable>A_ARG_TYPE_InstanceID</relatedStateVariable></argument><argument><name>Channel</name><direction>in</direction><relatedStateVariable>A_ARG_TYPE_Channel</relatedStateVariable></argument><argument><name>CurrentMute</name><direction>out</direction><relatedStateVariable>Mute</relatedStateVariable></argument></argumentList></action><action><name>SetMute</name><argumentList><argument><name>InstanceID</name><direction>in</direction><relatedStateVariable>A_ARG_TYPE_InstanceID</relatedStateVariable></argument><argument><name>Channel</name><direction>in</direction><relatedStateVariable>A_ARG_TYPE_Channel</relatedStateVariable></argument><argument><name>DesiredMute</name><direction>in</direction><relatedStateVariable>Mute</relatedStateVariable></argument></argumentList></action><action><name>GetVolume</name><argumentList><argument><name>InstanceID</name><direction>in</direction><relatedStateVariable>A_ARG_TYPE_InstanceID</relatedStateVariable></argument><argument><name>Channel</name><direction>in</direction><relatedStateVariable>A_ARG_TYPE_Channel</relatedStateVariable></argument><argument><name>CurrentVolume</name><direction>out</direction><relatedStateVariable>Volume</relatedStateVariable></argument></argumentList></action><action><name>SetVolume</name><argumentList><argument><name>InstanceID</name><direction>in</direction><relatedStateVariable>A_ARG_TYPE_InstanceID</relatedStateVariable></argument><argument><name>Channel</name><direction>in</direction><relatedStateVariable>A_ARG_TYPE_Channel</relatedStateVariable></argument><argument><name>DesiredVolume</name><direction>in</direction><relatedStateVariable>Volume</relatedStateVariable></argument></argumentList></action><action><name>X_GetAspectRatio</name><argumentList><argument><name>InstanceID</name><direction>in</direction><relatedStateVariable>A_ARG_TYPE_InstanceID</relatedStateVariable></argument><argument><name>AspectRatio</name><direction>out</direction><relatedStateVariable>X_AspectRatio</relatedStateVariable></argument></argumentList></action><action><name>X_SetAspectRatio</name><argumentList><argument><name>InstanceID</name><direction>in</direction><relatedStateVariable>A_ARG_TYPE_InstanceID</relatedStateVariable></argument><argument><name>AspectRatio</name><direction>in</direction><relatedStateVariable>X_AspectRatio</relatedStateVariable></argument></argumentList></action><action><name>X_Move360View</name><argumentList><argument><name>InstanceID</name><direction>in</direction><relatedStateVariable>A_ARG_TYPE_InstanceID</relatedStateVariable></argument><argument><name>LatitudeOffset</name><direction>in</direction><relatedStateVariable>X_ARG_TYPE_ArcDegreeOffset</relatedStateVariable></argument><argument><name>LongitudeOffset</name><direction>in</direction><relatedStateVariable>X_ARG_TYPE_ArcDegreeOffset</relatedStateVariable></argument></argumentList></action><action><name>X_Zoom360View</name><argumentList><argument><name>InstanceID</name><direction>in</direction><relatedStateVariable>A_ARG_TYPE_InstanceID</relatedStateVariable></argument><argument><name>ScaleFactorOffset</name><direction>in</direction><relatedStateVariable>X_ARG_TYPE_ScaleFactorOffset</relatedStateVariable></argument></argumentList></action><action><name>X_Origin360View</name><argumentList><argument><name>InstanceID</name><direction>in</direction><relatedStateVariable>A_ARG_TYPE_InstanceID</relatedStateVariable></argument></argumentList></action><action><name>X_ControlCaption</name><argumentList><argument><name>InstanceID</name><direction>in</direction><relatedStateVariable>A_ARG_TYPE_InstanceID</relatedStateVariable></argument><argument><name>Operation</name><direction>in</direction><relatedStateVariable>X_ARG_TYPE_CaptionOperation</relatedStateVariable></argument><argument><name>Name</name><direction>in</direction><relatedStateVariable>X_ARG_TYPE_CaptionName</relatedStateVariable></argument><argument><name>ResourceURI</name><direction>in</direction><relatedStateVariable>X_ARG_TYPE_ResourceURI</relatedStateVariable></argument><argument><name>CaptionURI</name><direction>in</direction><relatedStateVariable>X_ARG_TYPE_CaptionURI</relatedStateVariable></argument><argument><name>CaptionType</name><direction>in</direction><relatedStateVariable>X_ARG_TYPE_CaptionType</relatedStateVariable></argument><argument><name>Language</name><direction>in</direction><relatedStateVariable>X_ARG_TYPE_Language</relatedStateVariable></argument><argument><name>Encoding</name><direction>in</direction><relatedStateVariable>X_ARG_TYPE_Encoding</relatedStateVariable></argument></argumentList></action><action><name>X_GetCaptionState</name><argumentList><argument><name>InstanceID</name><direction>in</direction><relatedStateVariable>A_ARG_TYPE_InstanceID</relatedStateVariable></argument><argument><name>Captions</name><direction>out</direction><relatedStateVariable>X_Captions</relatedStateVariable></argument><argument><name>EnabledCaptions</name><direction>out</direction><relatedStateVariable>X_EnabledCaptions</relatedStateVariable></argument></argumentList></action><action><name>X_GetServiceCapabilities</name><argumentList><argument><name>InstanceID</name><direction>in</direction><relatedStateVariable>A_ARG_TYPE_InstanceID</relatedStateVariable></argument><argument><name>ServiceCapabilities</name><direction>out</direction><relatedStateVariable>X_ServiceCapabilities</relatedStateVariable></argument></argumentList></action><action><name>X_SetZoom</name><argumentList><argument><name>InstanceID</name><direction>in</direction><relatedStateVariable>A_ARG_TYPE_InstanceID</relatedStateVariable></argument><argument><name>x</name><direction>in</direction><relatedStateVariable>A_ARG_TYPE_Coordinate</relatedStateVariable></argument><argument><name>y</name><direction>in</direction><relatedStateVariable>A_ARG_TYPE_Coordinate</relatedStateVariable></argument><argument><name>w</name><direction>in</direction><relatedStateVariable>A_ARG_TYPE_Coordinate</relatedStateVariable></argument><argument><name>h</name><direction>in</direction><relatedStateVariable>A_ARG_TYPE_Coordinate</relatedStateVariable></argument></argumentList></action><action><name>X_GetTVSlideShow</name><argumentList><argument><name>InstanceID</name><direction>in</direction><relatedStateVariable>A_ARG_TYPE_InstanceID</relatedStateVariable></argument><argument><name>CurrentShowState</name><direction>out</direction><relatedStateVariable>A_ARG_TYPE_SlideShowState</relatedStateVariable></argument><argument><name>CurrentThemeId</name><direction>out</direction><relatedStateVariable>A_ARG_TYPE_ThemeId</relatedStateVariable></argument><argument><name>TotalThemeNumber</name><direction>out</direction><relatedStateVariable>A_ARG_TYPE_TotalThemeNumber</relatedStateVariable></argument></argumentList></action><action><name>X_SetTVSlideShow</name><argumentList><argument><name>InstanceID</name><direction>in</direction><relatedStateVariable>A_ARG_TYPE_InstanceID</relatedStateVariable></argument><argument><name>CurrentShowState</name><direction>in</direction><relatedStateVariable>A_ARG_TYPE_SlideShowState</relatedStateVariable></argument><argument><name>CurrentShowTheme</name><direction>in</direction><relatedStateVariable>A_ARG_TYPE_ThemeId</relatedStateVariable></argument></argumentList></action></actionList><serviceStateTable><stateVariable sendEvents="no"><name>PresetNameList</name><dataType>string</dataType><defaultValue>FactoryDefaults</defaultValue></stateVariable><stateVariable sendEvents="yes"><name>LastChange</name><dataType>string</dataType></stateVariable><stateVariable sendEvents="no"><name>Mute</name><dataType>boolean</dataType></stateVariable><stateVariable sendEvents="no"><name>Volume</name><dataType>ui2</dataType><allowedValueRange><minimum>0</minimum><maximum>100</maximum><step>1</step></allowedValueRange></stateVariable><stateVariable sendEvents="no"><name>A_ARG_TYPE_Channel</name><dataType>string</dataType><allowedValueList><allowedValue>Master</allowedValue></allowedValueList></stateVariable><stateVariable sendEvents="no"><name>A_ARG_TYPE_InstanceID</name><dataType>ui4</dataType></stateVariable><stateVariable sendEvents="no"><name>A_ARG_TYPE_PresetName</name><dataType>string</dataType><allowedValueList><allowedValue>FactoryDefaults</allowedValue></allowedValueList></stateVariable><stateVariable sendEvents="no"><name>X_AspectRatio</name><dataType>string</dataType><defaultValue>Default</defaultValue><allowedValueList><allowedValue>Default</allowedValue><allowedValue>FitScreen</allowedValue></allowedValueList></stateVariable><stateVariable sendEvents="no"><name>X_ARG_TYPE_ArcDegreeOffset</name><defaultValue>0.0</defaultValue><dataType>float</dataType></stateVariable><stateVariable sendEvents="no"><name>X_ARG_TYPE_ScaleFactorOffset</name><dataType>float</dataType><defaultValue>1.0</defaultValue></stateVariable><stateVariable sendEvents="no"><name>X_ARG_TYPE_CaptionOperation</name><dataType>string</dataType><allowedValueList><allowedValue>Enable</allowedValue><allowedValue>Disable</allowedValue></allowedValueList></stateVariable><stateVariable sendEvents="no"><name>X_ARG_TYPE_CaptionName</name><dataType>string</dataType></stateVariable><stateVariable sendEvents="no"><name>X_ARG_TYPE_ResourceURI</name><dataType>string</dataType></stateVariable><stateVariable sendEvents="no"><name>X_ARG_TYPE_CaptionURI</name><dataType>string</dataType></stateVariable><stateVariable sendEvents="no"><name>X_ARG_TYPE_CaptionType</name><dataType>string</dataType></stateVariable><stateVariable sendEvents="no"><name>X_ARG_TYPE_Language</name><dataType>string</dataType></stateVariable><stateVariable sendEvents="no"><name>X_ARG_TYPE_Encoding</name><dataType>string</dataType></stateVariable><stateVariable sendEvents="no"><name>X_Captions</name><dataType>string</dataType></stateVariable><stateVariable sendEvents="no"><name>X_EnabledCaptions</name><dataType>string</dataType></stateVariable><stateVariable sendEvents="no"><name>X_ServiceCapabilities</name><dataType>string</dataType></stateVariable><stateVariable sendEvents="no"><name>A_ARG_TYPE_Coordinate</name><dataType>ui4</dataType></stateVariable><stateVariable sendEvents="no"><name>A_ARG_TYPE_SlideShowState</name><dataType>boolean</dataType></stateVariable><stateVariable sendEvents="no"><name>A_ARG_TYPE_ThemeId</name><dataType>ui4</dataType></stateVariable><stateVariable sendEvents="no"><name>A_ARG_TYPE_TotalThemeNumber</name><dataType>ui4</dataType></stateVariable></serviceStateTable></scpd>

Ich hoffe es hilft weiter

Gruß Bernd
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: KölnSolar am 27 August 2019, 22:26:25
Hi Bernd,
leider erst einmal nicht. Dein TV kann die "üblichen" actions. Das muss ich dann detaillierter mit meinen Ausgaben vergleichen.

In etwas übersichtlicher Form Deine actions:
<scpd><specVersion><major>1</major><minor>0</minor></specVersion>
<actionList>
<action><name>ListPresets</name><argumentList><argument><name>InstanceID</name><direction>in</direction><relatedStateVariable>A_ARG_TYPE_InstanceID</relatedStateVariable></argument><argument><name>CurrentPresetNameList</name><direction>out</direction><relatedStateVariable>PresetNameList</relatedStateVariable></argument></argumentList></action>
<action><name>SelectPreset</name><argumentList><argument><name>InstanceID</name><direction>in</direction><relatedStateVariable>A_ARG_TYPE_InstanceID</relatedStateVariable></argument><argument><name>PresetName</name><direction>in</direction><relatedStateVariable>A_ARG_TYPE_PresetName</relatedStateVariable></argument></argumentList></action>
<action><name>GetMute</name><argumentList><argument><name>InstanceID</name><direction>in</direction><relatedStateVariable>A_ARG_TYPE_InstanceID</relatedStateVariable></argument><argument><name>Channel</name><direction>in</direction><relatedStateVariable>A_ARG_TYPE_Channel</relatedStateVariable></argument><argument><name>CurrentMute</name><direction>out</direction><relatedStateVariable>Mute</relatedStateVariable></argument></argumentList></action
<action><name>SetMute</name><argumentList><argument><name>InstanceID</name><direction>in</direction><relatedStateVariable>A_ARG_TYPE_InstanceID</relatedStateVariable></argument><argument><name>Channel</name><direction>in</direction><relatedStateVariable>A_ARG_TYPE_Channel</relatedStateVariable></argument><argument><name>DesiredMute</name><direction>in</direction><relatedStateVariable>Mute</relatedStateVariable></argument></argumentList></action>
<action><name>GetVolume</name><argumentList><argument><name>InstanceID</name><direction>in</direction><relatedStateVariable>A_ARG_TYPE_InstanceID</relatedStateVariable></argument><argument><name>Channel</name><direction>in</direction><relatedStateVariable>A_ARG_TYPE_Channel</relatedStateVariable></argument><argument><name>CurrentVolume</name><direction>out</direction><relatedStateVariable>Volume</relatedStateVariable></argument></argumentList></action>
<action><name>SetVolume</name><argumentList><argument><name>InstanceID</name><direction>in</direction><relatedStateVariable>A_ARG_TYPE_InstanceID</relatedStateVariable></argument><argument><name>Channel</name><direction>in</direction><relatedStateVariable>A_ARG_TYPE_Channel</relatedStateVariable></argument><argument><name>DesiredVolume</name><direction>in</direction><relatedStateVariable>Volume</relatedStateVariable></argument></argumentList></action>
<action><name>X_GetAspectRatio</name><argumentList><argument><name>InstanceID</name><direction>in</direction><relatedStateVariable>A_ARG_TYPE_InstanceID</relatedStateVariable></argument><argument><name>AspectRatio</name><direction>out</direction><relatedStateVariable>X_AspectRatio</relatedStateVariable></argument></argumentList></action>
<action><name>X_SetAspectRatio</name><argumentList><argument><name>InstanceID</name><direction>in</direction><relatedStateVariable>A_ARG_TYPE_InstanceID</relatedStateVariable></argument><argument><name>AspectRatio</name><direction>in</direction><relatedStateVariable>X_AspectRatio</relatedStateVariable></argument></argumentList></action>
<action><name>X_Move360View</name><argumentList><argument><name>InstanceID</name><direction>in</direction><relatedStateVariable>A_ARG_TYPE_InstanceID</relatedStateVariable></argument><argument><name>LatitudeOffset</name><direction>in</direction><relatedStateVariable>X_ARG_TYPE_ArcDegreeOffset</relatedStateVariable></argument><argument><name>LongitudeOffset</name><direction>in</direction><relatedStateVariable>X_ARG_TYPE_ArcDegreeOffset</relatedStateVariable></argument></argumentList></action>
<action><name>X_Zoom360View</name><argumentList><argument><name>InstanceID</name><direction>in</direction><relatedStateVariable>A_ARG_TYPE_InstanceID</relatedStateVariable></argument><argument><name>ScaleFactorOffset</name><direction>in</direction><relatedStateVariable>X_ARG_TYPE_ScaleFactorOffset</relatedStateVariable></argument></argumentList></action>
<action><name>X_Origin360View</name><argumentList><argument><name>InstanceID</name><direction>in</direction><relatedStateVariable>A_ARG_TYPE_InstanceID</relatedStateVariable></argument></argumentList></action>
<action><name>X_ControlCaption</name><argumentList><argument><name>InstanceID</name><direction>in</direction><relatedStateVariable>A_ARG_TYPE_InstanceID</relatedStateVariable></argument><argument><name>Operation</name><direction>in</direction><relatedStateVariable>X_ARG_TYPE_CaptionOperation</relatedStateVariable></argument><argument><name>Name</name><direction>in</direction><relatedStateVariable>X_ARG_TYPE_CaptionName</relatedStateVariable></argument><argument><name>ResourceURI</name><direction>in</direction><relatedStateVariable>X_ARG_TYPE_ResourceURI</relatedStateVariable></argument><argument><name>CaptionURI</name><direction>in</direction><relatedStateVariable>X_ARG_TYPE_CaptionURI</relatedStateVariable></argument><argument><name>CaptionType</name><direction>in</direction><relatedStateVariable>X_ARG_TYPE_CaptionType</relatedStateVariable></argument><argument><name>Language</name><direction>in</direction><relatedStateVariable>X_ARG_TYPE_Language</relatedStateVariable></argument><argument><name>Encoding</name><direction>in</direction><relatedStateVariable>X_ARG_TYPE_Encoding</relatedStateVariable></argument></argumentList></action>
<action><name>X_GetCaptionState</name><argumentList><argument><name>InstanceID</name><direction>in</direction><relatedStateVariable>A_ARG_TYPE_InstanceID</relatedStateVariable></argument><argument><name>Captions</name><direction>out</direction><relatedStateVariable>X_Captions</relatedStateVariable></argument><argument><name>EnabledCaptions</name><direction>out</direction><relatedStateVariable>X_EnabledCaptions</relatedStateVariable></argument></argumentList></action>
<action><name>X_GetServiceCapabilities</name><argumentList><argument><name>InstanceID</name><direction>in</direction><relatedStateVariable>A_ARG_TYPE_InstanceID</relatedStateVariable></argument><argument><name>ServiceCapabilities</name><direction>out</direction><relatedStateVariable>X_ServiceCapabilities</relatedStateVariable></argument></argumentList></action>
<action><name>X_SetZoom</name><argumentList><argument><name>InstanceID</name><direction>in</direction><relatedStateVariable>A_ARG_TYPE_InstanceID</relatedStateVariable></argument><argument><name>x</name><direction>in</direction><relatedStateVariable>A_ARG_TYPE_Coordinate</relatedStateVariable></argument><argument><name>y</name><direction>in</direction><relatedStateVariable>A_ARG_TYPE_Coordinate</relatedStateVariable></argument><argument><name>w</name><direction>in</direction><relatedStateVariable>A_ARG_TYPE_Coordinate</relatedStateVariable></argument><argument><name>h</name><direction>in</direction><relatedStateVariable>A_ARG_TYPE_Coordinate</relatedStateVariable></argument></argumentList></action>
<action><name>X_GetTVSlideShow</name><argumentList><argument><name>InstanceID</name><direction>in</direction><relatedStateVariable>A_ARG_TYPE_InstanceID</relatedStateVariable></argument><argument><name>CurrentShowState</name><direction>out</direction><relatedStateVariable>A_ARG_TYPE_SlideShowState</relatedStateVariable></argument><argument><name>CurrentThemeId</name><direction>out</direction><relatedStateVariable>A_ARG_TYPE_ThemeId</relatedStateVariable></argument><argument><name>TotalThemeNumber</name><direction>out</direction><relatedStateVariable>A_ARG_TYPE_TotalThemeNumber</relatedStateVariable></argument></argumentList></action>
<action><name>X_SetTVSlideShow</name><argumentList><argument><name>InstanceID</name><direction>in</direction><relatedStateVariable>A_ARG_TYPE_InstanceID</relatedStateVariable></argument><argument><name>CurrentShowState</name><direction>in</direction><relatedStateVariable>A_ARG_TYPE_SlideShowState</relatedStateVariable></argument><argument><name>CurrentShowTheme</name><direction>in</direction><relatedStateVariable>A_ARG_TYPE_ThemeId</relatedStateVariable></argument></argumentList></action>
</actionList>
<serviceStateTable><stateVariable sendEvents="no"><name>PresetNameList</name><dataType>string</dataType><defaultValue>FactoryDefaults</defaultValue></stateVariable><stateVariable sendEvents="yes"><name>LastChange</name><dataType>string</dataType></stateVariable><stateVariable sendEvents="no"><name>Mute</name><dataType>boolean</dataType></stateVariable><stateVariable sendEvents="no"><name>Volume</name><dataType>ui2</dataType><allowedValueRange><minimum>0</minimum><maximum>100</maximum><step>1</step></allowedValueRange></stateVariable><stateVariable sendEvents="no"><name>A_ARG_TYPE_Channel</name><dataType>string</dataType><allowedValueList><allowedValue>Master</allowedValue></allowedValueList></stateVariable><stateVariable sendEvents="no"><name>A_ARG_TYPE_InstanceID</name><dataType>ui4</dataType></stateVariable><stateVariable sendEvents="no"><name>A_ARG_TYPE_PresetName</name><dataType>string</dataType><allowedValueList><allowedValue>FactoryDefaults</allowedValue></allowedValueList></stateVariable><stateVariable sendEvents="no"><name>X_AspectRatio</name><dataType>string</dataType><defaultValue>Default</defaultValue><allowedValueList><allowedValue>Default</allowedValue><allowedValue>FitScreen</allowedValue></allowedValueList></stateVariable><stateVariable sendEvents="no"><name>X_ARG_TYPE_ArcDegreeOffset</name><defaultValue>0.0</defaultValue><dataType>float</dataType></stateVariable><stateVariable sendEvents="no"><name>X_ARG_TYPE_ScaleFactorOffset</name><dataType>float</dataType><defaultValue>1.0</defaultValue></stateVariable><stateVariable sendEvents="no"><name>X_ARG_TYPE_CaptionOperation</name><dataType>string</dataType><allowedValueList><allowedValue>Enable</allowedValue><allowedValue>Disable</allowedValue></allowedValueList></stateVariable><stateVariable sendEvents="no"><name>X_ARG_TYPE_CaptionName</name><dataType>string</dataType></stateVariable><stateVariable sendEvents="no"><name>X_ARG_TYPE_ResourceURI</name><dataType>string</dataType></stateVariable><stateVariable sendEvents="no"><name>X_ARG_TYPE_CaptionURI</name><dataType>string</dataType></stateVariable><stateVariable sendEvents="no"><name>X_ARG_TYPE_CaptionType</name><dataType>string</dataType></stateVariable><stateVariable sendEvents="no"><name>X_ARG_TYPE_Language</name><dataType>string</dataType></stateVariable><stateVariable sendEvents="no"><name>X_ARG_TYPE_Encoding</name><dataType>string</dataType></stateVariable><stateVariable sendEvents="no"><name>X_Captions</name><dataType>string</dataType></stateVariable><stateVariable sendEvents="no"><name>X_EnabledCaptions</name><dataType>string</dataType></stateVariable><stateVariable sendEvents="no"><name>X_ServiceCapabilities</name><dataType>string</dataType></stateVariable><stateVariable sendEvents="no"><name>A_ARG_TYPE_Coordinate</name><dataType>ui4</dataType></stateVariable><stateVariable sendEvents="no"><name>A_ARG_TYPE_SlideShowState</name><dataType>boolean</dataType></stateVariable><stateVariable sendEvents="no"><name>A_ARG_TYPE_ThemeId</name><dataType>ui4</dataType></stateVariable><stateVariable sendEvents="no"><name>A_ARG_TYPE_TotalThemeNumber</name><dataType>ui4</dataType></stateVariable></serviceStateTable></scpd>

<scpd><specVersion><major>1</major><minor>0</minor></specVersion>
<actionList>
<action><name>Play</name><argumentList><argument><name>InstanceID</name><direction>in</direction><relatedStateVariable>A_ARG_TYPE_InstanceID</relatedStateVariable></argument><argument><name>Speed</name><direction>in</direction><relatedStateVariable>TransportPlaySpeed</relatedStateVariable></argument></argumentList></action>
<action><name>Stop</name><argumentList><argument><name>InstanceID</name><direction>in</direction><relatedStateVariable>A_ARG_TYPE_InstanceID</relatedStateVariable></argument></argumentList></action>
<action><name>Next</name><argumentList><argument><name>InstanceID</name><direction>in</direction><relatedStateVariable>A_ARG_TYPE_InstanceID</relatedStateVariable></argument></argumentList></action>
<action><name>Previous</name><argumentList><argument><name>InstanceID</name><direction>in</direction><relatedStateVariable>A_ARG_TYPE_InstanceID</relatedStateVariable></argument></argumentList></action>
<action><name>SetPlayMode</name><argumentList><argument><name>InstanceID</name><direction>in</direction><relatedStateVariable>A_ARG_TYPE_InstanceID</relatedStateVariable></argument><argument><name>NewPlayMode</name><direction>in</direction><relatedStateVariable>CurrentPlayMode</relatedStateVariable></argument></argumentList></action>
<action><name>GetMediaInfo</name><argumentList><argument><name>InstanceID</name><direction>in</direction><relatedStateVariable>A_ARG_TYPE_InstanceID</relatedStateVariable></argument><argument><name>NrTracks</name><direction>out</direction><relatedStateVariable>NumberOfTracks</relatedStateVariable><defaultValue>0</defaultValue></argument><argument><name>MediaDuration</name><direction>out</direction><relatedStateVariable>CurrentMediaDuration</relatedStateVariable></argument><argument><name>CurrentURI</name><direction>out</direction><relatedStateVariable>AVTransportURI</relatedStateVariable></argument><argument><name>CurrentURIMetaData</name><direction>out</direction><relatedStateVariable>AVTransportURIMetaData</relatedStateVariable></argument><argument><name>NextURI</name><direction>out</direction><relatedStateVariable>NextAVTransportURI</relatedStateVariable></argument><argument><name>NextURIMetaData</name><direction>out</direction><relatedStateVariable>NextAVTransportURIMetaData</relatedStateVariable></argument><argument><name>PlayMedium</name><direction>out</direction><relatedStateVariable>PlaybackStorageMedium</relatedStateVariable></argument><argument><name>RecordMedium</name><direction>out</direction><relatedStateVariable>RecordStorageMedium</relatedStateVariable></argument><argument><name>WriteStatus</name><direction>out</direction><relatedStateVariable>RecordMediumWriteStatus</relatedStateVariable></argument></argumentList></action>
<action><name>GetDeviceCapabilities</name><argumentList><argument><name>InstanceID</name><direction>in</direction><relatedStateVariable>A_ARG_TYPE_InstanceID</relatedStateVariable></argument><argument><name>PlayMedia</name><direction>out</direction><relatedStateVariable>PossiblePlaybackStorageMedia</relatedStateVariable></argument><argument><name>RecMedia</name><direction>out</direction><relatedStateVariable>PossibleRecordStorageMedia</relatedStateVariable></argument><argument><name>RecQualityModes</name><direction>out</direction><relatedStateVariable>PossibleRecordQualityModes</relatedStateVariable></argument></argumentList></action>
<action><name>SetAVTransportURI</name><argumentList><argument><name>InstanceID</name><direction>in</direction><relatedStateVariable>A_ARG_TYPE_InstanceID</relatedStateVariable></argument><argument><name>CurrentURI</name><direction>in</direction><relatedStateVariable>AVTransportURI</relatedStateVariable></argument><argument><name>CurrentURIMetaData</name><direction>in</direction><relatedStateVariable>AVTransportURIMetaData</relatedStateVariable></argument></argumentList></action>
<action><name>SetNextAVTransportURI</name><argumentList><argument><name>InstanceID</name><direction>in</direction><relatedStateVariable>A_ARG_TYPE_InstanceID</relatedStateVariable></argument><argument><name>NextURI</name><direction>in</direction><relatedStateVariable>NextAVTransportURI</relatedStateVariable></argument><argument><name>NextURIMetaData</name><direction>in</direction><relatedStateVariable>NextAVTransportURIMetaData</relatedStateVariable></argument></argumentList></action>
<action><name>X_PrefetchURI</name><argumentList><argument><name>InstanceID</name><direction>in</direction><relatedStateVariable>A_ARG_TYPE_InstanceID</relatedStateVariable></argument><argument><name>PrefetchURI</name><direction>in</direction><relatedStateVariable>A_ARG_TYPE_PrefetchURI</relatedStateVariable></argument><argument><name>PrefetchURIMetaData</name><direction>in</direction><relatedStateVariable>A_ARG_TYPE_PrefetchURIMetaData</relatedStateVariable></argument></argumentList></action>
<action><name>GetTransportSettings</name><argumentList><argument><name>InstanceID</name><direction>in</direction><relatedStateVariable>A_ARG_TYPE_InstanceID</relatedStateVariable></argument><argument><name>PlayMode</name><direction>out</direction><relatedStateVariable>CurrentPlayMode</relatedStateVariable></argument><argument><name>RecQualityMode</name><direction>out</direction><relatedStateVariable>CurrentRecordQualityMode</relatedStateVariable></argument></argumentList></action>
<action><name>GetTransportInfo</name><argumentList><argument><name>InstanceID</name><direction>in</direction><relatedStateVariable>A_ARG_TYPE_InstanceID</relatedStateVariable></argument><argument><name>CurrentTransportState</name><direction>out</direction><relatedStateVariable>TransportState</relatedStateVariable></argument><argument><name>CurrentTransportStatus</name><direction>out</direction><relatedStateVariable>TransportStatus</relatedStateVariable></argument><argument><name>CurrentSpeed</name><direction>out</direction><relatedStateVariable>TransportPlaySpeed</relatedStateVariable></argument></argumentList></action>
<action><name>Pause</name><argumentList><argument><name>InstanceID</name><direction>in</direction><relatedStateVariable>A_ARG_TYPE_InstanceID</relatedStateVariable></argument></argumentList></action>
<action><name>Seek</name><argumentList><argument><name>InstanceID</name><direction>in</direction><relatedStateVariable>A_ARG_TYPE_InstanceID</relatedStateVariable></argument><argument><name>Unit</name><direction>in</direction><relatedStateVariable>A_ARG_TYPE_SeekMode</relatedStateVariable></argument><argument><name>Target</name><direction>in</direction><relatedStateVariable>A_ARG_TYPE_SeekTarget</relatedStateVariable></argument></argumentList></action>
<action><name>GetPositionInfo</name><argumentList><argument><name>InstanceID</name><direction>in</direction><relatedStateVariable>A_ARG_TYPE_InstanceID</relatedStateVariable></argument><argument><name>Track</name><direction>out</direction><relatedStateVariable>CurrentTrack</relatedStateVariable></argument><argument><name>TrackDuration</name><direction>out</direction><relatedStateVariable>CurrentTrackDuration</relatedStateVariable></argument><argument><name>TrackMetaData</name><direction>out</direction><relatedStateVariable>CurrentTrackMetaData</relatedStateVariable></argument><argument><name>TrackURI</name><direction>out</direction><relatedStateVariable>CurrentTrackURI</relatedStateVariable></argument><argument><name>RelTime</name><direction>out</direction><relatedStateVariable>RelativeTimePosition</relatedStateVariable></argument><argument><name>AbsTime</name><direction>out</direction><relatedStateVariable>AbsoluteTimePosition</relatedStateVariable></argument><argument><name>RelCount</name><direction>out</direction><relatedStateVariable>RelativeCounterPosition</relatedStateVariable></argument><argument><name>AbsCount</name><direction>out</direction><relatedStateVariable>AbsoluteCounterPosition</relatedStateVariable></argument></argumentList></action>
<action><name>GetCurrentTransportActions</name><argumentList><argument><name>InstanceID</name><direction>in</direction><relatedStateVariable>A_ARG_TYPE_InstanceID</relatedStateVariable></argument><argument><name>Actions</name><direction>out</direction><relatedStateVariable>CurrentTransportActions</relatedStateVariable></argument></argumentList></action>
<action><name>X_DLNA_GetBytePositionInfo</name><argumentList><argument><name>InstanceID</name><direction>in</direction><relatedStateVariable>A_ARG_TYPE_InstanceID</relatedStateVariable></argument><argument><name>TrackSize</name><direction>out</direction><relatedStateVariable>X_DLNA_CurrentTrackSize</relatedStateVariable></argument><argument><name>RelByte</name><direction>out</direction><relatedStateVariable>X_DLNA_RelativeBytePosition</relatedStateVariable></argument><argument><name>AbsByte</name><direction>out</direction><relatedStateVariable>X_DLNA_AbsoluteBytePosition</relatedStateVariable></argument></argumentList></action>
<action><name>X_GetStoppedReason</name><argumentList><argument><name>InstanceID</name><direction>in</direction><relatedStateVariable>A_ARG_TYPE_InstanceID</relatedStateVariable></argument><argument><name>StoppedReason</name><direction>out</direction><relatedStateVariable>A_ARG_TYPE_StoppedReason</relatedStateVariable></argument><argument><name>StoppedReasonData</name><direction>out</direction><relatedStateVariable>A_ARG_TYPE_StoppedReasonData</relatedStateVariable></argument></argumentList></action>
<action><name>X_PlayerAppHint</name><argumentList><argument><name>InstanceID</name><direction>in</direction><relatedStateVariable>A_ARG_TYPE_InstanceID</relatedStateVariable></argument><argument><name>UpnpClass</name><direction>in</direction><relatedStateVariable>X_ARG_TYPE_UpnpClass</relatedStateVariable></argument><argument><name>PlayerHint</name><direction>in</direction><relatedStateVariable>X_ARG_TYPE_PlayerHint</relatedStateVariable></argument></argumentList></action>
</actionList>
<serviceStateTable><stateVariable sendEvents="no"><name>TransportState</name><dataType>string</dataType><allowedValueList><allowedValue>STOPPED</allowedValue><allowedValue>PAUSED_PLAYBACK</allowedValue><allowedValue>PLAYING</allowedValue><allowedValue>TRANSITIONING</allowedValue><allowedValue>NO_MEDIA_PRESENT</allowedValue></allowedValueList><defaultValue>NO_MEDIA_PRESENT</defaultValue></stateVariable><stateVariable sendEvents="no"><name>TransportStatus</name><dataType>string</dataType><allowedValueList><allowedValue>OK</allowedValue><allowedValue>ERROR_OCCURRED</allowedValue></allowedValueList><defaultValue>OK</defaultValue></stateVariable><stateVariable sendEvents="no"><name>TransportPlaySpeed</name><dataType>string</dataType><defaultValue>1</defaultValue></stateVariable><stateVariable sendEvents="no"><name>NumberOfTracks</name><dataType>ui4</dataType><allowedValueRange><minimum>0</minimum><maximum>4294967295</maximum></allowedValueRange><defaultValue>0</defaultValue></stateVariable><stateVariable sendEvents="no"><name>CurrentMediaDuration</name><dataType>string</dataType><defaultValue>00:00:00</defaultValue></stateVariable><stateVariable sendEvents="no"><name>AVTransportURI</name><dataType>string</dataType></stateVariable><stateVariable sendEvents="no"><name>AVTransportURIMetaData</name><dataType>string</dataType></stateVariable><stateVariable sendEvents="no"><name>PlaybackStorageMedium</name><dataType>string</dataType><allowedValueList><allowedValue>NONE</allowedValue><allowedValue>NETWORK</allowedValue></allowedValueList><defaultValue>NONE</defaultValue></stateVariable><stateVariable sendEvents="no"><name>CurrentTrack</name><dataType>ui4</dataType><allowedValueRange><minimum>0</minimum><maximum>4294967295</maximum><step>1</step></allowedValueRange><defaultValue>0</defaultValue></stateVariable><stateVariable sendEvents="no"><name>CurrentTrackDuration</name><dataType>string</dataType><defaultValue>00:00:00</defaultValue></stateVariable><stateVariable sendEvents="no"><name>CurrentTrackMetaData</name><dataType>string</dataType></stateVariable><stateVariable sendEvents="no"><name>CurrentTrackURI</name><dataType>string</dataType></stateVariable><stateVariable sendEvents="no"><name>RelativeTimePosition</name><dataType>string</dataType><defaultValue>00:00:00</defaultValue></stateVariable><stateVariable sendEvents="no"><name>AbsoluteTimePosition</name><dataType>string</dataType><defaultValue>00:00:00</defaultValue></stateVariable><stateVariable sendEvents="no"><name>NextAVTransportURI</name><dataType>string</dataType></stateVariable><stateVariable sendEvents="no"><name>NextAVTransportURIMetaData</name><dataType>string</dataType></stateVariable><stateVariable sendEvents="no"><name>CurrentTransportActions</name><dataType>string</dataType></stateVariable><stateVariable sendEvents="no"><name>RecordStorageMedium</name><dataType>string</dataType><allowedValueList><allowedValue>NOT_IMPLEMENTED</allowedValue></allowedValueList><defaultValue>NOT_IMPLEMENTED</defaultValue></stateVariable><stateVariable sendEvents="no"><name>RecordMediumWriteStatus</name><dataType>string</dataType><allowedValueList><allowedValue>NOT_IMPLEMENTED</allowedValue></allowedValueList><defaultValue>NOT_IMPLEMENTED</defaultValue></stateVariable><stateVariable sendEvents="no"><name>RelativeCounterPosition</name><dataType>i4</dataType><defaultValue>2147483647</defaultValue></stateVariable><stateVariable sendEvents="no"><name>AbsoluteCounterPosition</name><dataType>i4</dataType><defaultValue>2147483647</defaultValue></stateVariable><stateVariable sendEvents="no"><name>PossiblePlaybackStorageMedia</name><dataType>string</dataType><defaultValue>NETWORK</defaultValue></stateVariable><stateVariable sendEvents="no"><name>PossibleRecordStorageMedia</name><dataType>string</dataType><defaultValue>NOT_IMPLEMENTED</defaultValue></stateVariable><stateVariable sendEvents="no"><name>PossibleRecordQualityModes</name><dataType>string</dataType><defaultValue>NOT_IMPLEMENTED</defaultValue></stateVariable><stateVariable sendEvents="no"><name>CurrentPlayMode</name><dataType>string</dataType><allowedValueList><allowedValue>NORMAL</allowedValue></allowedValueList><defaultValue>NORMAL</defaultValue></stateVariable><stateVariable sendEvents="no"><name>CurrentRecordQualityMode</name><dataType>string</dataType><allowedValueList><allowedValue>NOT_IMPLEMENTED</allowedValue></allowedValueList><defaultValue>NOT_IMPLEMENTED</defaultValue></stateVariable><stateVariable sendEvents="yes"><name>LastChange</name><dataType>string</dataType></stateVariable><stateVariable sendEvents="no"><name>A_ARG_TYPE_InstanceID</name><dataType>ui4</dataType></stateVariable><stateVariable sendEvents="no"><name>A_ARG_TYPE_PrefetchURI</name><dataType>string</dataType></stateVariable><stateVariable sendEvents="no"><name>A_ARG_TYPE_PrefetchURIMetaData</name><dataType>string</dataType></stateVariable><stateVariable sendEvents="no"><name>A_ARG_TYPE_SeekMode</name><dataType>string</dataType><allowedValueList><allowedValue>TRACK_NR</allowedValue><allowedValue>REL_TIME</allowedValue><allowedValue>ABS_TIME</allowedValue><allowedValue>ABS_COUNT</allowedValue><allowedValue>REL_COUNT</allowedValue><allowedValue>X_DLNA_REL_BYTE</allowedValue></allowedValueList><defaultValue>REL_TIME</defaultValue></stateVariable><stateVariable sendEvents="no"><name>A_ARG_TYPE_SeekTarget</name><dataType>string</dataType></stateVariable><stateVariable sendEvents="no"><name>X_DLNA_RelativeBytePosition</name><dataType>string</dataType></stateVariable><stateVariable sendEvents="no"><name>X_DLNA_AbsoluteBytePosition</name><dataType>string</dataType></stateVariable><stateVariable sendEvents="no"><name>X_DLNA_CurrentTrackSize</name><dataType>string</dataType></stateVariable><stateVariable sendEvents="no"><name>A_ARG_TYPE_StoppedReason</name><dataType>string</dataType></stateVariable><stateVariable sendEvents="no"><name>A_ARG_TYPE_StoppedReasonData</name><dataType>string</dataType></stateVariable><stateVariable sendEvents="no"><name>X_ARG_TYPE_UpnpClass</name><dataType>string</dataType><allowedValueList><allowedValue>object.item.imageItem</allowedValue><allowedValue>object.item.audioItem</allowedValue><allowedValue>object.item.videoItem</allowedValue></allowedValueList></stateVariable><stateVariable sendEvents="no"><name>X_ARG_TYPE_PlayerHint</name><dataType>string</dataType><allowedValueList><allowedValue>load</allowedValue><allowedValue>unload</allowedValue></allowedValueList></stateVariable></serviceStateTable></scpd>


Du könntest mir den http://DeineTVIP/dmr noch zum Vergleich liefern.

Grüße Markus
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: isdnbus am 28 August 2019, 08:55:30
Hallo Markus,

mit http://DeineTVIP/dmr klappt es nicht.


Mit http://DeineTVIP:9197/dmr erhalte ich dann die folgende Ausgabe.

<root<
>specVersion<
>major>1</major<
>minor>0</minor<
>/specVersion<
>device<
>deviceType>urn:schemas-upnp-org:device:MediaRenderer:1</deviceType<
>pnpx:X_compatibleId>MS_DigitalMediaDeviceClass_DMR_V001</pnpx:X_compatibleId<
>df:X_deviceCategory>Display.TV.LCD Multimedia.DMR</df:X_deviceCategory<
>dlna:X_DLNADOC>DMR-1.50</dlna:X_DLNADOC<
>friendlyName>[TV] Samsung Q6 Series (55)</friendlyName<
>manufacturer>Samsung Electronics</manufacturer<
>manufacturerURL>http://www.samsung.com/sec</manufacturerURL<
>modelDescription>Samsung TV DMR</modelDescription<
>modelName>GQ55Q6FNG</modelName<
>modelNumber>AllShare1.0</modelNumber<
>modelURL>http://www.samsung.com/sec</modelURL<
>serialNumber>xxxxxHHKC09xxxx</serialNumber<
>UDN>uuid:62338df-fb5f-4934-37b1-42469c1e9ff3</UDN<
>iconList<
>icon<
>mimetype>image/jpeg</mimetype<
>width>48</width<
>height>48</height<
>depth>24</depth<
>url>/icon_SML.jpg</url<
>/icon<
>icon<
>mimetype>image/jpeg</mimetype<
>width>120</width<
>height>120</height<
>depth>24</depth<
>url>/icon_LRG.jpg</url<
>/icon<
>icon<
>mimetype>image/png</mimetype<
>width>48</width<
>height>48</height<
>depth>24</depth<
>url>/icon_SML.png</url<
>/icon<
>icon<
>mimetype>image/png</mimetype<
>width>120</width<
>height>120</height<
>depth>24</depth<
>url>/icon_LRG.png</url<
>/icon<
>/iconList<
>serviceList<


Gruß Bernd
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: KölnSolar am 28 August 2019, 15:35:15
Zitatmit http://DeineTVIP/dmr klappt es nicht.
Logisch.  ::) :-[
Mehr kommt da nicht ? Fehlerchen bei Cut&Paste ?
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: isdnbus am 28 August 2019, 15:58:56
Hallo Markus,

ja war ein P&C Fehler. ::)

<root<
>specVersion<
>major>1</major<
>minor>0</minor<
>/specVersion<
>device<
>deviceType>urn:schemas-upnp-org:device:MediaRenderer:1</deviceType<
>pnpx:X_compatibleId>MS_DigitalMediaDeviceClass_DMR_V001</pnpx:X_compatibleId<
>df:X_deviceCategory>Display.TV.LCD Multimedia.DMR</df:X_deviceCategory<
>dlna:X_DLNADOC>DMR-1.50</dlna:X_DLNADOC<
>friendlyName>[TV] Samsung Q6 Series (55)</friendlyName<
>manufacturer>Samsung Electronics</manufacturer<
>manufacturerURL>http://www.samsung.com/sec</manufacturerURL<
>modelDescription>Samsung TV DMR</modelDescription<
>modelName>GQ55Q6FNG</modelName<
>modelNumber>AllShare1.0</modelNumber<
>modelURL>http://www.samsung.com/sec</modelURL<
>serialNumber>0E633HHKC09078P</serialNumber<
>UDN>uuid:629798df-fb4f-4934-97b1-42469c1e9ff3</UDN<
>iconList<
>icon<
>mimetype>image/jpeg</mimetype<
>width>48</width<
>height>48</height<
>depth>24</depth<
>url>/icon_SML.jpg</url<
>/icon<
>icon<
>mimetype>image/jpeg</mimetype<
>width>120</width<
>height>120</height<
>depth>24</depth<
>url>/icon_LRG.jpg</url<
>/icon<
>icon<
>mimetype>image/png</mimetype<
>width>48</width<
>height>48</height<
>depth>24</depth<
>url>/icon_SML.png</url<
>/icon<
>icon<
>mimetype>image/png</mimetype<
>width>120</width<
>height>120</height<
>depth>24</depth<
>url>/icon_LRG.png</url<
>/icon<
>/iconList<
>serviceList<
>service<
>serviceType>urn:schemas-upnp-org:service:RenderingControl:1</serviceType<
>serviceId>urn:upnp-org:serviceId:RenderingControl</serviceId<
>controlURL>/upnp/control/RenderingControl1</controlURL<
>eventSubURL>/upnp/event/RenderingControl1</eventSubURL<
>SCPDURL>/RenderingControl_1.xml</SCPDURL<
>/service<
>service<
>serviceType>urn:schemas-upnp-org:service:ConnectionManager:1</serviceType<
>serviceId>urn:upnp-org:serviceId:ConnectionManager</serviceId<
>controlURL>/upnp/control/ConnectionManager1</controlURL<
>eventSubURL>/upnp/event/ConnectionManager1</eventSubURL<
>SCPDURL>/ConnectionManager_1.xml</SCPDURL<
>/service<
>service<
>serviceType>urn:schemas-upnp-org:service:AVTransport:1</serviceType<
>serviceId>urn:upnp-org:serviceId:AVTransport</serviceId<
>controlURL>/upnp/control/AVTransport1</controlURL<
>eventSubURL>/upnp/event/AVTransport1</eventSubURL<
>SCPDURL>/AVTransport_1.xml</SCPDURL<
>/service<
>/serviceList<
>sec:ProductCap>Tizen,Y2018,WebURIPlayable,NavigateInPause,ScreenMirroringP2PMAC=c2:48:e6:f8:ff:35,UHD_SCREEN,SerialNumber=0E6STWRKC09178P,vdProductType=TV,OCF=1</sec:ProductCap<
>pnpx:X_hardwareId>VEN_0105&DEV_VD0001</pnpx:X_hardwareId<
>/device<
>/root>


So mehr liefert der Fernseher aber wirklich nicht. :'(

Gruß Bernd
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: KölnSolar am 28 August 2019, 22:13:46
Hi Bernd,
ZitatSo mehr liefert der Fernseher aber wirklich nicht.
Wirklich ? Ich hab zu Beginn <?xml version="1.0" encoding="ISO-8859-1"?>
<root xmlns:sec="http://www.sec.co.kr/dlna" xmlns="urn:schemas-upnp-org:device-1-0" xmlns:df="http://schemas.microsoft.com/windows/2008/09/devicefoundation" xmlns:pnpx="http://schemas.microsoft.com/windows/pnpx/2005/11">


Sonst sehe ich da keine Unterschiede zu meinem TV.  :-\

Ich fasse mal zusammen:
- Windows Mediaplayer streaming funktioniert
- SamsungAV funktioniert
- DLNA Erkennung/autocreate funktioniert
- DLNA events(durch Fb ausgelöst) funktionieren
- DLNARenderer-Befehle: keine Reaktion am TV, keine events(logisch)

Und wo ich gerade mal wieder einen Test mit WMP gemacht habe: Zugriffsberechtigungen am TV sind OK ? Mal alle löschen u. auf Pop-Up's reagieren ?

Ich guck mal, ob ich den Link fürs TV-debugging finde....

Grüße Markus
Edit: Hier (https://forum.fhem.de/index.php/topic,57595.msg846335.html#msg846335) ist in den letzten beiden Zeilen der Link f. Debugging des Samsung.
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: Gisbert am 29 August 2019, 06:44:05
Hallo Markus,

ich hab ein merkwürdiges Phänomen, was ich schildern möchte; ich hoffe, dass ich den richtigen Thread erwischt habe.

Ich hab folgende Defintion, bei der ich 2 Bilder über channel 1 und 2 zum Fernseher schicken kann. Es gibt 2x RSS und die dazugehörigen .layout-Dateien, beide .layout-Dateien haben den jeweiligen Inhalt.

Wenn ich channel 2 auswähle, dann erhalte ich das erwartete Bild. Wähle ich aber channel 1 aus, erhalte ich ebenfalls das Bild von channel 2.

Ich bin einigermaßen verwirrt und hoffe, dass du mir weiterhelfen kannst. Fhemneustart war letzten Samstag, davor hab ich ein update gefahren, wie jeden Samstag.

Viele​ Grüße​ Gisbert​

defmod DLNA_f47b5e48e6d6 DLNARenderer uuid:0ee6b280-00fa-1000-889e-f47b5e48e6d6
attr DLNA_f47b5e48e6d6 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_f47b5e48e6d6 alias [TV]UE50ES6980
attr DLNA_f47b5e48e6d6 channel_01 http://192.168.1.46:8086/fhem/rss/RSS.Anruf.jpg
attr DLNA_f47b5e48e6d6 channel_02 http://192.168.1.46:8086/fhem/rss/RSS.SZ.Gisbert.jpg
attr DLNA_f47b5e48e6d6 icon it_television
attr DLNA_f47b5e48e6d6 room Network
attr DLNA_f47b5e48e6d6 webCmd volume


defmod RSS.Anruf RSS jpg 192.168.1.46 ./FHEM/rss_Anruf.layout
attr RSS.Anruf autoreread 1
attr RSS.Anruf bgcolor 707070
attr RSS.Anruf room Network
attr RSS.Anruf size 1920x1080


defmod RSS.SZ.Gisbert RSS jpg 192.168.1.46 ./FHEM/rss_SZ_Gisbert.layout
attr RSS.SZ.Gisbert autoreread 1
attr RSS.SZ.Gisbert bgcolor 707070
attr RSS.SZ.Gisbert room Network
attr RSS.SZ.Gisbert size 1920x1080


rss_Anruf.layout:
# This template file can be used for layout creation
# needed by 02_RSS.pm and 55_InfoPanel.pm
# Use "save as" once to create the file with your desired name

# Schriftart festlegen
font /usr/share/fonts/truetype/dejavu/DejaVuSans.ttf
# Farben: weiß=FFFFFF,blau=2E64FE,rot=FF0000, grün=00FF00, grau=585858, schwarz=000000
rgb "FF0000"
line 0 130 2048 130
# Kopfzeile
rgb "FFFFFF"
pt 32
date   50 100
time 1740 100
rgb "87CEFF"
text  510 100 { "Temperature: ".ReadingsVal('TH.Kuhlmannweg8','temperature','')."°C"}
text 1180 100 { "Humidity: ".ReadingsVal('TH.Kuhlmannweg8','humidity','')."%"}
# Anzeige Kommunikation
text   50 275 "Telefon:"
text  510 275 { ReadingsTimestamp('Callmonitor','external_name','')}
text   50 375 "Eigene Nummer:"
text  510 375 {ReadingsVal('Callmonitor','internal_number','')}
pt 40
text   50 550 "Anrufer:"
font /usr/share/fonts/truetype/dejavu/DejaVuSans-Bold.ttf
text  510 550 {ReadingsVal('Callmonitor','external_name','')}
font /usr/share/fonts/truetype/dejavu/DejaVuSans.ttf
text   50 650 "Nummer:"
font /usr/share/fonts/truetype/dejavu/DejaVuSans-Bold.ttf
text  510 650 {ReadingsVal('Callmonitor','external_number','')}


rss_SZ_Gisbert.layout:
# This template file can be used for layout creation
# needed by 02_RSS.pm and 55_InfoPanel.pm
# Use "save as" once to create the file with your desired name

# Schriftart festlegen
font /usr/share/fonts/truetype/dejavu/DejaVuSans.ttf
# Farben: weiß=FFFFFF,blau=2E64FE,rot=FF0000, grün=00FF00, grau=585858, schwarz=000000
rgb "FF0000"
line 0 130 2048 130
# Kopfzeile
rgb "FFFFFF"
pt 32
date   50 100
time 1740 100
rgb "87CEFF"
text  510 100 { "Temperature: ".ReadingsVal('TH.Kuhlmannweg8','temperature','')."°C"}
text 1180 100 { "Humidity: ".ReadingsVal('TH.Kuhlmannweg8','humidity','')."%"}
# Anzeige Kommunikation
text   50 275 "Temperatur:"
text  510 275 { ReadingsTimestamp('Temp.OG','SZ.Gisbert','')}
pt 40
text   50 420 "Schlafzimmer Gisbert:"
font /usr/share/fonts/truetype/dejavu/DejaVuSans-Bold.ttf
text  730 420 {ReadingsVal('Temp.OG','SZ.Gisbert','')}
pt 32
font /usr/share/fonts/truetype/dejavu/DejaVuSans.ttf
text   50 565 "Es ist wahrscheinlich genug gelüftet !!"
text   50 665 "Es ist, Zeit das Fenster zuzumachen !!"
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: KölnSolar am 29 August 2019, 08:13:58
Hi Gisbert
schöne Anwendung  ;D
Ich seh da nichts auffälliges. War das vielleicht nur eine einmalige Sache? Der Stream von channel1 nicht angekommen u. play spielt den "alten" URI ab ? (readings beobachten)Kannst Du das mit 2 einfachen Bildern nachstellen ? Ich nämlich nicht.  :'(
Grüße Markus
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: Gisbert am 31 August 2019, 10:22:26
Zitat von: KölnSolar am 29 August 2019, 08:13:58
Hi Gisbert
schöne Anwendung  ;D
Ich seh da nichts auffälliges. War das vielleicht nur eine einmalige Sache? Der Stream von channel1 nicht angekommen u. play spielt den "alten" URI ab ? (readings beobachten)Kannst Du das mit 2 einfachen Bildern nachstellen ? Ich nämlich nicht.  :'(
Grüße Markus

Hallo Markus,

ich kann das Verhalten nicht mehr nachstellen, da es jetzt nicht mehr vorliegt :)
Ich kann es mir nur so erklären, dass beim Erzeugen des Bildes 1 (channel 1) per RSS (händisch, bzw. per set ...) keine aktuellen Daten vorlagen. Mit aktuellen Daten wird das richtige Bild erzeugt. Auch das dazu gehörige notify funktioniert bei einem Testanruf und schiebt das Bild auf den Fernseher.

Viele​ Grüße​ Gisbert​
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: isdnbus am 03 September 2019, 19:34:37
Hallo Markus,

vielen Dank für die Geduld und Unterstützung.
Bei meinem Gerät werden diese Zeilen nicht ausgegeben.
<?xml version="1.0" encoding="ISO-8859-1"?>
<root xmlns:sec="http://www.sec.co.kr/dlna" xmlns="urn:schemas-upnp-org:device-1-0" xmlns:df="http://schemas.microsoft.com/windows/2008/09/devicefoundation" xmlns:pnpx="http://schemas.microsoft.com/windows/pnpx/2005/11">


Es funktioniert inzwischen bei mir schon über mehrere Tage.
Woran es nun genau gelegen hat, kann ich nicht einmal genau sagen.

Ich habe nach deiner letzten Antwort noch etwas mit einem Portscanner probiert und dann noch ein paar Log´s mit Wireshark aufgezeichnet.
Dazwischen auch einmal den AVM Repeater neu gestartet.
Danach funktionierte es dann irgendwann plötzlich.
Meine Vermutung ist daher, dass sich mein Repeater aufgehängt hatte.

Also nochmals vielen Dank

Gruß Bernd
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: KölnSolar am 03 September 2019, 21:09:56
Ziel erreicht. Prima.
Grüße Markus
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: pfeffi am 10 September 2019, 13:34:59
habe leider auch ein großes Problem
ich muss das DLNARenderer - device  jeden Tag löschen und neu erstellen, dann natürlich neustarten damit es funktioniert.

wie kann das sein.......
Titel: 98_DLNARenderer.pm (UPnP) Tester gesucht !!!
Beitrag von: KölnSolar am 06 Januar 2020, 19:18:16
Hallo Ihr Lieben,
ich hab mich mit Dominik kurz geschlossen. Wir würden meine inoffizelle Version (https://forum.fhem.de/index.php/topic,39706.msg885157.html#msg885157)produktiv machen, wenn Nicht-Samsung-Nutzer die Funktion bestätigen können. Insbesondere die Caskeid-Funktionen.
Grüße Markus
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: julianG am 18 Januar 2020, 00:44:36
Hallo zusammen,

hat noch jemand das Problem, dass das DLNARenderer Device auf offline steht, unabhängig ob das eigentliche Gerät an oder aus ist? Der Status ändert sich nur, wenn ich Fhem neustartet während der Fernseher an ist.
Aber jedes mal Fhem neustartet kann ja auch nicht die Lösung sein.

Ach ja, ich habe einen Samsung Fernseher.

Vielleicht hat jemand eine Idee.

Viele Grüße
Julian
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: KölnSolar am 18 Januar 2020, 00:56:34
Hallo Julian,
dann hast Du ja sicherlich meine inoffizielle Version installiert. Die beiden wichtigen Attribute am master device gesetzt? Stell bitte mal ein list vom master u. TV device ein. Mal ein Log mit verbose=5 und TV an,aus.
Grüße
Markus
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: julianG am 18 Januar 2020, 10:16:39
Hallo Markus,

ja benutze Version v2.0.7Patch_3

Der TV war jetzt die ganze Nacht aus und als ich ihn eben eingeschaltet habe ist das Device auch direkt auf online gegangen.
Wenn ich es richtig verstanden habe meldet sich der TV an und ab. Aber anscheinend nur, wenn er lang genug aus ist  ???

Viele Grüße
Julian
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: KölnSolar am 18 Januar 2020, 10:58:22
ZitatAber anscheinend nur, wenn er lang genug aus ist
Das ist gut möglich u. kommt darauf an, was Du als lang bezeichnest. Die Dinger haben die Eigenart, dass sie nach dem sichtbaren abschalten noch 1-n min. "wach" sind. Bei mir reagiert der TV allerdings sofort.
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: halloaber am 29 Januar 2020, 19:00:25
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
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: locutus am 13 Februar 2020, 16:35:59
Hallo,
mein Bravia möchte das RSS jpg-Bild nicht rendern:
define DLNA_000000000000 DLNARenderer uuid:00000000-0000-1010-8000-000000000000
attr DLNA_000000000000 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_000000000000 alias BRAVIA KDL-40HX805
attr DLNA_000000000000 channel_01 http://192.168.1.10:8083/fhem/rss/FrameRSS.jpg
attr DLNA_000000000000 webCmd volume


Laut Verbose Level 5 war die Übertragung erfolgreich:
DLNARenderer: AVTransport: urn:schemas-upnp-org:service:AVTransport:1 found. OK.
DLNARenderer: AVTransport, SetAVTransportURI(0,http://192.168.1.10:8083/fhem/rss/FrameRSS.jpg,) succeed.
DLNARenderer: AVTransport: urn:schemas-upnp-org:service:AVTransport:1 found. OK.
DLNARenderer: AVTransport, Play(0,1) succeed.


Aber das Bild wird nicht dargestellt. Woran scheitert es in diesem Fall?
Hier noch die XML:
<root>
<specVersion>
<major>1</major>
<minor>0</minor>
</specVersion>
<device>
<deviceType>urn:schemas-upnp-org:device:MediaRenderer:1</deviceType>
<friendlyName>BRAVIA KDL-40HX805</friendlyName>
<manufacturer>Sony Corporation</manufacturer>
<manufacturerURL>http://www.sony.net/</manufacturerURL>
<modelName>KDL-40HX805</modelName>
<UDN>uuid:00000000-0000-1010-8000-000000000000</UDN>
<dlna:X_DLNADOC>DMR-1.50</dlna:X_DLNADOC>
<iconList>
<icon>
<mimetype>image/png</mimetype>
<width>32</width>
<height>32</height>
<depth>24</depth>
<url>/MediaRenderer_32x32x24.png</url>
</icon>
<icon>
<mimetype>image/png</mimetype>
<width>48</width>
<height>48</height>
<depth>24</depth>
<url>/MediaRenderer_48x48x24.png</url>
</icon>
<icon>
<mimetype>image/png</mimetype>
<width>60</width>
<height>60</height>
<depth>24</depth>
<url>/MediaRenderer_60x60x24.png</url>
</icon>
<icon>
<mimetype>image/png</mimetype>
<width>120</width>
<height>120</height>
<depth>24</depth>
<url>/MediaRenderer_120x120x24.png</url>
</icon>
<icon>
<mimetype>image/jpeg</mimetype>
<width>32</width>
<height>32</height>
<depth>24</depth>
<url>/MediaRenderer_32x32x24.jpg</url>
</icon>
<icon>
<mimetype>image/jpeg</mimetype>
<width>48</width>
<height>48</height>
<depth>24</depth>
<url>/MediaRenderer_48x48x24.jpg</url>
</icon>
<icon>
<mimetype>image/jpeg</mimetype>
<width>60</width>
<height>60</height>
<depth>24</depth>
<url>/MediaRenderer_60x60x24.jpg</url>
</icon>
<icon>
<mimetype>image/jpeg</mimetype>
<width>120</width>
<height>120</height>
<depth>24</depth>
<url>/MediaRenderer_120x120x24.jpg</url>
</icon>
</iconList>
<serviceList>
<service>
<serviceType>urn:schemas-upnp-org:service:RenderingControl:1</serviceType>
<serviceId>urn:upnp-org:serviceId:RenderingControl</serviceId>
<SCPDURL>/RenderingControlSCPD.xml</SCPDURL>
<controlURL>/upnp/control/RenderingControl</controlURL>
<eventSubURL>/upnp/event/RenderingControl</eventSubURL>
</service>
<service>
<serviceType>urn:schemas-upnp-org:service:ConnectionManager:1</serviceType>
<serviceId>urn:upnp-org:serviceId:ConnectionManager</serviceId>
<SCPDURL>/ConnectionManagerSCPD.xml</SCPDURL>
<controlURL>/upnp/control/ConnectionManager</controlURL>
<eventSubURL>/upnp/event/ConnectionManager</eventSubURL>
</service>
<service>
<serviceType>urn:schemas-upnp-org:service:AVTransport:1</serviceType>
<serviceId>urn:upnp-org:serviceId:AVTransport</serviceId>
<SCPDURL>/AVTransportSCPD.xml</SCPDURL>
<controlURL>/upnp/control/AVTransport</controlURL>
<eventSubURL>/upnp/event/AVTransport</eventSubURL>
</service>
</serviceList>
<av:X_MaxBGMCount>64</av:X_MaxBGMCount>
<av:X_StandardDMR>1.1</av:X_StandardDMR>
<av:X_IRCCCodeList>
<av:X_IRCCCode command="Power">AAAAAQAAAAEAAAAVAw==</av:X_IRCCCode>
<av:X_IRCCCode command="Power ON">AAAAAQAAAAEAAAAuAw==</av:X_IRCCCode>
<av:X_IRCCCode command="Power OFF">AAAAAQAAAAEAAAAvAw==</av:X_IRCCCode>
</av:X_IRCCCodeList>
<pnpx:X_compatibleId>MS_DigitalMediaDeviceClass_DMR_V001</pnpx:X_compatibleId>
<pnpx:X_deviceCategory>MediaDevices</pnpx:X_deviceCategory>
<pnpx:X_hardwareId>
VEN_SONY&DEV_BRAVIA_DMR&REV_01 VEN_0033&DEV_0006&REV_01 urn:schemas-upnp-org:device:MediaRenderer:1
</pnpx:X_hardwareId>
<df:X_deviceCategory>Display.TV Multimedia.DMR</df:X_deviceCategory>
</device>
</root>


Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: KölnSolar am 13 Februar 2020, 19:35:54
Hi Locutus,
zum Verhalten eines Bravia kann ich wenig sagen. Allerdings weiß ich, dassDLNARenderer: AVTransport, Play(0,1) succeed.nicht wirklich succeed heißt.  :'(

Ich nehme an Du hast die offizielle Version laufen ? Probier es mal mit meiner arg modifizierten Version (https://forum.fhem.de/index.php/topic,39706.msg885157.html#msg885157). Ich hab in meiner Version zumindest ein paar zusätzliche Infos bei verbose=5 eingebaut, mit denen das Rätselraten etwas geringer wird.

Evtl. könnten auch Hinweise von hier (https://forum.fhem.de/index.php/topic,82890.msg759194.html#msg759194) weiterhelfen, auch wenn das alles  Samsung spezifisch ist.

Grüße Markus
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: AriGato am 24 März 2020, 14:55:43
Hallo, ich bekomm mein RSS Bild nicht an meinem Samsung J - UE55JU6000 übertragen.

Verbose 5 sagt:

2020.03.24 14:52:43 5: DLNARenderer: DLNA_531ad7eb75c4, AVTransport: urn:schemas-upnp-org:service:AVTransport:1 found. OK.
2020.03.24 14:52:43 5: DLNARenderer: DLNA_531ad7eb75c4, AVTransport, SetAVTransportURI(0,http://192.168.178.63:8088/fhem/rss/myrss.jpg,) succeed.
2020.03.24 14:52:43 5: DLNARenderer: DLNA_531ad7eb75c4, AVTransport: urn:schemas-upnp-org:service:AVTransport:1 found. OK.
2020.03.24 14:52:43 5: DLNARenderer: DLNA_531ad7eb75c4, AVTransport, Play(0,1) succeed.


ankommen tut am Fernseh nix.

List vom masterdevice:

Internals:
   FUUID      5e7a0da7-f33f-5336-3b45-4dde81145f9b9377
   NAME       DLNADevices
   NR         75
   STATE      initialized
   TYPE       DLNARenderer
   UDN        0
   VERSION    v2.0.7Patch_3
   READINGS:
     2020-03-24 14:44:21   state           initialized
   helper:
     caskeid    0
     caskeidClients
Attributes:
   envNamespace <undef>
   envPrefix  s
   room       Steuerungen
   userattr   acceptedUDNs defaultRoom envNamespace envPrefix ignoreUDNs
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: KölnSolar am 24 März 2020, 20:08:48
Und was macht z.B. mute ? Status vom TV-device ist "online" ? Schon mal "einfachere" Medien probiert ? Shutdown/restart ?
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: AriGato am 25 März 2020, 00:01:38
Man kann gar nix steuern, kein mute, volume, power etc.

Fernseher ist online, wenn er eingeschaltet ist, zeigt auch die richtige lautstärke in fhem an, verändern kann man aber nichts.

shutdown/restart paar mal ausprobiert.

mein telekom receiver, welcher auch per dlna gefunden wurde, kann gesteuert werden.
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: KölnSolar am 25 März 2020, 08:01:01
Das list vom master war ja i.O.

Wird die Statusänderung in FHEM immer richtig dargestellt ? Also das Ab-/Anschalten. Alles mal mit kleinen u. großen Zeiträumen ausprobieren. Was steht dann alles bei verbose=5 im Log ?

Als Testbefehl solltest Du erst einmal immer mute benutzen, denn das ist ein einfacher Befehl und sollte immer funktionieren.

Auch mal nur den master auf den TV einschränken(usedonlyIPs). Zur Aktivierung des Attributs ist immer ein shutdown/restart erforderlich !!!
Grüße Markus
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: AriGato am 25 März 2020, 10:22:20
Statusmeldungen werden korrekt in fhem dargestellt.


Internals:
   FUUID      5e7a0da7-f33f-5336-3b45-4dde81145f9b9377
   NAME       DLNADevices
   NR         75
   STATE      initialized
   TYPE       DLNARenderer
   UDN        0
   VERSION    v2.0.7Patch_3
   READINGS:
     2020-03-25 10:26:32   state           initialized
   helper:
     caskeid    0
     caskeidClients
Attributes:
   envNamespace <undef>
   envPrefix  s
   room       Steuerungen
  usedonlyIPs 192.168.xxx.xx
   userattr   acceptedUDNs defaultRoom envNamespace envPrefix ignoreUDNs
   verbose    5

Ein mute befehl macht folgendes:

2020.03.25 10:02:13 5: DLNARenderer: DLNA_531ad7eb75c4, RenderingControl: urn:schemas-upnp-org:service:RenderingControl:1 found. OK.
2020.03.25 10:02:14 5: DLNARenderer: DLNA_531ad7eb75c4, RenderingControl, SetMute(0,Master,1) succeed.


der Fernseher steht aber nicht auf mute. Befehle mehrmals gesendet.

Mehr sagt das Log auch nicht aus, beim empfangen sieht es schon ein bisschen anders aus:

Mute auf der Samsung Fernbedienung:

2020.03.25 10:21:42 4: DLNARenderer: device DLNA_531ad7eb75c4 received event. Details with verbose=5
2020.03.25 10:21:42 5: DLNARenderer: process event$VAR1 = {
          'Event' => {
                       'InstanceID' => {
                                         'val' => '0',
                                         'Mute' => [
                                                     {
                                                       'val' => '1',
                                                       'channel' => 'Master'
                                                     }
                                                   ]
                                       },
                       'xmlns' => 'urn:schemas-upnp-org:metadata-1-0/RCS/'
                     }
        };

2020.03.25 10:21:42 4: DLNARenderer: Update reading mute with 1




Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: KölnSolar am 25 März 2020, 11:13:26
Aha, subscription funktioniert also.

Warum dann der set-Befehl nicht fluppt(obwohl lt. Log erfolgreich) lässt sich dann auf die Distanz nicht sagen. Möglicherweise Probleme in den Antwortzeiten. Das lässt sich vermutlich nur über das debugging am TV herausfinden.  :'(

Samsung-Berechtigungsprobleme ? Funktioniert SamsungAV ?

Zum Debugging am TV habe ich hier (https://forum.fhem.de/index.php/topic,82890.msg1034872.html#msg1034872) die Info hinterlegt.

Und beim Wiedereinlesen bin ich noch auf die Besonderheit beim FHEMWEB-device (https://forum.fhem.de/index.php/topic,82890.msg1034866.html#msg1034866) gestoßen. Gemacht ?
Titel: Antw:98_DLNARenderer.pm (UPnP) Tester gesucht !!!
Beitrag von: mimue am 14 Mai 2020, 16:05:29
Zitat von: KölnSolar am 06 Januar 2020, 19:18:16
Hallo Ihr Lieben,
ich hab mich mit Dominik kurz geschlossen. Wir würden meine inoffizelle Version (https://forum.fhem.de/index.php/topic,39706.msg885157.html#msg885157)produktiv machen, wenn Nicht-Samsung-Nutzer die Funktion bestätigen können. Insbesondere die Caskeid-Funktionen.
Grüße Markus

Hallo Markus,

ich habe einige DLNA-Geräte im Einsatz (Panasonic) und würde mich gern beteiligen. Allerdings bleibe ich gleich nach der Installation stecken. Es werden insgesamt 5 Einträge erzeugt, die aber alle nicht ansprechbar sind. Auf jede Aktion erhalte ich eine Message-Box
DLNARenderer: Currently searching for device...


Auch nach mehrmaligem Neustart von FHEM ändert sich nichts.

Was ist zu tun ?

Im Log findet sich
2020.05.14 11:47:54 3: DLNARenderer: DLNA Renderer v2.0.7
2020.05.14 11:47:54 3: DLNARenderer: Created device DLNA_A813744B8908 for 40CX700
2020.05.14 11:47:55 3: DLNARenderer: handleOnce failed, Not a HASH reference at ./FHEM/98_DLNARenderer.pm line 1146.
2020.05.14 11:48: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 249.
2020.05.14 11:49:58 1: PERL WARNING: Use of uninitialized value in numeric eq (==) at ./FHEM/98_DLNARenderer.pm line 318.
2020.05.14 12:10:28 3: DLNARenderer: Created device DLNA_D8AFF148EAFE for 58DX730
2020.05.14 12:10:35 3: DLNARenderer: handleOnce failed, Not a HASH reference at ./FHEM/98_DLNARenderer.pm line 1146.


und nach Neustart

2020.05.14 15:28:01 3: DLNARenderer: DLNA Renderer v2.0.7
2020.05.14 15:28:06 3: DLNARenderer: handleOnce failed, Not a HASH reference at ./FHEM/98_DLNARenderer.pm line 1146.
2020.05.14 15:28:06 1: PERL WARNING: Use of uninitialized value in numeric eq (==) at ./FHEM/98_DLNARenderer.pm line 318.


fhem.pl             21926 2020-05-13 10:27:43Z rudolfkoenig
98_DLNARenderer.pm  15836 2018-01-09 21:01:49Z dominik


Linux GIGABYTE 5.6.12-arch1-1 #1 SMP PREEMPT Sun, 10 May 2020 10:43:42 +0000 x86_64 GNU/Linux
This is perl 5, version 30, subversion 2 (v5.30.2) built for x86_64-linux-thread-multi
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: KölnSolar am 14 Mai 2020, 18:51:14
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


Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: mimue am 15 Mai 2020, 08:33:32
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

Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: mimue am 16 Mai 2020, 10:47:38
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 (https://www.panasonic.com/de/consumer/produktarchiv/flachbildfernseher/prime/viera-cxw704-serie/tx-40cxw704.specs.html) und 58DX730 (https://www.panasonic.com/de/consumer/produktarchiv/flachbildfernseher/4k-ultra-hd-tv/dxw734-serie/tx-58dxw734.specs.html)

Wenn ich was beisteuern kann, gerne.
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: KölnSolar am 16 Mai 2020, 12:38:51
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) (https://forum.fhem.de/index.php/topic,82890.msg1034866.html#msg1034866)

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 ?
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: mimue am 16 Mai 2020, 15:14:59
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) (https://forum.fhem.de/index.php/topic,82890.msg1034866.html#msg1034866)
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 ?
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: KölnSolar am 16 Mai 2020, 15:56:05
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. ;)
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: mimue am 17 Mai 2020, 06:43:55
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 ?
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: KölnSolar am 17 Mai 2020, 08:42:14
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.  ;)
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: mimue am 17 Mai 2020, 18:16:39
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 (https://www.linux-magazin.de/ausgaben/2013/01/videostreaming/) 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>
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: KölnSolar am 17 Mai 2020, 22:08:03
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)
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: mimue am 19 Mai 2020, 07:01:33
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  (https://www.meshcommander.com/upnptools) 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 (https://www.universalmediaserver.com/) (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 (https://en.wikipedia.org/wiki/List_of_HTTP_status_codes) 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 (https://github.com/kuma/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...

Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: KölnSolar am 19 Mai 2020, 08:13:02
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.

Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: mimue am 19 Mai 2020, 09:18:21
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...
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: KölnSolar am 19 Mai 2020, 09:45:49
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.
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: mimue am 24 Mai 2020, 18:09:47
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.

Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: mimue am 08 Juni 2020, 13:37:04
Zitat von: mimue am 24 Mai 2020, 18:09:47
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.

Na, hier tut sich wohl nichts mehr...

Trotzdem gebe ich meinen "Senf" weiter dazu. Ich habe mich noch ein wenig mit der Erkennung von UPnP Geräten im Netzwerk auseinandergesetzt. Was mich nervt sind die unglaublich unterschiedlichen Antwortzeiten und das Chaos auf dem UDP Kanal.

Es gibt offenbar eine große Begriffsverwirrung bezüglich der Funktionsweise von DLNA/UDP/UPnP. Allein in FHEM gibt es, wie ich spasseshalber ermittelt habe,
mindesten 19 Module die UDP/UPnP verwenden.

egrep -rnw './' -e 'UDP|UPnP|ControlPoint' | grep "_" | cut -b1-10 | sort -u | grep -v controls

Ob das alle sind, wer weiß. Ganze 4 davon verwenden Reinerleins ControlPoint.

egrep -rnw './' -e 'ControlPoint' | grep "_" | cut -b1-10 | sort -u | grep -v controls

Die Anderen basteln fröhlich vor sich hin und tragen damit zum Chaos auf der Leitung ihr Teil bei.

Wer sich ernsthaft mit dem Thema auseinandersetzen will, findet hier  Cloudflare  (https://blog.cloudflare.com/ssdp-100gbps/) und hier Electric Monk (https://www.electricmonk.nl/log/2016/07/05/exploring-upnp-with-python/) einen guten Einstieg.

Mit dem Python scriptlet von Cloudflare melden sich _alle_ UPnP fähigen Geräte meines Netzes innerhalb von zwei Sekunden (Immerhin 28), das haben die vermutlich vorher schon getan, nur die Antworten gehen üblicherweise ins Leere. Die meisten davon allerdings AVM Geraffel, das sich ständig über UDP unterhält (Mesh-Abstimmung ?). Ein Gerät, das nichts zu bieten hat, meldet sich besonders häufig, läßt sich allerdings auch leicht ruhigstellen (NetIO Steckdosenleiste).

Da sich IoT immer stärker ausbreitet, wäre es vielleicht hilfreich, wenn die jeweiligen Modul-Eigner sich mal abstimmen würden, wie sie mit dem Thema in Zukunft umgehen wollen. Jedenfalls die beiden UPnP/UDP/DLNA Module, die ich bislang getestet habe, sind ungefähr so nützlich wie ein Kropf in Bezug auf Automatisierung.

Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: alru am 13 Juni 2020, 19:58:17
Moin,
ich habe versucht den Renderer zu installieren (soll Ausgaben auf meinem SamsungTV erzeugen) und dabei die hier veröffentlichte "inoffizielle" Version benutzt. Leider erhalte ich beim Anlegen des Rederers folgende Fehlermeldung:
[Can't locate Data/UUID.pm in @INC (you may need to install the Data::UUID module) (@INC contains: ./lib ./FHEM . /etc/perl /usr/local/lib/arm-linux-gnueabihf/perl/5.24.1 /usr/local/share/perl/5.24.1 /usr/lib/arm-linux-gnueabihf/perl5/5.24 /usr/share/perl5 /usr/lib/arm-linux-gnueabihf/perl/5.24 /usr/share/perl/5.24 /usr/local/lib/site_perl /usr/lib/arm-linux-gnueabihf/perl-base ./FHEM/lib) at ./FHEM/98_DLNARenderer.pm line 166.
BEGIN failed--compilation aborted at ./FHEM/98_DLNARenderer.pm line 166.


Shutdown/Restart hab ich schon gemacht. Fhem ist vor ein paar Tagen aktualisiert worden.
Jemand eine Idee? Ich werde leider aus der Fehlermeldung nicht schlau...

Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: KölnSolar am 13 Juni 2020, 23:28:53
Dir fehlt ein zusätzlich zu installierendes Perl-Paket. Hast Du die in der commandref genannten Pakete installiert ?
Grüße Markus
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: alru am 14 Juni 2020, 15:30:33
OK, da hab ich tatsächlich etwas übersehen...
Die Installation hab ich jetzt nachgeholt. Danach wurde der TV auch als DLNARenderer Device angelegt. Das sah erst einmal gut aus.

Der Test ("set DLNA_c0a42f45dab4 stream http://192.168.1.23:8083/fhem/rss/test.jpg") hat dann folgende Fehlermeldungen im Log ergeben:
WEB_192.168.1.143_33901: unsupported HTTP method HEAD, rejecting it.
Ein FHEMWEB device mit dem Attr. allowedHttpMethods GET|POST|HEAD habe ich angelegt.

Hab leider nichts weiter dazu gefunden...

Edit:
Im Log ist jetzt alle paar Minuten diese Meldung zu finden:
2020.06.14 17:41:13 3: DLNARenderer: DLNASocket-MyRenderer-1900, MyRenderer handleOnce failed, mismatched tag 'head'
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: KölnSolar am 14 Juni 2020, 18:46:02
ZitatEin FHEMWEB device mit dem Attr. allowedHttpMethods GET|POST|HEAD habe ich angelegt.
So ?attr WEB allowedHttpMethods GET|POST|HEADu. WEB auf Port 8083 mit global u. ohne HTTPS u. ohne Verknüpfung in einem allowed-device?

ZitatDLNASocket-MyRenderer-1900, MyRenderer handleOnce failed, mismatched tag 'head'
Da wundern mich einerseits die Kleinbuchstaben bei head und was da überhaupt auf port 1900 passiert. Der lauscht ja nur auf die broadcasts ALLER DLNA-devices.  :-\

mute,volume gehen schon, richtig ?

Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: alru am 14 Juni 2020, 20:25:55
Zitat von: KölnSolar am 14 Juni 2020, 18:46:02
So ?attr WEB allowedHttpMethods GET|POST|HEADu. WEB auf Port 8083 mit global u. ohne HTTPS u. ohne Verknüpfung in einem allowed-device?[/code]
Ja, allerdings hatte ich ein neues WEB Device angelegt mit dem falschen Port, ist jetzt korrigiert...

Zitat von: KölnSolar am 14 Juni 2020, 18:46:02
Da wundern mich einerseits die Kleinbuchstaben bei head und was da überhaupt auf port 1900 passiert. Der lauscht ja nur auf die broadcasts ALLER DLNA-devices.  :-\

mute,volume gehen schon, richtig ?
Ja, geht.

Aber die Fehlermeldung bleibt. Wenn ich einen Radio Stream abspieilen will, erscheint der auf dem TV, aber es lässt sich nichts abspielen. Die komplette Fehlermeldung sieht dann so aus:
2020.06.14 20:18:10 1: PERL WARNING: Use of uninitialized value $meta in concatenation (.) or string at ./FHEM/98_DLNARenderer.pm line 431.
2020.06.14 20:18:10 3: eval: {DLNARenderer_generateDidlLiteBlockingFinished('DLNA_c0a42f45dab4|https://wdr-edge-10ba-fra-dtag-cdn.cast.addradio.de/wdr/1live/live/mp3/128/stream.mp3')}
2020.06.14 20:18:43 3: DLNARenderer: DLNASocket-MyRenderer-1900, MyRenderer handleOnce failed, mismatched tag 'head'

Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: KölnSolar am 14 Juni 2020, 22:06:51
Zitathttps://wdr-edge-10ba-fra-dtag-cdn.cast.addradio.de/wdr/1live/live/mp3/128/stream.mp3
funktioniert bei mir.
ZitatWenn ich einen Radio Stream abspieilen will, erscheint der auf dem TV, aber es lässt sich nichts abspielen
Versteh ich nicht. Du siehst die stream-Anzeige aber sie läuft nicht ? Auch kein manuelles starten per fb möglich ?
Mach mal verbose=5 beim DLNA_c0a42f45dab4 u. DLNASocket-MyRenderer-1900.(Du findest die devices indem Du in den Internals beim Internal TYPE auf DLNARenderer klickst)
Du kannst auch mal attr MyRenderer usedonlyIPs DeineTVIPsetzen, um andere DLNA-devices in Deinem LAN auszuschließen. shutdown/restart danach notwendig.

edit: ich spekuliere, dass dir HTML::Parser(Debian: libhtml-parser-perl) noch fehlt.
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: alru am 15 Juni 2020, 09:03:52
Zitat von: KölnSolar am 14 Juni 2020, 22:06:51
funktioniert bei mir.Versteh ich nicht. Du siehst die stream-Anzeige aber sie läuft nicht ? Auch kein manuelles starten per fb möglich ?
Genau!
Zitat von: KölnSolar am 14 Juni 2020, 22:06:51
Mach mal verbose=5 beim DLNA_c0a42f45dab4 u. DLNASocket-MyRenderer-1900.(Du findest die devices indem Du in den Internals beim Internal TYPE auf DLNARenderer klickst)
Logfile ist hier:
2020.06.15 08:59:26 3: [SamsungTV.wol] set SamsungTV.wol on
2020.06.15 08:59:26 3: [SamsungTV.wol] waking  SamsungTV.wol with MAC 38:68:A4:AF:08:49 IP 192.168.1.143 via BOTH
2020.06.15 08:59:26 1: [SamsungTV.wol] Guessing broadcast address: 192.168.1.255
2020.06.15 08:59:26 1: [SamsungTV.wol] no system command for WOL found - use '/usr/bin/ether-wake' or '/usr/bin/wakeonlan' or define Attribut sysCmd
2020.06.15 08:59:27 4: DLNARenderer_discoverCallback: device MyRenderer, deviceAdded, [TV] TV Wohnzimmer
2020.06.15 08:59:27 5: DLNARenderer: DLNA_c0a42f45dab4, AVTransport: urn:schemas-upnp-org:service:AVTransport:1 found. OK.
2020.06.15 08:59:27 5: DLNARenderer: DLNA_c0a42f45dab4, AVTransport: urn:schemas-upnp-org:service:AVTransport:1 found. OK.
2020.06.15 08:59:27 4: DLNARenderer:MyRenderer Initial Subscription for DLNA_c0a42f45dab4 with answer
2020.06.15 08:59:27 5: DLNARenderer: DLNA_c0a42f45dab4, RenderingControl: urn:schemas-upnp-org:service:RenderingControl:1 found. OK.
2020.06.15 08:59:27 5: DLNARenderer: DLNA_c0a42f45dab4, RenderingControl: urn:schemas-upnp-org:service:RenderingControl:1 found. OK.
2020.06.15 08:59:27 4: DLNARenderer: SpeakerManagement unknown for DLNA_c0a42f45dab4.
2020.06.15 08:59:27 4: DLNARenderer: SessionManagement unknown for DLNA_c0a42f45dab4.
2020.06.15 08:59:27 4: DLNARenderer: device DLNA_c0a42f45dab4 received event. Details with verbose=5
2020.06.15 08:59:27 5: DLNARenderer: process event$VAR1 = {
          'Event' => {
                     'xmlns' => 'urn:schemas-upnp-org:metadata-1-0/AVT/',
                     'InstanceID' => {
                                     'CurrentMediaDuration' => {
                                                               'val' => '0:00:00'
                                                             },
                                     'TransportState' => {
                                                         'val' => 'STOPPED'
                                                       },
                                     'CurrentTrack' => {
                                                       'val' => '1'
                                                     },
                                     'CurrentPlayMode' => {
                                                          'val' => 'NORMAL'
                                                        },
                                     'TransportStatus' => {
                                                          'val' => 'OK'
                                                        },
                                     'CurrentTrackMetaData' => {
                                                               'val' => '<DIDL-Lite xmlns="urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:upnp="urn:schemas-upnp-org:metadata-1-0/upnp/" xmlns:dlna="urn:schemas-dlna-org:metadata-1-0/">
<item id="fake_id_1" parentID="fake_parentID" restricted="1">
<dc:title>audio - stream.mp3</dc:title>
<upnp:class>object.item.audioItem</upnp:class>
<res protocolInfo="http-get:*:audio/mpeg:*">https://wdr-edge-10ba-fra-dtag-cdn.cast.addradio.de/wdr/1live/live/mp3/128/stream.mp3</res>
</item></DIDL-Lite>'
                                                             },
                                     'PossibleRecordStorageMedia' => {
                                                                     'val' => 'NOT_IMPLEMENTED'
                                                                   },
                                     'NextAVTransportURIMetaData' => {
                                                                     'val' => ''
                                                                   },
                                     'TransportPlaySpeed' => {
                                                             'val' => '1'
                                                           },
                                     'NextAVTransportURI' => {
                                                             'val' => ''
                                                           },
                                     'CurrentRecordQualityMode' => {
                                                                   'val' => 'NOT_IMPLEMENTED'
                                                                 },
                                     'NumberOfTracks' => {
                                                         'val' => '1'
                                                       },
                                     'AVTransportURI' => {
                                                         'val' => 'https://wdr-edge-10ba-fra-dtag-cdn.cast.addradio.de/wdr/1live/live/mp3/128/stream.mp3'
                                                       },
                                     'CurrentTrackURI' => {
                                                          'val' => 'https://wdr-edge-10ba-fra-dtag-cdn.cast.addradio.de/wdr/1live/live/mp3/128/stream.mp3'
                                                        },
                                     'RecordMediumWriteStatus' => {
                                                                  'val' => 'NOT_IMPLEMENTED'
                                                                },
                                     'val' => '0',
                                     'PossibleRecordQualityModes' => {
                                                                     'val' => 'NOT_IMPLEMENTED'
                                                                   },
                                     'CurrentTransportActions' => {
                                                                  'val' => 'Play'
                                                                },
                                     'AVTransportURIMetaData' => {
                                                                 'val' => '<DIDL-Lite xmlns="urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:upnp="urn:schemas-upnp-org:metadata-1-0/upnp/" xmlns:dlna="urn:schemas-dlna-org:metadata-1-0/">
<item id="fake_id_1" parentID="fake_parentID" restricted="1">
<dc:title>audio - stream.mp3</dc:title>
<upnp:class>object.item.audioItem</upnp:class>
<res protocolInfo="http-get:*:audio/mpeg:*">https://wdr-edge-10ba-fra-dtag-cdn.cast.addradio.de/wdr/1live/live/mp3/128/stream.mp3</res>
</item></DIDL-Lite>'
                                                               },
                                     'PossiblePlaybackStorageMedia' => {
                                                                       'val' => 'NETWORK,NONE'
                                                                     },
                                     'RecordStorageMedium' => {
                                                              'val' => 'NOT_IMPLEMENTED'
                                                            },
                                     'PlaybackStorageMedium' => {
                                                                'val' => 'NETWORK,NONE'
                                                              },
                                     'CurrentTrackDuration' => {
                                                               'val' => '0:00:00'
                                                             }
                                   }
                   }
        };

2020.06.15 08:59:27 4: DLNARenderer: Update reading transportState with STOPPED
2020.06.15 08:59:27 4: DLNARenderer: Update reading transportStatus with OK
2020.06.15 08:59:27 4: DLNARenderer: Update reading currentTrackURI with https://wdr-edge-10ba-fra-dtag-cdn.cast.addradio.de/wdr/1live/live/mp3/128/stream.mp3
2020.06.15 08:59:27 4: DLNARenderer: Update reading nextAVTransportURI with
2020.06.15 08:59:27 4: DLNARenderer: MetaData: $VAR1 = {
          'DIDL-Lite' => {
                         'xmlns:dc' => 'http://purl.org/dc/elements/1.1/',
                         'xmlns:dlna' => 'urn:schemas-dlna-org:metadata-1-0/',
                         'xmlns:upnp' => 'urn:schemas-upnp-org:metadata-1-0/upnp/',
                         'item' => {
                                   'restricted' => '1',
                                   'parentID' => 'fake_parentID',
                                   'upnp:class' => 'object.item.audioItem',
                                   'res' => {
                                            'protocolInfo' => 'http-get:*:audio/mpeg:*',
                                            'content' => 'https://wdr-edge-10ba-fra-dtag-cdn.cast.addradio.de/wdr/1live/live/mp3/128/stream.mp3'
                                          },
                                   'dc:title' => 'audio - stream.mp3',
                                   'id' => 'fake_id_1'
                                 },
                         'xmlns' => 'urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/'
                       }
        };

2020.06.15 08:59:27 4: DLNARenderer: device DLNA_c0a42f45dab4 received event. Details with verbose=5
2020.06.15 08:59:27 5: DLNARenderer: process event$VAR1 = {
          'Event' => {
                     'InstanceID' => {
                                     'Volume' => [
                                                 {
                                                   'val' => '11',
                                                   'channel' => 'Master'
                                                 }
                                               ],
                                     'X_360View' => {
                                                    'longitudeCenter' => '0.0000',
                                                    'scaleFactor' => '2.4000',
                                                    'val' => '',
                                                    'latitudeCenter' => '0.0000'
                                                  },
                                     'X_ServiceCapabilities' => {
                                                                'val' => 'GetVolume,SetVolume,GetMute,SetMute'
                                                              },
                                     'X_Captions' => {
                                                     'val' => ''
                                                   },
                                     'val' => '0',
                                     'X_AspectRatio' => {
                                                        'val' => 'Default'
                                                      },
                                     'Mute' => [
                                               {
                                                 'val' => '0',
                                                 'channel' => 'Master'
                                               }
                                             ],
                                     'PresetNameList' => {
                                                         'val' => 'FactoryDefaults'
                                                       },
                                     'X_EnabledCaptions' => {
                                                            'val' => ''
                                                          }
                                   },
                     'xmlns' => 'urn:schemas-upnp-org:metadata-1-0/RCS/'
                   }
        };

2020.06.15 08:59:27 4: DLNARenderer: Update reading mute with 0
2020.06.15 08:59:27 4: DLNARenderer: Update reading volume with 11
2020.06.15 08:59:41 5: DLNARenderer: DLNA_c0a42f45dab4, AVTransport: urn:schemas-upnp-org:service:AVTransport:1 found. OK.
2020.06.15 08:59:42 4: DLNARenderer: device DLNA_c0a42f45dab4 received event. Details with verbose=5
2020.06.15 08:59:42 5: DLNARenderer: process event$VAR1 = '';

2020.06.15 08:59:42 4: DLNARenderer: device DLNA_c0a42f45dab4 received event. Details with verbose=5
2020.06.15 08:59:42 5: DLNARenderer: process event$VAR1 = '';

2020.06.15 08:59:42 4: DLNARenderer: device DLNA_c0a42f45dab4 received event. Details with verbose=5
2020.06.15 08:59:42 5: DLNARenderer: process event$VAR1 = '';

2020.06.15 08:59:42 4: DLNARenderer: device DLNA_c0a42f45dab4 received event. Details with verbose=5
2020.06.15 08:59:42 5: DLNARenderer: process event$VAR1 = '';

2020.06.15 08:59:42 4: DLNARenderer: device DLNA_c0a42f45dab4 received event. Details with verbose=5
2020.06.15 08:59:42 5: DLNARenderer: process event$VAR1 = '';

2020.06.15 08:59:42 4: DLNARenderer: device DLNA_c0a42f45dab4 received event. Details with verbose=5
2020.06.15 08:59:42 5: DLNARenderer: process event$VAR1 = '';

2020.06.15 08:59:42 4: DLNARenderer: device DLNA_c0a42f45dab4 received event. Details with verbose=5
2020.06.15 08:59:42 5: DLNARenderer: process event$VAR1 = '';

2020.06.15 08:59:42 4: DLNARenderer: device DLNA_c0a42f45dab4 received event. Details with verbose=5
2020.06.15 08:59:42 5: DLNARenderer: process event$VAR1 = '';

2020.06.15 08:59:42 4: DLNARenderer: device DLNA_c0a42f45dab4 received event. Details with verbose=5
2020.06.15 08:59:42 5: DLNARenderer: process event$VAR1 = '';

2020.06.15 08:59:42 4: DLNARenderer: device DLNA_c0a42f45dab4 received event. Details with verbose=5
2020.06.15 08:59:42 5: DLNARenderer: process event$VAR1 = '';

2020.06.15 08:59:42 4: DLNARenderer: device DLNA_c0a42f45dab4 received event. Details with verbose=5
2020.06.15 08:59:42 5: DLNARenderer: process event$VAR1 = '';

2020.06.15 08:59:42 4: DLNARenderer: device DLNA_c0a42f45dab4 received event. Details with verbose=5
2020.06.15 08:59:42 5: DLNARenderer: process event$VAR1 = '';

2020.06.15 08:59:42 4: DLNARenderer: device DLNA_c0a42f45dab4 received event. Details with verbose=5
2020.06.15 08:59:42 5: DLNARenderer: process event$VAR1 = '';

2020.06.15 08:59:42 4: DLNARenderer: device DLNA_c0a42f45dab4 received event. Details with verbose=5
2020.06.15 08:59:42 5: DLNARenderer: process event$VAR1 = '';

2020.06.15 08:59:42 4: DLNARenderer: device DLNA_c0a42f45dab4 received event. Details with verbose=5
2020.06.15 08:59:42 5: DLNARenderer: process event$VAR1 = {
          'Event' => {
                     'xmlns' => 'urn:schemas-upnp-org:metadata-1-0/AVT/',
                     'InstanceID' => {
                                     'CurrentTrackMetaData' => {
                                                               'val' => '<DIDL-Lite xmlns="urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:upnp="urn:schemas-upnp-org:metadata-1-0/upnp/" xmlns:dlna="urn:schemas-dlna-org:metadata-1-0/">
<item id="fake_id_2" parentID="fake_parentID" restricted="1">
<dc:title>audio - stream.mp3</dc:title>
<upnp:class>object.item.audioItem</upnp:class>
<res protocolInfo="http-get:*:audio/mpeg:*">https://wdr-edge-10ba-fra-dtag-cdn.cast.addradio.de/wdr/1live/live/mp3/128/stream.mp3</res>
</item></DIDL-Lite>'
                                                             },
                                     'AVTransportURIMetaData' => {
                                                                 'val' => '<DIDL-Lite xmlns="urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:upnp="urn:schemas-upnp-org:metadata-1-0/upnp/" xmlns:dlna="urn:schemas-dlna-org:metadata-1-0/">
<item id="fake_id_2" parentID="fake_parentID" restricted="1">
<dc:title>audio - stream.mp3</dc:title>
<upnp:class>object.item.audioItem</upnp:class>
<res protocolInfo="http-get:*:audio/mpeg:*">https://wdr-edge-10ba-fra-dtag-cdn.cast.addradio.de/wdr/1live/live/mp3/128/stream.mp3</res>
</item></DIDL-Lite>'
                                                               },
                                     'TransportState' => {
                                                         'val' => 'TRANSITIONING'
                                                       },
                                     'val' => '0'
                                   }
                   }
        };

2020.06.15 08:59:42 4: DLNARenderer: Update reading transportState with TRANSITIONING
2020.06.15 08:59:42 4: DLNARenderer: MetaData: $VAR1 = {
          'DIDL-Lite' => {
                         'xmlns:dlna' => 'urn:schemas-dlna-org:metadata-1-0/',
                         'item' => {
                                   'parentID' => 'fake_parentID',
                                   'upnp:class' => 'object.item.audioItem',
                                   'restricted' => '1',
                                   'dc:title' => 'audio - stream.mp3',
                                   'res' => {
                                            'content' => 'https://wdr-edge-10ba-fra-dtag-cdn.cast.addradio.de/wdr/1live/live/mp3/128/stream.mp3',
                                            'protocolInfo' => 'http-get:*:audio/mpeg:*'
                                          },
                                   'id' => 'fake_id_2'
                                 },
                         'xmlns:upnp' => 'urn:schemas-upnp-org:metadata-1-0/upnp/',
                         'xmlns' => 'urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/',
                         'xmlns:dc' => 'http://purl.org/dc/elements/1.1/'
                       }
        };

2020.06.15 08:59:43 4: DLNARenderer: device DLNA_c0a42f45dab4 received event. Details with verbose=5
2020.06.15 08:59:43 5: DLNARenderer: process event$VAR1 = '';

2020.06.15 08:59:43 4: DLNARenderer: device DLNA_c0a42f45dab4 received event. Details with verbose=5
2020.06.15 08:59:43 5: DLNARenderer: process event$VAR1 = '';

2020.06.15 08:59:43 5: DLNARenderer: DLNA_c0a42f45dab4, AVTransport, SetAVTransportURI(0,https://wdr-edge-10ba-fra-dtag-cdn.cast.addradio.de/wdr/1live/live/mp3/128/stream.mp3,) succeed.
2020.06.15 08:59:43 4: DLNARenderer: device DLNA_c0a42f45dab4 received event. Details with verbose=5
2020.06.15 08:59:43 5: DLNARenderer: process event$VAR1 = {
          'Event' => {
                     'InstanceID' => {
                                     'TransportState' => {
                                                         'val' => 'STOPPED'
                                                       },
                                     'val' => '0'
                                   },
                     'xmlns' => 'urn:schemas-upnp-org:metadata-1-0/AVT/'
                   }
        };

2020.06.15 08:59:43 4: DLNARenderer: Update reading transportState with STOPPED
2020.06.15 08:59:43 5: DLNARenderer: DLNA_c0a42f45dab4, AVTransport: urn:schemas-upnp-org:service:AVTransport:1 found. OK.
2020.06.15 08:59:44 5: DLNARenderer: DLNA_c0a42f45dab4, AVTransport, Play(0,1) succeed.
2020.06.15 08:59:44 4: DLNARenderer: device DLNA_c0a42f45dab4 received event. Details with verbose=5
2020.06.15 08:59:44 5: DLNARenderer: process event$VAR1 = '';

2020.06.15 08:59:44 4: DLNARenderer: device DLNA_c0a42f45dab4 received event. Details with verbose=5
2020.06.15 08:59:44 5: DLNARenderer: process event$VAR1 = '';

2020.06.15 08:59:44 4: DLNARenderer: device DLNA_c0a42f45dab4 received event. Details with verbose=5
2020.06.15 08:59:44 5: DLNARenderer: process event$VAR1 = {
          'Event' => {
                     'xmlns' => 'urn:schemas-upnp-org:metadata-1-0/AVT/',
                     'InstanceID' => {
                                     'TransportState' => {
                                                         'val' => 'TRANSITIONING'
                                                       },
                                     'val' => '0',
                                     'CurrentTransportActions' => {
                                                                  'val' => 'Stop'
                                                                }
                                   }
                   }
        };

2020.06.15 08:59:44 4: DLNARenderer: Update reading transportState with TRANSITIONING
2020.06.15 09:00:05 4: DLNARenderer_discoverCallback: device MyRenderer, deviceRemoved, [TV] TV Wohnzimmer



Zitat von: KölnSolar am 14 Juni 2020, 22:06:51
edit: ich spekuliere, dass dir HTML::Parser(Debian: libhtml-parser-perl) noch fehlt.
Hab ich überprüft, das ist aktuell
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: Qualle27 am 18 Juni 2020, 21:18:25
Hallo,

ich bin total neu hier und arbeite erst seit kurzem mit Fhem. Bitte verzeiht mir also, falls ich mich total doof anstelle. Ich wollte den DLNARenderer nutzen um Radiostreams auf meinem AV-Receiver (Pioneer VSX-528 ) abzuspielen. Nach langen testen wird dieser aber vom DLNARenderer nicht gefunden. Es stehen auch keine Fehlermeldungen im Fhem Log. Das Abspielen von mp3 über Windows funktioniert aber. Ich habe das Modul (v2.0.7Patch_3) aus diesem Post benutzt. Ich hoffe das ist die aktuellste Version. Ich habe die Vermutung das ich etwas bei der Installation grundlegend falsch mache. Fhem läuft bei mir auf einem Raspberry Pi 3. Gibt es bereits eine detaillierte Beschreibung der Installation? Ich habe das Device wie in der Commandref beschrieben angelegt und folgende Perl Module installiert.

SOAP::Lite -> libsoap-lite-perl
LWP::Simple -> libwww-perl
XML::Simple -> libxml-simple-perl
XML::Parser::Lite -> libxml-parser-lite-perl
LWP::UserAgent  -> libwww-perl

Leider ohne Erfolg. Im Beitrag steht öfter, dass man die Controlpoint.pm richtig installieren muss. Wie muss man bei der Installation der Controlpoint.pm vorgehen?
Über eure Hilfe würde ich mich sehr freuen.
Gruß
Marcus
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: KölnSolar am 22 Juni 2020, 22:05:59
Hallo Markus,
ZitatIm Beitrag steht öfter, dass man die Controlpoint.pm richtig installieren muss. Wie muss man bei der Installation der Controlpoint.pm vorgehen?
Da musst Du nichts besonderes machen.

ZitatEs stehen auch keine Fehlermeldungen im Fhem Log.
Nichts mit verbose=5 beim master device ? Wenigstens erkannt werden sollte er. :-\
Grüße Markus
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: fritzhugo123 am 05 Juli 2020, 17:16:18
Hallo zusammen,

nachdem ich mein FHEM auf einen neuen Raspberry pi 4 umgezogen habe, versuche ich nun verzweifelt den DLNARenderer wieder an den Start zu bekommen. Das gelingt mit leider nicht.
Ich habe alle Pakete installiert, trotzdem erhalte ich folgende Fehlermeldung im Fhem Logfile:

2020.07.05 17:01:17 1: reload: Error:Modul 98_DLNARenderer deactivated:
Attempt to reload UPnP/ControlPoint.pm aborted.
Compilation failed in require at ./FHEM/98_DLNARenderer.pm line 161.
BEGIN failed--compilation aborted at ./FHEM/98_DLNARenderer.pm line 161.

2020.07.05 17:01:17 0: Attempt to reload UPnP/ControlPoint.pm aborted.
Compilation failed in require at ./FHEM/98_DLNARenderer.pm line 161.
BEGIN failed--compilation aborted at ./FHEM/98_DLNARenderer.pm line 161.

In der Zeile 161 des DLNARenderer steht folgendes:
use UPnP::ControlPoint;

Ich habe den Ordner lib/UPNP mit dem auf dem alten Raspberry verglichen, kann aber keinen Unterschied feststellen.

Woran kann es noch liegen?

Danke und Gruß, Matthias
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: fritzhugo123 am 05 Juli 2020, 18:55:30
selbst gelöst:

folgendes fehlte noch

apt-get -y install libnet-upnp-perl

Nach der Installation und Neustart, konnte ich alles erfolgreich anlegen.
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: Gisbert am 06 Juli 2020, 21:42:43
Hallo Markus,

da ich weiß, dass du diesen Thread intensiv liest, möchte ich hier meine Frage loswerden.

Kann ich meine Foscam-Wlan-Kamera durch Fhem auf meinen Samsung-Fernseher streamen?

Auf die Wlan-Kamera komme ich drauf mit http:ip-address:88, allerdings nur mit dem alten IE oder mit Android.

Hast du eine Idee, wie ich vorgehen könnte?

Viele​ Grüße​ Gisbert​
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: KölnSolar am 06 Juli 2020, 23:10:44
Hi Gisbert,
richtig vermutet.
Ich habs noch nicht hinbekommen mein Einzelbild einer WLAN-Cam auf den TV zu pushen. :'( Kann die FOSCAM Einzelbilder ? Also hat einen Link für das IPCAM-Modul ?
Siehst Du ein live-Bild unter IP:88 oder den CAM-Webserver ?
DLNA kann sie vermutlich nicht . :-\

Grüße Markus
Weitere Details sollten wir dann in einem separaten Thread oder per PN austauschen.

Edit:
ZitatIch habs noch nicht hinbekommen mein Einzelbild einer WLAN-Cam auf den TV zu pushen.
Oder nicht richtig probiert.  ::)
Mein E sagt nicht unterstützter Dateityp bei http://IP:FHEMWeb_Port/fhem/www/Bilder/ipcam_snapshot.jpg (Einzelbild der Cam) Mein N kann es(glaub ich).
Edit2: Beim E bekomme ich es OHNE DLNAdevice im SamsungAV-define hin, dass das Bild mit  caller/screen (caller-/screen-URI)  über Port 7676 im InetBroswer angezeigt wird.
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: Gisbert am 07 Juli 2020, 18:58:44
Hallo Markus,

ZitatEdit2: Beim E bekomme ich es OHNE DLNAdevice im SamsungAV-define hin, dass das Bild mit  caller/screen (caller-/screen-URI)  über Port 7676 im InetBroswer angezeigt wird.

Beim meinem Samsung kann ich keine Smartfunktionen wie einen Explorer nutzen, up- und downgrades haben nicht geholfen.

Was mir vorschwebt ist kein Standbild, wie bei Alamierungen "Garage offen", etc., sondern ein Livestream, so wie am PC oder in einer Handy-App, den großen statt den kleinen Bildschirm nutzen.

Hättest du eine Idee für eine Definition? Gerne leicht verdaulich in kleinen Häppchen.

Viele​ Grüße​ Gisbert​
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: KölnSolar am 07 Juli 2020, 19:21:39
Hi Gisbert,

Du willst also die Postbotin bespannen.  ;D

Zitatsondern ein Livestream
Du müsstest Dich aber schon auslassen, was die CAM kann. Sowas z.B. "http://CAMERA_IP/image/jpeg.cgi?user=admin&pwd=password"

Und wie wärs mit ner Menge Einzelbilder anstatt einem echten Stream ?

Ich habs bei mir jetzt auf dem N hinbekommen, dass der Klingeltaster die CAM ein Bild schießen lässt u. per DLNA landet es auf dem TV. Vorher hatte ich immer das Problem, dass der Klingeltaster 2 events gesendet hat und dadurch 2mal das "Alarmanlagenmodul" ausgelöst wurde. Dadurch kam FHEM arg ins blockieren. Nun habe ich es auf autocancel 00:00:01 und schon klappts.

Grüße Markus
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: Gisbert am 07 Juli 2020, 21:47:01
Hallo Markus,

ZitatDu willst also die Postbotin bespannen.  ;D

Du müsstest Dich aber schon auslassen, was die CAM kann. Sowas z.B. "http://CAMERA_IP/image/jpeg.cgi?user=admin&pwd=password"

Aber interessant, welche Phantasien du hegst. Postbotinnen gabs bei uns noch nie, auch nicht von Hermes, Amazon, und selbst der Bofrostmann ist ein Mann, wie sollte es auch anders sein, und wo sollten sonst die Söhne vom Bofrostmann alle herkommen, siehe hier (https://youtu.be/w4BkYxPsd60).

Ich gehe mal auf Suche, was die Kamera ausspuckt. Die Kamera fängt den Zuweg zum Garten ein, da hat niemand etwas verloren, außer er ist dazu eingeladen.

Viele​ Grüße​ Gisbert​
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: Gisbert am 08 Juli 2020, 12:31:52
Hallo Markus,

ich habe folgende Defintion, um aus Fhem heraus Bilder (Schnappschüsse) auf meinem Server zu speichern:
defmod CamWestseite IPCAM IP-Adresse:88
attr CamWestseite delay 5
attr CamWestseite path /cgi-bin/CGIProxy.fcgi?usr=admin&pwd=passwd&cmd=snapPicture2
attr CamWestseite snapshots 5
attr CamWestseite stateFormat {"latest image:<br>".ReadingsTimestamp($name,'last','')}
attr CamWestseite storage /Dateipfad.../snapshots


Die Bilder liegen dann in Form von CamWestseite_snapshot.jpg bzw. CamWestseite_snapshot_1..._5.jpg vor, wobei CamWestseite_snapshot.jpg das letzte Bild von insgesamt 6 Bildern ist.
Was kann ich damit anstellen?
Lieber wäre mir ein "Live"-Bild bzw. -Wiedergabe.

Wie ich dazu gekommen bin:
attr CamWestseite path /cgi-bin/CGIProxy.fcgi?usr=admin&pwd=passwd&cmd=snapPicture2
siehe Anhang.

Vermutlich gibt es auch dort Befehle, wie man ein "Live"-Bild streamen kann, aber bevor ich mir da alle Einstellungen in der Kamera verstelle, frage ich lieber.
In VLC kann mit folgendem Befehl ein "Live"-Bild bekommen:
rtsp://user:passwd@IP-Adresse:88/videoMain

Viel Grüsse Gisbert

Edit:
http://IP-Adresse:88/cgi-bin/CGIProxy.fcgi?cmd=snapPicture2&usr=admin&pwd=passwd
diese Zeile liefert in einem Browser ein aktuelles Standbild.

Edit2:
Hier (https://www.ispyconnect.com/man.aspx?n=foscam&page=13) gibt es verschiedene Befehle zur FI9805W, die ich allerdings ausser dem snapshot nicht (in WIN10 mit IE) zum Laufen gebracht habe.
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: KölnSolar am 08 Juli 2020, 15:28:08
Hi Gisbert,
dann hast Du ja(wie ich) das IPCAM-Modul laufen. Du könntest ja jetzt mal testen:
set DeinRenderer stream http://deineFHEMIP:DeinFHEMWEBPort/Dateipfad.../snapshots/Dateiname

Wen es klappt könntest Du Dir eben den bereits angesprochenen Pseudostream basteln: Schleife über get CamWestseite image
set DeinRenderer stream http://deineIP:DeinFHEMWEBPort/Dateipfad.../snapshots/????
Keine Ahnung wie praktikabel das ist, will heißen die Antwortzeitmöglichkeiten.

ZitatIn VLC kann mit folgendem Befehl ein "Live"-Bild bekommen:
RTSP scheint der DLNARenderer(zumindest beim Samsung) nicht zu können. U.U. müsste man VLC oder etwas anderes als Konverter "dazwischen" schalten.

RTSP ist aber sicherlich ein generelles Thema. Ich werd mich mal mittelfristig damit befassen.
ZitatHier gibt es verschiedene Befehle zur FI9805W, die ich allerdings ausser dem snapshot nicht (in WIN10 mit IE) zum Laufen gebracht habe.
Alle probiert ? Du könntest mal die http-URI's probieren mit dem DLNARenderer auf den TV zu streamen.
Grüße Markus
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: Gisbert am 08 Juli 2020, 20:25:25
Hallo Markus,

Einzelbilder würde ich wohl auf den Fernseher bringen, aber halt kein Live-Bild.
Da ich den Live-Stream auf's Handy bekomme, habe ich da schon mal Anschauungsmaterial.
Ich warte dann mal ab, was es noch an Entwicklungen gibt. Nachdem der Fernseher echt Probleme gemacht hat, dann wiederum sich ca.ein Jahr lang gutmütig gezeigt hat, zickt er in letzer Zeit wieder vermehrt. Wenn es zu arg und zu lästig wird, fliegt er raus, vielleicht habe ich dann mit einem neueren Gerät mehr Glück.

Viele Grüße Gisbert
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: KölnSolar am 08 Juli 2020, 22:02:19
Hi Gisbert,
ZitatWenn es zu arg und zu lästig wird, fliegt er raus, vielleicht habe ich dann mit einem neueren Gerät mehr Glück.
Ich denke das macht Sinn. Wenn Du ein Auslaufmodell ohne SchnickSchnack nimmst, kriegst Du das ja fast geschenkt. Möglicherweise finanziert sich das Teil sogar über die Stromersparnis.

Und Webbrowser hat er dann auch, damit kriegen wir einen LiveStream garantiert hin.  8)

Kannst ja zwischenzeitlich mal mit iSpy spielen(mache ich gerade mit meinen 2 BilligCams).

Grüße Markus
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: aHome77 am 22 August 2020, 11:49:24
Wie schalte ich diese Log-File Einträge im Haupt Log File ab? Verbose 0 ist gesetzt. Die DLNARenderer Start/Stop Einträge sind schon ziemlich "wuchtig".

2020.08.21 21:57:23.358 5: DLNARenderer: process event$VAR1 = {
          'Event' => {
                       'xmlns' => 'urn:schemas-upnp-org:metadata-1-0/RCS/',
                       'InstanceID' => {
                                         'X_VideoEncoding' => {
                                                                'val' => ''
                                                              },
                                         'X_VideoPID' => {
                                                           'val' => '0'
                                                         },
                                         'Sharpness' => {
                                                          'val' => '100'
                                                        },
                                         'PresetNameList' => {
                                                               'val' => 'FactoryDefaults'
                                                             },
                                         'X_AudioPID' => {
                                                           'val' => '0'
                                                         },
                                         'X_AudioEncoding' => {
                                                                'val' => ''
                                                              },
                                         'Volume' => [
                                                       {
                                                         'channel' => 'Master',
                                                         'val' => '12'
...
...
etc.



defmod mein_Pi_DLNA_Renderer DLNARenderer
attr mein_Pi_DLNA_Renderer userattr acceptedUDNs defaultRoom ignoreUDNs envPrefix envNamespace
attr mein_Pi_DLNA_Renderer DbLogExclude.* 1
attr mein_Pi_DLNA_Renderer defaultRoom Media
attr mein_Pi_DLNA_Renderer envNamespace <undef>
attr mein_Pi_DLNA_Renderer envPrefix s
attr mein_Pi_DLNA_Renderer group DLNA
attr mein_Pi_DLNA_Renderer room Media
attr mein_Pi_DLNA_Renderer verbose 0

setstate mein_Pi_DLNA_Renderer initialized
setstate mein_Pi_DLNA_Renderer 2020-08-14 10:28:12 state initialized



TYPE DLNARenderer
UDN 0
VERSION v2.0.7Patch_3
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: KölnSolar am 22 August 2020, 12:54:47
ZitatVerbose 0 ist gesetzt.
Nicht wirklich.
Zitat2020.08.21 21:57:23.358 5: DLNARenderer: ....
ist verbose = 5.
Guck Dir mal ALLE Deine DLNARenderer devices an. Du hast mindestens 5.
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: aHome77 am 01 September 2020, 15:17:56
Zitat von: KölnSolar am 22 August 2020, 12:54:47
Nicht wirklich. ist verbose = 5.
Guck Dir mal ALLE Deine DLNARenderer devices an. Du hast mindestens 5.

Danke für den Tip. Ich hatte "nur" bei dem Haupt DLNARenderer Device geschaut, nicht aber bei den einzelnen DLNA Geräten selbst.

Eine Frage hätte ich noch.
Kann ich aus fhem eine mp3 Datei an ein DLNA Gerät senden? Teufel one S:

Internals:
   DEF        uuid:fd1bc910-e168-4e93-9132-c54e9052xxxx
   FUUID      5e1afa62-f33f-d053-d04d-4011c130bd34xxxx
   NAME       DLNA_c54e9052xxxx
   NR         955
   STATE      paused
   TYPE       DLNARenderer
   UDN        uuid:fd1bc910-e168-4e93-9132-c54e9052xxxx
   Helper:
     DBLOG:
       friendlyName:
         LogDB:
           TIME       1598958064.62894
           VALUE      Speaker Kinderzimmer
       manufacturer:
         LogDB:
           TIME       1598958065.77067
           VALUE      Lautsprecher Teufel GmbH
       manufacturerURL:
         LogDB:
           TIME       1598958065.58234
           VALUE      https://www.teufel.de/
       modelDescription:
         LogDB:
           TIME       1598958064.97652
           VALUE      Digital Media Player
       modelName:
         LogDB:
           TIME       1598958065.21588
           VALUE      Teufel One S
       modelNumber:
         LogDB:
           TIME       1598958065.32142
           VALUE      1
       multiRoomSupport:
         LogDB:
           TIME       1598958066.37062
           VALUE      0
       multiRoomVolume:
         LogDB:
           TIME       1598958066.92605
           VALUE      44
       presence:
         LogDB:
           TIME       1598958066.03898
           VALUE      online
       state:
         LogDB:
           TIME       1598959060.50908
           VALUE      volume 44
   READINGS:
     2020-09-01 13:01:04   friendlyName    Speaker Kinderzimmer
     2020-09-01 13:01:05   manufacturer    Lautsprecher Teufel GmbH
     2020-09-01 13:01:05   manufacturerURL https://www.teufel.de/
     2020-09-01 13:01:04   modelDescription Digital Media Player
     2020-09-01 13:01:05   modelName       Teufel One S
     2020-09-01 13:01:05   modelNumber     1
     2020-09-01 13:01:06   multiRoomSupport 0
     2020-09-01 13:01:06   multiRoomVolume 44
     2020-01-12 11:52:23   mute            0
     2020-09-01 13:01:06   presence        online
     2020-09-01 13:01:06   state           paused
     2020-07-04 21:56:57   transportState  PAUSED_PLAYBACK
     2020-01-12 11:52:22   transportStatus OK
     2020-07-04 21:56:57   volume          44
   helper:
     caskeid    0
     caskeidClients
Attributes:
   DbLogExclude.* 1
   alias      Speaker Kinderzimmer
   room       Media
   userattr   channel_01 channel_02 channel_03 channel_04 channel_05 channel_06 channel_07 channel_08 channel_09 channel_10 multiRoomGroups ttsLanguage
   verbose    0
   webCmd     volume
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: KölnSolar am 01 September 2020, 15:28:31
Das ist gerätespezifisch. Versuch macht kluch.  ;)
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: aHome77 am 01 September 2020, 18:27:07
Zitat von: KölnSolar am 01 September 2020, 15:28:31
Das ist gerätespezifisch. Versuch macht kluch.  ;)

Und Firmwareabhängig  :P Schade das die Hersteller da nicht eine saubere Beschreibung entsprechend zum Gerät/Firmware beilegen müssen.

Die Sprachausgabe mit

set DLNA_c54e9052xxxx speak "Sprachausgabe Test"

funktioniert gut.

Einen .m3u Stream konnte ich allerdings noch nicht abspielen.

Habe beim Teufel Support mal angefragt zwecks Protokoll Schnittstelle.
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: Qualle27 am 09 September 2020, 19:52:21
Zitat von: KölnSolar am 22 Juni 2020, 22:05:59
Hallo Markus,Da musst Du nichts besonderes machen.
Nichts mit verbose=5 beim master device ? Wenigstens erkannt werden sollte er. :-\
Grüße Markus

Hallo Markus,
vielen Dank für die Antwort. Bitte entschuldige meine späte Antwort aber ich konnte mich jetzt erst wieder um das Problem kümmern. Ich habe durch einen Zufall entdeckt das mein D-LAN Adapter defekt ist. Jetzt läuft es.
Trotzdem vielen Dank.

Gruß

Marcus
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: twinFHEM am 05 Januar 2021, 23:47:50
Hallo & ein frohes Neues 2021!

Kann jemand diesen Fehler aus dem Logfile deuten?
2021.01.05 23:37:48 3: DLNARenderer: handleOnce failed, Can't use string ("</InstanceID></Event>") as a HASH ref while "strict refs" in use at ./FHEM/98_DLNARenderer.pm line 989.
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: romakrau am 12 Januar 2021, 10:23:53
Hallo zusammen,

ich habe die Anleitungen strikt befolgt und bekomme Readings für Volume und Mute. Leider klappt das Setzen von Volume und Mute mitels der DLNA Device nicht, obwohl es als OK bzw. succeed angezeigt wird.
Bei dem Versuch ein RSS auszugeben scheitere ich mit folgender Ausgabe (Verbose=5):


2021.01.12 10:13:08 5: DLNARenderer: DLNA_cf3def287dc0, RenderingControl: urn:schemas-upnp-org:service:RenderingControl:1 found. OK.
2021.01.12 10:13:08 5: DLNARenderer: DLNA_cf3def287dc0, RenderingControl, SetVolume(0,Master,25) succeed.

2021.01.12 10:14:36 1: PERL WARNING: Use of uninitialized value in split at ./FHEM/98_DLNARenderer.pm line 1617.
2021.01.12 10:14:36 1: PERL WARNING: Use of uninitialized value $contenttype in concatenation (.) or string at ./FHEM/98_DLNARenderer.pm line 1623.
2021.01.12 10:14:36 1: PERL WARNING: Use of uninitialized value $contenttype in substr at ./FHEM/98_DLNARenderer.pm line 1634.
2021.01.12 10:14:36 1: PERL WARNING: Use of uninitialized value $contenttype in string eq at ./FHEM/98_DLNARenderer.pm line 1634.
2021.01.12 10:14:36 1: PERL WARNING: Use of uninitialized value $contenttype in substr at ./FHEM/98_DLNARenderer.pm line 1636.
2021.01.12 10:14:36 5: DLNARenderer: DLNA_cf3def287dc0, AVTransport: urn:schemas-upnp-org:service:AVTransport:1 found. OK.
2021.01.12 10:14:36 5: DLNARenderer: DLNA_cf3def287dc0, AVTransport, SetAVTransportURI(0,http://192.168.187.75:8083/fhem/rss/rkrss.jpg,) succeed.
2021.01.12 10:14:36 5: DLNARenderer: DLNA_cf3def287dc0, AVTransport: urn:schemas-upnp-org:service:AVTransport:1 found. OK.
2021.01.12 10:14:36 5: DLNARenderer: DLNA_cf3def287dc0, AVTransport, Play(0,1) succeed.


Das TV Device ist zu diesem Zeitpunkt noch nicht definiert (define TV SamsungAV ...).

Kann mir jemand weiterhelfen?
Gruß
Roman

Nachtrag: Das list Device:

Internals:
   CFGFN     
   DEF        uuid:346874c9-6d82-4326-bdad-cf3def287dc0
   FUUID      5ffd60bf-f33f-e93f-ca2f-302616304674fac8
   NAME       DLNA_cf3def287dc0
   NR         280
   STATE      offline
   TYPE       DLNARenderer
   UDN        uuid:346874c9-6d82-4326-bdad-cf3def287dc0
   READINGS:
     2021-01-12 09:41:35   friendlyName    [TV] TV Wohnzimmer
     2021-01-12 09:41:35   manufacturer    Samsung Electronics
     2021-01-12 09:41:35   manufacturerURL http://www.samsung.com/sec
     2021-01-12 09:41:35   modelDescription Samsung TV DMR
     2021-01-12 09:41:35   modelName       UE43RU7459UXZG
     2021-01-12 09:41:35   modelNumber     AllShare1.0
     2021-01-12 09:41:35   modelURL        http://www.samsung.com/sec
     2021-01-12 09:41:35   multiRoomSupport 0
     2021-01-12 10:06:09   multiRoomVolume 10
     2021-01-12 10:06:09   mute            0
     2021-01-12 10:28:40   presence        offline
     2021-01-12 10:28:40   state           offline
     2021-01-12 10:14:36   stream          http://192.168.187.75:8083/fhem/rss/rkrss.jpg
     2021-01-12 09:41:36   transportState  NO_MEDIA_PRESENT
     2021-01-12 09:41:36   transportStatus OK
     2021-01-12 10:06:05   volume          10
   helper:
     caskeid    0
     caskeidClients
Attributes:
   alias      [TV] TV Wohnzimmer
   room       TV
   userattr   channel_01 channel_02 channel_03 channel_04 channel_05 channel_06 channel_07 channel_08 channel_09 channel_10 multiRoomGroups ttsLanguage
   verbose    5
   webCmd     volume
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: romakrau am 12 Januar 2021, 11:07:31
Als Nachtrag noch den LOG EIntrag nachdem Einschalten:


2021.01.12 11:03:34 5: DLNARenderer: DLNA_cf3def287dc0, AVTransport: urn:schemas-upnp-org:service:AVTransport:1 found. OK.
2021.01.12 11:03:34 5: DLNARenderer: DLNA_cf3def287dc0, AVTransport: urn:schemas-upnp-org:service:AVTransport:1 found. OK.
2021.01.12 11:03:34 5: DLNARenderer: DLNA_cf3def287dc0, RenderingControl: urn:schemas-upnp-org:service:RenderingControl:1 found. OK.
2021.01.12 11:03:34 5: DLNARenderer: DLNA_cf3def287dc0, RenderingControl: urn:schemas-upnp-org:service:RenderingControl:1 found. OK.
2021.01.12 11:03:34 4: DLNARenderer: SpeakerManagement unknown for DLNA_cf3def287dc0.
2021.01.12 11:03:34 4: DLNARenderer: SessionManagement unknown for DLNA_cf3def287dc0.
2021.01.12 11:03:34 4: DLNARenderer: device DLNA_cf3def287dc0 received event. Details with verbose=5
2021.01.12 11:03:34 5: DLNARenderer: process event$VAR1 = {
          'Event' => {
                       'InstanceID' => {
                                         'CurrentTrackURI' => {
                                                                'val' => ''
                                                              },
                                         'AVTransportURI' => {
                                                               'val' => ''
                                                             },
                                         'val' => '0',
                                         'CurrentMediaDuration' => {
                                                                     'val' => '0:00:00'
                                                                   },
                                         'PlaybackStorageMedium' => {
                                                                      'val' => 'NETWORK,NONE'
                                                                    },
                                         'NextAVTransportURIMetaData' => {
                                                                           'val' => ''
                                                                         },
                                         'AVTransportURIMetaData' => {
                                                                       'val' => ''
                                                                     },
                                         'PossiblePlaybackStorageMedia' => {
                                                                             'val' => 'NETWORK,NONE'
                                                                           },
                                         'CurrentPlayMode' => {
                                                                'val' => 'NORMAL'
                                                              },
                                         'CurrentTrackDuration' => {
                                                                     'val' => '0:00:00'
                                                                   },
                                         'CurrentRecordQualityMode' => {
                                                                         'val' => 'NOT_IMPLEMENTED'
                                                                       },
                                         'NumberOfTracks' => {
                                                               'val' => '0'
                                                             },
                                         'TransportStatus' => {
                                                                'val' => 'OK'
                                                              },
                                         'NextAVTransportURI' => {
                                                                   'val' => ''
                                                                 },
                                         'PossibleRecordQualityModes' => {
                                                                           'val' => 'NOT_IMPLEMENTED'
                                                                         },
                                         'CurrentTransportActions' => {
                                                                        'val' => ''
                                                                      },
                                         'PossibleRecordStorageMedia' => {
                                                                           'val' => 'NOT_IMPLEMENTED'
                                                                         },
                                         'CurrentTrack' => {
                                                             'val' => '0'
                                                           },
                                         'TransportState' => {
                                                               'val' => 'NO_MEDIA_PRESENT'
                                                             },
                                         'RecordMediumWriteStatus' => {
                                                                        'val' => 'NOT_IMPLEMENTED'
                                                                      },
                                         'RecordStorageMedium' => {
                                                                    'val' => 'NOT_IMPLEMENTED'
                                                                  },
                                         'TransportPlaySpeed' => {
                                                                   'val' => '1'
                                                                 },
                                         'CurrentTrackMetaData' => {
                                                                     'val' => ''
                                                                   }
                                       },
                       'xmlns' => 'urn:schemas-upnp-org:metadata-1-0/AVT/'
                     }
        };

2021.01.12 11:03:34 4: DLNARenderer: Update reading transportState with NO_MEDIA_PRESENT
2021.01.12 11:03:34 4: DLNARenderer: Update reading transportStatus with OK
2021.01.12 11:03:34 4: DLNARenderer: Update reading currentTrackURI with
2021.01.12 11:03:34 4: DLNARenderer: Update reading nextAVTransportURI with
2021.01.12 11:03:34 4: DLNARenderer: device DLNA_cf3def287dc0 received event. Details with verbose=5
2021.01.12 11:03:34 5: DLNARenderer: process event$VAR1 = {
          'Event' => {
                       'InstanceID' => {
                                         'PresetNameList' => {
                                                               'val' => 'FactoryDefaults'
                                                             },
                                         'Mute' => [
                                                     {
                                                       'val' => '0',
                                                       'channel' => 'Master'
                                                     }
                                                   ],
                                         'X_Captions' => {
                                                           'val' => ''
                                                         },
                                         'X_360View' => {
                                                          'scaleFactor' => '2.4000',
                                                          'val' => '',
                                                          'latitudeCenter' => '0.0000',
                                                          'longitudeCenter' => '0.0000'
                                                        },
                                         'X_AspectRatio' => {
                                                              'val' => 'Default'
                                                            },
                                         'val' => '0',
                                         'Volume' => [
                                                       {
                                                         'channel' => 'Master',
                                                         'val' => '10'
                                                       }
                                                     ],
                                         'X_EnabledCaptions' => {
                                                                  'val' => ''
                                                                },
                                         'X_ServiceCapabilities' => {
                                                                      'val' => 'GetVolume,SetVolume,GetMute,SetMute'
                                                                    }
                                       },
                       'xmlns' => 'urn:schemas-upnp-org:metadata-1-0/RCS/'
                     }
        };

2021.01.12 11:03:34 4: DLNARenderer: Update reading mute with 0
2021.01.12 11:03:34 4: DLNARenderer: Update reading volume with 10


Vielleicht können die Spezialisten daraus ja was erkennen.
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: KölnSolar am 12 Januar 2021, 13:12:35
Zitatich habe die Anleitungen strikt befolgt
Sicher ? Mach mal ein List des DLNARenderer-Masters. Wenn Du events empfängst, sollte auch das Senden klappen. Es sei denn, es bleibt im Netzwerk "hängen". Berechtigung am TV OK ? Nach Installation/Konfiguration  FHEM neugestartet ? Die vielen Perl-warnings sind ungewöhnlich.  :-\

Grüße Markus
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: romakrau am 12 Januar 2021, 13:44:51
Hier das List des Renderer's:


Internals:
   CFGFN     
   FUUID      5ffd60be-f33f-e93f-f26f-b970479835c61273
   NAME       TVRenderer
   NR         276
   STATE      initialized
   TYPE       DLNARenderer
   UDN        0
   VERSION    v2.0.7Patch_3
   READINGS:
     2021-01-12 09:41:35   state           initialized
   helper:
     caskeid    0
     caskeidClients
Attributes:
   envNamespace <undef>
   envPrefix  s
   room       TV
   usedonlyIPs 192.168.187.152
   userattr   acceptedUDNs defaultRoom envNamespace envPrefix ignoreUDNs
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: KölnSolar am 12 Januar 2021, 16:19:11
Das sieht korrekt aus. Die anderen Punkte ?
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: romakrau am 12 Januar 2021, 16:20:47
Entschuldige, die anderen Punkte habe ich auch alle gemacht. Neugestartet und Berechtigung am Fernsehen erteilt.
Gruß
Roman
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: romakrau am 12 Januar 2021, 17:10:59
Ich glaub jetzt hab ich es vor die Wand gefahren. Keine Verbindungen zum TV mehr und kein Reading.
Ich mach besser Morgen weiter. Alles nochmal von vorne.
Gruß
Roman
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: KölnSolar am 12 Januar 2021, 17:14:10
Hi Roman,
dann hab ich auch keine Idee woran es scheitern könnte. Bliebe nur noch den TV zu debuggen (https://forum.fhem.de/index.php/topic,82890.msg1034872.html#msg1034872), dass der uns sein Geheimnis verrät.
Grüße Markus

Edit: Wer Lust hat oder neugierig ist, der kann dann meinen aktuellen Versuch das Thema UPNP/DLNA etwas zu verallgemeinern/entzerren ab hier (https://forum.fhem.de/index.php/topic,114457.msg1120558.html#msg1120558) verfolgen und vielleicht ein paar Tests machen.
Edit2: Dein neuer Post klingt übel. Da bräuchten wir wieder ein Log.
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: romakrau am 12 Januar 2021, 17:37:47
Habe ich mal gemacht :


device
FrameTVSupport "false"
GamePadSupport "true"
ImeSyncedSupport "true"
Language "de_DE"
OS "Tizen"
PowerState "on"
TokenAuthSupport "true"
VoiceSupport "false"
WallScreenRatio "0"
WallService "false"
countryCode "DE"
description "Samsung DTV RCR"
developerIP "0.0.0.0"
developerMode "0"
duid "uuid:fd4d42fa-3e58-4d8c-bd0d-d7d85936fe79"
firmwareVersion "Unknown"
id "uuid:fd4d42fa-3e58-4d8c-bd0d-d7d85936fe79"
ip "192.168.187.152"
model "19_MUSEL_UHD"
modelName "UE43RU7459UXZG"
name "[TV] TV Wohnzimmer"
networkType "wired"
resolution "3840x2160"
smartHubAgreement "true"
type "Samsung SmartTV"
udn "uuid:fd4d42fa-3e58-4d8c-bd0d-d7d85936fe79"
wifiMac "38:68:a4:88:1d:a5"
id "uuid:fd4d42fa-3e58-4d8c-bd0d-d7d85936fe79"
isSupport "{\"DMP_DRM_PLAYREADY\":\"false\",\"DMP_DRM_WIDEVINE\":\"false\",\"DMP_available\":\"true\",\"EDEN_available\":\"true\",\"FrameTVSupport\":\"false\",\"ImeSyncedSupport\":\"true\",\"TokenAuthSupport\":\"true\",\"remote_available\":\"true\",\"remote_fourDirections\":\"true\",\"remote_touchPad\":\"true\",\"remote_voiceControl\":\"false\"}\n"
name "[TV] TV Wohnzimmer"
remote "1.0"
type "Samsung SmartTV"
uri "http://192.168.187.152:8001/api/v2/"
version "2.0.25"
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: romakrau am 12 Januar 2021, 17:56:16
So scheint sich wieder gefangen zu haben nachdem ich den TV als SamsungAV definiert habe. Habe wieder einen Eintrag im Gerätemanager, aber nach wie vor diese Fehlermeldungen :

2021.01.12 17:47:24 3: DLNARenderer: DLNASocket-TVRenderer-1900, TVRenderer handleOnce failed, mismatched tag 'head'

2021.01.12 17:47:36 1: PERL WARNING: Use of uninitialized value in split at ./FHEM/98_DLNARenderer.pm line 1617.
2021.01.12 17:47:36 1: PERL WARNING: Use of uninitialized value $contenttype in concatenation (.) or string at ./FHEM/98_DLNARenderer.pm line 1623.
2021.01.12 17:47:36 1: PERL WARNING: Use of uninitialized value $contenttype in substr at ./FHEM/98_DLNARenderer.pm line 1634.
2021.01.12 17:47:36 1: PERL WARNING: Use of uninitialized value $contenttype in string eq at ./FHEM/98_DLNARenderer.pm line 1634.
2021.01.12 17:47:36 1: PERL WARNING: Use of uninitialized value $contenttype in substr at ./FHEM/98_DLNARenderer.pm line 1636.
2021.01.12 17:47:38 3: DLNARenderer: Created device DLNA_00226173D4F4 for Esszimmer
2021.01.12 17:48:05 3: DLNARenderer: DLNASocket-TVRenderer-1900, TVRenderer handleOnce failed, mismatched tag 'head'

Gruß Roman
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: KölnSolar am 12 Januar 2021, 20:25:48
Hi Roman,
irgendwas hast Du beim debugging falsch gemacht. Du bekommst normalerweise ein Log im Browser, wo man sehen kann, was der TV empfangen hat und wie er drauf reagiert hat.

Zitat2021.01.12 17:48:05 3: DLNARenderer: DLNASocket-TVRenderer-1900, TVRenderer handleOnce failed, mismatched tag 'head'
Das
attr DeinFHEMWEBdevice allowedHttpMethods GET|POST|HEAD
Hast Du richtig gesetzt ? Oder in lower case wie in der Fehlermeldung ?

Grüße Markus
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: romakrau am 12 Januar 2021, 21:03:04
Hallo Markus,
nachdem ich alles, den Renderer betreffend, neu angelegt habe, scheint es zu funktionieren. Ich kann zumindest schon mal einen Text mit speach auszugeben. Ich muss jetzt nochmal die Stelle suchen an der die Funktion caller beschrieben wird. Das mit dem Debug des TV geht nicht mit der Komfort-Tastatur.
Danke für deine Zeit und Hilfe
Gruß Roman
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: KölnSolar am 12 Januar 2021, 21:35:37
ZitatIch muss jetzt nochmal die Stelle suchen an der die Funktion caller beschrieben wird
callerURI im SamsungAV  ;)
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: romakrau am 16 Januar 2021, 13:57:55
Hallo Markus,

Leider kommt nach wie vor das Logigng:

2021.01.14 22:18:14 3: DLNARenderer: DLNASocket-TVRenderer-1900, TVRenderer handleOnce failed, mismatched tag 'head'

2021.01.14 22:24:52 3: DLNARenderer: DLNASocket-TVRenderer-1900, TVRenderer handleOnce failed, mismatched tag 'head'

2021.01.14 22:25:45 3: DLNARenderer: DLNASocket-TVRenderer-1900, TVRenderer handleOnce failed, mismatched tag 'head'

Ich habe mir erlaubt das Logging im Modul erstmal abzuschalten. Alle FHEMWEB Instanzen sind mit GET|POST|HEAD gesetzt.  Kann das vielleicht vom Endgerät kommen?

Ferner kommt ein DLNA_Device nach Ausgabe von Text mittels speak nicht wieder aus dem DMR Mode zurück. Es bleibt im DMR-Puffer stehen. Kann ich die Länge des Puffers vorgeben?
Als letzte Frage noch, wie bekomme ich einen RSS-Feed auf ein DLNA-Device.  Das RSS funktioniert und ein FHEMWEB Device ist frei zugänglich.
Das war's erstmal. Noch ein schönes Wochenende.
Gruß
Roman
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: KölnSolar am 16 Januar 2021, 21:01:20
Hi Roman,
an der "1900" erkennt man, dass es ein notify oder search-request eines devices ist. Ich spekuliere, dass das nicht vom TV kommt, sondern von irgendeinem anderen UPNP-device in Deinem Netzwerk. Ich hab bisher noch keine allgemeingültige Lösung gefunden, um näheres über den Bösewicht zu erfahren.
Zum Verständnis: alles mögliche kann etwas auf Port 1900 senden. FHEM teilt dem DLNARenderer-Modul nur mit "ich habe da etwas für Dich empfangen". Das Modul wiederum macht nichts anderes, als diese Info an ein nicht-FHEM-Perl-Modul weiterzuleiten, also ein black-box für uns. Dann meldet sich die black-box mit der ausgegebenen Fehlermeldung zurück.
Gäbe es den Fehler bei mir, würde ich mehr oder weniger einmalig den Ablauf so verändern, dass ich im FHEM-Modul die black-box umgehe und selber die Nachricht lese und dann auch loggen kann.
In dem neuen Modul(s.o.) werde ich versuchen das absturzsicher u. vom Anwender bedienbar einzubauen.(das neue Modul ist übrigens auch interessant, wenn Du wissen möchtest, welche anderen devices sich in Deinem Netz tummeln. Und per Stecker ziehen könntest Du sogar herausfinden, welches es ist.
ZitatFerner kommt ein DLNA_Device nach Ausgabe von Text mittels speak nicht wieder aus dem DMR Mode zurück. Es bleibt im DMR-Puffer stehen. Kann ich die Länge des Puffers vorgeben?
Hmm, bei mir klappt das(obwohl ich es eigentlich gar nicht nutze) mit einem einzelnen Wort problemlos. Ist es ein kosmetisches Problem oder bleibt der TV physisch "hängen"? Als Nichtcloudfreund würde ich mir Sprachnachrichten eher auf einem eigenen Server ablegen als google sprechen zu lassen.
ZitatAls letzte Frage noch, wie bekomme ich einen RSS-Feed auf ein DLNA-Device.  Das RSS funktioniert und ein FHEMWEB Device ist frei zugänglich.
Da kann ich Dir leider gar nichts zu sagen. RSS ist für mich auch eine Blackbox. Mir ist noch nicht einmal klar, was unser RSS-Modul tatsächlich mit RSS zu tun hat.

Grüße Markus

Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: romakrau am 17 Januar 2021, 15:12:42
Hallo Markus,
Danke für Deine ausführliche Antwort. Das mit dem Port 1900 hatte ich auch so verstanden. Was die Absturzfreudigkeit angeht, frue ich mich wenn Du die Stabilität verbessern konntest. Bei mir schoss das Modul schon mal das Modul SamsungAV ab. Dann war ein shutdown restart fällig. Der Gedanke zur Sprachausgabe ist richtig und ich werde die Funktion sayText des SamsungAV Modul nutzen. Ich werde versuche das Attribut usedonlyIPs zu nutzen um unliebsame Meldungen auszublenden. Welches ist die "neue Version"? Ich verwende 2.07 Patch 03. Gibt es ein neueres Modul?
Gruß
Roman

Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: KölnSolar am 17 Januar 2021, 17:04:59
ZitatGibt es ein neueres Modul?
9 posts weiter oben unter edit
Zitatmeinen aktuellen Versuch das Thema UPNP/DLNA etwas zu verallgemeinern/entzerren ab hier verfolgen und vielleicht ein paar Tests machen.
sollte aber nur in einem Testsystem eingesetzt werden. Und ist voerst nur eine Vorstufe zu einem DLNA-Modul.

Grüße Markus
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: romakrau am 21 Januar 2021, 18:50:55
Hallo Markus,
ich habe noch einige Versuche unternommen und jetzt läuft die Ausgabe eines RSS's. Wichtig war hier die EIngabe der Definition und der Attribute in einem erweiterten Eingabefeld. Eine zeilenweise Eingabe führte immer zu einem unvollständigen Verhalten.

In Bezug auf die Textausgabe mittels Google-Translate habe ich noch eine Alternative gefunden. Villeicht ist es ja für das Modul interessant. Link : https://responsivevoice.org/ (https://responsivevoice.org/)

Gibt es die Möglichkeit zu erkennen wenn der TV in einen anderen Modus als TV geht, z.B. AV1 oder Mediathek? Wäre als Reading vielleicht nützlich, da bei mir eine Streamausgabe immer die Mediathek schliesst und zum, Fernsehenprogramm zurück kehrt.

Gruß Roman
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: KölnSolar am 21 Januar 2021, 21:23:07
Hallo Roman,
prima, dass es geklappt hat.

ZitatGibt es die Möglichkeit zu erkennen wenn der TV in einen anderen Modus als TV geht, z.B. AV1 oder Mediathek? Wäre als Reading vielleicht nützlich, da bei mir eine Streamausgabe immer die Mediathek schliesst und zum, Fernsehenprogramm zurück kehrt.
Das ist leider nicht nur bei Dir so. Ich werde so Richtung Frühjahr nochmal Zeit investieren, ob man nicht doch über irgendeinen Weg den von Dir gewünschten Zustand/Information erhält. Das würde dann im SamsungAV realisiert werden.

Grüße Markus
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: olwaldi am 15 Februar 2021, 14:21:30
Sorry für's 'Reinplatzen... Ich bastle schon seit einigen Stunden an meinem FHEM auf dem Raspberry Pi3, um 98_DLNARenderer aus der Standard-FHEM-Installation zum Laufen zu bringen. Die größte Hürde war das Finden der benötigten CPAN-Module. Letzendlich hat nur eine Kombination aus cpan und apt-get funktioniert:
apt-get update
apt-get install libsoap-lite-perl libxml-simple-perl libxml-parser-perl libparse-http-useragent-perl liblwp-protocol-https-perl

und schließlich
cpan install XML::Parser::Lite
Eigentlich hatte ich versucht, nur cpan zu nutzen - aber ein
cpan
install CPAN

mußte ich nach gut 30min hart abbrechen, da der Raspberry Pi3 während test makes (vermutlich Ressourcen-bedingt) komplett eingefroren ist.

Bitte dokumentiert im ersten Post, wie die erforderlichen Pakete "zuverlässig" installiert werden können.

Nach dieser großen Hürde habe ich Sprachausgaben auf einem Medion-Internetradio in der Kueche ausprobiert:
define dlnadevices DLNARenderer
set Kueche speak "Das ist ein Test"

Scheitert, weil es zwar das Gerät Kueche gibt (automatisch angelegt, verbunden mit dem "richtigen" Medion-Gerät), aber via
set DLNA_002261348104 speak "Das ist ein Test"
angesprochen werden will - hier mangelt es mir vermutlich am FHEM-Basiswissen (Kueche ist wohl nur ein alias). Letztendlich (nach einiger Zeit Suchen) funktionierts (Eingabe einfach zusammengeklickt in der WEBoberfläche):
attr DLNA_002261348104 ttsLanguage de
set DLNA_002261348104 speak "Das%20ist%20ein%20Test"

Ohne Selektion der ttsLanguage gibt es gar keine Ausgabe. Und ohne %20 immer höchstens ein Wort, meist das vom vorhergegangenen Versuch. Umlaute funktionieren ähnlich, etwa Überschwemmung als "%D9berschwemmung".

Letzendlich funktioniert dieses Modul (Version v2.0.7 - 20180108) super für mich. Aber es wäre schön, wenn diese (eigentlich wirklich kleinen) Stolpersteine ausgeräumt würden.
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: KölnSolar am 15 Februar 2021, 14:41:03
Ich meine in meiner Version(nicht offiziell !) das Leerzeichenthema gelöst zu haben.  :-\

XML::Parser::Lite versteckt sich glaub ich in diesem Paket: libxml-parser-lite-perl

Du kannst mal auf diesen Thread (https://forum.fhem.de/index.php/topic,114457.msg1127845.html#msg1127845) ein Auge werfen. Da kommt die Tage "der DLNARenderer" als 2-stufige Version. Tester werden gerne gesehen. :)

Grüße Markus

Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: olwaldi am 15 Februar 2021, 14:54:07
Danke für die schnelle Antwort, mach' ich.

Ich muß noch was nachtragen bzgl. Umlauten (bei meinen Tests war ich nicht direkt am Medion-Radio). Der Umlaut wird richtig ausgesprochen, wenn man den Umlaut als Ue schreibt und nicht in Unicode-Notation. In meinem Fall also "Ueberschwemmung".

Leider funktioniett das off nicht. Aber das wird ein Medion-Problem sein. Via Harmony Hub kann ich das aber vermutlich noch lösen.
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: KölnSolar am 15 Februar 2021, 15:00:29
ZitatLeider funktioniett das off nicht
Probier es mal mit stop.
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: olwaldi am 15 Februar 2021, 15:49:48
Gute Idee. Habs probiert, hilft leider nicht. Ich guck' mal, wie ich's lösen werde. Vielleicht gibts ja im Medion eine Art auto-standby nach 10min oder so.

Via Harmony klappt das Ausschalten recht gut.
define HarmonyHub harmony IP-vom-Hub
get HarmonyHub devices #liefert die registrierten Geräte mit Id
get HarmonyHub deviceCommands 66735406 #liefert die verfügbaren Kommandos für das Radio
set HarmonyHub command 66735406 PowerToggle

Hier nur der Vollständigkeit halber alle notwendigen FHEM-Kommandos aufgelistet. Nur das letzte Kommando schaltet das Radio an bzw. aus, die anderen dienen der einmaligen Konfiguration.
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: KölnSolar am 15 Februar 2021, 20:52:08
Ich hab jetzt die Neuentwicklung hier (https://forum.fhem.de/index.php/topic,118837.msg1132815.html#msg1132815) verkündet. Wäre prima, wenn Du testen könntest.(auch das Space- u. Umlaut-Thema.)

Dass man das Medion nicht abschalten kann wundert mich. Wenn Du aus obigem Thread den UPNPController nutzt, müsste das Medion mit seiner "location" auftauchen. Wenn Du die in den Browser eingibst , sollte das xml-Dokument angezeigt werden. Unter "MediaRenderer" steht dann eine weitere, die SCPDURL. Diese in den Browser eingeben und den Inhalt hier posten. Vielleicht wurde der Befehl nur ungewöhnlich benannt.

Have fun
Markus
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: olwaldi am 16 Februar 2021, 15:57:52
Habe gerade ein neues (für mich nicht so wichtiges) Problem entdeckt: mein Kodi DLNAserver wird nicht gefunden (läuft problemlos mit BubbleUPNP). Hätte auch eine Vermutung warum, Kodi und FHEM laufen beide auf demseben Rechner (Raspberry Pi3).
2021.02.16 15:40:03 1: PERL WARNING: Loading device description failed with error: 500 Can't connect to 127.0.0.1:58645 (Connection refused) (Location: http://127.0.0.1:58645/dev/b80a5afa-d108-6774-0000-00000130a5f5/desc.xml) at ./FHEM/98_DLNARenderer.pm line 249.

Und ich checke nochmal das off-Problem meines Medion-Radios mit Deinem Tip. Habe gerade in diesem Thread weiter vorne  einen Beitrag gefunden, wo das off wohl funktioniert hat.
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: KölnSolar am 16 Februar 2021, 16:27:30
ZitatKodi und FHEM laufen beide auf demseben Rechner (Raspberry Pi3).
Das sollte eigentlich kein Problem sein. Hast Du auch was zu Kodi in FHEM ?
Ich hab da ein ähnliches Symptom, wenn sich etwas in FHEM mit dem DLNARenderer in die Quere kommt. Konkrete Ursache/Lösung habe ich noch nicht gefunden.
Verursacht das auch 20s-freezes bei Dir(müsste fast  :'(?)
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: olwaldi am 16 Februar 2021, 17:40:05
Nein, Kodi habe ich aktuell nicht integriert (aber mir fallen immer neue Dinge für FHEM ein, d. h. das köönte sich auch mal ändern).

Was sollte ich denn tun, damit DLNArenderer den Kodi-DLNAServer "bemerkt"?

Auch meinen (älteren) Denon AVR 3809 erkennt DLNARenderer nicht so richtig:
2021.02.15 16:23:49 1: PERL WARNING: Subscription request failed with error: 412 Precondition Failed at ./FHEM/98_DLNARenderer.pm line 1356.
2021.02.15 16:23:49 1: PERL WARNING: Subscription request failed with error: 412 Precondition Failed at ./FHEM/98_DLNARenderer.pm line 1360.
2021.02.15 17:32:36 1: PERL WARNING: Use of uninitialized value in concatenation (.) or string at ./FHEM/70_DENON_AVR.pm line 1386.
2021.02.15 17:40:22 1: PERL WARNING: Use of uninitialized value in numeric eq (==) at ./FHEM/98_DLNARenderer.pm line 318.

Aber auch das ist für mich erstmal kein Problem, nur der Vollständigkeit halber erwähnt. Ich nutze 70_DENON_AVR, um die Lautstärke komfortabler in 5dB-Schritten zu steuern. Dort scheint die ein oder andere Variable nicht gesetzt zu sein, vermutlich, da mein AVR doch schon was älter ist.

Freezes sind mir nicht bewußt aufgefallen. Allerdings scheint das Einschalten des Medion-Radios durch den speak-Befehl einige Sekunden zu dauern. Und währenddessen ist FHEM tatsächlich blockiert. Und mein Raspi war komplett eingefroren bei der CPAN-Installation (aber das ist nunmal wieder was ganz Anderes).

Wenn ich den UPNPController ausprobiere, geht das parallel zu DLNARenderer? Oder stören sich die zwei untereinander?


Grüßle, Michael
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: KölnSolar am 16 Februar 2021, 18:33:55
Hallo Michael,
ZitatWenn ich den UPNPController ausprobiere, geht das parallel zu DLNARenderer? Oder stören sich die zwei untereinander?
wahrscheinlich blockiert sich das gegenseitig. Beide lauschen auf Port 1900. Könnte aber auch klappen, weil es zumindest so definiert ist, dass der Port mehrfach genutzt werden kann.
ZitatWas sollte ich denn tun, damit DLNArenderer den Kodi-DLNAServer "bemerkt"?
Der DLNARenderer kann mit einem Mediaserver nichts anfangen. UPNPController schon.  ;) Ich bin mir ziemlich sicher, dass es aber auch ein separates Kodi-Modul gibt.
ZitatSubscription request failed with error: 412 Precondition Failed at ./FHEM/98_DLNARenderer.pm line 1356.
Hast Du meine nichtoffizielle Version installiert ? Da müsste das Problem mit dem renewal der subscription behoben sein. Auch in UPNPController/DLNAManager.  ;)

Grüße Markus
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: olwaldi am 17 Februar 2021, 07:52:45
Mein Kodi-Problem ist gelöst. Ich war selber Schuld und hatte in Kodi die Fernsteuerung via UPNP deaktiviert. Kaum eingeschaltet sieht DLNARenderer auch den "lokale" Kodi.

Aktuell nutze ich Deine "unoffizielle" Version nicht. Da warte ich vielleicht einfach noch etwas ab, bis Deine Neuentwicklung den DLNARenderer ablösen kann. Da ich DLNARenderer noch nicht produktiv einsetze, bin ich da flexibel. Allerdings habe ich kein Testsystem im Einsatz, d. h. alle Versuche mache ich direkt im "Produktivsystem".

Grüßle, Michael
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: KölnSolar am 17 Februar 2021, 08:04:43
Hallo Michael,
da hast Du etwas missverstanden. Meine inoffizielle Version ist eine Modifikation, die seit 2 Jahren problemlos läuft. Guck mal ab hier (https://forum.fhem.de/index.php/topic,82890.msg1034866.html#msg1034866). Da findest Du dann den Link auf die aktuelle Version. Ist auch sonst ganz interessant zum Thema DLNA. Die Attribute die dort beschrieben sind, sind speziell für Samsung TVs, damit der DLNARenderer funktioniert. Haben aber auch bei anderen Geräten zum Erfolg geführt. Die wesentlichen Unterschiede:
- subscription korrigiert(insbesondere error 412)
- blockierendes Verhalten entschärft
- mehr Log-Ausgaben zur Fehlersuche
- Space-Problematik bei speak
- Samsung Unterstützung
Grüße Markus
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: olwaldi am 17 Februar 2021, 08:15:18
Da haben sich gerade Dein Post und meine Änderung am vorigen Post überschnitten. In Kürze: Kodi tut, s. o.

Dann werde ich Deine inoffizielle Version mal installieren.


Danke übrigens für Modul & promptes Antworten auf meine Fragen,
Michael
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: olwaldi am 19 Februar 2021, 10:08:56
Sorry,daß ich mal wieder Hilfe benötige....

Ich würde gern eine MP3-Datei via 98_DLNARenderer abspielen. Diese habe ich in meinem Kodi-DLNA-Server bereitgestellt (OK, mit Leerzeichen im Dateinamen) und kann sie via VLC oder BubbleUPNP abspielen. Und mir ist's 1x gelungen, die URL aus currentTrackUri des DLNA-Controllers auszulesen und via DLNARenderer stream abzuspielen. Aber das war eigentlich ein "verzweifelter" letzter Versuch. Ich hatte geglaubt, daß man alle per DLNA bereitgestellte Dateien per URL-Stream abspielen könnte, etwa nach dem Muster
http://Rechner-IP:port:/absoluter-Pfad
Aber ich sehe eine derartige, kryptische URL
http://192.168.178.44:1386:/%25/8d441b9a51f5702b8dcfad5f29126b99/Star%2520Trek%2520(Roter%2520Alarm)%2520-%2520MP3%2520Klingelton.mp3
Klar, die Leerzeichen werden gemappet, auch die IP ist klar. Aber woher kommen Port und Hexadezimal-ID? Da hätte ich starke Zweifel, ob diese ID "stabil" ist.

Da mein MP3-Titel (man merkt, ich mag StarTrek:-) keinerlei MP3-Tags hat, scheint DLNARenderer beim Setzen der Readings ein Problem zu haben. Ganz klar ist mir allerdings nicht, welche meiner Versuche ursächich war. Hier die Meldungen aus dem Logfile (BTW, patch 03 installiert):
2021.02.19 09:09:18 1: PERL WARNING: Subscription request failed with error: 412 Precondition Failed at ./FHEM/98_DLNARenderer.pm line 1450.
2021.02.19 09:09:18 1: PERL WARNING: Subscription request failed with error: 412 Precondition Failed at ./FHEM/98_DLNARenderer.pm line 1456.
2021.02.19 09:26:24 1: PERL WARNING: Loading device description failed with error: 500 Can't connect to 127.0.0.1:58645 (Connection refused) (Location: http://127.0.0.1:58645/dev/b80a5afa-d108-6774-0000-00000f4d38f5/desc.xml) at ./FHEM/98_DLNARenderer.pm line 276.
2021.02.19 09:26:25 1: PERL WARNING: Loading device description failed with error: 500 Can't connect to 127.0.0.1:58645 (Connection refused) (Location: http://127.0.0.1:58645/dev/b80a5afa-d108-6774-0000-00000130a5f5/desc.xml) at ./FHEM/98_DLNARenderer.pm line 276.
2021.02.19 09:38:46 1: PERL WARNING: Use of uninitialized value in split at ./FHEM/98_DLNARenderer.pm line 1617.
2021.02.19 09:38:46 1: PERL WARNING: Use of uninitialized value $contenttype in concatenation (.) or string at ./FHEM/98_DLNARenderer.pm line 1623.
2021.02.19 09:38:46 1: PERL WARNING: Use of uninitialized value $contenttype in substr at ./FHEM/98_DLNARenderer.pm line 1634.
2021.02.19 09:38:46 1: PERL WARNING: Use of uninitialized value $contenttype in string eq at ./FHEM/98_DLNARenderer.pm line 1634.
2021.02.19 09:38:46 1: PERL WARNING: Use of uninitialized value $contenttype in substr at ./FHEM/98_DLNARenderer.pm line 1636.
2021.02.19 09:38:50 1: PERL WARNING: Use of uninitialized value in split at ./FHEM/98_DLNARenderer.pm line 1617.
2021.02.19 09:38:50 1: PERL WARNING: Use of uninitialized value $contenttype in concatenation (.) or string at ./FHEM/98_DLNARenderer.pm line 1623.
2021.02.19 09:38:50 1: PERL WARNING: Use of uninitialized value $contenttype in substr at ./FHEM/98_DLNARenderer.pm line 1634.
2021.02.19 09:38:50 1: PERL WARNING: Use of uninitialized value $contenttype in string eq at ./FHEM/98_DLNARenderer.pm line 1634.
2021.02.19 09:38:50 1: PERL WARNING: Use of uninitialized value $contenttype in substr at ./FHEM/98_DLNARenderer.pm line 1636.
2021.02.19 09:39:15 1: PERL WARNING: Use of uninitialized value in split at ./FHEM/98_DLNARenderer.pm line 1617.
2021.02.19 09:39:15 1: PERL WARNING: Use of uninitialized value $contenttype in concatenation (.) or string at ./FHEM/98_DLNARenderer.pm line 1623.
2021.02.19 09:39:15 1: PERL WARNING: Use of uninitialized value $contenttype in substr at ./FHEM/98_DLNARenderer.pm line 1634.
2021.02.19 09:39:15 1: PERL WARNING: Use of uninitialized value $contenttype in string eq at ./FHEM/98_DLNARenderer.pm line 1634.
2021.02.19 09:39:15 1: PERL WARNING: Use of uninitialized value $contenttype in substr at ./FHEM/98_DLNARenderer.pm line 1636.
2021.02.19 09:39:55 1: PERL WARNING: Use of uninitialized value in split at ./FHEM/98_DLNARenderer.pm line 1617.
2021.02.19 09:39:55 1: PERL WARNING: Use of uninitialized value $contenttype in concatenation (.) or string at ./FHEM/98_DLNARenderer.pm line 1623.
2021.02.19 09:39:55 1: PERL WARNING: Use of uninitialized value $contenttype in substr at ./FHEM/98_DLNARenderer.pm line 1634.
2021.02.19 09:39:55 1: PERL WARNING: Use of uninitialized value $contenttype in string eq at ./FHEM/98_DLNARenderer.pm line 1634.
2021.02.19 09:39:55 1: PERL WARNING: Use of uninitialized value $contenttype in substr at ./FHEM/98_DLNARenderer.pm line 1636.


Vermutlich habe ich hier 2 Fragen gestellt:
1. Was ist die "beste" URL, um MP3-Files via DLNA abzuspielen?
2. Habe ich einen (Mini-)Bug in DLNARenderer entdeckt, wenn das MP3-File schlecht getagged ist?

Mein Hauptanliegen ist natürlich die erste Frage ....


Grüßle, Michael

PS: Das MP3-File ist von hier https://all4phones.de/attachments/54472d1547904899-star-trek-theme-klingelton-raumschiff-enterprise-fuer-dein-smartphone-star-trek-roter-alarm-mp3-klingelton.mp3 (https://all4phones.de/attachments/54472d1547904899-star-trek-theme-klingelton-raumschiff-enterprise-fuer-dein-smartphone-star-trek-roter-alarm-mp3-klingelton.mp3)
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: KölnSolar am 19 Februar 2021, 17:56:23
Hi Michael,
kann ich Dir wenig zu sagen. Mir war es immer nur wichtig, dass Bilder u. speak gehen, um Nachrichten auf den TV zu bringen.

Dem
Zitat
2021.02.19 09:26:24 1: PERL WARNING: Loading device description failed with error: 500 Can't connect to 127.0.0.1:58645 (Connection refused) (Location: http://127.0.0.1:58645/dev/b80a5afa-d108-6774-0000-00000f4d38f5/desc.xml) at ./FHEM/98_DLNARenderer.pm line 276.
bin ich auf der Spur. Der findet in den Tiefen des fremden Perl-Pakets statt. Ich kenne es, wenn man mit meinem neuen Konzept auf demselben System ein UPNPDevice u. den UPNPController anlegt. Dann gibt es 3*20s freezes  ::) :'(
Woran es aber konkret liegt, weiß ich leider noch nicht.
Grüße Markus
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: olwaldi am 20 Februar 2021, 09:30:00
Ich habe mittlerweile eine ganz neue Lösung für mein "Problem" gefunden: Mein Ausgabegerät ist ja ein Medion-Radio mit UNDOK-Schnittstelle. Und dafür gibts auch ein Modul, nämlich SIRD. Damit kann ich MP3-Files direkt abspielen. Und Ein/Ausschalten funktioniert auch.

Und DLNARenderer ist ja nach wie vor mit von der Partie, da SIRD für das Medion-Gerät automatisch ein DLNARenderer-Device anlegt.

Nachtrag: Vermutlich hatte ich DLNARenderrer noch nicht komplett gelöscht - da wurden weiterhin DLNA-Geräte automatisch erzeugt. Ich habe daraufhin die hidden DLNA-Geräte aus "Everything" gelöscht und alle zwischenzeitlich neu enstandene DLNA-Geräte. Es verbleibt allerdings jetzt die Fehlermeldung
PERL WARNING: Use of uninitialized value in sprintf at fhem.pl line 2556.
Kann aber Zufall sein..

Grüßle, Michael
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: KölnSolar am 20 Februar 2021, 11:09:08
ZitatIch habe daraufhin die hidden DLNA-Geräte aus "Everything" gelöscht und alle zwischenzeitlich neu enstandene DLNA-Geräte.
Auch so ein unschönes Problem, dass die Hilfsdevices zwar automatisch angelegt, nicht aber gelöscht werden. Manuelles Einwirken kann empfindliche Auswirkungen haben.

Auch das ist bei meiner Neuentwicklung verbessert.  8)

ZitatUnd DLNARenderer ist ja nach wie vor mit von der Partie, da SIRD für das Medion-Gerät automatisch ein DLNARenderer-Device anlegt.
Das hieße doch, SIRD bereitet nur die uri "besser" auf. Den Unterschied müsstest Du ja dann im Medion-DLNARenderer-device sehen können.  :-\
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: Gisbert am 20 Februar 2021, 16:59:02
ZitatAuch das ist bei meiner Neuentwicklung verbessert.  8)

Hallo Markus,

meinst du, dass es sich lohnt bei meiner Installation upzugraden? Ich nutze ja seit längerer Zeit deine Version. Was muss ich machen, und worauf muss ich besonders achten?

Viele​ Grüße​ Gisbert​
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: KölnSolar am 20 Februar 2021, 18:18:54
Hi Gisbert,
lohnen auf  jeden Fall. 8)
Funktioniert, ist aber noch nicht idiotensicher.
Abgesehen vom Renderer bietet das Basismodul eine Übersicht aller UPnP-Geräte im LAN. Das logische Modul macht nichts anderes als mein modifizierter Renderer.
Grüße Markus
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: Gisbert am 20 Februar 2021, 19:59:11
ZitatFunktioniert, ist aber noch nicht idiotensicher.

Gut, dass du klare Worte findest ;D
Ich hab keine Idee, wie ich da ran gehen muss.
Gibt es in den Untiefen dieses Threads ;) irgendwo Hinweise, was ich tun muss, Updates, ggf. existierende Devices löschen, neue Anlegen, ...?

Viele​ Grüße​ Gisbert​
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: KölnSolar am 20 Februar 2021, 20:49:04
Hi Gisbert,
das war aber nicht persönlich gemeint, obwohl.....  ;D ;D ;D ;)

Reicht das (https://forum.fhem.de/index.php/topic,118837.0.html), um Dich zu verwirren? Testsystem hast Du, oder ? Sonst warte noch 1-2 Wochen.

Grüße Markus
PS: Hast Du das neue Forentool (https://forum.fhem.de/index.php/topic,118870.msg1133176.html#msg1133176)schon gesehen ? Wie wärs, wenn Du Dich mit unserem Wimpelmann mal kurzschließt u. ein virtuelles Treffen organisierst ? Oder über dieses Jitsu-Ding ? Ich erklär dann gerne mehr zu Modul u. Upnp-Theorie.  ;)


Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: Gisbert am 20 Februar 2021, 21:44:47
Hallo Markus,

ich kontaktiere dann mal Dora71.
Verwirrt, ja - warten, auch ja - auf was hab ich mich da wieder eingelassen :( :-[ :-\

Viele​ Grüße​ Gisbert​
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: KölnSolar am 21 Februar 2021, 10:46:24
Hi Michael,
das
ZitatUnd DLNARenderer ist ja nach wie vor mit von der Partie, da SIRD für das Medion-Gerät automatisch ein DLNARenderer-Device anlegt.
stimmt aber so nicht.
SIRD kocht sein eigenes Upnp-/DLNA-Süppchen. Und dann ist es noch nicht einmal offiziell, so dass Suchen(grep) auf Quellcode fehlschlagen  :'( :o

Der SIRD-Maintainer könnte besser(und einfacher) mein neues Konstrukt adaptieren(u. das Modul mal produktiv machen, damit man als Nichtnutzer nicht ellenlang Detektiv spielen muss, nur um einen kurzen Blick in den Quellcode zu werfen  >:()

Grüße Markus
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: olwaldi am 21 Februar 2021, 17:22:45
Ja, mittlerweile ist mir auch klar, daß SIRD eine eigene DLNA-Implementierung hat. Da ich ja zunächst nur die direkten DLNARenderer Objekte gelöscht hatte und danach zufällig mein Medion-Radio als DLNA-Renderer in FHEM nach Aktivieren von SIRD auftauchte, dachte ich an ein gegenseitiges Aufrufen beider FHEM-Module. Nach Löschen der hidden DLNARenderer Objekte werden keine neuen DLNARendere Objekte mehr angelegt, wie erwartet.

Ich habe mittlerweile im SIRD-Thread auch was gepostet, da SIRD unerwartete Fehlermeldungen im Log hinterläßt.

Und ich fänd's auch schön, wenn SIRD offiziell unterstützt würde. Ist ja immer die gleiche Frage, die sich ein Entwickler stellt: ist mein Modul stabil genug, um's zu releasen oder gibts noch zuviele Kinderkrankheiten?

Aber ich glaube, mein ursprüngluches Ziel so allmählich zu erreichen: Wenn im Keller Wasser steht, soll mich ein ShellyFlood old school per email informieren und in der Küche "Roten Alarm" im Medion-Radio auslösen. Macht schon Spaß, Fhem zu nutzen!!!


Grüßle, Michael
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: KölnSolar am 27 Februar 2021, 09:33:08
Hi Gisbert(und weitere Test-/Umstiegswilligen),
nun könntest Du testen.
Details habe ich hier (https://forum.fhem.de/index.php/topic,118837.msg1132819.html#msg1132819) gepostet.
Grüße Markus
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: Gisbert am 27 Februar 2021, 09:59:18
Hallo Markus,

ich versuche sehr gerne zu testen. An diesem WE geht es aber nicht, da der 1. März bevorsteht, und ich noch vorher Hecken schneiden muss. Der 1. März hat sich aber sowas von heimlich angeschlichen ;D, ich hab's erst gemerkt, als ich auf den Kalender geschaut habe.

Viele​ Grüße​ Gisbert​
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: KölnSolar am 27 Februar 2021, 10:43:03
kein Thema. Vogelschutz(oder Gesetzestreue) geht vor.  ;D Aber das Gesetz zur Sonntagsruhe beachten.  ;D
Grüße Markus
Titel: Antw:98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: Gisbert am 27 Februar 2021, 20:04:38
Zitat von: KölnSolar am 27 Februar 2021, 10:43:03
kein Thema. Vogelschutz(oder Gesetzestreue) geht vor.  ;D Aber das Gesetz zur Sonntagsruhe beachten.  ;D
Grüße Markus

Hallo Markus, klar mache ich doch.

Bisher kamen nur Handsägen, Astscheren und kleine Scheren zum Einsatz, das wird sich morgen nicht ändern.
Es ist doch verflucht anstrengend, weshalb ich heute nicht alles geschafft habe. Ist aber nicht mehr so viel für morgen zu tun.

Ich hab mal kurz auf deine verlinkte Seite geschaut. Was ich genau tun muss, ist mir aber noch nicht klar, mit anderen Worten mache dich auf viele Fragen gefasst ;D 8)

Viele Grüße Gisbert
Titel: Aw: 98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: Gisbert am 26 Juni 2023, 08:42:28
Hallo Markus,

ich bin gerade dabei (eigentlich fast schon durch) einen neuen Fhem-Server auf Proxmox aufzusetzen. Das meiste konnte ich durch Einspielen eines Fhem-Backup erledigen, allerdings hat es an der ein oder anderen Stelle geruckelt.

In einem Backup vom 17. Juni hatte ich folgende Defintionen:
## Fernseher
define myDLNARenderer DLNARenderer
setuuid myDLNARenderer 5ccff12a-f33f-e986-3006-09644082bb1268d8
attr myDLNARenderer userattr acceptedUDNs defaultRoom envNamespace envPrefix ignoreUDNs
attr myDLNARenderer envNamespace <undef>
attr myDLNARenderer envPrefix s
attr myDLNARenderer icon it_server

define DLNA_4f16e65add53 DLNARenderer uuid:c30ae065-dda8-45f5-b979-4f16e65add53
setuuid DLNA_4f16e65add53 634d55b4-f33f-e986-532a-cb569958f443f26b
attr DLNA_4f16e65add53 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_4f16e65add53 alias Samsung Q60BA 55 TV
attr DLNA_4f16e65add53 channel_01 http://192.168.1.46:8086/fhem/rss/RSS.Anruf.jpg
attr DLNA_4f16e65add53 channel_02 http://192.168.1.46:8086/fhem/rss/RSS.SZ.Gisbert.jpg
attr DLNA_4f16e65add53 channel_03 http://192.168.1.46:8086/fhem/rss/RSS.Garage.jpg
attr DLNA_4f16e65add53 channel_04 http://192.168.1.46:8086/fhem/rss/RSS.Garage.zu.jpg
attr DLNA_4f16e65add53 channel_05 http://192.168.1.46:8086/fhem/rss/RSS.Badezimmer.jpg
attr DLNA_4f16e65add53 channel_06 http://192.168.1.46:8086/fhem/rss/RSS.Gaeste_WC.jpg
attr DLNA_4f16e65add53 channel_07 http://192.168.1.46:8086/fhem/rss/RSS.SZ.Petra.jpg
attr DLNA_4f16e65add53 icon it_television
attr DLNA_4f16e65add53 webCmd volume

define SamsungTV SamsungAV 192.168.1.50 8001 DLNA_4f16e65add53
setuuid SamsungTV 634d9d24-f33f-e986-9120-dd7186c8855947bb
attr SamsungTV devStateIcon on:it_television@red absent:it_television@gray
attr SamsungTV icon it_television
attr SamsungTV room Network
attr SamsungTV screenURI http://192.168.1.46/MDAlarm.jpg

Im Backup vom 24. Juni, welches ich in Fhem auf dem Proxmox benutzt hab, steht folgendes:
## Fernseher


also nichts.

Was kann denn da bloß passiert sein?
Ich werde es wohl nie rausfinden, aber wie kriege ich meine Devices wieder eingerichtet?
Stumpfes Kopieren der Definitionen, mit geänderter IP des neuen Fhem-Servers? Ich frag lieber mal nach, bevor ich es noch schlimmer mache.

Viele Grüße Gisbert
Titel: Aw: 98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: Gisbert am 26 Juni 2023, 09:18:35
Hallo Markus,

der Fernseher und der Win10-PC (oben nicht gezeigt) kommen mit den identischen Definitionen rein.

Bleibt nur noch übrig:
define SamsungTV SamsungAV 192.168.1.50 8001 DLNA_4f16e65add53
setuuid SamsungTV 634d9d24-f33f-e986-9120-dd7186c8855947bb
attr SamsungTV devStateIcon on:it_television@red absent:it_television@gray
attr SamsungTV icon it_television
attr SamsungTV room Network
attr SamsungTV screenURI http://192.168.1.46/MDAlarm.jpg

Dieses Device muss ich dann selbst anlegen. Was hat es mit dem Attribut
attr SamsungTV screenURI http://192.168.1.46/MDAlarm.jpgauf sich?

Viele Grüße Gisbert

Edit: Es läuft wieder alles - aber wie konnten denn einfach Devices aus Fhem verschwinden? Vielleicht sollte man nicht Fhem für die Autos, Flugzeuge und die bemannte Raumfahrt benutzen :))
Titel: Aw: 98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: fuchsnase am 17 November 2023, 19:22:24
Hallo,

ich habe meinen Yamaha Receiver als Renderer definiert.
defmod DLNA_00a0defca555 DLNARenderer uuid:9ab0c000-f668-11de-9976-00a0defca555
attr DLNA_00a0defca555 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_00a0defca555 alias Wohnzimmer
attr DLNA_00a0defca555 ttsLanguage de
attr DLNA_00a0defca555 verbose 5
attr DLNA_00a0defca555 webCmd volume

Wenn ich den Renderer steuern will, z.B. mit set DLNA_00a0defca555 volume 60

erhalte ich im Log die Meldung
2023.11.17 19:12:49 5: DLNARenderer: RenderingControl: urn:schemas-upnp-org:service:RenderingControl:1 found. OK.
2023.11.17 19:12:49 3: DLNARenderer: RenderingControl, SetVolume(0,Master,60) failed, 400 Bad Request at FHEM/lib/UPnP/ControlPoint.pm line 954.
2023.11.17 19:12:49 3: DLNARenderer: RenderingControl, SetVolume(0,Master,60) failed, 400 Bad Request at FHEM/lib/UPnP/ControlPoint.pm line 954.
2023.11.17 19:12:49 3: DLNARenderer: RenderingControl, SetVolume(0,Master,60) failed, 400 Bad Request at FHEM/lib/UPnP/ControlPoint.pm line 954.
und es passiert beim Renderer nichts weiter (welch Wunder bei der Meldung).

Beim Web-Device ist allowedHttpMethods gesetzt:
defmod WEB FHEMWEB 8083 global
attr WEB JavaScripts codemirror/fhem_codemirror.js
attr WEB SVGcache 1
attr WEB allowedHttpMethods GET|POST|HEAD
attr WEB closeConn 1
attr WEB codemirrorParam {"fullScreen":true, "foldGutter":true}
attr WEB confirmDelete 0
attr WEB csrfToken BooTo0Shae8ahph5tah0
attr WEB hiddenroom DashboardRoom
attr WEB icon it_internet
attr WEB longpoll websocket
attr WEB plotfork 1
attr WEB room System
attr WEB stylesheetPrefix f18

Die Perl-Module habe ich auch nachinstalliert und sind auf dem aktuellen Stand.

Gibt es eine Idee, wie ich weitermachen kann?

Vielen Dank!

Hans-Walter

Titel: Aw: 98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: KölnSolar am 17 November 2023, 20:37:25
Hallo Hans Walter,
schön, dass sich mal wieder jemand an dem Modul versucht.

Scheinbar mag der Receiver den Standard-DLNA-Befehl für volume nicht. Schau mal im UPNPController nach der URL in IP....-location. Die mal im Webbrowser eingeben und das Ergebnis posten.

Grüße Markus
Titel: Aw: 98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: fuchsnase am 18 November 2023, 00:16:48
Hallo Markus,

danke für die überaus schnelle Antwort.

Leider weiß ich nicht, wie ich an den UPNPController komme.

Gruß
Hans-Walter
Titel: Aw: 98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: KölnSolar am 18 November 2023, 08:09:15
Meine Schuld.  ::) Du versuchst Dich ja am DLNARenderer.

Lust auf Experimente ? Dann hier (https://forum.fhem.de/index.php?topic=118837.0) lesen, installieren, testen...
Titel: Aw: 98_DLNARenderer.pm (UPnP) (zuvor 98_DLNAClient.pm)
Beitrag von: dennisk am 03 März 2024, 10:52:43
Hallo zusammen,

seit gestern nutze ich das Modul 98_DLNARenderer, was soweit auch gut funktioniert. Zwei Dinge sind mir aber aufgefallen:
1. Wenn der auf dem Renderer abgespielte Titel ein Sonderzeichen enthält, wird ein Fehler geworfen:
2024.03.02 19:39:22 1: DLNARenderer: XML parsing error: Entity: line 1: parser error : xmlParseEntityRef: no name
:55.000"></res> <dc:title>I Love Rock 'N Roll</dc:title> <dc:creator>Joan Jett &
                                                                                ^
Entity: line 1: parser error : xmlParseEntityRef: no name
e> <dc:creator>Joan Jett & the Blackhearts</dc:creator> <upnp:artist>Joan Jett &
                                                                                ^
XML::Simple called at /usr/share/fhem/FHEM/98_DLNARenderer.pm line 1130.
2. Lautstärke regeln geht, Mute geht nicht auf meiner Soundbar JBL Bar 1000. Interessanterweise wird in FHEM im reading mute der Zustand richtig angezeigt, wenn ich mit der Fernbedienung mute, nämlich 0 oder 1. Wenn ich aber in FHEM das set command für mute ausführe, führt dies zu keiner Veränderung auf der Soundbar, das reading mute enthält dann aber tru oder fal.

Hat jemand eine Idee, wie sich 1 und 2 beheben lassen? Wenn mehr Infos benötigt werden, bitte einen kurzen Hinweis. Und natürlich vielen Dank für das Modul und dessen Pflege.