Sonos mittels PHP Skript steuern

Einklappen
X
 
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge
  • -Chris-
    Smart Home'r
    • 09.01.2016
    • 85

    #76
    Hallo,

    geniales Thema, da hab ich das Problem Sonos auch gleich wieder gestartet aber bei mir scheitert es schon am Anfang dass ich überhaupt mal Loxono mit dem Sonos verbinde

    das große Problem was ich habe ist dass sich die IP Adressen der Player ändern.ist das ei euch nicht so?

    ich habe mal die momentane IP Adresse der Sonos Plaer gesucht diese im Loxone eingetragen aber leider tut sich gar nichts wo liegt mein Fehler??

    Klicke auf die Grafik für eine vergrößerte Ansicht

Name: Sonos test.PNG
Ansichten: 401
Größe: 2,3 KB
ID: 22243 Klicke auf die Grafik für eine vergrößerte Ansicht

Name: Sonos IP.PNG
Ansichten: 413
Größe: 5,6 KB
ID: 22242

    1x Miniserver, 5x Loxone Dimmer, 7x 16 fach MDT Aktoren, 1x 16 fach binär Eingang, 1x 8 fach binär Eingang

    Kommentar

    • doc-brown
      Lox Guru
      • 13.09.2015
      • 1454

      #77
      hi chris,
      wenn ich deinen post so lese fallen mir zwei punkte auf:

      1. ich denke du solltest in deinem DHCP server für deine sonos player feste IP´s vergeben - das ist wichtig - ansonsten hast du ein problem :-)

      2. wenn du das mit dem PHP script machen möchtest, so - wie das in den letzten posts beschrieben wurde - musst du da nicht mit IP adressen (in der loxone config) arbeiten - denn du sprichst den PHP server an (nicht deine player).

      Kommentar


      • Gast
        Gast kommentierte
        Kommentar bearbeiten
        Da aber das php Script die Player via IP anspricht macht es trotzdem Sinn, die Player fix zu vergeben..
    • -Chris-
      Smart Home'r
      • 09.01.2016
      • 85

      #78
      1. Ok das erste ist eine Routereinstellung und da ich den tollen A1 Router habe weiß ich nicht wie das geht
      2. Ok und da kann ich dann den Player auch ganz normal betreiben, das heißt einen Radio Sender abspielen und so
      1x Miniserver, 5x Loxone Dimmer, 7x 16 fach MDT Aktoren, 1x 16 fach binär Eingang, 1x 8 fach binär Eingang

      Kommentar

    • scharrin
      LoxBus Spammer
      • 25.08.2015
      • 327

      #79
      Hallo Liver_64,

      Ich habe es so gemacht, wie Du geschrieben hast.
      Allerdings zeigt mir der Statusbaustein nur den Interpreten bis zum ersten Leerzeichen an.
      Beispiel: Lady Gaga - Pokerface wird nur mit Lady angezeigt.

      Hast Du ein Idee, was das sein könnte?

      Gruß
      Christian

      Kommentar

      • scharrin
        LoxBus Spammer
        • 25.08.2015
        • 327

        #80
        Hallo Liver_64,

        Es wäre toll, wenn es noch eine Option für die Lautstärke gäbe, die die aktuelle Lautstärke beibehält.

        Wenn ich zum Beispiel einen Radiosender einschalte, muss ich entweder eine Lautstärke angeben oder es wird auf die Standardlautstärke "gerampt".

        Vorschlag zum Beispiel:
        &volume=keep

        Viele Grüße,
        Christian

        Kommentar

        • uli
          LoxBus Spammer
          • 30.08.2015
          • 224

          #81
          Zum Thema Datenschutz bei TTS: War es nicht so, dass jede Anfrage nur einmal gesendet wird und die MP3 dann lokal gespeichert wird?

          Das relativiert das ganze ja auch nochmal. Und ev. kann man dann bei den 10 wichtigsten Ansagen die Datei gegen eine mit besserer Qualität austauschen.

          Kommentar

          • Liver_64
            MS Profi
            • 07.09.2015
            • 591

            #82
            Den Bugfix in Titel/Interpret habe ich behoben und in Post #70 die neue Version geladen. Brauchst nur die sonos2.php extrahieren

            @Christian,

            keep ist gut, oder rampto nur wenn angegeben
            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

            • Liver_64
              MS Profi
              • 07.09.2015
              • 591

              #83
              Das ist richtig, solange sich KEIN Parameter ändert wird keine neue TTS Anfrage geschickt. Das Script prüft ob die TTS bereits vorhanden ist, wenn ja spielt es die Datei ab, falls nicht wird die TTS Engine angetriggert.
              Ich habe mir für wiederkehrende Ansagen 1x die TTS per Browser erstellt und die Datei dann in numerische Reihenfolge umbenannt, eine 1:1 Kopie davon gemacht und diese dann umbenannt damit ich weiß was sich hinter welcher Nummer verbirgt. Z.B.
              1.mp3 und die Kopie dann 1_Waschmaschine.mp3

              Die rufe ich dann über messageid=1 auf
              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

              • Liver_64
                MS Profi
                • 07.09.2015
                • 591

                #84
                ACHTUNG: Update um Logging bei Loxone Verbindung abzuschalten + Korrektur von Bugfixes + neuer parameter in config.php
                (siehe Posting #70)
                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
                  LoxBus Spammer
                  • 30.08.2015
                  • 224

                  #85
                  Ich bekomme leider trotz Deiner Anleitung den Titel/Interpreten nicht in Loxone. Muss ich das ganze über ... &action=getmediainfo abrufen? Und wie weise ich dann den Textverbinder zu?

                  Kommentar

                  • Liver_64
                    MS Profi
                    • 07.09.2015
                    • 591

                    #86
                    Du musst folgendes beachten:
                    dein virtueller Texteingangsverbinder muss exakt so heißen: S-Titel<NAME DEINER ZONE AUS CONFIG.PHP> --> damit bekommst du den Verbinder automatisch gefüllt
                    Um den Trigger anzustossen, so dass die Info auch gesendet wird, musst du einen virtuellen Ausgangsbefehl schicken.
                    Dieser muss folgendermaßen lauten: /<DEIN VERZEICHNIS>/index.php/?zone=<NAME DEINER ZONE AUS CONFIG.PHP>&action=loxgettitel
                    Um regelmäßig die Info zu erhalten solltest du dann noch z.B. den Ausgangsbefehl an einen Impulsgeber hängen und takten (z.B. alle 3 Sekunden)
                    Aber bitte nur mit der neuesten PHP Version aus post #70 verwenden, die alte hat die Log Datei (falls logging eingeschaltet) zugeballert.

                    Alternativ könnte man das getaktete Senden auch über einen Cronjob über den Webserver erledigen lassen, so das der Traffic halbiert wird, aber dazu komme ich nicht es zu Testen.
                    Sollte aber auch gehen...
                    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

                    • MarcusS
                      LoxBus Spammer
                      • 25.08.2015
                      • 389

                      #87
                      Hallo zusammen,

                      ​ich habe mir die PHP Lösung für Sonos auf dem RasPi installiert. Großes Kompliment erstmal für die viele Arbeit. Es läuft auch alles gut. MP3s gehen, TTS (über den Browser) funktioniert auch gut. Allerdings bekomme ich ums Verrecken nicht die Anbindung an die Statusbausteine in der Loxone hin. Ich habe etliche Versuche in unterschiedlichsten Konstellationen durch. Was mache ich falsch?

                      Zuerst habe ich die Version mit den Statusbausteinen ohne weitere Hilfsmittel versucht (Posting #62). Da das gar nicht läuft bei mir, bin ich auf die Variante im Post 63 gegangen. Auch ohne erfolg.

                      Also. Ich habe einen Wetterstatus aus Openwaether, den ich gerne vorlesen lassen möchte. Erstmal habe ich mir einen Virtuellen Ausgangsbefehl mit Dummy Text eingerichtet.

                      /Sonos/sonos2.php?zone=bad&volume=80&playgong=yes&action= sendmessage&text=Achtung <v>. Ende


                      Im Statusbaustein habe ich mir dann (zu Testzwecken) einen Text definiert, der am Ausgang Tx ansteht, wenn ich A1 auf "1" stelle. Den möchte ich nun per TTS ausgeben, wenn ich einen Trigger auslöse. So habe ich es in den Beiträgen auf Seite 5 in diesem Thread gesehen.

                      Der Text steht auch an TX an (wie man im Screenshot sieht), der Trigger funktioniert auch und die Sprachausgabe gibt den Text um die Variable <v> herum aus. Der Wert aus dem Textausgang selber wird aber niemals an den Ausgangsbefehl übergeben. Warum auch immer?

                      Ich habe das mal mit tcpdump auf dem RasPi getraced und in mir in WireShark angeschaut. Dort sieht man ganz deutlich nur Leerzeichen an der Stelle wor normalerweise der Text aus dem Statusbaustein stehen sollte.

                      Irgendjemand eine Idee was da nicht klappt? <v> müsste doch ersetzt werden mit dem Text.


                      Klicke auf die Grafik für eine vergrößerte Ansicht

Name: Untitled.png
Ansichten: 460
Größe: 85,0 KB
ID: 24060 Klicke auf die Grafik für eine vergrößerte Ansicht

Name: wireshark.png
Ansichten: 427
Größe: 62,4 KB
ID: 24061
                      DoorPi DIY Türsprechstelle how to

                      Kommentar

                      • Liver_64
                        MS Profi
                        • 07.09.2015
                        • 591

                        #88
                        hast du vielleicht übersehen beim http Ausgangsbefehl den Haken bei "Als Digitalausgang verwenden" rauszunehmen? Somit deklarierst du den Ausgang als Analog und kannst dann Werte/Texte als TTS übertragen werden.

                        Noch ein anderer Tip. Der EIB Texteingang und -Ausgang kann als 1:1 Merker genutzt werden. Es müssen nur beide über die gleiche Gruppenadresse miteinander verbunden sein, obwohl Sie nicht im KNX Netz hängen.
                        Zuletzt geändert von Liver_64; 22.01.2016, 16:39.
                        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

                        • romildo
                          Lebende Foren Legende
                          • 25.08.2015
                          • 5113

                          #89
                          Hallo MarcusS
                          Der Text steht auch an TX an (wie man im Screenshot sieht), der Trigger funktioniert auch und die Sprachausgabe gibt den Text um die Variable &lt;v&gt; herum aus. Der Wert aus dem Textausgang selber wird aber niemals an den Ausgangsbefehl übergeben. Warum auch immer?
                          Der Trigger funktioniert so nicht. In deinem Ausgangstext siehst du, dass an Stelle des <v> eine 0 kommt, was korrekt ist.

                          Trigger musst du an den Statusbaustein anlegen. Entweder an Stelle des Schalters oder an einen anderen Eingang.
                          Wenn du ihn an einen anderen Eingang anhängen möchtest, musst du im Statusbaustein noch die Verknüpfung dazu machen.
                          lg Romildo

                          Kommentar

                          • MarcusS
                            LoxBus Spammer
                            • 25.08.2015
                            • 389

                            #90
                            Danke euch beiden. Ich habe alles noch mal gecheckt und nur den Statusbaustein ohne Trigger verwendet. Es bleibt aber dabei. In der Ansage kommt immer nur "Das Wetter heute wird NULL". Zwischenzeitlich habe ich kurioser Weise mal den Anfang des gewünschtes Satzes "Das Wetter heute wird 2 Grad bei..." gehört, der aber mittendrin abgebrochen ist. Das wars. Nun kommt immer die gesprochene 0 an der Stelle des Parameters. Ohne was zu ändern zwischenzeitlich!



                            Mir ist aufgefallen, dass zwar der Statustext in der Simulation (F7) auch am letzten virtuellen Status zu sehen ist​, in der Liveview hingegen aber nicht. Da kommt nichts am letzten Baustein an, wo auch der Ausgangsverbinder hängt. Ist das normal? Am Textausgang des eigentlichen Statusbausteins ist alles was ich erwarte im Mouseover während der Liveview zu sehen. (Screenshot)

                            Ich habe den virtuellen Status nun auch mal abgeklemmt, aber das ändert am Ergebnis auch nichts. Ich habe auch erstmal statt des Wetterberichtes einen einfachen Standard-Text eingefügt. Könnte ja sein, dass irgendwelche Sonderzeichen usw. nicht gewandelt werden können, aber auch das half nicht.

                            ​Ich habe keine Idee mehr und bin kurz davon das Handtuch zu werfen.

                            Klicke auf die Grafik für eine vergrößerte Ansicht

Name: Unbenannt.PNG
Ansichten: 462
Größe: 51,8 KB
ID: 24379
                            Zuletzt geändert von MarcusS; 24.01.2016, 17:19.
                            DoorPi DIY Türsprechstelle how to

                            Kommentar

                            Lädt...