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

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

Vorheriges Thema - Nächstes Thema

det.

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"
LG
det.

Tommy82

#31
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
Fhem Cubitruck  Armbian Buster with Linux 5.3.9-sunxi
HM-CC_RT-DN, HM-Sec-RHS,HM-Sec-SD, HM-Sec-SCo,IT1500,1xIT GRR-3500 Fritz!Dect200,Powerline546E,Enigma2 Modul mit 3 Vu+,Wol Modul für WinServer2016 und WinServer 2019,FB6590
Allnetl Wandtablett mit FTUI

Brockmann

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?

dominik

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

Tommy82

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
Fhem Cubitruck  Armbian Buster with Linux 5.3.9-sunxi
HM-CC_RT-DN, HM-Sec-RHS,HM-Sec-SD, HM-Sec-SCo,IT1500,1xIT GRR-3500 Fritz!Dect200,Powerline546E,Enigma2 Modul mit 3 Vu+,Wol Modul für WinServer2016 und WinServer 2019,FB6590
Allnetl Wandtablett mit FTUI

dominik

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

dominik

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

antonwinden

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
KNX, Raspberry, Denon 3313, Philips TV, Xtrend9X00 und viel Optimismus...

dominik

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

det.

LG
det.

dominik

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

Fhemotto

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

dominik

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

Fhemotto

Hi dominik

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

Danke

dominik

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