Ankündigung

Einklappen
Keine Ankündigung bisher.

Sonos Anbindung

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

  • pfischi
    antwortet
    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

    Einen Kommentar schreiben:


  • bkr
    antwortet
    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

    Einen Kommentar schreiben:


  • pfischi
    antwortet
    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.

    Einen Kommentar schreiben:


  • bkr
    antwortet
    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

    Einen Kommentar schreiben:


  • RoyalTS
    antwortet
    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

    Einen Kommentar schreiben:


  • pfischi
    antwortet
    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

    Einen Kommentar schreiben:


  • pfischi
    antwortet
    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.

    Einen Kommentar schreiben:


  • spyne
    antwortet
    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

    Einen Kommentar schreiben:


  • hartwigm
    antwortet
    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.

    Einen Kommentar schreiben:


  • pfischi
    antwortet
    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

    Einen Kommentar schreiben:


  • hartwigm
    antwortet
    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



    Einen Kommentar schreiben:


  • eassy
    antwortet
    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

    Einen Kommentar schreiben:


  • Siplex
    antwortet
    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

    Einen Kommentar schreiben:


  • pfischi
    antwortet
    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.

    Einen Kommentar schreiben:


  • Siplex
    antwortet
    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!!

    Einen Kommentar schreiben:

Lädt...
X