Ankündigung

Einklappen
Keine Ankündigung bisher.

Sonos Anbindung

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    Sonst scheint alles zu laufen. Ich beobachte weiter.
    Danke!!

    Kommentar


      Hat jemand von Euch die play_snippet Funktion im produktiven Einsatz? Bei mir gibt es da noch diverse Probleme:

      1) Beim Aufruf von play_snippet wird die Sounddatei mehrmals abgespielt. Ca. 4 mal und mindestens 2 Minuten lang.

      2) Das Fortfahren mit Musik nach dem unjoin Kommando wird auch dann gestartet, wenn vorher gar kein Titel lief. Wird hier der korrekte Status aus play und "is not muted" gespeichert und wiederhergestellt? Ich vermute, der Zustand "is muted" wird momentan noch nicht berrücksichtigt. Damit werden aber Titel wiedergegeben, die vor dem Join nicht gerade gespielt wurde.

      Viele Grüße
      Alex

      Kommentar


        Zitat von aschwith Beitrag anzeigen
        Hat jemand von Euch die play_snippet Funktion im produktiven Einsatz? Bei mir gibt es da noch diverse Probleme:

        1) Beim Aufruf von play_snippet wird die Sounddatei mehrmals abgespielt. Ca. 4 mal und mindestens 2 Minuten lang.

        2) Das Fortfahren mit Musik nach dem unjoin Kommando wird auch dann gestartet, wenn vorher gar kein Titel lief. Wird hier der korrekte Status aus play und "is not muted" gespeichert und wiederhergestellt? Ich vermute, der Zustand "is muted" wird momentan noch nicht berrücksichtigt. Damit werden aber Titel wiedergegeben, die vor dem Join nicht gerade gespielt wurde.

        Viele Grüße
        Alex
        Nutzt du auch die GoogleTTS Funktionalität? Verhält es sich mit dem Wiederholen genauso? Tatsächlich ist das Verhalten von den Sonos-Lautsprechern bei den Streaming-Dateien (das ist bei der play_snippet und play_tts Funktion so der Fall) extrem nervig. Sonos behandelt dies immer als Radiostream und denkt beim Ende des Streams immer, es sei ein Fehler aufgetreten und lädt die URL immer wieder neu. Dies dem Lautsprecher auszutreiben ist schwierig. Im Moment höre ich auf entsprechende Events und reagiere darauf.
        Was mir bei meiner Installation aufgefallen ist, ist das nach einer Zeit das Eventhandling nicht mehr funktioniert, d.h. ich bekomme keine Events mehr von den Speakern. Danach kann natürlich nicht mehr auf die oben genannten Events reagiert werden. Kannst du mal den Broker neustarten und schauen, ob sich die snippet-Funktion immer noch problematisch verhält? Ich mache gerade einen Langzeittest um das Problem mit den Events einzugrenzen.


        Zum unjoin-Befehl:

        Der hat einen neuen Parameter mitbekommen:

        Code:
        [[unjoin]]        
            type = foo
            enforce_updates = True
            sonos_send = unjoin
            visu_acl = rw
        
            [[[play]]]
                type = bool
                value = 1
        Der Parameter play ist wahrscheinlich schuld. Der ist per default auf 1, d.h. nach einem unjoin spielt die Gruppe los. Ich ändere das noch auf einen default-Wert von 0.


        Gruss,

        Stefan
        Sonos

        Kommentar


          Hallo Stefan,

          danke für die schnelle Antwort. Ist ja besser hier, als jede Sonos-Supporthotline

          GoogleTTS nutze ich nicht. Das Events über einen längeren Zeitraum irgendwann nicht mehr funktionieren, habe ich bei mir auch schon beobachtet. Ich teste morgen mal, ob das Endlosproblem damit zusammenhängt. Noch eine Frage:

          1) Warum wartest Du auf ein Event und spielst das Snippet nicht nur einmal ab? Alternativ könnte man sich noch ein "loop" item (True/False) vorstellen.

          2) Ich nutze für die Snippets gerade den neuen Webserver des Brokers. Ist dies eigentlich zwigend oder kann man alternativ auch snippets von anderen Netzlaufwerken abspielen?

          3) Den Play Parameter hatte ich gesehen, allerdings so interpretiert, dass bei unjoin.play == True nur dann ein Titel weiter abgespielt wird, wenn dem join wirklich einer lief. Was ist sonst der Sinn von unjoin.play? Wenn man definitiv nach dem unjoin einen Titel abspielen will, kann man ja den ganz normalen play Parameter verwenden (mit etwas Zeitversatz gesendet). Momentan merke ich mir den alten Zustand aller Lautsprecher kompliziert in einer Logik und stelle den Zustand nach dem unjoin wieder her.

          Soweit,
          Viele Grüße
          Alex

          Kommentar


            Zitat von aschwith Beitrag anzeigen

            1) Warum wartest Du auf ein Event und spielst das Snippet nicht nur einmal ab? Alternativ könnte man sich noch ein "loop" item (True/False) vorstellen.
            Ich spiele intern das Snippet nur einmal.Sonos interpretiert das Ende des Stücks aber als Fehler und startet den Stream neu. Für Radiostreams machts ja Sinn, in unserem Fall nicht. Ich schaue mir nochmal an, ob man beim Starten des Streams noch einen Parameter mitgeben kann, dies nicht zu tun.

            Zitat von aschwith Beitrag anzeigen
            2) Ich nutze für die Snippets gerade den neuen Webserver des Brokers. Ist dies eigentlich zwigend oder kann man alternativ auch snippets von anderen Netzlaufwerken abspielen?
            Prinzipiell ist auch ein cifs-gemountetes Laufwerk möglich. Hatte ich auch mal im Broker drin aber dann wieder rausgenommen. Man könnte die Play-Option hier noch etwas erweitern Ich schreibs auf die To-Do-Liste.

            Zitat von aschwith Beitrag anzeigen
            3) Den Play Parameter hatte ich gesehen, allerdings so interpretiert, dass bei unjoin.play == True nur dann ein Titel weiter abgespielt wird, wenn dem join wirklich einer lief. Was ist sonst der Sinn von unjoin.play? Wenn man definitiv nach dem unjoin einen Titel abspielen will, kann man ja den ganz normalen play Parameter verwenden (mit etwas Zeitversatz gesendet). Momentan merke ich mir den alten Zustand aller Lautsprecher kompliziert in einer Logik und stelle den Zustand nach dem unjoin wieder her.
            Nach einem Unjoin mache ich prinzipiell gar nichts und verlasse mich da auf Sonos. Im Normalfall sollten die Lautsprecher ihren letzten Status vor dem Join wiederherstellen. Leider setzen sie den zuvor gespielten Song/Radio nicht fort. Deshalb der Parameter. So kann man es selber steuern. Muss aber natürlich als Default auf 0, sonst kommts zu ungewolllten Verhalten.

            Ich bleib dran. Der Langzeittest läuft. Und Danke für die Bug-Teports, die helfen ungemein.

            Gruss,

            Stefan
            Sonos

            Kommentar


              Sonos.jpeg Schönen Abend zusammen.

              Ich hab da neue Widget am laufen, jedoch habe ich Probleme mit der Darstellung. Nur der Mute Button und die Lautstärkeeinstellung haben eine Funktion. Das Widget an sich sieht etwas verschoben aus. Play, next usw. sind ohne funktion und das leere Bild zeigt er auch nicht an.

              Mein Standardpfad stimmt mit dem in der Doku überein.

              Aufgerufen wird es wie folgt:

              Code:
              {% import "sonos.html" as sonos %}
              
              
              <div class="block">
                <div class="set-2" data-role="collapsible-set" data-theme="c" data-content-theme="a" data-mini="true">
                  <div data-role="collapsible" data-collapsed="false" >
                    {{ sonos.player('sonos_bad', 'Bad') }}
                  </div>
                </div>
              </div>

              Die Sonos-Config habe ich aus der Doku übernommen, nur den Namen durch Bad und die UID ersetzt:

              Code:
              [Bad]
                  sonos_uid = rincon_5caafdc03b3201400
              
                  [[mute]]
                      type = bool
                      enforce_updates = True
                      visu_acl = rw
                      sonos_recv = mute
                      sonos_send = mute
              
                      [[[group_command]]]
                          type = bool
                          value = 0


              Das Widget sieht so auf dem Mac, sowie auf dem Iphone aus.

              Hat jemand eine Idee, woran das liegen kann?
              Angehängte Dateien
              Zuletzt geändert von Mobby2304; 02.03.2017, 02:47. Grund: Screenshot vergessen
              Gruß
              Micha

              Kommentar


                Unter der Voraussetzung, das die css-, js- und png-Datei laut Anleitung im richtigen Verzeichnis sind, kannst du mal überprüfen, ob bei der Einstellung "Pagecache off" das Widget richtig angezeigt wird. Wenn ja, lösche mal den Ordnerinhalt in
                Code:
                /var/www/html/smartvisu/temp
                . Lösche danach auch noch den Browsercache. Ich hatte auch das Problem. Am Anfang dachte ich, ich habe da was falsch gemacht mit dem Widget. Sollte es trotzdem noch nicht funktionieren, kannst du auch nochmal den Output des Browser hier posten.

                Edit:

                Achja, dein Item ist viel zu kurz. Du musst das komplette Sonos-Item übergeben.

                Edit Edit:

                Und überprüfe auch, wie in der Anleitung beschrieben, die Pfade im Widget selbst, also in der
                Code:
                sonos.html
                Gruss,

                Stefan
                Zuletzt geändert von pfischi; 02.03.2017, 07:26.
                Sonos

                Kommentar


                  Servus,

                  zu 1. und edit edit: Der Pfad von Smartvisu ist bei mir /var/www/smartvisu/temp heißt das, dass ich nicht den Standartpfad benutze?
                  zu edit. : Das ist blos ein Auszug, da ich beim ersten mal einen Fehler mit der Groß und Kleinschreibung des Namens hatte.


                  Edit: Es sagt, er findet die Dateien nicht. Ich hab den Pfad mal angepasst, indem sie liegen bekomme aber das selbe Ergebniss:

                  PHP-Code:
                  GET http://10.0.0.10/var/www/smartvisu/widgets/sonos.css
                  index.php:260 GET http://10.0.0.10/var/www/smartvisu/widgets/sonos.js
                  index.php:269 GET http://10.0.0.10/var/www/smartvisu/pages/base/pics/sonos_empty.jpg 404 (Not Found)
                  io_smarthome.py.min.js:3 Synchronous XMLHttpRequest on the main thread is deprecated because of its detrimental effects to the end user's experience. For more help, check https://xhr.spec.whatwg.org/.
                  get_visuinfo @ io_smarthome.py.min.js:3
                  io.socket.onopen @ io_smarthome.py.min.js:4
                  base.min.js:22 Uncaught TypeError: Cannot read property '
                  attr' of undefined
                      at Object.listeners (base.min.js:22)
                      at Object.monitor (io_smarthome.py.min.js:7)
                      at WebSocket.io.socket.onopen (io_smarthome.py.min.js:5)
                  listeners @ base.min.js:22
                  monitor @ io_smarthome.py.min.js:7
                  io.socket.onopen @ io_smarthome.py.min.js:5
                  index.php?page=room_OGFlur:260 GET http://10.0.0.10/var/www/smartvisu/widgets/sonos.js 404 (Not Found)
                  index.php?page=room_OGFlur:261 GET http://10.0.0.10/var/www/smartvisu/widgets/sonos.css
                  sonos_empty.jpg:1 GET http://10.0.0.10/var/www/smartvisu/pages/base/pics/sonos_empty.jpg 404 (Not Found) 
                  Angehängte Dateien
                  Zuletzt geändert von Mobby2304; 02.03.2017, 10:38.
                  Gruß
                  Micha

                  Kommentar


                    Zitat von Mobby2304 Beitrag anzeigen
                    PHP-Code:
                    http://10.0.0.10/var/www/smartvisu/pages/base/pics/sonos_empty.jpg 
                    Da haben wir auch schon den Fehler. Die Pfade in der
                    Code:
                    sonos.html
                    bezieht sich nicht auf Systempfade, sondern auf Pfade innerhalb deiner Webserver-Installation. Sprich, wenn du deine Smartvisu-Seite mit http://1.1.1.1/smartvisu aufrufst, muss der Pfad
                    Code:
                    /widgets/...
                    heißen, die anderen Pfade entsprechend. Der Root-Pfad müsste also
                    Code:
                    /
                    sein.

                    Gruss,

                    Stefan
                    Sonos

                    Kommentar


                      OK. Danke.
                      Nur das ich das richtig verstanden habe: Da ich meine Visu mit 10.0.0.10/smartvisu aufrufe ändert sich der Pfad auf:

                      Pfad in der Sonos.html von (Aktuell):
                      /var/www/smartvisu/widgets/sonos.js

                      auf:
                      /widgets/sonos.js


                      richtig?
                      Gruß
                      Micha

                      Kommentar


                        Genau. Eventuell auch /smartvisu/widgets. Kommt immer auf die Einstellung des Webservers an.

                        Gruss,

                        Stefan
                        Sonos

                        Kommentar


                          Zitat von pfischi Beitrag anzeigen
                          Genau. Eventuell auch /smartvisu/widgets. Kommt immer auf die Einstellung des Webservers an.

                          Gruss,

                          Stefan


                          Super. Vielen Dank.
                          Gruß
                          Micha

                          Kommentar


                            Servus zusammen,

                            die Dateien findet er jetzt. Jedoch hab ich noch eine Frage:

                            Er sucht nun nach jquery. Wird das nicht erst am Smartvisu V2.9 benötigt?
                            Angehängte Dateien
                            Gruß
                            Micha

                            Kommentar


                              Zitat von Mobby2304 Beitrag anzeigen
                              Servus zusammen,

                              die Dateien findet er jetzt. Jedoch hab ich noch eine Frage:

                              Er sucht nun nach jquery. Wird das nicht erst am Smartvisu V2.9 benötigt?
                              Du musst die Einträge für den css- und jpg-Pfad in der sonos.html ebenfalls wie oben beschrieben noch anpassen.

                              Gruss,

                              Stefan
                              Sonos

                              Kommentar


                                Der Pfad ist bei alles dreien der selbe. Wenn ich ihn nun von /smartvisu/widgets/... auf /widgets... ändere, schreibt mir die Konsole, dass er die Datei unter dem Pfad nicht findet.
                                Gruß
                                Micha

                                Kommentar

                                Lädt...
                                X