Squeezebox Modul - erste Version

Begonnen von bugster_de, 17 Dezember 2013, 22:12:10

Vorheriges Thema - Nächstes Thema

marvin78

Das sieht doch schon gut aus. Und wenn du fertig bist, kannst du das ganze ja mal im Wiki zusammenschrieben ;) Dafür darfst du meinen Part gerne verwenden :)

siggi85

Zitat von: marvin78 am 02 Juli 2014, 14:34:31
Das sieht doch schon gut aus. Und wenn du fertig bist, kannst du das ganze ja mal im Wiki zusammenschrieben ;) Dafür darfst du meinen Part gerne verwenden :)

Da wäre ich auch für. Sieht wirklich schon gelungen aus.  :)
Wenn ich mir solche Sachen anschaue ist das Squeezemodul eigentlich zu schade für den Contrib Bereich. ;)

bugster_de

Hi,

ZitatWenn ich mir solche Sachen anschaue ist das Squeezemodul eigentlich zu schade für den Contrib Bereich.
Wie darf man das interpretieren? :) Soll es da ganz raus und wieder weg?  :)


verstehe dich schon richtig, dass man das Teil wohl mal in Richtung Standard FHEM Umfang bewegen könnte. stimmt wohl schon. Wenn ich mir anschaue, dass hier nun seitenlang über die Anwendung und nicht (mehr) über bugs diskutiert wird, dann kann man durchaus mal davon ausgehen, dass die Module nun 'betriebsbewährt' sind. Hatte mich halt bisher dazu bedeckt gehalten, weil ich eine Welle von Support gefürchtet hatte, die über mich herein bricht.

DJAlex

Zählt die Geschichte mit dem Alarm unter Bug? Die Talk Funktion die Automatisch die Playliste wiederherstellt is für mich auch noch ein Punkt der ganz schön wäre wenn's offiziell wird. Sonst ist dieses Modul nicht mehr wegzudenken.

msdv

Wenn ich auch noch anhängen darf: das Abspielen von Playlists (nicht in Favoriten) war noch offen. Ist das schon gefixt?

BTW - gibt irgendeine Möglichkeit, das Modul aus dem Contrib Bereich irgendwo ohne händisches Eingreifen upzudaten?
Das normale "update" - meist gefolgt von "shutdown restart" updated ja nicht den contrib-Bereich.


siggi85

Zitat von: bugster_de am 03 Juli 2014, 15:51:22
Hi,
Wie darf man das interpretieren? :) Soll es da ganz raus und wieder weg?  :)
Wehe du nimmst das Modul irgendwo ganz raus.  ;D ;)

Das Modul ist echt gelungen! Einer offiziellen Version sollte nicht viel im Weg stehen. :)

bugster_de

Hallo Freunde der gepflegten Mehrraummusik,

ich habe in den Contrib Bereich eine neue Version eingecheckt. Da es doch grobe Änderungen gab, bitte ein shutdown restart durchführen

sync/unsync
da hier doch einige mit Multiroom rummachen, habe ich das mal eingebaut. Deshalb zwei neue Kommandos:
sync: hier wird eine Liste der möglichen Player angezeigt, mit denen man sich zu einer Gruppe verbinden kann. Der eigene Player ist der Slave und der Player in der Auswahlliste der Master
unsync: nimmt den Player wieder aus der Gruppe raus
Es gibt auch ein paar Readings, die den Zustand von Sync anzeigen

playlists
hier werde ich noch irre mit dem Squeezebox Interface. Wie auch immer: mit playlists werden die Serverseitigen Playlisten zur Auswahl angezeigt. Bei mir funktioniert das nicht in allen Fällen, also checkt das mal.

Sonstiges:
- die Erkennung, ob der Server an oder aus ist ist nun deutlich besser / schneller / zuverlässiger
- neues Reading zur Anzeige ob der abgespielte Song remote (webradio) oder lokal ist. Das werde ich für die cover art brauchen.

jody

Hey bugster_de,

habe gerade das Update heruntergeladen und werde es auch gleich mal testen.

Für die tolle Arbeit, die du mit diesem Modul leistest möchte ich mich bei dir bedanken.

Also hör bitte nicht auf an diesem Modul weiter zu arbeiten.

Danke.
Gruß Jody
Cubietruck
CUL SlowRF
CUL Homematic
ZWave

bugster_de

#278
Hi,

ja ja ich mach ja weiter :-)

ich habe gerade eben eine neue Version des 98_SB_PLAYER.pm eingecheckt. Nun geht die Auswahl der playlisten auch zuverlässig.

Um das Modul in die offiziellen Sourcen (also nicht mehr im Contrib Bereich) einzuchecken wird die Dokumentation des Moduls verlangt. Diese Doku muß am Ende des Modul Codes in HTML vorliegen. Da ich meine Verfügbarkeit und Zeit kenne: wer kann die Doku machen? Wäre echt klasse !

marvin78

Mit der neuen Version bekomme ich alle 5 Minuten:

2014.07.07 13:23:09.245 1: readingsUpdate(SqueezeboxBad,shuffle,off) missed to call readingsBeginUpdate first.
2014.07.07 13:23:09.245 1: readingsUpdate(SqueezeboxBad,repeat,off) missed to call readingsBeginUpdate first.
2014.07.07 13:23:08.846 1: readingsUpdate(SqueezeboxBuero,shuffle,off) missed to call readingsBeginUpdate first.
2014.07.07 13:23:08.845 1: readingsUpdate(SqueezeboxBuero,repeat,off) missed to call readingsBeginUpdate first.
2014.07.07 13:23:08.445 1: readingsUpdate(SqueezeboxWZ,shuffle,off) missed to call readingsBeginUpdate first.
2014.07.07 13:23:08.444 1: readingsUpdate(SqueezeboxWZ,repeat,off) missed to call readingsBeginUpdate first.


Die Player schalten in dem Moment ab (off).

Backup eingespielt und funktioniert so gut, wie vorher.

bugster_de

#280
UPS, ich schau mal nach

EDIT: habs gerade angeschaut. Verstehe ich jetzt nicht. Wenn ich die Datei aus dem contrib Verzeichnis auf mein FHEM installiere, dann kommt dieser Fehler. Wenn ich meine original Datei nehme, dann geht es ??? Muß wohl nochmal neu einchecken.

EDIT2: da stimmt was am SVN Server für FHEM nicht. Wenn ich über das Webfrontend die Datei lade (so wie du), kommt eine alte Version (mit dem beschriebenen Problem). Wenn ich den Code auf der Kommandozeile auslese kommt die richtige Datei. Warum auch immer ...
Im Anhang mal zum ausprobieren die beiden Dateien.

EDIT3: jetzt sind die richtigen Datein im Webinterface des Contrib sichtbar. Ich lösche also den Anhang hier wieder um Verwirrungen vorzubeugen

funclass

#281
Nach einigen Stunden der Verzweiflung muss ich mich nun doch mal fragend an euch wenden.

Ich bekomme weder das SERVER noch das PLAYER-Modul zum laufen. Den Import der aktuellen Module von Github habe ich direkt über den Editor im FHEM-Webinterface erledigt. Wenn ich nun den Server oder den Player per define anlege bekomme ich keine Verbindung zu den Geräten aufgebaut. Server funktioniert, auch CLI-Kommandos habe ich erfolgreich per Telnetverbindung ausführen können. Ich habe den Server sogar direkt auf dem RaspberryPi installiert (lief vorher auf meinem Nas -> NSA320) um die aktuellste Version zu haben und den CLI-Port verändern zu können. Bringt alles nichts, FHEM meldet im Log immer immer "can't connect".

anbei ein kurzer Auszug aus meinem Log:
2014.07.08 17:26:17 4: HTTP FHEMWEB:192.168.0.69:59103 GET /fhem&cmd=define+test+SB_SERVER+127.0.0.1
2014.07.08 17:26:17 5: Cmd: >define test SB_SERVER 127.0.0.1<
2014.07.08 17:26:17 4: SB_SERVER_Define: called
2014.07.08 17:26:17 3: Opening test device 127.0.0.1:9090
2014.07.08 17:26:20 3: Can't connect to 127.0.0.1:9090: Connection timed out
2014.07.08 17:26:20 4: SB_SERVER_Define: leaving
2014.07.08 17:26:20 5: Triggering global (1 changes)
2014.07.08 17:26:20 5: Notify loop for global DEFINED test
2014.07.08 17:26:20 4: eventTypes: Global global DEFINED test -> DEFINED test
2014.07.08 17:26:20 4: SB_SERVER_Ready: called
2014.07.08 17:26:20 5: Triggering test (1 changes)
2014.07.08 17:26:20 5: Notify loop for test power: off
2014.07.08 17:26:20 4: eventTypes: SB_SERVER test power: off -> power: off
2014.07.08 17:26:20 4: SB_SERVER_Broadcast: called
2014.07.08 17:26:20 4: SB_SERVER_Ready: called
2014.07.08 17:26:20 4: HTTP FHEMWEB:192.168.0.69:59103 GET /fhem?detail=test
2014.07.08 17:26:20 4: SB_SERVER_Get: called
2014.07.08 17:26:20 4: /fhem?detail=test / RL:2615 / text/html; charset=UTF-8 / Content-Encoding: gzip
/
2014.07.08 17:26:20 4: SB_SERVER_Ready: called
2014.07.08 17:26:20 4: SB_SERVER_Ready: called
2014.07.08 17:26:20 4: HTTP FHEMWEB:192.168.0.69:59103 GET /fhem/pgm2/style.css
2014.07.08 17:26:20 4: SB_SERVER_Ready: called
2014.07.08 17:26:20 4: SB_SERVER_Ready: called


Wie schon erwähnt betreibe ich FHEM als auch den SB-Server auf einem Rpi mit Raspian-Image. Ansteuerung andere Geräte wie Philips TV und Enigma2-Receiver funktioniert tadellos.

Was mache ich falsch???

Nachtrag:

Natürlich habe ich schon mit verschiedenen Portnummern getestet und die im Log abgebildete IP (Localhost) habe ich vorher auch durch die korrekte IP des Rpi's ersetzt. Folgende defines liefern alle das gleiche Ergebnis: keine Verbindung...

define <name> SB_SERVER 192.168.0.89
define <name> SB_SERVER 192.168.0.89:9090
define <name> SB_SERVER 127.0.0.1
define <name> SB_SERVER 127.0.0.1:9090

bugster_de

das ist tatsächlich ein interessantes Problem. Die Fehlermeldungen kommen aus den unteren Schichten von FHEM. Alle Fehlermeldungen vom SB_SERVER Modul fangen mit SB_SERVER_xxx an.

Wenn Du sagts, dass du per Telnet CLI Kommandos auf dem SB Server auf dem RPi absetzen kannst, dann ist wohl der Port auch offen. Wenn Du andere Geräte wie enigma vom RPi aus per Ethernet ansteuern kannst, dann ist der RPi wohl am Netz.

Hast Du auf dem Squeezebox Server ein Passwort vergeben? Wenn ja, dann muß das auch in die Definition des SB_SERVER mit rein

Was mich wundert: es wird die ReadyFn aufgerufen. Das passiert eiegntlich nur, wenn das physikalische Gerät (hier die Ethernet Schnittstelle) ausgestöpselt wurde. Sprich die Ethernet Hardware scheint nicht verfügbar zu sein und die ReadyFn wird aufgerufen, um zu sehen, ob die HW nun wieder da ist. Bist Du sicher dass dein RPi i.O. ist bzw. die Linux Installation sauber ist?

ChrisD

Hallo,

Ich habe die gleichen Fehlermeldungen wie marvin78 im Logfile. Ich verwende die Version 6217 von 98_SB_PLAYER aus dem SVN (heute aktualisiert). Die Meldungen kommen aus der Funktion SB_SERVER_ParsePlayerStatus die zwar mit einem readingsBeginUpdate anfängt, anschließend aber diverse Readings mit readingsSingleUpdate setzt, wodurch das readingsBeginUpdate automatisch beendet wird. Nachfolgende readingsBulkUpdate-Aufrufe werden dann von FHEM ignoriert und erzeugen die Fehlermeldungen im Log. Ich habe testweise alle readingsSingleUpdate  in SB_SERVER_ParsePlayerStatus durch readingsBulkUpdate ersetzt und damit funktioniert es.

In der Funktion SB_PLAYER_Parse besteht eventuell das gleiche Problem.

Grüße,

ChrisD


RoBra81

Zitat von: ChrisD am 08 Juli 2014, 22:24:29
Ich habe die gleichen Fehlermeldungen wie marvin78 im Logfile.

Ich kann mich dem nur anschließen. Ich nutze die Version aus dem (mittlerweile gelöschten) Anhang des Posts vom 4.7.

Ronny