Ankündigung

Einklappen
Keine Ankündigung bisher.

Sonos Anbindung

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

    Hallo,

    tatsächlich hat das PIP gefehlt, allerdings waren ein paar mehr Eingaben nötig also das pip install. Aber egal es geht voran...
    In die Develop Umgebung würde ich ungern wechseln, ich hatte schon Probleme das Smartvisu zum laufen zu bewegen und bin eigentlich schon froh soweit gekommen zu sein. Von demher würde ich wenn möglich "einfach" noch das Modul nachinstallieren und laufen lassen.

    Jetzt habe ich einen weiteren Fehler, wobei ich denke dass das an der UID liegt...

    2015-04-20 00:11:05 INFO Main Start SmartHome.py 1.0-35-gf62db45
    2015-04-20 00:11:05 INFO Main Init Scheduler
    2015-04-20 00:11:05 INFO Main Init Plugins
    2015-04-20 00:11:09 INFO Main Init UZSU
    2015-04-20 00:11:10 INFO Main using local ip address 192.168.178.24
    2015-04-20 00:11:10 WARNING Main No broker url given, assuming current ip and default broker port: http://192.168.178.24:12900
    2015-04-20 00:11:10 INFO Main Init Items
    2015-04-20 00:11:14 INFO Main Start Plugins
    2015-04-20 00:11:14 INFO Main Start Logics
    2015-04-20 00:11:20 INFO hello Hello World!
    2015-04-20 00:11:25 INFO sonos-update Starting new HTTP connection (1): 192.168.178.24
    2015-04-20 00:11:25 WARNING sonos-update Could not send sonos notification: {'parameter': {'ip': '192.168.178.24', 'port': 9999}, 'command': 'client_subscribe'}. Error: ('Connection aborted.', error(111, 'Connection refused'))
    2015-04-20 00:11:25 INFO sonos-update Starting new HTTP connection (1): 192.168.178.24
    2015-04-20 00:11:25 WARNING sonos-update Could not send sonos notification: {'parameter': {'group_command': 0, 'uid': 'rincon_100e88c3772e01500'}, 'command': 'current_state'}. Error: ('Connection aborted.', error(111, 'Connection refused'))

    Wenn ich das richtig gelesen habe, müsste ich im Browser nur http://192.168.178.24:12900/client/list eingeben und die UID ablesen können, leider bekomme ich da keine Verbindung zu stande, und wenn ich im PUTTY sonos_broker -l eingebe bringt der mir die Meldung "cant open file Permission denied" Die Rechte in der broker cfg müsste aber eigentlich passen...

    Nochmals Vielen Dank für die Geduld!!

    Kommentar


      Zitat von Siplex Beitrag anzeigen
      Hallo,

      2015-04-20 00:11:25 WARNING sonos-update Could not send sonos notification: {'parameter': {'ip': '192.168.178.24', 'port': 9999}, 'command': 'client_subscribe'}. Error: ('Connection aborted.', error(111, 'Connection refused'))
      2015-04-20 00:11:25 INFO sonos-update Starting new HTTP connection (1): 192.168.178.24
      2015-04-20 00:11:25 WARNING sonos-update Could not send sonos notification: {'parameter': {'group_command': 0, 'uid': 'rincon_100e88c3772e01500'}, 'command': 'current_state'}. Error: ('Connection aborted.', error(111, 'Connection refused'))

      Wenn ich das richtig gelesen habe, müsste ich im Browser nur http://192.168.178.24:12900/client/list eingeben und die UID ablesen können, leider bekomme ich da keine Verbindung zu stande, und wenn ich im PUTTY sonos_broker -l eingebe bringt der mir die Meldung "cant open file Permission denied" .......
      Ich denke, das du den Broker noch nicht gestartet hast (der Broker startet nicht automatisch mit dem Raspberry; ein entsprechendes Start-Skript werde ich nachrreichen). Wenn du ein Permission-Problem hast (ich weiß nicht, mit welchem Nutzer du die Putty-Session gestartet hast) , dann starte mal folgendes hintereinander:

      sudo sonos_broker -l (listet dir dann die UIDs auf)
      sudo sonos_broker -d (startet den Broker im Debug-Modus mit Output, evtl hier mal reinkopieren)
      sudo sonos_broker (normaler Modus)

      Das mit http://192.168.178.24:12900/client/list geht leider nicht mehr, steht das so noch in der Anleitung drin?

      Gruss, Stefan
      Zuletzt geändert von pfischi; 20.04.2015, 16:40.
      Sonos

      Kommentar


        Hi,

        was so ein kleines "sudo" Ausmachen kann ist immer wieder faszinierend... Okay ich habe den Broker nun zwar am laufen aber so wie es ausschaut findet er die UID nicht. Ich habe zur Sicherheit mal die Log Datei angehängt, vielleicht kannst du da etwas damit anfangen.

        Der Client-List Befehl habe ich in deiner Anleitung https://github.com/pfischi/shSonos/t...r/plugin.sonos und dort über "Group Behaviour" rausgesucht.

        LOG:
        HTML-Code:
        http://workupload.com/file/JlbSsoEp

        Kommentar


          Hallo,

          ich bin noch ziemlich neu in dem Projekt mit der Smartvisu/Smarthome.py und versuche das Plugin einzubinden.
          sonos_broker läuft und meine zwei Sonos Play:1 Lautsprecher kann ich über sonos_cmd ansteuern.
          Mein Problem ist jetzt das ich die zwei Lautsprecher über die Visu nicht ansteuern kann.

          Ich habe folgende Dateien in folgende Verzeichnisse kopiert:
          • sonos.conf ins Verzeichnis /usr/local/smarthome/items kopiert
          • sonos.html ins Verzeichnis /var/www/smartVISU/widgets kopiert
          • in der Datei plugin.conf folgenden Eintrag hinzugefügt:
          Code:
          sonos]
              class_name = Sonos
              class_path = plugins.sonos
              broker_url = 192.168.101.45:12900        #optional
              #refresh = 120                            #optional
          • in die Datei room_sleeping.html folgendes hinzugefügt:
          HTML-Code:
          <div class="block">
                  <div class="set-1" data-role="collapsible-set" data-theme="c" data-content-theme="a" data-mini="true">
                      <div data-role="collapsible" data-collapsed="false">
                          <h3>Music </h3>        
                  {% import "sonos.html" as sonos %}
                        {{ sonos.music('sonos', 'Sonos.KuecheLautsprecher.play', 'Sonos.KuecheLautsprecher.stop', 'Sonos.KuecheLautsprecher.prev', 'Sonos.KuecheLautsprecher.next', 'Sonos.KuecheLautsprecher.vol_up',
                          'Sonos.KuecheLautsprecher.vol_down', 'Sonos.KuecheLautsprecher.volume', 'Sonos.KuecheLautsprecher.mute', 'Sonos.KuecheLautsprecher.album_art', 'Sonos.KuecheLautsprecher.artist', 'Sonos.KuecheLautsprecher.title') }}
                </div>
                </div>
              </div>
          </div>


          In der Datei "smarthome.log" bekomme ich nur folgende Meldung:
          Code:
          Init SmartHome.py 1.0-41-g0c41302
          2015-04-21 21:50:34 ERROR    Connections  KNX: could not connect to 192.168.101.45:6720 (TCP): [Errno 111] Verbindungsaufbau abgelehnt
          2015-04-21 21:50:47 WARNING  Main         Item Sonos.KuecheLautsprecher.is_coordinator: value normal does not match type bool. Via Sonos
          Kann mir jemand damit vielleicht helfen.

          Im Voraus vielen Dank.


          Gruß
          Eassy

          Kommentar


            Hallo,

            ich hatte bislang den broker_5.2 am laufen.

            Nun wollte ich die Google_tts mit dem Homeserver koppeln und habe dabei auch auf den broker_6. upgedatet.

            Folgendes Problem ist aber nun aufgetreten.
            Läuft Musik und ich sende

            Code:
            echo Meine Oma faehrt im Huehnerstall Motorrad brumm brumm rrrrr  127.0.0.1 10234
            Wird die Musik unterbrochen, der Text wird gesprochen, aber die Musik wird nicht mehr gestartet.

            Mache ich da etwas falsch?

            Ich meinte das mit der 5.2 erfolgreich getestet zu haben



            Gruß Hartwig

            Kommentar


              Zitat von hartwigm Beitrag anzeigen
              Hallo,

              ich hatte bislang den broker_5.2 am laufen.

              Nun wollte ich die Google_tts mit dem Homeserver koppeln und habe dabei auch auf den broker_6. upgedatet.

              Folgendes Problem ist aber nun aufgetreten.
              Läuft Musik und ich sende

              Code:
              echo Meine Oma faehrt im Huehnerstall Motorrad brumm brumm rrrrr 127.0.0.1 10234
              Wird die Musik unterbrochen, der Text wird gesprochen, aber die Musik wird nicht mehr gestartet.

              Mache ich da etwas falsch?

              Ich meinte das mit der 5.2 erfolgreich getestet zu haben


              Hi,

              Bin am Wochenende wieder im Lande,
              dann schaue ich nach.

              Gruss,

              Stefan
              Sonos

              Kommentar


                Hallo Stefan,

                ich habe mir jetzt die TTS nochmals vorgenommen, und ich war offensichtlich beim letzten Versuch etwas ungeduldig.
                Es läuft, lediglich die Zeit zwischen Ende der Ansage und Neustart der Musik ist irgendwie variabel!


                In der 0.6 wird der Text angesagt.

                Dann läuft x-mal diese Sequenz

                Code:
                2015-05-19 14:53:28,568 INFO     Thread-3     Starting new HTTP connection (1): 192.168.133.56 -- connectionpool.py:_new_conn:188
                2015-05-19 14:53:28,809 DEBUG    Thread-3     "POST /MediaRenderer/AVTransport/Control HTTP/1.1" 200 382 -- connectionpool.py:_make_request:362
                2015-05-19 14:53:28,822 DEBUG    Thread-3     Received {'CONTENT-LENGTH': '382', 'EXT': '', 'CONTENT-TYPE': 'text/xml; charset="utf-8"', 'Connection': 'close', 'Server': 'Linux UPnP/1.0 Sonos/28.1-86173 (ZP90)'}, <s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><s:Body><u:AddURIToQueueResponse xmlns:u="urn:schemas-upnp-org:service:AVTransport:1"><FirstTrackNumberEnqueued>18</FirstTrackNumberEnqueued><NumTracksAdded>1</NumTracksAdded><NewQueueLength>18</NewQueueLength></u:AddURIToQueueResponse></s:Body></s:Envelope> -- services.py:send_command:337
                2015-05-19 14:53:28,829 INFO     Thread-3     Received status 200 from 192.168.133.56 -- services.py:send_command:340
                2015-05-19 14:53:28,845 INFO     Thread-3     Sending AddURIToQueue [('InstanceID', 0), ('EnqueuedURI', 'x-sonos-spotify:spotify%3atrack%3a5ITnp8E1i4x3TVwVEX8cmZ?sid=9&flags=32'), ('EnqueuedURIMetaData', b'<DIDL-Lite xmlns="urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:upnp="urn:schemas-upnp-org:metadata-1-0/upnp/"><item id="Q:0/19" parentID="Q:0" restricted="true"><dc:title>x-sonos-spotify:spotify:track:5ITnp8E1i4x3TVwVEX8cmZ?sid=9&amp;flags=32</dc:title><res protocolInfo="sonos.com-spotify:*:application/octet-stream:*">x-sonos-spotify:spotify%3atrack%3a5ITnp8E1i4x3TVwVEX8cmZ?sid=9&amp;flags=32</res><upnp:albumArtURI>/getaa?s=1&amp;u=x-sonos-spotify%3aspotify%253atrack%253a5ITnp8E1i4x3TVwVEX8cmZ%3fsid%3d9%26flags%3d32</upnp:albumArtURI><upnp:class>object.item</upnp:class><desc id="cdudn" nameSpace="urn:schemas-rinconnetworks-com:metadata-1-0/" /></item></DIDL-Lite>'), ('DesiredFirstTrackNumberEnqueued', 0), ('EnqueueAsNext', 1)] to 192.168.133.56 -- services.py:send_command:329
                2015-05-19 14:53:28,866 DEBUG    Thread-3     Sending {'SOAPACTION': 'urn:schemas-upnp-org:service:AVTransport:1#AddURIToQueue', 'Content-Type': 'text/xml; charset="utf-8"'}, <?xml version="1.0" ?>
                <s:Envelope s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
                  <s:Body>
                    <u:AddURIToQueue xmlns:u="urn:schemas-upnp-org:service:AVTransport:1">
                      <InstanceID>0</InstanceID>
                      <EnqueuedURI>x-sonos-spotify:spotify%3atrack%3a5ITnp8E1i4x3TVwVEX8cmZ?sid=9&amp;flags=32</EnqueuedURI>
                      <EnqueuedURIMetaData>b'&lt;DIDL-Lite xmlns=&quot;urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/&quot; xmlns:dc=&quot;http://purl.org/dc/elements/1.1/&quot; xmlns:upnp=&quot;urn:schemas-upnp-org:metadata-1-0/upnp/&quot;&gt;&lt;item id=&quot;Q:0/19&quot; parentID=&quot;Q:0&quot; restricted=&quot;true&quot;&gt;&lt;dc:title&gt;x-sonos-spotify:spotify:track:5ITnp8E1i4x3TVwVEX8cmZ?sid=9&amp;amp;flags=32&lt;/dc:title&gt;&lt;res protocolInfo=&quot;sonos.com-spotify:*:application/octet-stream:*&quot;&gt;x-sonos-spotify:spotify%3atrack%3a5ITnp8E1i4x3TVwVEX8cmZ?sid=9&amp;amp;flags=32&lt;/res&gt;&lt;upnp:albumArtURI&gt;/getaa?s=1&amp;amp;u=x-sonos-spotify%3aspotify%253atrack%253a5ITnp8E1i4x3TVwVEX8cmZ%3fsid%3d9%26flags%3d32&lt;/upnp:albumArtURI&gt;&lt;upnp:class&gt;object.item&lt;/upnp:class&gt;&lt;desc id=&quot;cdudn&quot; nameSpace=&quot;urn:schemas-rinconnetworks-com:metadata-1-0/&quot; /&gt;&lt;/item&gt;&lt;/DIDL-Lite&gt;'</EnqueuedURIMetaData>
                      <DesiredFirstTrackNumberEnqueued>0</DesiredFirstTrackNumberEnqueued>
                      <EnqueueAsNext>1</EnqueueAsNext>
                    </u:AddURIToQueue>
                  </s:Body>
                </s:Envelope>
                 -- services.py:send_command:330
                und nach 60 sec. kommt die Musik wieder.

                Ich habe auch festgestellt, dass wenn ich die Ansage mehrfach nutze, dass dann die Pause zwischen Ende der Ansage und wieder beginn der Musik auf ca. 15 sec fällt.

                Gruß Hartwig

                Kommentar


                  Hallo zusammen,

                  habe mir auch das Smarthome Sonos Kit installiert und es funktioniert super! Vielen Dank dafür!
                  Wollte nun das ganze über ein KO über meine TS3 steuern. Kann es sein, dass seit der Forumumstellung der Anhang im Post 254 von Stefan nicht mehr da ist? Konnte leider keine Angehangene Datei finden.

                  Grüße Niclas


                  Zitat von pfischi Beitrag anzeigen
                  Abend,

                  anbei meine Items und die Loiken dazu. Geht bestimmt noch anders (hier bitte Vorschläge :-) ), funktioniert bei mir aber sehr gut.


                  Grüsse,

                  Edit: in die /etc/logic.conf muss noch folgendes:

                  [Sonos_Kueche_Taste_Play]
                  watch_item = EG.Kueche.Sonos.Play
                  filename = sonos_kueche_taste_ol_play.py

                  [Sonos_Kueche_Taste_links_oben_LED]
                  watch_item = Kueche.play
                  filename = sonos_kueche_taste_ol_led.py

                  [Sonos_Kueche_Taste_Mute]
                  watch_item = EG.Kueche.Sonos.Mute
                  filename = sonos_kueche_taste_or_mute.py

                  [Sonos_Kueche_Taste_rechts_oben_LED]
                  watch_item = Kueche.mute
                  filename = sonos_kueche_taste_or_led.py




                  Stefan

                  Kommentar


                    Zitat von hartwigm Beitrag anzeigen

                    ...

                    und nach 60 sec. kommt die Musik wieder.

                    Ich habe auch festgestellt, dass wenn ich die Ansage mehrfach nutze, dass dann die Pause zwischen Ende der Ansage und wieder beginn der Musik auf ca. 15 sec fällt.
                    Nutzt du die GoogleTTS-Variante mit lokaler Speicherung der Ansagen oder streamst du das Ganze (also ohne Speicherung der Ansagen) ? Variante 1 ist die eindeutig bessere (siehe Doku).

                    Grus,

                    Stefan
                    Zuletzt geändert von pfischi; 31.05.2015, 21:19.
                    Sonos

                    Kommentar


                      Zitat von spyne Beitrag anzeigen
                      Hallo zusammen,

                      habe mir auch das Smarthome Sonos Kit installiert und es funktioniert super! Vielen Dank dafür!
                      Wollte nun das ganze über ein KO über meine TS3 steuern. Kann es sein, dass seit der Forumumstellung der Anhang im Post 254 von Stefan nicht mehr da ist? Konnte leider keine Angehangene Datei finden.

                      Grüße Niclas



                      Hallo Niclas,

                      mit erschrecken muss ich feststellen, dass ich die Logiken lokal nicht mehr habe. Ich werde die mal wieder erstellen und bereitstellen. Vielleicht hat ja hemand anderes noch entsprechende Logiken, die er hier veröffentlichen kann.

                      Gruss,

                      Stefan
                      Sonos

                      Kommentar


                        Frage in die Runde:
                        Wie könnte denn eine Logic aussehen, die folgendes macht:
                        Beim Ausführen werden immer, unabhängig wie es vorher war, bestimmte Sonos-Geräte in einer Gruppe zusammengefasst, Lautstärken einzeln angepasst und
                        a) eine vordefinierte Playlist ausgeführt, bzw.
                        b) ein gespeicherter Radiofavorit abgespielt.

                        Danke!

                        Grüße
                        Thorsten

                        Kommentar


                          Sehe ich das eigentlich richtig, dass es kein item gibt, mit dem ich die Balance bei Stereolautsprechern regeln kann? Auch im Broker finde ich weder ein get noch ein set dazu. Wäre für mich ein klares Desiderat.

                          Danke,
                          Ben

                          Kommentar


                            Hi,

                            sorry erstmal an der Stelle, dass ich im Moment wenig Zeit für die Entwicklung habe. Der Hausbau ist gerade in der heißen Phase. Ich bleib aber am Ball.

                            Zitat von RoyalTS Beitrag anzeigen
                            Frage in die Runde:
                            Wie könnte denn eine Logic aussehen, die folgendes macht:
                            Beim Ausführen werden immer, unabhängig wie es vorher war, bestimmte Sonos-Geräte in einer Gruppe zusammengefasst, Lautstärken einzeln angepasst und
                            a) eine vordefinierte Playlist ausgeführt, bzw.
                            b) ein gespeicherter Radiofavorit abgespielt.
                            Ich weiß zwar nicht ganz genau, wie deine Struktur ist und die Items heissen, aber prinzipiell in etwas so:

                            #erstmal alle betreffenden Speaker unjoinen (schadet ja nicht)

                            sh.sonos1.unjoin()
                            sh.sonos2.unjoin()
                            sh.sonos3.unjoin() etc

                            #Speaker gruppieren

                            sh.sonos1.join('uid von sonos3') #uid ist hier die ID des Lautsprechers, zudem gruppiert werden soll, welcher Lautsprecher zu welchem gruppiert wird, ist egal
                            sh.sonos2.join('uid von sonos3)

                            #Lautstärken anpassen für jeden Speaker einzeln

                            sh.sonos1.volume(10)
                            sh.sonos2.volume(23)

                            #Playlist abspielen: hier irgendeinen Sonos aus der Gruppe nehmen

                            sh.sonos1.set_playlist('/home/smarthome/playlist.pl')
                            sh.sonos1.set_playlist.play_after_insert(1)

                            Ungefähr so müsste es aussehen.


                            Zitat von bkr Beitrag anzeigen
                            Sehe ich das eigentlich richtig, dass es kein item gibt, mit dem ich die Balance bei Stereolautsprechern regeln kann? Auch im Broker finde ich weder ein get noch ein set dazu. Wäre für mich ein klares Desiderat.

                            Danke,
                            Ben
                            Ih habe leider nur unterschiedliche Lautsprecher, die sich nicht zu einem Stereopaar verbinden lassen. In ca. 1 Monat habe ich dann einen zweiten Sonos 1. Aber ich glaube, das du das bereits jetzt über die Lautstärke regeln kannst. Diese kann auch bei einem Stereo-Paar für beide Lautsprecher einzeln geregelt werden.

                            Gruss,

                            Stefan
                            Zuletzt geändert von pfischi; 27.06.2015, 09:01.
                            Sonos

                            Kommentar


                              Leider spreche ich nicht von zwei Einzel-Monolautsprechern, die stereo geschaltet sind, sondern von einem Connect:amp. Der ist per se stereo und hat in der Sonos Controller app einen Balanceregler. Den kann ich nicht per Lautstärkeregelung simulieren.
                              Leider ist mein python noch nicht gut genug um das selbst zu implementieren. Wäre schön, wenn Du Dir das anschauen kannst.

                              Gruss,
                              Ben

                              Kommentar


                                Zitat von bkr Beitrag anzeigen
                                Leider spreche ich nicht von zwei Einzel-Monolautsprechern, die stereo geschaltet sind, sondern von einem Connect:amp. Der ist per se stereo und hat in der Sonos Controller app einen Balanceregler. Den kann ich nicht per Lautstärkeregelung simulieren.
                                Leider ist mein python noch nicht gut genug um das selbst zu implementieren. Wäre schön, wenn Du Dir das anschauen kannst.

                                Gruss,
                                Ben
                                Kannst du mir ein Wireshark-Protokoll schicken? Am bestem am PC die Sonos-App installieren und dann die Balance einstellen. Dann kann ich es nachimplementieren. Du müsstest dann aber den Remote-Betatester spielen

                                Mfg,

                                Stefan
                                Sonos

                                Kommentar

                                Lädt...
                                X