Sonos steuern

Begonnen von Will, 05 Januar 2013, 15:51:12

Vorheriges Thema - Nächstes Thema

Will

Ich habs auf meiner fritzbox installiert. Ähnliches verhalten. Liegt es an rechten oder soll ich gleich aufgeben wegen Hardware?

W

Reinerlein

Hi zusammen,

hmmm...  Das finde ich jetzt ja schade. Es sollte eigentlich einfach funktionieren, aber wie das immer so ist :-)

Hier also mal meine Rechte im "FHEM/lib"-Ordner:
pi@raspberrypi /etc/fhem/fhem/FHEM/lib $ find . -ls
134858 4 drwxr-xr-x 3 pi pi 4096 Jan 15 12:29 .
134859 24 -rw-r--r-- 1 pi pi 21370 Dec 30 16:15 ./OWNet.pm
134860 4 drwxr-xr-x 3 pi pi 4096 Jan 17 00:04 ./UPnP
134861 4 drwxr-xr-x 3 pi pi 4096 Jan 15 12:29 ./UPnP/lib
134866 4 drwxr-xr-x 2 pi pi 4096 Jan 17 13:57 ./UPnP/lib/UPnP
134874 20 -rw-r--r-- 1 pi pi 18062 Jan 25 2008 ./UPnP/lib/UPnP/Common.pm
134875 44 -rw-r--r-- 1 pi pi 41376 Jan 25 2008 ./UPnP/lib/UPnP/ControlPoint.pm


Ich bin gerade dabei diese Library zusammenzustauchen. Im Prinzip werden nur die beiden Dateien benötigt, die ich noch übrig gelassen habe. Ich habe auf meiner Testmaschine auch schon die Ordner vereinfacht (da ist ja im Prinzip ein überflüssiges "/lib/UPnP/" drin), aber noch nicht den Code zum veröffentlichen fertig...

Das sollten eigentlich normale Rechte sein. Es kann halt sein, dass in dem ZIP-File die Rechte völlig quer sind. Man muss das auf jeden Fall kontrollieren und an die eigenen Benutzernamen anpassen.

Kommt denn bei euch allen die Fehlermeldung im Log, dass die Library nicht gefunden werden konnte?
Unter Umständen benötigt man zum Betrieb dann weitergehende Rechte, es wird ja ein Serverport aufgemacht, um auf die Player zu lauschen. Das passiert aber alles etwas später...

Grüße Reiner

Will

Hallo Reinerlein,

mein Eintrag im Logfile sieht so aus:

2013.01.17 07:40:04 1: reload: Error:Modul 00_SONOS deactivated:
 Can't locate LWP/Simple.pm in @INC (@INC contains: /var/media/ftp/Sony-StorageMedia-00/fhem/lib/perl /var/media/ftp/Sony-StorageMedia-00/fhem/lib/perl/arch /home/rudi/fbperl/lib/perl/arch /home/rudi/fbperl/lib/perl . ./FHEM) at ./FHEM/00_SONOS.pm line 54.
BEGIN failed--compilation aborted at ./FHEM/00_SONOS.pm line 54.

2013.01.17 07:40:04 0: Can't locate LWP/Simple.pm in @INC (@INC contains: /var/media/ftp/Sony-StorageMedia-00/fhem/lib/perl /var/media/ftp/Sony-StorageMedia-00/fhem/lib/perl/arch /home/rudi/fbperl/lib/perl/arch /home/rudi/fbperl/lib/perl . ./FHEM) at ./FHEM/00_SONOS.pm line 54.
BEGIN failed--compilation aborted at ./FHEM/00_SONOS.pm line 54.

Reinerlein

Hi Will,

ok, das ist eine Stufe weiter, und etwas was ich offensichtlich noch ins Wiki schreiben muss.

Bei mir war/ist LWP::Simple bereits installiert, weil ich in meiner 99_myUtils.pm das bereits brauche...

OK, zur Lösung:
Kannst du auf der Maschine Dinge per CPAN installieren?

Die Anweisung dazu wäre
sudo cpan LWP::Simple

Das sollte das ganze installieren. Wenn es installiert ist, wie bei mir, ergibt dann ein erneuter Aufruf der Zeile folgende Ausgabe:
pi@raspberrypi ~ $ sudo cpan LWP::Simple
Reading '/root/.cpan/Metadata'
Database was generated on Thu, 17 Jan 2013 11:06:59 GMT
LWP::Simple is up to date (6.00).


Grüße Reinerlein

Will

Als Linux Dau wirds jetzt spannend fuer mich :-)

Sitze wie gesagt an ner fritzbox.....tippe das halt mal ab...

W

Will

offensichtlich nicht, ich bin per telnet auf meiner fritzbox.


# sudo cpan LWP::Simple
-sh: sudo: not found

W

Reinerlein

Hi Will,

ups.. kein sudo?

Da bin ich jetzt überfragt, was auf der FritzBox getan werden muss, um "sudo" verwenden zu dürfen. Kann das jemand beantworten, der sowas auf einer FritzBox macht?

Vielleicht geht es einfach ohne?
cpan LWP::Simple

Schwacher Versuch, ich weiss. Aber da weiss ich jetzt nicht weiter...

Grüße Reiner

Will

# cpan LWP::Simple
-sh: cpan: not found

Da brauche ich nochmal Unterstuetzung wie ich hier jetzt weitermachen soll...
Funktioniert das ueberhaupt mit telnet, sitze an einem windoof rechner und gehe mitbordmitteln auf die fritzbox


W

Will

Reinerlein,

wo kommt eigentlich dieser Pfad her:
/home/rudi/fbperl/lib/perl/arch /home/rudi/fbperl/lib/perl

Sollte es doch bei mir gar nicht geben...

W

Martin Fischer

wie ich schon versucht habe in meinem anderem beitrag darauf hinzuweisen:

auf systemen wie fritzbox oder synologys wird man tools wie cpan oder sudo vergeblich suchen. besonders die fritzbox ist da stark eingeschränkt.

gruss martin
--
Admin, Developer, Gründungsmitglied des FHEM e.V.

Will


Reinerlein

Hi Will,

diese Pfadliste sind Perl-Suchpfade. Dort wird überall nach der gewünschten Library gesucht. Diese Suchpfade kann man selber im Skript erweitern.

So mache ich das ja bei mir auch im Skript:
use lib "$attr{global}{modpath}/FHEM/lib";

Da wird also in irgendeinem Modul noch was altes (absolutes) von Rudi drinhängen :-)
Meine Pfadangabe ist ja eine Relative zur definierten Variable "ModPath"

Das bedeutet also nicht, dass es den Pfad bei dir gibt, sondern nur, dass er in durchsuchen möchte, wenn er ihn finden würde...

Zu deiner Code-Ausgabe. Da scheint ein Suchpfad in deiner Shell nicht gesetzt zu sein. Der findet keine Binaries.
Kannst du mal
bash
oder
/bin/bash
ausführen?
Manchmal werden dann mit dem Starten der Bash (ein Kommandozeileninterpreter) Einstellungen geladen...

Wenn das geht, dann einfach nochmal mit dem "sudo" bzw. "cpan" versuchen... Dann aber "innerhalb" der bash...

Grüße Reiner

det.

Hallo Reinerlein,

etwas Zeit zwischen Arbeit und Abend Verpflichtungen freigeschaufelt und weiter getestet. Da die Berechtigungen setzen über telnet von Windows auf RasbPi offenbar nichts gebracht haben - Maus+Tastatur+Monitor dran - alles in FHEM/lib rw und user fhem group root gemacht - und es kommt eine neue Fehlermeldung - immerhin -
Can't locate SOAP/Lite.pm in @INC (@INC contains: /usr/share/fhem/FHEM/lib/UPnP/lib /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 . /usr/share/fhem/FHEM) at /usr/share/fhem/FHEM/lib/UPnP/lib/UPnP/Common.pm line 85.
BEGIN failed--compilation aborted at /usr/share/fhem/FHEM/lib/UPnP/lib/UPnP/Common.pm line 85.
Compilation failed in require at /usr/share/fhem/FHEM/lib/UPnP/lib/UPnP/ControlPoint.pm line 14.
BEGIN failed--compilation aborted at /usr/share/fhem/FHEM/lib/UPnP/lib/UPnP/ControlPoint.pm line 14.
Compilation failed in require at /usr/share/fhem/FHEM/00_SONOS.pm line 64.
BEGIN failed--compilation aborted at /usr/share/fhem/FHEM/00_SONOS.pm line 64.

Kann das sein, dass Du auf Deinem RaspbPi noch andere PERL Module drauf hast, die für FHEM + OWFS + FHEM Info nicht notwendig sind und daher z.B. bei mir nicht drauf sind?
Die Sache mit "Permission denied" ist jedenfalls erst mal weg - und an fehlendem shutdown restart liegt es auch nicht
LG
det.

Reinerlein

Hi Detlev,

ja das kann sein. Ich verwende FHEM jetzt bestimmt schon über ein Jahr... Da installiert man einiges, ohne dass man es genauer merkt :-)

Zu Sache: Ja, auch SOAP::Lite ist notwendig.

Installation über
sudo cpan SOAP::Lite

Ich trage es gleich im Wiki nach...

Grüße Reiner

det.

Hallo Reiner,

Stunden und mehrere Kaffee später... CPAN auf dem RaspbPi erfordert wenn man das zum ersten mal aufruft unendlich Zeit und einen Neustart zwischendurch, vorher jede Menge "Make" Fehler - das solltest Du für Linux Deppen wie mich unbedingt mit ins Wiki schreiben. Nach dem Neustart und alles noch mal von vorn dauert es dann immer noch ewig und installiert Sachen was weiß ich was - und bringt div. Make Fehler. Zwischendurch die Liste:

Feature                       Prerequisites                Install?
----------------------------- ---------------------------- --------
Core Package                  [*] Scalar::Util             always
                              [*] URI
                              [*] constant
                              [*] Test::More
                              [*] MIME::Base64
                              [*] Class::Inspector
                              [*] XML::Parser (v2.23)
                              [*] Task::Weaken
Client HTTP support           [*] LWP::UserAgent           always
Client HTTPS support          [ ] Crypt::SSLeay            [ no ]
Client SMTP/sendmail support  [ ] MIME::Lite               [ no ]
Client FTP support            [ ] SOAP::Transport::FTP (v0.711) [ no ]
Client TCP support            [ ] SOAP::Transport::TCP (v0.714) [ no ]
Standalone HTTP server        [*] HTTP::Daemon             [ yes ]
Apache/mod_perl server        [ ] Apache                   [ no ]
FastCGI server                [ ] FCGI                     [ no ]
POP3 server                   [ ] MIME::Parser             [ no ]
                              [*] Net::POP3
IO server                     [*] IO::File                 [ yes ]
MQ transport support          [ ] SOAP::Transport::MQ (v0.712) [ no ]
JABBER transport support      [ ] SOAP::Transport::JABBER (v0.712) [ no ]
MIME messages                 [ ] MIME::Parser             [ no ]
DIME messages                 [ ] IO::Scalar (v2.105)      [ no ]
                              [ ] DIME::Tools (v0.03)
                              [ ] Data::UUID (v0.11)
SSL Support for TCP Transport [*] IO::Socket::SSL          [ yes ]
Compression support for HTTP  [*] Compress::Zlib           [ yes ]
MIME interoperability w/ Axis [ ] MIME::Parser (v6.106)    [ no ]
--- An asterix '[*]' indicates if the module is currently installed.

Do you want to proceed with this configuration? [yes]


wenn man das vor - angekreuzte installiert, geht es hinterher jedenfalls immer noch nicht wirklich weiter:

Can't locate SOAP/Lite.pm in @INC (@INC contains: /usr/share/fhem/FHEM/lib/UPnP/lib /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 . /usr/share/fhem/FHEM) at /usr/share/fhem/FHEM/lib/UPnP/lib/UPnP/Common.pm line 85.
BEGIN failed--compilation aborted at /usr/share/fhem/FHEM/lib/UPnP/lib/UPnP/Common.pm line 85.
Compilation failed in require at /usr/share/fhem/FHEM/lib/UPnP/lib/UPnP/ControlPoint.pm line 14.
BEGIN failed--compilation aborted at /usr/share/fhem/FHEM/lib/UPnP/lib/UPnP/ControlPoint.pm line 14.
Compilation failed in require at /usr/share/fhem/FHEM/00_SONOS.pm line 64.
BEGIN failed--compilation aborted at /usr/share/fhem/FHEM/00_SONOS.pm line 64.
LG
det.