Sonos mittels PHP Skript steuern

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

    Deshalb auch die Bezeichnung "Fehler".
    Hast natürlich Recht, kann jeder selbst ändern.
    Da muss man ja eh hin, wenn man die Ansagen ändern möchte.
    ​​​​​​
    Gruß

    Kommentar

    • Liver_64
      MS Profi
      • 07.09.2015
      • 591

      Habe soeben ein Bugfix Update auf Github gepostet, der Parameter groupvolume bei einer Gruppendurchsage funktionierte nicht.
      Noch mal zu Erläuterung: Wenn der o.g. Parameter bei sendgroupmessage verwendet wird hebt oder senkt er die Lautstärke je nach prozentualer Angabe pro Zone.
      Hier mal ein paar Beispiele:

      1/ localhost/sonos/index.php/?zone=wohnen&action=sendgroupmessage&member=bad,ma ster&clock&groupvolume=30 --> senkt die Standard Lautstärke aus der config.php um 20%
      2/ localhost/sonos/index.php/?zone=wohnen&action=sendgroupmessage&member=bad,ma ster&clock&groupvolume=50 --> senkt/erhöht die Standard Lautstärke aus der config.php nahezu gar nicht
      3/ localhost/sonos/index.php/?zone=wohnen&action=sendgroupmessage&member=bad,ma ster&clock&groupvolume=70 --> erhöht die Standard Lautstärke aus der config.php um 20%

      Vor dem Setzen der groupvolume wird ein snapshotgroupvolume ausgeführt, welches das Laustärkeverhältnis der einzelnen Zonen zueinander speichert, basierend darauf wird dann die groupvolume je Zone gesetzt.
      Gruß Oliver
      Anmerkung: Bitte keine Fragen mehr per PN sondern direkt im Forum damit andere mithelfen und mitprofitieren können.
      Bzgl. Sonos Plugin supporte ich nur noch die jeweils aktuelle Version NUR auf dem LoxBerry, ich kann keine VM Unterstützung mangels Hardware geben. Herzlichen Dank!

      Kommentar

      • Gast

        Hallo Oliver,
        hab das mit Spotify getestet. Es funktioniert. Ich habe jedoch immer noch das Problem, das wenn Shuffle eingeschaltet ist, danach immer irgendein anderer Titel abgespielt wird.

        Gruß

        Kommentar


        • Liver_64
          Liver_64 kommentierte
          Kommentar bearbeiten
          Hey, das liegt im Grundgedanken des Shuffle. Sobald dir Nachricht abgespielt wurde lädt das Skript die letzte Playliste, Shuffle wird eingeschaltet und los gehts.

        • Gast
          Gast kommentierte
          Kommentar bearbeiten
          Hallo Oliver,
          das glaube ich nicht. Nach der Nachricht sollte der selbe Titel wie vor der Nachricht fortgesetzt werden. Das passiert bei Shuffle leider nicht.

        • Liver_64
          Liver_64 kommentierte
          Kommentar bearbeiten
          ist aber so, da ich es so programmiert habe. Habe mich nicht eingehend mit dem Thema Shuffle beschäftigt da Prios woanders lagen.
      • Gast

        Hallo Oliver,
        verwende sowieso ganz selten Shuffle. Stört mich nicht groß.
        Gruß

        Kommentar

        • Fleischer-IT
          Dumb Home'r
          • 16.03.2016
          • 25

          Hallo,
          erstmal danke Liver_64. Das Script hat mich neugierig gemacht, was alles mit Sonos in Verbindung mit Loxone geht. Bisher habe ich die Befehle direkt aus Loxone rausgehauen. Aber über das PHP Script eröffnen sich natürlich viel mehr Möglichkeiten.
          Das Script habe ich auf meiner Synology DS1515+ aufgespielt und die config.php entsprechend angepasst.
          Rufe ich aber die index.php auf, erhalte ich folgende Fehlermeldung (debug aktiviert):
          Code:
          Die Script-Zeitzone und die ini-set Zeitzone stimmen überein.
          Ein Fehler trat auf. Bitte Datei /log/sonos_error.log pruefen.
          In der sonos_error.log steht am Anfang:
          Code:
          2016-08-01 16:50:51 - Fehler: [8], Undefined index: zone in /volume1/web/sonos-test/sonos2.php in line 158, Variable:Array
          In meiner Config.php steht:
          Code:
          'sonoszone' => array(
          'test'          => array('192.168.10.18','20','20')
          ),
          Die Sonos Box mit diesem Namen existiert und die IP stimmt auch. Hat jemand schon mal mit diesem Fehler zu tun gehabt?

          Kommentar


          • uli
            uli kommentierte
            Kommentar bearbeiten
            Hast Du die PHP-Einstellungen der Synology angepasst? (War hier irgendwo im Thread beschrieben)

          • Fleischer-IT
            Fleischer-IT kommentierte
            Kommentar bearbeiten
            Alles läuft! Der Fehler saß vor dem Bildschirm. Das sollte man nicht machen:
            Rufe ich aber die index.php auf, erhalte ich folgende Fehlermeldung (debug aktiviert)
        • Liver_64
          MS Profi
          • 07.09.2015
          • 591

          wie lautet denn deine vollständige Syntax? Muss irgendwie ...zone=test@action=... heißen da du deinen Sonos Player ja test nennst!
          Anmerkung: Bitte keine Fragen mehr per PN sondern direkt im Forum damit andere mithelfen und mitprofitieren können.
          Bzgl. Sonos Plugin supporte ich nur noch die jeweils aktuelle Version NUR auf dem LoxBerry, ich kann keine VM Unterstützung mangels Hardware geben. Herzlichen Dank!

          Kommentar


          • Fleischer-IT
            Fleischer-IT kommentierte
            Kommentar bearbeiten
            Sorry ... es läuft alles super. Ich hatte mich darauf eingeschossen, dass man die index.php als Webseite aufrufen kann. In irgendeinem Kommentar stand drin, dass es eine Weboberfläche gibt. Das habe ich falsch interpretiert. Jetzt habe ich mich davon verabschiedet, die index.php Seite aufzurufen und habe die Befehle im Browser direkt getestet ... und siehe da, es geht natürlich! War alles mein Fehler. Im nachhinein ist es ja auch Blödsinn, eine Weboberfläche zu erwarten. Aber vielleicht könnte man für Einsteiger mit so einem Aussetzer die Meldung ausgeben: Hey: RTFM! Es gibt keine Landingpage!
            Zuletzt geändert von Fleischer-IT; 01.08.2016, 20:59.

          • Fleischer-IT
            Fleischer-IT kommentierte
            Kommentar bearbeiten
            Deine Sonos Integration ist eine klasse Sache. Es eröffnet einem eine Vielzahl von neuen Möglichkeiten. Gibt es eigentlich eine Möglichkeit der finanziellen Unterstützung deiner Entwicklungsleistung in Form einer Spende? Wenn alle, die dein Script verwenden, ein paar Euro spenden, hebt das natürlich die Motivation und ist auch eine Form der Anerkennung. Ich weiß selbst, dass so eine Leistung nebenher auch Opfer und Zeit kostet. Darum bin ich froh auf solch eine Sammlung zurückzugreifen und wäre auch bereit dafür was zu spenden.
        • uli
          LoxBus Spammer
          • 30.08.2015
          • 224

          Hallo,

          ich muss nochmal kurz auf die Zufallswiedergabe zurück kommen. Dass nicht beim letzten Lied weitergemacht wird hatten wir ja bereits geklärt.
          Nun ist es bei mir aber so, dass eine pausierte Playliste nach dem Abspielen des Klingeltons plötzlich wieder auf Wiedergabe geht.

          Kann man das irgendwie unterbinden?

          Kommentar

          • Liver_64
            MS Profi
            • 07.09.2015
            • 591

            Hi Uli,
            ist das NUR beim Klingelton der Fall oder auch sonst? Und zweitens, bei dem Einzelklingeln oder Gruppenklingeln?
            Das Problem mit Shuffle habe ich bereits korrigiert, kommt in der n. Version, was aber noch ne Weile dauert. Arbeite gerade am verbessertem Gruppenmanagement und dann an der Integration in das Loxberry Projekt.
            Gruß Oliver
            Zuletzt geändert von Liver_64; 05.08.2016, 12:57.
            Anmerkung: Bitte keine Fragen mehr per PN sondern direkt im Forum damit andere mithelfen und mitprofitieren können.
            Bzgl. Sonos Plugin supporte ich nur noch die jeweils aktuelle Version NUR auf dem LoxBerry, ich kann keine VM Unterstützung mangels Hardware geben. Herzlichen Dank!

            Kommentar


            • uli
              uli kommentierte
              Kommentar bearbeiten
              Hallo Oliver,

              ich hatte noch die v1.48 laufen, dort gab es die Gruppenfunktion ja noch nicht. Ich habe nun mal auf die neue aktualisiert und werde berichten, vielleicht hat es sich damit ja schon erledigt.
          • Liver_64
            MS Profi
            • 07.09.2015
            • 591

            Guude zsamme,
            Sonos hat ein Beta V6.4 veröffentlicht, welches ich installiert habe. Da ich zeitlich, wenn überhaupt Zeit, mich mit weiteren Entwicklungen beschäftige, könnte ich Unterstützung beim durchtesten aller Funktionen gebrauchen! Natürlich vorausgesetzt es nimmt jemand von euch am Sonos Beta Programm teil!
            Wäre klasse wenn sich der ein oder andere bereit erklären würde hierbei zu helfen, ich habe auch ein Excelsheet mit allen Syntax so dass das testen per Browser durchgeführt werden kann.
            Danke vorab und Gruß aus dem Hesselande
            Oliver
            Anmerkung: Bitte keine Fragen mehr per PN sondern direkt im Forum damit andere mithelfen und mitprofitieren können.
            Bzgl. Sonos Plugin supporte ich nur noch die jeweils aktuelle Version NUR auf dem LoxBerry, ich kann keine VM Unterstützung mangels Hardware geben. Herzlichen Dank!

            Kommentar

            • mapchen
              Smart Home'r
              • 07.09.2015
              • 87

              Hallo, super Sache hier. Habe es auf einem Raspberry Pi B neben Runeaudio laufen. Die Grundfunktionen haben sofort funktioniert. Bei TTS habe ich jedoch ein Problem. Jedoch kommt folgende Fehlermeldung bei
              http://192.168.0.16/sonos/sonos2.php...ther&volume=20
              bekomme ich eine Fehlermeldung:

              Code:
              Fatal error: Class 'SimpleXMLElement' not found in /srv/http/sonos/PHPSonos.php on line 2036
              Grundsätzlich wir das MP3 in das angegebene Verzeichnis generiert. Ich kann es auch local ausführen und es passt.

              Ich habe das Gefühl dass das mit den Pfad zu tun hat.

              Mein Raspberry ist, wenn unter Sonos direkt eingetragen unter \\192.168.0.16\www\sonos\volume1\music\tts erreichbar. Im config habe ich

              PHP-Code:
              # Pfad zu deinem Speichermedium von dem Sonos die Nachrichen abspielt
              'messagespath' => '//192.168.0.16/www/sonos/volume1/music/tts', # Windows Backslash \\ und Slash \ in Pfadangaben durch // und / ersetzen ohne Slash am Ende
              
              # Nur für User die ihre Skripte NICHT auf eine NAS( QNAP, Synology, etc.) gehostet haben!!!
              # Der hier angegebene Pfad ist der Speicherort der T2S Engine für die gesendete MP3 Datei.
              # Wer einen Pi als Webserver und eine NAS/externe Fesplatte nutzt muss hier sein mount Pfad angeben
              # Wenn die Skripte auf einer NAS gehostet sind ist hier der gleiche Pfad wie bei 'messagepath' einzutragen
              'messageStorePath' => '//srv/http/sonos/volume1/music/tts/', 
              
              Hat jemand eine Idee was ich noch prüfen könnte?
              Zuletzt geändert von mapchen; 09.08.2016, 12:14.

              Kommentar

              • Toms84
                Extension Master
                • 13.09.2015
                • 157

                Hi zusammen. Der Thread gefällt mir sehr gut. Jetzt werde ich auch schon neugierig auf das Ganze.
                Muss mir aber erst noch was besorgen wo das Ganze laufen soll.
                Ist hier der raspberry bi 3 die bessere Entscheidung?
                Bzw die günstigere?
                Welches Betriebssystem habt ihr am Laufen?
                Bin gerade am Besorgen der Hardware
                Also Raspberry+Gehäuse usw..
                Dank euch.
                Lg



                Gesendet von iPhone mit Tapatalk
                Zuletzt geändert von Toms84; 07.08.2016, 13:03.

                Kommentar


                • Liver_64
                  Liver_64 kommentierte
                  Kommentar bearbeiten
                  Ich habe ein Raspi 2 Model B und eine Synology NAS, auf beiden läuft es einwandfrei. Der Raspi ist bei mir produktiv und die NAS nutze ich zum entwickeln.
                  Wenn es nur ein Webserver sein soll, dann langt der Raspi vollkommen aus.

                • Toms84
                  Toms84 kommentierte
                  Kommentar bearbeiten
                  Dank dir vielmals.Habe jetzt den Pi 3 bestellt.Freu mich schon aufs testen.lg
              • Liver_64
                MS Profi
                • 07.09.2015
                • 591

                @mapchen,
                was ich adhoc sehe ist das deine Pfade irgendwie nicht stimmig sind.Unter messagepath hast du .../www/sonos/volume1/music/tts und unter messagstorepath ...http/sonos/volume1/music/tts/. Ich würde mal das /www/ beim messagepath weg lassen (.../sonos/volume1/music/tts)

                Ich glaube aber eher das du ein Raspi Problem hast. Prüfe doch mal mal ob auf deinem Raspi SimpleXML installiert und enabled ist. Das kannst du mit phpinfo.php prüfen und dann runter scrollen ob der Dienst aktiv ist.
                phpinfo.php:
                PHP-Code:
                <?php
                phpinfo();
                ?>
                oder mit folgendem kleinen Code:
                simpleXML.php:
                PHP-Code:
                <?php
                if (function_exists('simplexml_load_file')) {
                echo "simpleXML functions are available.<br />\n";
                } else {
                echo "simpleXML functions are not available.<br />\n";
                }
                Vielleicht hilft es ja :-)
                Gruß Oliver
                Zuletzt geändert von Liver_64; 09.08.2016, 19:46.
                Anmerkung: Bitte keine Fragen mehr per PN sondern direkt im Forum damit andere mithelfen und mitprofitieren können.
                Bzgl. Sonos Plugin supporte ich nur noch die jeweils aktuelle Version NUR auf dem LoxBerry, ich kann keine VM Unterstützung mangels Hardware geben. Herzlichen Dank!

                Kommentar


                • mapchen
                  mapchen kommentierte
                  Kommentar bearbeiten
                  Hallo. Du hast recht, es liegt am simplexml! Danke für den Hinweis.
              • Toms84
                Extension Master
                • 13.09.2015
                • 157

                Hi zusammen.

                Vielleicht weiß hier jemand weiter.
                Bin gerade am einrichten des Raspberry pi 3
                Leider funktioniert dass mit dem PHP nicht.
                Habe apache 2 php5 installiert
                Wollte es jetzt nach der Anleitung testen
                http://www.forum-raspberrypi.de/Thre...5-installation


                testen.
                leider funktioniert es nicht.
                Vielleicht weiß jemand weiter
                thx

                Kommentar


                • Toms84
                  Toms84 kommentierte
                  Kommentar bearbeiten
                  Hallo,
                  jetzt funktioniert der Zugriff.War ein Berechtigungsproblem.
                  Jetzt kämpfe ich gerade noch mit dem TTS
                  Möchte es über VoicesRSS machen.
                  Die mp3 Datei wird schon erstellt und auf dem Raspberry gespeichert.
                  Sonos kann diese leider noch nicht abspielen.
                  Welchen Speicherort habt ihr am Raspberry gewählt?
                  thx

                • Toms84
                  Toms84 kommentierte
                  Kommentar bearbeiten
                  erledigt
                  Beitrag 53 war sehr hilfreich
              • Toms84
                Extension Master
                • 13.09.2015
                • 157

                So eines bitte noch.
                Muss man die Radio Url in der Config.php irgendwie gesondert eingeben?
                Bei mir funktionieren nur die Sender die schon in der Config stehen.
                Möchte ich z.b denKronehit dazu fügen http://onair-ha1.krone.at/kronehit.mp3.m3u
                funktioniert es nicht.
                Muss ich sonst noch wo etwas ändern?
                Auch wenn meine Radioliste länger ist ,wird nur zwischen 2 Sender hin und her gesprungen

                Besten Dank
                Zuletzt geändert von Toms84; 13.08.2016, 15:59.

                Kommentar


                • Toms84
                  Toms84 kommentierte
                  Kommentar bearbeiten
                  Auch dass habe ich nun geschafft.Wenn eine Url nicht passt dann hüpft er nicht weiter.
              • uli
                LoxBus Spammer
                • 30.08.2015
                • 224

                Hallo,

                nun trat der Fehler mit Shuffle bei mir auch mit der neusten Version des Skripts auf.

                Eine Sonos-Playliste (relativ lang) ist pausiert. Es klingelt (MP3 wird abgespielt), danach geht die Liste auf Wiedergabe trotz vorherigem Stops. Der Fehler war diesmal mit einem Gruppenbefehl. Da er aber schon vorher auftrat gehe ich davon aus dass er nicht mit der Gruppenfunktion zu tun hat.

                Hat jemand eine Idee?

                Kommentar


                • uli
                  uli kommentierte
                  Kommentar bearbeiten
                  Noch ein Update: Es wird zuerst ein zufälliges Lied aus der Playliste abgespielt, danach folgt dann doch noch der Klingelton.
              Lädt...