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

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

Vorheriges Thema - Nächstes Thema

dominik

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.
fhempy -  https://github.com/fhempy/fhempy: GoogleCast, Tuya, UPnP, Ring, EQ3BT, Nespresso, Xiaomi, Spotify, Object Detection, ...
Kaffeespende: https://paypal.me/todominik

Enilno

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 :)
Raspi 2 mit Jessie Lite und Fhem 5.7, CUL868 fw 1.66, Philips Hue Bridge, Logitech Harmony Companion HUB, Somfy RTS, Elro FS

dominik

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
fhempy -  https://github.com/fhempy/fhempy: GoogleCast, Tuya, UPnP, Ring, EQ3BT, Nespresso, Xiaomi, Spotify, Object Detection, ...
Kaffeespende: https://paypal.me/todominik

nightstorm99

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

Norberto


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

dominik

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
fhempy -  https://github.com/fhempy/fhempy: GoogleCast, Tuya, UPnP, Ring, EQ3BT, Nespresso, Xiaomi, Spotify, Object Detection, ...
Kaffeespende: https://paypal.me/todominik

Norberto

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

hawkeyexp

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

Norberto


@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

vw80

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

dominik

#220
@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.
fhempy -  https://github.com/fhempy/fhempy: GoogleCast, Tuya, UPnP, Ring, EQ3BT, Nespresso, Xiaomi, Spotify, Object Detection, ...
Kaffeespende: https://paypal.me/todominik

vw80

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.

dominik

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.
fhempy -  https://github.com/fhempy/fhempy: GoogleCast, Tuya, UPnP, Ring, EQ3BT, Nespresso, Xiaomi, Spotify, Object Detection, ...
Kaffeespende: https://paypal.me/todominik

vw80

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?

dominik

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*]
fhempy -  https://github.com/fhempy/fhempy: GoogleCast, Tuya, UPnP, Ring, EQ3BT, Nespresso, Xiaomi, Spotify, Object Detection, ...
Kaffeespende: https://paypal.me/todominik