Sonos Modul

Habe gerade ein Update von IPS gemacht.
Jetzt steht der Befehl auch wieder zur Auswahl.
Mfg Stefan

Hi,

ich habe noch einen Fehler in der update_status:

IPS-Err-PHP  2015-12-23 17:13:12.075  Warning: Parameter type of Value does not match
   Error in Script C:\IP-Symcon\scripts\16894.ips.php on Line 65
  134 in 

Dies ist die Zeile:

SetValueInteger(IPS_GetObjectIDByName("Status", IPS_GetParent($_IPS["SELF"])), $status);

Vermutlich behebt ein (int) das Problem, es wäre aber schön wenn Du Dir dies trotzdem ansehen könntest.

ciao
herbertf

Abend!

Mir sind eben im „Meldungen-Fenster“ der IPS-Console 2 Fehler aufgefallen…

25.12.2015 17:54:53*| ScriptEngine*| Result for Event 46865
<br />
<b>Parse error</b>:  syntax error, unexpected '($Instance', expecting '(' in <b>/usr/share/symcon/scripts/__generated.inc.php</b> on line <b>395</b><br />

25.12.2015 17:54:53*| ScriptEngine*| Result for Event 27060
<br />
<b>Parse error</b>:  syntax error, unexpected '($InstanceID, $increm', expecting '(' in <b>/usr/share/symcon/scripts/__generated.inc.php</b> on line <b>367</b><br />

Die beiden Events sind die Timer zu 2 Sonos Player an den Skripten „_updateStatus“.

Grüße,
Chris

Hallo,

so, endlich wieder zu Hause :wink:

Das ist seltsam. Eigentllich sollte „$sonos->GetTransportInfo();“ lediglich int zurückgeben:


    switch ($returnContent["CurrentTransportState"]){
      case "PLAYING":
        return 1;
      case "PAUSED_PLAYBACK":
        return 2;
      case "STOPPED":
        return 3;
    }

ich habe das jetzt mal um ein


      default:
        throw new Exception("Unknown Transport State: ".$returnContent["CurrentTransportState"]);

erweitert. Damit sollten wir dem Ganzen auf die Schliche kommen…

Sorry, aber bessere Idee habe ich nicht.

Hast Du mal Symcon durchgestartet? Irgendwie habe ich da die eine oder andere Änderung gamacht, mit der der Update Mechanismus nicht klar kommt.
Auf die __generated.inc.php habe ich aber keiben direkten Einfluss…

Gruß,
Thorsten

Fein, gute Arbeit - hat auf Anhieb funktioniert!

Ein kleiner Feature Wunsch (auch wenn Weihnachten grad vorbei ist):
Im WebFront wird die Default Radio Station eingefärbt … könnte man die aktuell gewählte Station nicht auch mit einer Farbe hinterlegen? Die Info zur Station findet man zwar meist in der Zeile „now Playing“ aber in der Zeile „Radio“ würde es mehr ins Auge springen …

Gruß, Michael

Hallo,

das ist schön zu hören!

Zwar nicht eingefärbt, aber durch fehlende Transparenz hervorgehoben war mal drin, ist aber irgendwie verschwunden…

Wir nach dem nächsten Update wieder drin sein, ich brauche aber noch ein wenig, bis ich es hochlade.
Irgendwie scheint das mit dem Zurücksetzen der Lautstärke nach einer „Ansage“ noch nich so richtig zu funktionieren. Das will ich gleich mit beheben…

Gruß,
Thorsten

Hallo,

bei mir sind seit gestern 10 Exceptions aufgetreten mit:


<b>Fatal error</b>:  Uncaught exception 'Exception' with message 'Unknown Transport State: TRANSITIONING' in /usr/share/symcon/modules/SymconSonos/Sonos/sonosAccess.php:190

Ich habe jetzt mal den Transport State „TRANSITIONING“ hinzugefügt, und behandle ihn wie „PAUSED_PLAYBACK“.

Weiterhin habe ich den Fehler gefunden, warum das Zurücksetzen der Lautstärke einer Gruppe nach abspielen einer Datei nicht funktinier hat. Ich habe versehentlich die Lautstärke der Gruppe auf die Lautstärke des Gruppenkoordinators gesetzt :rolleyes:

Update ist hochgeladen…

Gruß,
Thorsten

Hallo zusammen,

angespornt durch diesen Thread (Sound / Musik von SymBox direkt auf SONOS oder Squeezebox ?) und innerer Unzufriedenheit, habe ich mich nochmals daran versucht Dateien direkt von einem HTTP Server aus abpielen zu können.
Und was soll ich sagen, es geht!


SNS_PlayFiles(31596, array(IVNTTS_saveMP3(55186 /*[Ivona]*/,"Jetzt kommt was tolles!"),
                                                       "http://ipsymcon.fritz.box:3777/user/test.mp3",
                                                       "http://www.kugelberg.de/secret/Lewwerworscht.mp3" ), "+20" );

Somit kann man jetzt die Dateien (z.B. die von Ivona) im „media/user“ Verzeichnis ablegen und dann wie oben gezeigt abspielen. Cool, gell?

Gruß,
Thorsten

Hallo Thorsten,

erst mal DANKE für dieses Modul. Installiert und funktioniert wies soll. Einzig kommt ein Fehler wenn ich im Modulbereich-Test auf „weiter“ clicke. Alles andere funktioniert, was die Funktionalität her gibt.

Hab nun ne weile damit rumgespielt und hätte einen feature-request:
Könnte man nicht eine Funktion einbauen die MEINE „Meine Radiosender“ ausliest und in einer separaten Variable wie die Var „Radio“ anzeigt? dann wären wir nicht mehr auf die Radioliste im Modul angewiesen (Du hättest keinen Pflegeauwand) und wir hätten genau das was wir wirklich wollen.

Edit: Das Modul wurde unter Win10 in einer VirtualBox mit aktueller IPS 4 Beta getestet.

Danke noch mal und

Hallo

Ich habe folgendes Problem mit dem Sonos Modul.

Wenn Ich einen Sender auswähle und dann play drücke startet er auch … soweit alles ok ca. nach 4-5 Minuten stoppt es automatisch ??

Mein System:

SymBox neustes Update …
Sonos Play1 mit Beta Software für Apple Music.

(Ich habe noch weitere Sonos play 3 das gleiche Problem)

Hallo,
das gleiche habe ich auch festgestellt. Das wird durch das Script „_updateGrouping“ ausgelöst.
Temporer läst sich das abstellen indem du im Modul das „GroupVolume“ aktivierst.

@Kugelberg Danke für das tolle Modul

Hallo,

Es wundert mich, dass Du extra Play drücken musst (?). Eigentlich sollte das von alleine gehen. Es kann aber sein, dass es ein wenig dauert, bis der Serder losläuft… Ist halt aus diesem Internetz, von dem jetzt immer alle reden.:smiley:

Das war auch mein erster Gedanke:
Wenn man einen Radiosender einstellt, wird im Prinzip nur die Funktion „SetAVTransportURI“ aufgerufen. Genau wie bei PlayFiles, Set Playlist oder SetGroup. (Und bestimmt noch ein paar anderen.)

Wenn Du jetzt in der Instanz das die Option „Force Gouping in Sonos“ gesetzt hast, wird also beim Ausführen des „_updateGrouping“ Scripts die Transport URI wieder auf die Gruppe gesetzt, die dann wohl gerade nichts spielt…

Also, gibt es 3 Möglichkeiten:

  1. Vor dem SNS_SetRadio ein „SNS_SetGroup(<id>, 0);“ ausführen, dann wird die Box vorher aus einer Gruppe rausgenommen
  2. SNS_SetRadio auf den GruppenKoordinator ausführen
  3. „Force Grouping in Sonos“ deaktivieren. Dann wird im IPS die Gruppierung aus dem Sonos System übernommen.

Da es diese Option nicht gibt, denke ich Du meintest „Force Grouping in Sonos“ und deaktivierst. :wink:

Du glaubst gar nicht wie glücklich mich solche Kommentare machen. Danke.

Gruß,
Thorsten

Hallo Thorsten

Da es diese Option nicht gibt, denke ich Du meintest „Force Grouping in Sonos“ und deaktivierst.

Ich meinte denn „Group coordinator“, im WF als „…GroupVolume“. „Force grouping in Sonos“ ist auch gesetzt.

sonos.PNG

Hi,

OK, dann eine Grundsätzlich Erkärung, wie ich es geadacht habe:

Als „Group Coordinator“ habe ich die Box gedacht, der ich andere Boxen zuordnen kann. --> Was auf dem Group Koordinator gespielt wird, hört man auf allen Boxen, die dieser Gruppe zugeordnet sind.
Die Sonos App macht das auch so, aber da kann mal die eine Box der Koordinator sein, mal eine andere. Das hängt wohl davon ab, welche man zuerst auswählt…
Für IPS fand ich es sinnvollter eine Box fest als Koordinator zu konfigrieren.

Als Nebeneffekt taucht dann die Variable GroupVolume auf, die eigentlich nur die Durchschnittliche Lautstärke aller einer Gruppe zugehörigen Boxen enthält.
Weiterhin kommt die Variablen GroupMembers (nicht im WF sichtbar; Alle Instanz IDs, die gerade der Gruppe zugeordnet sind, durch Komma voneinander getrennt) hinzu, dafür verschwindet die Variable MemberOfGroup (Instanz ID des Group Koordinators. „0“, wenn keiner Gruppe zugeordnet).

Die Bedeutung „Force Grouping in Sonos“ habe ich ja ein posting vorher schon erklärt.

Gruß,
Thorsten

Danke für die ausfürliche erklärung :wink:

Magst du das noch korrigieren, also das es ohne Gruppen funktioniert.

Hi,

eigentich hätte ich ja gesagt, dass es da nichts zu fixen gibt.
Aber es schadet auch nich die Box aus einer Gruppe zu entfernen, wenn man eine Musikquelle einstellt.

–> Immer wenn eine neue Musikquelle (Radio, Playlist, AnalogInput oder SPDIF) auf eine Box gelegt wird, die einer Gruppe zugeordnet ist, wird die Box aus der Gruppe entfernt.

Gruß,
Thorsten

Hi,

habe heute mal wieder an IPS4 gebastelt und als erstes steht Songs an.

Das einzig doofe ist, dass wenn ich nach den Installation von Github und dem Erstellen der Instanz das Modul konfigurieren will, bekomme ich einen Fehler „Konnte Formulardatei nicht laden“.

Installation ist komplett neues Mac OS mit passendem IPS - aktueller Stand.

Jemand eine Idee?

Hi,

ja habe ich, und meinen Fehler auch direkt behoben.
Ich habe einen Knopf entfernt, und dabei deinen Syntaxfehler eingebaut.

Mach mal ein Update, dann sollte es gehen.

Gruß,
Thorsten

Ja - tut

Super Klasse!!! :slight_smile:

Schönen Abend - Danke

Ach ja und die Funktion für die Playlisten geht auch ohne Probleme