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

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

Vorheriges Thema - Nächstes Thema

MichaelT

#105
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ß
Großes Mischmasch aus HM, Philips, WLAN und Eigenprojekte.
ABER alles mit FHEM.

MichaelT

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.
Großes Mischmasch aus HM, Philips, WLAN und Eigenprojekte.
ABER alles mit FHEM.

MichaelT

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
Großes Mischmasch aus HM, Philips, WLAN und Eigenprojekte.
ABER alles mit FHEM.

dominik

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

thoweiss

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

Holger S

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

dominik

Hast du libnet-upnp-perl installiert?
fhempy -  https://github.com/fhempy/fhempy: GoogleCast, Tuya, UPnP, Ring, EQ3BT, Nespresso, Xiaomi, Spotify, Object Detection, ...
Kaffeespende: https://paypal.me/todominik

lising

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. 

Holger S


Superhelmi

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

vw80

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.

dominik

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

dominik

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

vw80

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...

s3bi

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

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?