Squeezebox Modul - erste Version

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

Vorheriges Thema - Nächstes Thema

cutter

Hallo

Wer lesen kann ist klar im Vorteil ! Jetzt funktioniert es hatte nur SB_PLAYER und nicht SB_SERVER kopiert.  :-[ . Beide SB-Radios wurden nicht erkannt (vielleicht hatte ich auch nicht Geduld) hab sie dann manuell installiert.
werde es morgen mal ausgiebig testen. 

bugster_de

Hi,

die Radio Erkennung muss sofort gehen (keine Wartezeit). Hast Du an den Radios auch etwas gemacht? z.B. Laut / Leise stellen? Also damit meine ich am echten Radio (nicht in FHEM:-)
Sind die Radios auch mit dem Server gekoppelt?


wilfo

Habs natürlich nicht lassen können und nochmal probiert.
ohne zusätzlichen zutun erkennt FHEM nur einen Player.
erst als ich mit dem 2. was gemacht hab, hat er ihn erkannt. Blöderweise wieder mit der selben ip.
hab dann auch mal die ip´s geändert, Jetzt is es genau anders rum mit den IP´s.

sg wilfo

Ps.:
Meine "Radios" gehen nur über den Server und sind normalerweise Synchronisiert.

Pps.: Syncronisierung hab ich auch schon abgestellt.

bugster_de

Hi,

was für eine IP zeigt er denn an? 127.0.0.1?

sind das Software Player (squeezeslave?). ich habe gerade bei mir fest gestellt, dass die vier SW Player, die auf der gleichen Maschine wie der Server laufen 127.0.0.1 haben (das ist richtig). Die beiden Software Player in der iPAD App iPENG (siehe Appstore) nutzen wohl ebenfalls squeezeslave. Aber die zeigen ebenfalls beide (!!!) 127.0.0.1 an, was so erstmal nicht richtig ist.
Ich habe auch mal per CLI Interface die Anfrage an den SB Server geschickt und der sendet genau diese Antwort zurück. Scheint also auf seiten SB zu liegen

Wenn es dich aber stört, dann kann ich die Anzeige der IP Adresse aus FHEM ausbauen :-)

>>erst als ich mit dem 2. was gemacht hab, hat er ihn erkannt
ja, das steht ja auch so in der Beschreibung zu meinen Modulen. Ich habe aber hier gerade einen Softwarestand am Laufen, der das auch ohne kann. Und er kann jetzt auch die Favoriten Liste auslesen und als Drop-Down in FHEM anbieten


oliv06

Something to keep in mind when autodiscovering squeezeboxes : they need to be attached to the squeezebox server, not to mysqueezebox.com

bugster_de

Hi,

Sind die Player, die mit mysqueezebox verbunden sind interessant? Ich habe in meinem aktuellen Stand eine Abfrage drin, wieviele Player im Netzwerk damit verbunden sind, Werte das aber nicht weiter aus, da man via FHEM eh nichts mit diesen Playern machen kann.

wilfo

Und er kann jetzt auch die Favoriten Liste auslesen und als Drop-Down in FHEM anbieten

8) :D


Ich habe auch mal per CLI Interface die Anfrage an den SB Server geschickt und der sendet genau diese Antwort zurück. Scheint also auf seiten SB zu liegen.

Ja, das wirds wohl sein.
Kann es sein, dass er die Daten des Players (welcher zum Zeitpunkt der Abfrage im Server angewählt ist) her nimmt?

Was mir noch aufgefallen ist:
Er nimmt das Model der dazugehörigen IP.
Also zeigt er mir beispielsweise bei beiden die ip des  1. Player die IP "192.168.0.9" und das model "boom" an.
oder er zeigt  bei beiden die ip des  2. Player die IP "192.168.0.91" und das model "squeezeslave" an.
Das macht er bei mir aber nur mit der IP und dem Model alle anderen angaben wie Name und mac stimmen.


Die beiden Software Player in der iPAD App iPENG (siehe Appstore) nutzen wohl ebenfalls squeezeslave

sollte meine obige Theorie stimmen, wäre nicht sicher ob deine iPeng App tatsächlich mit squeezeslave und dem Localhost arbeiten
*duckundweg*

P.S:
eigentlich blödsinn mir zu der Version gedanken zu machen, du hast eh schon die verbesserte Version in der Schublade bei der dies vieleicht garnicht mehr wahr ist.

sg
wilfo


bugster_de

Hi,

Zitateigentlich blödsinn mir zu der Version gedanken zu machen, du hast eh schon die verbesserte Version in der Schublade bei der dies vieleicht garnicht mehr wahr ist.
da wäre ich mir mal nicht so sicher  :)
ich habe leider auf Grund der IP Diskussion hier die MAC Abfrage so scharf geschaltet, dass autocreate nicht mehr geht :( Aber das krieg ich wieder hin

bugster_de

Hi,

für alle die mal testkaninchen spielen wollen, anbei eine neue version der SB Unterstützung. Diese ist kompatibel zu der Vorgängerversion; sprich einfach ins FHEM Verzeichniss kopieren und reload oder Neustart. Bei mir lief es jetzt einige Tage ganz gut durch. Trotzdem Achtung: das ist sicherlich bestenfalls Beta Status.

Was ist neu?
- Unterstützung der Favoriten: jeder Player hat nun im Set einen neuen Eintrag 'favorites', bei dem dann auch die Auswahlliste der zur Verfügung stehenden Favoriten erscheint. Diese Auswählen, set drücken und der jeweilige Favorit wird gespielt. Die Namen der Favoriten sind allerdings verkürzt, da in FHEM sonst die Liste nicht dargestellt wird (z.B. wird aus 'Hitradio FFH (Hits der 80er)' dann 'HitradioFFHHitsder80er'. Ist zwar nicht soooo schön, aber ich glaube man kann es erkennen.
- das Talk geht nun auch
- der SB_SERVER hat jede Menge neue Informationen über den Server. Die jeweiligen readings sollten durch ihre Namen selbsterklärend sein. Somit kann man nun schonmal sehen, ob z.B. ein Datenbank rescan läuft oder wieviele Player im Netz z.B. mit mysqeezebox verbunden sind
- wenn man den PC, auf dem der SB Server läuft ausschaltet, so wird dies nun auch in FHEM erkannt und es werden die jeweiligen Player in FHEM auf off gesetzt. Somit kann man per notify darauf reagieren und ggf. eine Steckdose ausschalten, die den verstärker stromlos macht
- wenn der SB PC wieder hochgefahren wird, dann erkennt FHEM dies nun auch. Die jeweiligen Player fragen aber explizit erst nach, ob sie auch eingeschaltet sind.
- alle Player, die mit dem SB Server verbunden sind werden nun automatisch per autocreate angelegt und nicht erst wenn man was damit gemacht hat. nur die Player die mit diesem SB-Server verbunden sind. Player mit mysqueezebox oder Verbindung zu einem anderen Server im Netz werden ignoriert
- beim manuellen anlegen von SB_PLAYER ist nun auch das Format xx-xx-xx-xx-xx-xx für die MAC zulässig
- falls FHEM aus welchen Gründen auch immer die Verbdindung zum SB verliert, kann man am SB_SERVER mit dem set Befehl renew die Verbindung neu initialisieren. Sollte zwar eigentlich automatisch gehen, aber man weiß ja nie
- falls man, aus welchen gründen auch immer, die Verbindung FHEM -> SB ausschalten möchte, so kann sie am SB_SERVER mit dem Kommando abort unterbrechen. Wiederaufnahme dann mittels renew
- der SB_SERVER unterstützt nun das Kommando statusRequest. Hiermit kann man den Update des Serverstatus triggern

Special für wilfo: die IP Adresse sollte nun korrekt sein :-) Der SB Server bietet mehrere Möglichkeiten an, die IP abzufragen. Laut Doku sind diese auch alle gleichwertig, aber man bekommt unterschiedliche IPs zurück. Ich vermute einen Bug auf seiten Squeezebox. Nun frage ich die IP Adresse via einer anderen Schnittstelle ab und da geht es.



Noch zu tun (Rest aus Eintrag #1 hier im Thread):
- Playliste: das Einfügen / Spielen eines beliebigen Songs geht nur, wenn man dessen SB-Datenbank ID oder den Pfad auf der Harddisk weiss
- Server-Verwaltung: Kommando zum Neueinlesen der Musik (Datenbankupdate einbauen)
- bisherigen alarm löschen, wenn bereits ein alarm definiert ist
- volume slider wird noch nicht mit dem aktuellen Wert aktualisiert und steht immer auf 0.
- Szenario ohne SB Server / mit Playern die mit mysqueezebox.com verbunden sind unterstützen
- alle readings / set befehle für AV Module unterstützen (siehe Wiki)


wilfo

Hi,

Wusste nicht, dass schonwieder Weihnachten ist  :D
habs drauf und alles funktioniert seit ner halben stunde einwandfrei  8)

SG
Wilfo

bugster_de

#100
Hi,

na das freut mich doch zu hören ! Ich glaube das Modul kann so langsam dann in den offiziellen FHEM Verteiler rein.

Falls hier jemand mit Wissen zu FHEMWeb/Floorplan mitliest:
ich würde gerne den Link auf das aktuelle CoverArt in der Oberfläche /FHEMWeb) aber lieber im Floorplan anzeigen. Wenn ich einen Link auf ein jpg habe, wie kann man das machen?

oliv06

Thanks for this new version  :D

The typo for the talk command is still here :
      $outstr .= "tl=" . AttrVal( $name, "ttslanguage", "de" ) . "%26";
should be replaced by
      $outstr .= "tl=" . AttrVal( $name, "ttslanguage", "de" ) . "&q=";

I also have a suggestion : could you add these 2 commands :
- "savecontext" : would save the playlist (using a CLI "playlist save temp_playlist_SBmacaddress" command), the state of the player (on / off)  and its mode ( pause / play /stop )
- "resumecontext" : would resume saved context
With these two it would be possible to choose either to talk and then resume a playlist if one was playing, or to resume later on, depending on your needs

oliv06

Would it also be possible to get a reply on a cliraw command ?

cutter

Hallo

Nachdem ich mich länger nicht gemeldet habe hier mal ein Zwischenbericht
die neue Version von 98_SB_PLAYER.pm kann ich nicht installieren, fhem stürzt sofort ab.
in der Vorgänger-Version wurden meine Squeeze-Radios nicht alleine erkannt, Squeeze-Slave auf RPI schon.
Die Wecker haben einen Fehler, wenn man die Tage ändert legt er jedes mal einen neuen Wecker an.
Sonst funktionierte alles prima.

Ach so fhem läuft auf einer FritzBox 7390.

ich hoffe du macht noch weiter
 
   

bugster_de

#104
Hi,

@cutter:
>>Die Wecker haben einen Fehler, wenn man die Tage ändert legt er jedes mal einen neuen Wecker an.
ja, so ist das auch umgesetzt. Er sollte aber eigentlich zuerst den bestehenden Wekcer löschen und dann den neuen Anlegen. Die Wecker Verwaltung ist auf dem SB Server nicht besonders schön umgesetzt.
- man kann zwar sehen, welche Wecker auf dem Player aktiv sind, aber man kann die nicht löschen
- ein Wecker der via FHEM angelegt wurde und auf dem Player direkt gelöscht wird, bekommt FHEM nicht mit. FHEM denkt weiterhin, dass der Wecker da ist

>>die neue Version von 98_SB_PLAYER.pm kann ich nicht installieren, fhem stürzt sofort ab.
kannst Du FHEM mal bitte via Telnet starten und die Fehlermeldung schicken?

>>in der Vorgänger-Version wurden meine Squeeze-Radios nicht alleine erkannt
das ist richtig; in der Vorgängerversion musste man irgendwas am Player (also dem echten Gerät, nicht via FHEM) machen, damit er diesen erkennt. Also z.B. Lautsärke Regler drehen.

@oliv06
>>Would it also be possible to get a reply on a cliraw command ?
the answer on cliraw commands should be in 'lastunkowncommand', if my Module doesn't treat the answer.
I coud introduce a lastcommand reading, that holds all the answers we got

>>I also have a suggestion : could you add these 2 commands :
puh, that might be endless ... I'll check that