Frage zu Sonos Definitionsparameter

Begonnen von kwbo, 07 Dezember 2013, 23:31:47

Vorheriges Thema - Nächstes Thema

kwbo

Leider hänge ich mal wieder an einem Punkt wo ich nicht weiter komme und auf eure Hilfe hoffe.

Ich versuche auf einem RPi, auf dem fhem problemlos läuft, den Sonos-Zugriff einzubinden. Ich  habe nach Anweisung die benötigten Perlmodule installiert und über die FHEM-Update-Funktion die Sonos Module installiert. Das hat alles soweit funktioniert.

Wenn ich allerdings versuche, jetzt unter dem Webinterface vom FHEM das Sonos Device zu definieren, verliere ich mit dem Abschicken des define-Kommandos den Lan/WLAN-Zugriff auf FHEM über das Web-Interface.

Im Moment verbinde ich mich dann über PuTTY mit dem RPi und mache einen Reboot des RPi. Dann funktioniert der Zugriff über das Web-Interface wieder.

Ich vermute mal, dass das Problem was mit den bei der Definition verwendeten Parametern zu tun hat.
Die Anleitung gibt folgende FHEM-Befehlszeile an: "define Sonos SONOS localhost:4711 30".

Mir ist leider nicht klar, ob die Portangabe beliebig gewählt werden kann, oder ob ein bestimmter Port genutzt werden muß. Muß der betreffende Port vorher definiert werden? Wenn ja, wie? Ich hatte bereits auch den default telnet Port 7072 probiert - mit dem gleichen Ergebnis. Leider sind meine Kenntnisse in dem Bereich nicht so toll - sorry. Der letzte Parameter ist vermutlich ein Zeitinterval. Wenn das nicht stimmt muß dieser vielleicht auch angepasst werden.

Es waere schön, wenn jemand einen Hinweis hätte, der mir hier vielleicht weiterhilft.
Danke und Gruß,
Werner

stenny73

Hallo

Ich habe es mir zwar nicht genau angesehen aber sollte da icht anstatt localhost die ip des sonos stehen?

Stenny
FHEM auf XEN, Ubuntu-Server 14.04   - HM-Lan - Max - ZWave -WS1080 -BlueTooth

FHEM auf Ubuntu-Server 14.04   - HM-LAN

FHEM auf Raspberry Pi   - CSM für Max - HM-USB - WiFi-LED

kwbo

Danke für die Antwort. Das habe ich aber auch bereits probiert - mit und ohne Portangabe. Leider führt das genau zu dem gleichen Ergebnis. FHEM scheint sich in dem Moment komplett aufgehängt zu haben. Ich bin mir auch nicht ganz sicher, ob das irgend etwas mit den Parametern zu tun hat. Da ich keine konkrete Beschreibung der Parameter fand, war dies lediglich meine erste Frage.
Vielleicht hat ja jemand noch eine Idee, wie man das Problem eingrenzen könnte.
Danke und Gruß,
Werner

der-Lolo

vielleicht wendest Du Dich mal an den Songs Thread unter Multimedia - ich bin nicht sicher ob Reinerlein hier mitliest...

Reinerlein

Hallo zusammen,

genau, das war nicht so :-) Ich habe mir jetzt mal diesen Bereich abonniert, damit ich es auch mitbekomme, wenn hier was zu Sonos auftaucht :-)

Ich fürchte, das Modul hat einige Vorraussetzungen, die manchmal nicht ganz gegeben sind. In diesem Fall hatte Det. mit dem Busware-Image auch ein Problem.

Das Problem ist wohl ein Pfad-Problem. Das Sonos-Modul startet einen neuen, eigenen Prozess, wenn es an dem angegebenen Ort nichts verbinden konnte. Dieser wird dann an dem angegebenen Port gestartet (natürlich muss dann sowas wie localhost, oder die eigene IP des Pi angegeben werden, da der Prozess natürlich nur lokal gestartet wird).
Mit dem Busware-Image wurden die relativen Pfade anders zusammengestellt, sodass das Modul seinen Subprozessaus aus irgendeinem Grund nicht starten kann.
Fehlermeldungen dazu siehst du auf der Konsolenausgabe des Fhem-Prozesses, da die Ausgaben des Subprozesses nicht im normalen Fhem-Log landen können...

Leider hatten wir das Problem damals nicht ursächlich beseitigt, sondern Det. hat einfach das Busware-Image verworfen, und eine "normale" Installation durchgeführt.
Aber vielleicht kannst du mir die Konsolenausgabe zu deinem Startversuch mal angeben. Das müsste mit der Ausgabe von Pfadangaben starten...

Grüße
Reinerlein

kwbo

Hallo Reiner,

vielen Dank für die so prompte Antwort.

Ich bin nicht ganz sicher, was du mit den Konsolausgaben der Startversuche meinst. In der Telnetsession finden sich die letzten FHEM-Kommandos vor der Eingabe des Sonos-define-Kommandos wieder. Mit dem Abschicken dieser Eingabe bricht dann FHEM sowie auch die Telnetsession sofort zusammen. Ich muß dann eine SSH-Session aufmachen, um den RasPi neu zu booten. Wenn du nicht eine andere Konsolausgabe gemeint hast, sind  weder darin noch in dem FHEM-Logfile irgend welche weiterhelfenden Einträge zu finden.

Wenn ich dich richtig verstehe, gibt es innerhalb des Sonos-Moduls absolute Pfade, die sich im Busware-Image nicht wiederfinden. Dieses Problem zu beseitigen ist vermutlich ziemlich aufwendig. Was schlägst du pragmatisch vor? Sollte ich auf ein Standard-Image übergehen? Ich hoffe mal, dass das bei der Kombination mit dem COC problemlos möglich ist. Oder sollte ich lieber noch einen zweiten RPi beschaffen?

Danke und Gruß,
Werner

Reinerlein

Hi Werner,

so richtig absolut sind die Pfade im Code natürlich nicht, sondern eher relativ in eine falsche Richtung :-) Soll heissen, dass mein Modul von einer gewissen Pfadhierarchie ausgeht, die man aber innerhalb Fhem umkonfigurieren kann (und beim Busware-Image wohl auch getan wurde), was mein Modul aber leider nicht auslesen kann...

Die pragmatischste Lösung ist sicherlich ein "Standard-Image", damit sollte es zumindest laufen. Leider kann ich dir keine Erfahrungen mit dem COC anbieten, da ich diesen nicht in Verwendung habe.
Vielleicht kann jemand anderes dazu etwas sagen?

Aber u.U. ließe sich das Pfadproblem auch lösen, nur muss ich dazu die Konsolenausgaben haben, um die Schrauben zu finden, die ich drehen muss.
Die Konsolenausgaben sind nicht die von der Telnet-Oberfläche. Das ist sozusagen nur Fhem intern.
Was ich suche ist folgendes:
Wenn du dich per SSH anmeldest, und z.B. Fhem aus dem Verzeichnis direkt manuell startest, also sowas wieperl fhem.pl fhem.cfg ausführst, erhältst du beim Start des Sonos Moduls diverse Textausgaben. Das sind die von meinem Modul...

Vielleicht kann ich anhand der paar Ausgaben die dort kommen werden bereits etwas aussagen...

Grüße
Reinerlein

kwbo

Hallo Reiner,

hier die benötigte Info aus der Konsole:

Current: "fhem.pl", gPath: "./FHEM"
Can't call method "Log3" on unblessed reference at ./FHEM/00_SONOS.pm line 4257.


Gruß, Werner

Reinerlein

Hi Werner,

Ok, das klingt erstmal einfach. Du hast deinem Fhem lange kein Update gegönnt :-)
Irgendwann wurde bei dem zentralen Log-Mechanismus eine neue Prozedur eingebaut (Umstellung von Log auf Log3).

Ich habe nun meinen Code so gebaut, dass alternativ zu Log3 als Fallback Log verwendet wird.

Du hast also zwei Möglichkeiten:
- Update meines Moduls (wieder die Dev-Version), allerdings kann es auch noch andere Dinge geben, bei denen ich von einer aktuellen Version ausgehe. Das kann ich jetzt echt nicht mehr abschätzen :-)
- Update von Fhem -> Sehr zu empfehlen!

Grüße
Reinerlein

kwbo

Hallo Reiner,

vielen Dank für deine Hilfe. Ich bin deiner Empfehlung gefolgt und habe ein FHEM-Update gemacht. Zu meiner Schande muß ich gestehen, dass es jetzt zu funktionieren scheint. Soweit ich das beurteilen kann, sieht das sehr gut aus. Sollten noch Probleme auftauchen, hoffe ich, dass ich mich wieder an dich wenden darf.

Nochmals herzlichen Dank und beste Grüße,
Werner

Reinerlein

Hi Werner,

kein Problem, dafür ist ein Forum ja da :-)

Grüße
Reiner