Ankündigung

Einklappen
Keine Ankündigung bisher.

Sonos Anbindung

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

  • RoyalTS
    antwortet
    Zitat von pfischi Beitrag anzeigen
    Ich habe mir mal die Grupoenfunktionalität genauer angeschaut. Tatsächlich muss ich da nochmal ran. Der Code deckt noch nicht alles. Während der Feiertage habe wir ja alle wieder mehr Zeit, da werde ich ein paar Dinge fixen

    Gruss,

    Stefan
    Hallo Stefan!
    Da du gerade so aktiv bist
    Gibt es schon etwas Neues zu meinen Wünschne? (Zustände speichern/laden, Alarmmodus (Klingel oder Telefon),... )

    Danke und Grüße
    Thorsten

    Einen Kommentar schreiben:


  • Max2612
    antwortet
    Hallo, hab jetzt das Image dank @Onkelandy auf UTF-8 umgestellt.
    Der Radiosender Ö3 läuft bis jetzt ohne Error.

    So wie es aussieht, läuft alles bestens!!

    Gruß, Max

    Einen Kommentar schreiben:


  • pfischi
    antwortet
    Zitat von Max2612 Beitrag anzeigen
    Danke Stefan, funktioniert bestens!!
    Sehr gut,

    danke für die Geduld und das Testen.

    Einen Kommentar schreiben:


  • Max2612
    antwortet
    Danke Stefan, funktioniert bestens!!

    Einen Kommentar schreiben:


  • pfischi
    antwortet
    Zitat von Max2612 Beitrag anzeigen

    Danke, jetzt geht´s!!
    Kann ich den Server automatisch starten lassen?
    Alles aus dem Kopf:

    1. Bash-Script anlegen in /home/USER/server.sh

    Inhalt:
    Code:
    #!/bin/bash
    cd /var/www/googletts
    exec python3 -m http.server 8080
    2. Skript ausführbar machen
    Code:
    chmod +x /home/USER/server.sh
    3. Cronjob anlegen
    Code:
    crontab -e
    4. Inhalt cron
    Code:
    @reboot /home/USER/server.sh
    Müsste so auf einem Raspi klappen. USER noch austauschen mit deinem Nutzer (wahrscheinlich smarthome)

    Nächste Woche kommt die 1.0-Version, da ist der Server integriert.

    Gruss,

    Stefan
    Zuletzt geändert von pfischi; 03.01.2017, 14:39.

    Einen Kommentar schreiben:


  • Max2612
    antwortet
    Zitat von pfischi Beitrag anzeigen
    Entferne mal aus der server_url das googletts. Für den Webserver bist du im Root-Pfad, und nicht in googletts. Oder du startest den Server in /var/www, dann kann googletts dran bleiben.
    Danke, jetzt geht´s!!
    Kann ich den Server automatisch starten lassen?

    Einen Kommentar schreiben:


  • pfischi
    antwortet
    Entferne mal aus der server_url das googletts. Für den Webserver bist du im Root-Pfad, und nicht in googletts. Oder du startest den Server in /var/www, dann kann googletts dran bleiben.

    Einen Kommentar schreiben:


  • Max2612
    antwortet
    Meine sonos_broker.cfg
    Code:
    #This is the config file for sonos broker
    #Adapt and uncomment the lines to your purpose
    
    ########################################################################
    [logging]
    
    #Sets the log level for the server. WARNING is the default value.
    #Possible values are: debug, info, warning, error, critical
    #Default logfile path: /tmp/sonos_broker.log
    
    loglevel = debug
    logfile = /tmp/log.txt
    
    ########################################################################
    [sonos_broker]
    
    #Binding host address. Default: 0.0.0.0
    #host = 0.0.0.0
    
    #Server port. Default: 12900
    #port = 12900
    
    ########################################################################
    [google_tts]
    
    #Enabled Google-Text-To-Speech. Default: false
    enabled = true
    
    #Select the path where sonos broker will save the converted mp3 files
    #Before a web request is made, sonos broker will check, if the requested file already exists.
    #Possible paths could be: local webserver, mounted smb share ...
    
    save_path = /var/www/googletts
    
    #Specifies the destination url which sonos broker refers to the sonos speakers. This url must point to 'save_path'.
    
    server_url = http://192.168.1.13:8080/googletts
    
    #Maximum file size quota in megabytes. Up to this size, sonos broker will save files to 'save_path'.
    #Default: 100
    #quota = 200
    Und der Mitschnitt vom server
    Code:
    Using username "smarthome".
    
    The programs included with the Debian GNU/Linux system are free software;
    the exact distribution terms for each program are described in the
    individual files in /usr/share/doc/*/copyright.
    
    Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
    permitted by applicable law.
    
    SmartHome Raspi running for: 0 days, 00h50m59s
    
    smarthome@raspberrypi:~$ cd /var/www/googletts
    smarthome@raspberrypi:/var/www/googletts$ python3 -m http.server 8080
    Serving HTTP on 0.0.0.0 port 8080 ...
    192.168.1.24 - - [03/Jan/2017 12:50:28] code 404, message File not found
    192.168.1.24 - - [03/Jan/2017 12:50:28] "GET /googletts/ZGVfX3Rlc3QgdHRz.mp3 HTTP/1.1" 404 -
    192.168.1.24 - - [03/Jan/2017 12:50:30] code 404, message File not found
    192.168.1.24 - - [03/Jan/2017 12:50:30] "GET /googletts/ZGVfX3Rlc3QgdHRz.mp3 HTTP/1.1" 404 -
    192.168.1.24 - - [03/Jan/2017 12:50:30] code 404, message File not found
    192.168.1.24 - - [03/Jan/2017 12:50:30] "GET /googletts/ZGVfX3Rlc3QgdHRz.mp3 HTTP/1.1" 404 -
    192.168.1.24 - - [03/Jan/2017 12:50:31] code 404, message File not found
    192.168.1.24 - - [03/Jan/2017 12:50:31] "GET /googletts/ZGVfX3Rlc3QgdHRz.mp3 HTTP/1.1" 404 -
    192.168.1.24 - - [03/Jan/2017 12:50:32] code 404, message File not found
    192.168.1.24 - - [03/Jan/2017 12:50:32] "GET /googletts/ZGVfX3Rlc3QgdHRz.mp3 HTTP/1.1" 404 -
    192.168.1.24 - - [03/Jan/2017 12:50:33] code 404, message File not found
    192.168.1.24 - - [03/Jan/2017 12:50:33] "GET /googletts/ZGVfX3Rlc3QgdHRz.mp3 HTTP/1.1" 404 -
    192.168.1.24 - - [03/Jan/2017 12:50:34] code 404, message File not found
    192.168.1.24 - - [03/Jan/2017 12:50:34] "GET /googletts/ZGVfX3Rlc3QgdHRz.mp3 HTTP/1.1" 404 -
    192.168.1.24 - - [03/Jan/2017 12:50:34] code 404, message File not found
    192.168.1.24 - - [03/Jan/2017 12:50:34] "GET /googletts/ZGVfX3Rlc3QgdHRz.mp3 HTTP/1.1" 404 -
    192.168.1.24 - - [03/Jan/2017 12:50:34] code 400, message Bad request version ('RTSP/1.0')
    192.168.1.24 - - [03/Jan/2017 12:50:34] "DESCRIBE rtsp://192.168.1.13:8080/googletts/ZGVfX3Rlc3QgdHRz.mp3 RTSP/1.0" 400 -
    192.168.1.24 - - [03/Jan/2017 12:50:34] code 404, message File not found
    192.168.1.24 - - [03/Jan/2017 12:50:34] "GET /googletts/ZGVfX3Rlc3QgdHRz.mp3 HTTP/1.1" 404 -
    Ich hoffe, es hilft dir!

    Einen Kommentar schreiben:


  • Max2612
    antwortet
    Hier mal ein Log mit Start und TTS-Versuch
    Code:
    Using username "smarthome".
    
    The programs included with the Debian GNU/Linux system are free software;
    the exact distribution terms for each program are described in the
    individual files in /usr/share/doc/*/copyright.
    
    Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
    permitted by applicable law.
    
    SmartHome Raspi running for: 0 days, 00h51m40s
    
    smarthome@raspberrypi:~$ cd /usr/socal/bin/
    -bash: cd: /usr/socal/bin/: No such file or directory
    smarthome@raspberrypi:~$ cd /usr/local/bin/
    smarthome@raspberrypi:/usr/local/bin$ sonos_broker stop
    Shutting down Sonos Broker ...
    smarthome@raspberrypi:/usr/local/bin$ sonos_broker start-d
    usage: sonos_broker [-h] {start,stop,list} ...
    sonos_broker: error: argument subparser_name: invalid choice: 'start-d' (choose from 'start', 'stop', 'list')
    smarthome@raspberrypi:/usr/local/bin$ sonos_broker start -d
    2017-01-03 12:49:06,119 INFO     MainThread   Free diskspace: 119 mb -- sonos_broker:__init__:261
    2017-01-03 12:49:06,127 DEBUG    MainThread   Google-TTS 'local mode' enabled! -- sonos_broker:__init__:274
    2017-01-03 12:49:06,140 DEBUG    MainThread   server_url: http://192.168.1.13:8080/googletts -- sonos_broker:__init__:275
    2017-01-03 12:49:06,158 DEBUG    MainThread   save_path: /var/www/googletts -- sonos_broker:__init__:276
    2017-01-03 12:49:06,167 INFO     MainThread   Sonos Broker v0.9 -- sonos_broker:start:280
    2017-01-03 12:49:06,178 INFO     MainThread   Starting server with ip address 192.168.1.13 ... be sure this is correct. -- sonos_broker:start:282
    2017-01-03 12:49:07,210 DEBUG    Thread-2     active threads: 3 -- sonos_service.py:get_speakers_periodically:74
    2017-01-03 12:49:07,229 INFO     Thread-2     scan devices ... -- sonos_service.py:get_speakers_periodically:75
    2017-01-03 12:49:07,217 INFO     MainThread   Starting http server, use <Ctrl-C> to stop -- sonos_broker:start:287
    2017-01-03 12:49:07,270 INFO     Thread-2     Sending discovery packets on [<socket.socket fd=7, family=AddressFamily.AF_INET, type=SocketKind.SOCK_DGRAM, proto=17, laddr=('0.0.0.0', 0)>, <socket.socket fd=8, family=AddressFamily.AF_INET, type=SocketKind.SOCK_DGRAM, proto=17, laddr=('0.0.0.0', 0)>] -- discovery.py:discover:126
    2017-01-03 12:49:07,614 DEBUG    Thread-2     Received discovery response from ('192.168.1.24', 34025): "b'HTTP/1.1 200 OK\r\nCACHE-CONTROL: max-age = 1800\r\nEXT:\r\nLOCATION: http://192.168.1.24:1400/xml/device_description.xml\r\nSERVER: Linux UPnP/1.0 Sonos/34.7-35162c (ZPS12)\r\nST: urn:schemas-upnp-org:device:ZonePlayer:1\r\nUSN: uuid:RINCON_949F3E7072DC01400::urn:schemas-upnp-org:device:ZonePlayer:1\r\nX-RINCON-HOUSEHOLD: Sonos_NK5GZK7PASLUh5Vei3SIuPaCKx\r\nX-RINCON-BOOTSEQ: 6\r\nX-RINCON-WIFIMODE: 1\r\nX-RINCON-VARIANT: 1\r\n\r\n'" -- discovery.py:discover:173
    2017-01-03 12:49:07,647 DEBUG    Thread-2     Created SoCo instance for ip: 192.168.1.24 -- core.py:__init__:225
    2017-01-03 12:49:07,687 INFO     Thread-2     Sending GetZoneGroupState None to 192.168.1.24 -- services.py:send_command:381
    2017-01-03 12:49:08,055 DEBUG    Thread-2     Sending {'SOAPACTION': 'urn:schemas-upnp-org:service:ZoneGroupTopology:1#GetZoneGroupState', '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:GetZoneGroupState xmlns:u="urn:schemas-upnp-org:service:ZoneGroupTopology:1"/>
      </s:Body>
    </s:Envelope>
     -- services.py:send_command:382
    2017-01-03 12:49:08,433 DEBUG    Thread-2     Starting new HTTP connection (1): 192.168.1.24 -- connectionpool.py:_new_conn:212
    2017-01-03 12:49:08,489 DEBUG    Thread-2     http://192.168.1.24:1400 "POST /ZoneGroupTopology/Control HTTP/1.1" 200 1130 -- connectionpool.py:_make_request:400
    2017-01-03 12:49:08,539 DEBUG    Thread-2     Received {'CONTENT-LENGTH': '1130', 'Connection': 'close', 'CONTENT-TYPE': 'text/xml; charset="utf-8"', 'Server': 'Linux UPnP/1.0 Sonos/34.7-35162c (ZPS12)', 'EXT': ''}, <s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><s:Body><u:GetZoneGroupStateResponse xmlns:u="urn:schemas-upnp-org:service:ZoneGroupTopology:1"><ZoneGroupState>&lt;ZoneGroups&gt;&lt;ZoneGroup Coordinator=&quot;RINCON_949F3E7072DC01400&quot; ID=&quot;RINCON_949F3E7072DC01400:0&quot;&gt;&lt;ZoneGroupMember UUID=&quot;RINCON_949F3E7072DC01400&quot; Location=&quot;http://192.168.1.24:1400/xml/device_description.xml&quot; ZoneName=&quot;Wohnzimmer&quot; Icon=&quot;x-rincon-roomicon:living&quot; Configuration=&quot;1&quot; SoftwareVersion=&quot;34.7-35162c&quot; MinCompatibleVersion=&quot;33.0-00000&quot; LegacyCompatibleVersion=&quot;25.0-00000&quot; BootSeq=&quot;6&quot; WirelessMode=&quot;1&quot; WirelessLeafOnly=&quot;0&quot; HasConfiguredSSID=&quot;1&quot; ChannelFreq=&quot;2437&quot; BehindWifiExtender=&quot;0&quot; WifiEnabled=&quot;1&quot; Orientation=&quot;0&quot; RoomCalibrationState=&quot;4&quot; SecureRegState=&quot;3&quot;/&gt;&lt;/ZoneGroup&gt;&lt;/ZoneGroups&gt;</ZoneGroupState></u:GetZoneGroupStateResponse></s:Body></s:Envelope> -- services.py:send_command:389
    2017-01-03 12:49:08,560 INFO     Thread-2     Received status 200 from 192.168.1.24 -- services.py:send_command:392
    2017-01-03 12:49:08,690 DEBUG    Thread-2     Starting new HTTP connection (1): 192.168.1.24 -- connectionpool.py:_new_conn:212
    2017-01-03 12:49:08,771 DEBUG    Thread-2     http://192.168.1.24:1400 "GET /xml/device_description.xml HTTP/1.1" 200 None -- connectionpool.py:_make_request:400
    2017-01-03 12:49:08,985 DEBUG    Thread-2     Dispatching method GetVolume -- services.py:__getattr__:195
    2017-01-03 12:49:08,993 INFO     Thread-2     Sending GetVolume [('InstanceID', 0), ('Channel', 'Master')] to 192.168.1.24 -- services.py:send_command:381
    2017-01-03 12:49:09,032 DEBUG    Thread-2     Sending {'SOAPACTION': 'urn:schemas-upnp-org:service:RenderingControl:1#GetVolume', '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:GetVolume xmlns:u="urn:schemas-upnp-org:service:RenderingControl:1">
          <InstanceID>0</InstanceID>
          <Channel>Master</Channel>
        </u:GetVolume>
      </s:Body>
    </s:Envelope>
     -- services.py:send_command:382
    2017-01-03 12:49:09,154 DEBUG    Thread-2     Starting new HTTP connection (1): 192.168.1.24 -- connectionpool.py:_new_conn:212
    2017-01-03 12:49:09,211 DEBUG    Thread-2     http://192.168.1.24:1400 "POST /MediaRenderer/RenderingControl/Control HTTP/1.1" 200 288 -- connectionpool.py:_make_request:400
    2017-01-03 12:49:09,256 DEBUG    Thread-2     Received {'CONTENT-LENGTH': '288', 'Connection': 'close', 'CONTENT-TYPE': 'text/xml; charset="utf-8"', 'Server': 'Linux UPnP/1.0 Sonos/34.7-35162c (ZPS12)', 'EXT': ''}, <s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><s:Body><u:GetVolumeResponse xmlns:u="urn:schemas-upnp-org:service:RenderingControl:1"><CurrentVolume>27</CurrentVolume></u:GetVolumeResponse></s:Body></s:Envelope> -- services.py:send_command:389
    2017-01-03 12:49:09,280 INFO     Thread-2     Received status 200 from 192.168.1.24 -- services.py:send_command:392
    2017-01-03 12:49:09,290 DEBUG    Thread-2     Dispatching method GetBass -- services.py:__getattr__:195
    2017-01-03 12:49:09,310 INFO     Thread-2     Sending GetBass [('InstanceID', 0), ('Channel', 'Master')] to 192.168.1.24 -- services.py:send_command:381
    2017-01-03 12:49:09,349 DEBUG    Thread-2     Sending {'SOAPACTION': 'urn:schemas-upnp-org:service:RenderingControl:1#GetBass', '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:GetBass xmlns:u="urn:schemas-upnp-org:service:RenderingControl:1">
          <InstanceID>0</InstanceID>
          <Channel>Master</Channel>
        </u:GetBass>
      </s:Body>
    </s:Envelope>
     -- services.py:send_command:382
    2017-01-03 12:49:09,487 DEBUG    Thread-2     Starting new HTTP connection (1): 192.168.1.24 -- connectionpool.py:_new_conn:212
    2017-01-03 12:49:09,537 DEBUG    Thread-2     http://192.168.1.24:1400 "POST /MediaRenderer/RenderingControl/Control HTTP/1.1" 200 279 -- connectionpool.py:_make_request:400
    2017-01-03 12:49:09,571 DEBUG    Thread-2     Received {'CONTENT-LENGTH': '279', 'Connection': 'close', 'CONTENT-TYPE': 'text/xml; charset="utf-8"', 'Server': 'Linux UPnP/1.0 Sonos/34.7-35162c (ZPS12)', 'EXT': ''}, <s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><s:Body><u:GetBassResponse xmlns:u="urn:schemas-upnp-org:service:RenderingControl:1"><CurrentBass>0</CurrentBass></u:GetBassResponse></s:Body></s:Envelope> -- services.py:send_command:389
    2017-01-03 12:49:09,600 INFO     Thread-2     Received status 200 from 192.168.1.24 -- services.py:send_command:392
    2017-01-03 12:49:09,609 DEBUG    Thread-2     Dispatching method GetTreble -- services.py:__getattr__:195
    2017-01-03 12:49:09,630 INFO     Thread-2     Sending GetTreble [('InstanceID', 0), ('Channel', 'Master')] to 192.168.1.24 -- services.py:send_command:381
    2017-01-03 12:49:09,658 DEBUG    Thread-2     Sending {'SOAPACTION': 'urn:schemas-upnp-org:service:RenderingControl:1#GetTreble', '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:GetTreble xmlns:u="urn:schemas-upnp-org:service:RenderingControl:1">
          <InstanceID>0</InstanceID>
          <Channel>Master</Channel>
        </u:GetTreble>
      </s:Body>
    </s:Envelope>
     -- services.py:send_command:382
    2017-01-03 12:49:09,782 DEBUG    Thread-2     Starting new HTTP connection (1): 192.168.1.24 -- connectionpool.py:_new_conn:212
    2017-01-03 12:49:09,840 DEBUG    Thread-2     http://192.168.1.24:1400 "POST /MediaRenderer/RenderingControl/Control HTTP/1.1" 200 287 -- connectionpool.py:_make_request:400
    2017-01-03 12:49:09,896 DEBUG    Thread-2     Received {'CONTENT-LENGTH': '287', 'Connection': 'close', 'CONTENT-TYPE': 'text/xml; charset="utf-8"', 'Server': 'Linux UPnP/1.0 Sonos/34.7-35162c (ZPS12)', 'EXT': ''}, <s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><s:Body><u:GetTrebleResponse xmlns:u="urn:schemas-upnp-org:service:RenderingControl:1"><CurrentTreble>0</CurrentTreble></u:GetTrebleResponse></s:Body></s:Envelope> -- services.py:send_command:389
    2017-01-03 12:49:09,910 INFO     Thread-2     Received status 200 from 192.168.1.24 -- services.py:send_command:392
    2017-01-03 12:49:09,931 DEBUG    Thread-2     Dispatching method GetLoudness -- services.py:__getattr__:195
    2017-01-03 12:49:09,950 INFO     Thread-2     Sending GetLoudness [('InstanceID', 0), ('Channel', 'Master')] to 192.168.1.24 -- services.py:send_command:381
    2017-01-03 12:49:09,978 DEBUG    Thread-2     Sending {'SOAPACTION': 'urn:schemas-upnp-org:service:RenderingControl:1#GetLoudness', '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:GetLoudness xmlns:u="urn:schemas-upnp-org:service:RenderingControl:1">
          <InstanceID>0</InstanceID>
          <Channel>Master</Channel>
        </u:GetLoudness>
      </s:Body>
    </s:Envelope>
     -- services.py:send_command:382
    2017-01-03 12:49:10,108 DEBUG    Thread-2     Starting new HTTP connection (1): 192.168.1.24 -- connectionpool.py:_new_conn:212
    2017-01-03 12:49:10,157 DEBUG    Thread-2     http://192.168.1.24:1400 "POST /MediaRenderer/RenderingControl/Control HTTP/1.1" 200 295 -- connectionpool.py:_make_request:400
    2017-01-03 12:49:10,206 DEBUG    Thread-2     Received {'CONTENT-LENGTH': '295', 'Connection': 'close', 'CONTENT-TYPE': 'text/xml; charset="utf-8"', 'Server': 'Linux UPnP/1.0 Sonos/34.7-35162c (ZPS12)', 'EXT': ''}, <s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><s:Body><u:GetLoudnessResponse xmlns:u="urn:schemas-upnp-org:service:RenderingControl:1"><CurrentLoudness>1</CurrentLoudness></u:GetLoudnessResponse></s:Body></s:Envelope> -- services.py:send_command:389
    2017-01-03 12:49:10,219 INFO     Thread-2     Received status 200 from 192.168.1.24 -- services.py:send_command:392
    2017-01-03 12:49:10,241 DEBUG    Thread-2     Dispatching method GetTransportSettings -- services.py:__getattr__:195
    2017-01-03 12:49:10,249 INFO     Thread-2     Sending GetTransportSettings [('InstanceID', 0)] to 192.168.1.24 -- services.py:send_command:381
    2017-01-03 12:49:10,299 DEBUG    Thread-2     Sending {'SOAPACTION': 'urn:schemas-upnp-org:service:AVTransport:1#GetTransportSettings', '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:GetTransportSettings xmlns:u="urn:schemas-upnp-org:service:AVTransport:1">
          <InstanceID>0</InstanceID>
        </u:GetTransportSettings>
      </s:Body>
    </s:Envelope>
     -- services.py:send_command:382
    2017-01-03 12:49:10,448 DEBUG    Thread-2     Starting new HTTP connection (1): 192.168.1.24 -- connectionpool.py:_new_conn:212
    2017-01-03 12:49:10,493 DEBUG    Thread-2     http://192.168.1.24:1400 "POST /MediaRenderer/AVTransport/Control HTTP/1.1" 200 347 -- connectionpool.py:_make_request:400
    2017-01-03 12:49:10,538 DEBUG    Thread-2     Received {'CONTENT-LENGTH': '347', 'Connection': 'close', 'CONTENT-TYPE': 'text/xml; charset="utf-8"', 'Server': 'Linux UPnP/1.0 Sonos/34.7-35162c (ZPS12)', 'EXT': ''}, <s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><s:Body><u:GetTransportSettingsResponse xmlns:u="urn:schemas-upnp-org:service:AVTransport:1"><PlayMode>NORMAL</PlayMode><RecQualityMode>NOT_IMPLEMENTED</RecQualityMode></u:GetTransportSettingsResponse></s:Body></s:Envelope> -- services.py:send_command:389
    2017-01-03 12:49:10,559 INFO     Thread-2     Received status 200 from 192.168.1.24 -- services.py:send_command:392
    2017-01-03 12:49:10,580 DEBUG    Thread-2     Dispatching method GetHouseholdID -- services.py:__getattr__:195
    2017-01-03 12:49:10,587 INFO     Thread-2     Sending GetHouseholdID None to 192.168.1.24 -- services.py:send_command:381
    2017-01-03 12:49:10,617 DEBUG    Thread-2     Sending {'SOAPACTION': 'urn:schemas-upnp-org:service:DeviceProperties:1#GetHouseholdID', '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:GetHouseholdID xmlns:u="urn:schemas-upnp-org:service:DeviceProperties:1"/>
      </s:Body>
    </s:Envelope>
     -- services.py:send_command:382
    2017-01-03 12:49:10,746 DEBUG    Thread-2     Starting new HTTP connection (1): 192.168.1.24 -- connectionpool.py:_new_conn:212
    2017-01-03 12:49:10,793 DEBUG    Thread-2     http://192.168.1.24:1400 "POST /DeviceProperties/Control HTTP/1.1" 200 338 -- connectionpool.py:_make_request:400
    2017-01-03 12:49:10,843 DEBUG    Thread-2     Received {'CONTENT-LENGTH': '338', 'Connection': 'close', 'CONTENT-TYPE': 'text/xml; charset="utf-8"', 'Server': 'Linux UPnP/1.0 Sonos/34.7-35162c (ZPS12)', 'EXT': ''}, <s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><s:Body><u:GetHouseholdIDResponse xmlns:u="urn:schemas-upnp-org:service:DeviceProperties:1"><CurrentHouseholdID>Sonos_NK5GZK7PASLUh5Vei3SIuPaCKx</CurrentHouseholdID></u:GetHouseholdIDResponse></s:Body></s:Envelope> -- services.py:send_command:389
    2017-01-03 12:49:10,863 INFO     Thread-2     Received status 200 from 192.168.1.24 -- services.py:send_command:392
    2017-01-03 12:49:10,984 DEBUG    Thread-2     Starting new HTTP connection (1): 192.168.1.24 -- connectionpool.py:_new_conn:212
    2017-01-03 12:49:11,050 DEBUG    Thread-2     http://192.168.1.24:1400 "GET /status/ifconfig HTTP/1.1" 200 None -- connectionpool.py:_make_request:400
    2017-01-03 12:49:11,110 DEBUG    Thread-2     Dispatching method Browse -- services.py:__getattr__:195
    2017-01-03 12:49:11,119 INFO     Thread-2     Sending Browse [('ObjectID', 'SQ:'), ('BrowseFlag', 'BrowseDirectChildren'), ('Filter', '*'), ('StartingIndex', 0), ('RequestedCount', 100), ('SortCriteria', '')] to 192.168.1.24 -- services.py:send_command:381
    2017-01-03 12:49:11,163 DEBUG    Thread-2     Sending {'SOAPACTION': 'urn:schemas-upnp-org:service:ContentDirectory:1#Browse', '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:Browse xmlns:u="urn:schemas-upnp-org:service:ContentDirectory:1">
          <ObjectID>SQ:</ObjectID>
          <BrowseFlag>BrowseDirectChildren</BrowseFlag>
          <Filter>*</Filter>
          <StartingIndex>0</StartingIndex>
          <RequestedCount>100</RequestedCount>
          <SortCriteria/>
        </u:Browse>
      </s:Body>
    </s:Envelope>
     -- services.py:send_command:382
    2017-01-03 12:49:11,290 DEBUG    Thread-2     Starting new HTTP connection (1): 192.168.1.24 -- connectionpool.py:_new_conn:212
    2017-01-03 12:49:11,361 DEBUG    Thread-2     http://192.168.1.24:1400 "POST /MediaServer/ContentDirectory/Control HTTP/1.1" 200 None -- connectionpool.py:_make_request:400
    2017-01-03 12:49:11,420 DEBUG    Thread-2     Received {'EXT': '', 'Connection': 'close', 'CONTENT-TYPE': 'text/xml; charset="utf-8"', 'Server': 'Linux UPnP/1.0 Sonos/34.7-35162c (ZPS12)', 'TRANSFER-ENCODING': 'chunked'}, <s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><s:Body><u:BrowseResponse xmlns:u="urn:schemas-upnp-org:service:ContentDirectory:1"><Result>&lt;DIDL-Lite xmlns:dc=&quot;http://purl.org/dc/elements/1.1/&quot; xmlns:upnp=&quot;urn:schemas-upnp-org:metadata-1-0/upnp/&quot; xmlns:r=&quot;urn:schemas-rinconnetworks-com:metadata-1-0/&quot; xmlns=&quot;urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/&quot;&gt;&lt;container id=&quot;SQ:2&quot; parentID=&quot;SQ:&quot; restricted=&quot;true&quot;&gt;&lt;dc:title&gt;Best of 2016&lt;/dc:title&gt;&lt;res protocolInfo=&quot;file:*:audio/mpegurl:*&quot;&gt;file:///jffs/settings/savedqueues.rsq#2&lt;/res&gt;&lt;upnp:class&gt;object.container.playlistContainer&lt;/upnp:class&gt;&lt;upnp:albumArtURI&gt;/getaa?s=1&amp;amp;u=x-sonosapi-hls-static%3acatalog%252fplaylists%252fB01NAGN8AO%252f%2523chunk%252b0%3fsid%3d201%26flags%3d8224%26sn%3d2&lt;/upnp:albumArtURI&gt;&lt;upnp:albumArtURI&gt;/getaa?s=1&amp;amp;u=x-sonosapi-hls-static%3acatalog%252fplaylists%252fB01NAGN8AO%252f%2523chunk%252b16%3fsid%3d201%26flags%3d8224%26sn%3d2&lt;/upnp:albumArtURI&gt;&lt;upnp:albumArtURI&gt;/getaa?s=1&amp;amp;u=x-sonosapi-hls-static%3acatalog%252fplaylists%252fB01NAGN8AO%252f%2523chunk%252b33%3fsid%3d201%26flags%3d8224%26sn%3d2&lt;/upnp:albumArtURI&gt;&lt;upnp:albumArtURI&gt;/getaa?s=1&amp;amp;u=x-sonosapi-hls-static%3acatalog%252fplaylists%252fB01NAGN8AO%252f%2523chunk%252b49%3fsid%3d201%26flags%3d8224%26sn%3d2&lt;/upnp:albumArtURI&gt;&lt;/container&gt;&lt;container id=&quot;SQ:3&quot; parentID=&quot;SQ:&quot; restricted=&quot;true&quot;&gt;&lt;dc:title&gt;Fit 2017&lt;/dc:title&gt;&lt;res protocolInfo=&quot;file:*:audio/mpegurl:*&quot;&gt;file:///jffs/settings/savedqueues.rsq#3&lt;/res&gt;&lt;upnp:class&gt;object.container.playlistContainer&lt;/upnp:class&gt;&lt;upnp:albumArtURI&gt;/getaa?s=1&amp;amp;u=x-sonosapi-hls-static%3acatalog%252fplaylists%252fB01MT0SR0E%252f%2523chunk%252b0%3fsid%3d201%26flags%3d8224%26sn%3d2&lt;/upnp:albumArtURI&gt;&lt;upnp:albumArtURI&gt;/getaa?s=1&amp;amp;u=x-sonosapi-hls-static%3acatalog%252fplaylists%252fB01MT0SR0E%252f%2523chunk%252b6%3fsid%3d201%26flags%3d8224%26sn%3d2&lt;/upnp:albumArtURI&gt;&lt;upnp:albumArtURI&gt;/getaa?s=1&amp;amp;u=x-sonosapi-hls-static%3acatalog%252fplaylists%252fB01MT0SR0E%252f%2523chunk%252b13%3fsid%3d201%26flags%3d8224%26sn%3d2&lt;/upnp:albumArtURI&gt;&lt;upnp:albumArtURI&gt;/getaa?s=1&amp;amp;u=x-sonosapi-hls-static%3acatalog%252fplaylists%252fB01MT0SR0E%252f%2523chunk%252b19%3fsid%3d201%26flags%3d8224%26sn%3d2&lt;/upnp:albumArtURI&gt;&lt;/container&gt;&lt;container id=&quot;SQ:5&quot; parentID=&quot;SQ:&quot; restricted=&quot;true&quot;&gt;&lt;dc:title&gt;Motivation&lt;/dc:title&gt;&lt;res protocolInfo=&quot;file:*:audio/mpegurl:*&quot;&gt;file:///jffs/settings/savedqueues.rsq#5&lt;/res&gt;&lt;upnp:class&gt;object.container.playlistContainer&lt;/upnp:class&gt;&lt;upnp:albumArtURI&gt;/getaa?s=1&amp;amp;u=x-sonosapi-hls-static%3acatalog%252fplaylists%252fB01N2Z4EBP%252f%2523chunk%252b0%3fsid%3d201%26flags%3d8224%26sn%3d2&lt;/upnp:albumArtURI&gt;&lt;upnp:albumArtURI&gt;/getaa?s=1&amp;amp;u=x-sonosapi-hls-static%3acatalog%252fplaylists%252fB01N2Z4EBP%252f%2523chunk%252b12%3fsid%3d201%26flags%3d8224%26sn%3d2&lt;/upnp:albumArtURI&gt;&lt;upnp:albumArtURI&gt;/getaa?s=1&amp;amp;u=x-sonosapi-hls-static%3acatalog%252fplaylists%252fB01N2Z4EBP%252f%2523chunk%252b24%3fsid%3d201%26flags%3d8224%26sn%3d2&lt;/upnp:albumArtURI&gt;&lt;upnp:albumArtURI&gt;/getaa?s=1&amp;amp;u=x-sonosapi-hls-static%3acatalog%252fplaylists%252fB01N2Z4EBP%252f%2523chunk%252b36%3fsid%3d201%26flags%3d8224%26sn%3d2&lt;/upnp:albumArtURI&gt;&lt;/container&gt;&lt;container id=&quot;SQ:4&quot; parentID=&quot;SQ:&quot; restricted=&quot;true&quot;&gt;&lt;dc:title&gt;Rock Party&lt;/dc:title&gt;&lt;res protocolInfo=&quot;file:*:audio/mpegurl:*&quot;&gt;file:///jffs/settings/savedqueues.rsq#4&lt;/res&gt;&lt;upnp:class&gt;object.container.playlistContainer&lt;/upnp:class&gt;&lt;upnp:albumArtURI&gt;/getaa?s=1&amp;amp;u=x-sonosapi-hls-static%3acatalog%252fplaylists%252fB01NH0TXB3%252f%2523chunk%252b0%3fsid%3d201%26flags%3d8224%26sn%3d2&lt;/upnp:albumArtURI&gt;&lt;upnp:albumArtURI&gt;/getaa?s=1&amp;amp;u=x-sonosapi-hls-static%3acatalog%252fplaylists%252fB01NH0TXB3%252f%2523chunk%252b14%3fsid%3d201%26flags%3d8224%26sn%3d2&lt;/upnp:albumArtURI&gt;&lt;upnp:albumArtURI&gt;/getaa?s=1&amp;amp;u=x-sonosapi-hls-static%3acatalog%252fplaylists%252fB01NH0TXB3%252f%2523chunk%252b27%3fsid%3d201%26flags%3d8224%26sn%3d2&lt;/upnp:albumArtURI&gt;&lt;upnp:albumArtURI&gt;/getaa?s=1&amp;amp;u=x-sonosapi-hls-static%3acatalog%252fplaylists%252fB01NH0TXB3%252f%2523chunk%252b41%3fsid%3d201%26flags%3d8224%26sn%3d2&lt;/upnp:albumArtURI&gt;&lt;/container&gt;&lt;/DIDL-Lite&gt;</Result><NumberReturned>4</NumberReturned><TotalMatches>4</TotalMatches><UpdateID>12</UpdateID></u:BrowseResponse></s:Body></s:Envelope> -- services.py:send_command:389
    2017-01-03 12:49:11,432 INFO     Thread-2     Received status 200 from 192.168.1.24 -- services.py:send_command:392
    2017-01-03 12:49:11,506 DEBUG    Thread-2     Cache hit -- services.py:send_command:377
    2017-01-03 12:49:11,513 DEBUG    Thread-2     Cache hit -- services.py:send_command:377
    2017-01-03 12:49:11,530 DEBUG    Thread-2     Cache hit -- services.py:send_command:377
    2017-01-03 12:49:11,538 DEBUG    Thread-2     Cache hit -- services.py:send_command:377
    2017-01-03 12:49:11,559 DEBUG    Thread-2     Cache hit -- services.py:send_command:377
    2017-01-03 12:49:11,566 DEBUG    Thread-2     renewing topology event for rincon_949f3e7072dc01400 -- sonos_speaker.py:event_subscription:1427
    2017-01-03 12:49:11,590 INFO     Thread-2     Event listener started -- events.py:start:331
    2017-01-03 12:49:11,607 INFO     Thread-3     Event listener running on ('192.168.1.13', 1400) -- events.py:run:275
    2017-01-03 12:49:11,752 DEBUG    Thread-2     Starting new HTTP connection (1): 192.168.1.24 -- connectionpool.py:_new_conn:212
    2017-01-03 12:49:11,809 DEBUG    Thread-2     http://192.168.1.24:1400 "SUBSCRIBE /ZoneGroupTopology/Event HTTP/1.1" 200 None -- connectionpool.py:_make_request:400
    2017-01-03 12:49:11,915 INFO     Thread-4     No service registered for uuid:RINCON_949F3E7072DC01400_sub0000003267 -- events.py:do_NOTIFY:243
    2017-01-03 12:49:11,941 DEBUG    Thread-4     "NOTIFY / HTTP/1.1" 200 - -- events.py:log_message:249
    2017-01-03 12:49:11,938 INFO     Thread-2     Subscribed to http://192.168.1.24:1400/ZoneGroupTopology/Event, sid: uuid:RINCON_949F3E7072DC01400_sub0000003267 -- events.py:subscribe:470
    2017-01-03 12:49:11,981 DEBUG    Thread-2     renewing av-transport event for rincon_949f3e7072dc01400 -- sonos_speaker.py:event_subscription:1444
    2017-01-03 12:49:12,103 DEBUG    Thread-2     Starting new HTTP connection (1): 192.168.1.24 -- connectionpool.py:_new_conn:212
    2017-01-03 12:49:12,156 DEBUG    Thread-2     http://192.168.1.24:1400 "SUBSCRIBE /MediaRenderer/AVTransport/Event HTTP/1.1" 200 None -- connectionpool.py:_make_request:400
    2017-01-03 12:49:12,225 INFO     Thread-2     Subscribed to http://192.168.1.24:1400/MediaRenderer/AVTransport/Event, sid: uuid:RINCON_949F3E7072DC01400_sub0000003268 -- events.py:subscribe:470
    2017-01-03 12:49:12,243 INFO     Thread-6     No service registered for uuid:RINCON_949F3E7072DC01400_sub0000003268 -- events.py:do_NOTIFY:243
    2017-01-03 12:49:12,278 DEBUG    Thread-6     "NOTIFY / HTTP/1.1" 200 - -- events.py:log_message:249
    2017-01-03 12:49:12,283 DEBUG    Thread-2     renewing rendering event for rincon_949f3e7072dc01400 -- sonos_speaker.py:event_subscription:1460
    2017-01-03 12:49:12,424 DEBUG    Thread-2     Starting new HTTP connection (1): 192.168.1.24 -- connectionpool.py:_new_conn:212
    2017-01-03 12:49:12,489 DEBUG    Thread-2     http://192.168.1.24:1400 "SUBSCRIBE /MediaRenderer/RenderingControl/Event HTTP/1.1" 200 None -- connectionpool.py:_make_request:400
    2017-01-03 12:49:12,548 INFO     Thread-8     No service registered for uuid:RINCON_949F3E7072DC01400_sub0000003269 -- events.py:do_NOTIFY:243
    2017-01-03 12:49:12,592 DEBUG    Thread-8     "NOTIFY / HTTP/1.1" 200 - -- events.py:log_message:249
    2017-01-03 12:49:12,585 INFO     Thread-2     Subscribed to http://192.168.1.24:1400/MediaRenderer/RenderingControl/Event, sid: uuid:RINCON_949F3E7072DC01400_sub0000003269 -- events.py:subscribe:470
    2017-01-03 12:49:12,631 DEBUG    Thread-2     renewing alarm event for rincon_949f3e7072dc01400 -- sonos_speaker.py:event_subscription:1476
    2017-01-03 12:49:12,747 DEBUG    Thread-2     Starting new HTTP connection (1): 192.168.1.24 -- connectionpool.py:_new_conn:212
    2017-01-03 12:49:12,806 DEBUG    Thread-2     http://192.168.1.24:1400 "SUBSCRIBE /AlarmClock/Event HTTP/1.1" 200 None -- connectionpool.py:_make_request:400
    2017-01-03 12:49:12,868 INFO     Thread-10    No service registered for uuid:RINCON_949F3E7072DC01400_sub0000003270 -- events.py:do_NOTIFY:243
    2017-01-03 12:49:12,903 DEBUG    Thread-10    "NOTIFY / HTTP/1.1" 200 - -- events.py:log_message:249
    2017-01-03 12:49:12,899 INFO     Thread-2     Subscribed to http://192.168.1.24:1400/AlarmClock/Event, sid: uuid:RINCON_949F3E7072DC01400_sub0000003270 -- events.py:subscribe:470
    2017-01-03 12:49:50,892 DEBUG    Thread-12    COMMAND ClientSubscribe -- attributes: port: 5005, ip: 192.168.1.13 -- sonos_commands.py:run:69
    2017-01-03 12:49:50,899 INFO     Thread-12    register client for udp messages: 192.168.1.13:5005 -- udp_broker.py:subscribe_client:13
    2017-01-03 12:49:50,905 INFO     Thread-12    registered clients: 192.168.1.13:[5005] -- udp_broker.py:subscribe_client:23
    127.0.0.1 - - [03/Jan/2017 12:49:50] "POST / HTTP/1.1" 200 -
    2017-01-03 12:49:50,927 DEBUG    Thread-12    Server response -- status: True -- response:  -- sonos_broker:do_POST:69
    2017-01-03 12:49:54,564 DEBUG    Thread-13    COMMAND ClientList -- attributes: command: client_list -- sonos_commands.py:run:1519
    2017-01-03 12:49:54,571 DEBUG    Thread-13    active speakers: rincon_949f3e7072dc01400 | 192.168.1.24 | Sonos PLAY:1 | Wohnzimmer -- sonos_commands.py:run:1524
    127.0.0.1 - - [03/Jan/2017 12:49:54] "POST / HTTP/1.1" 200 -
    2017-01-03 12:49:54,587 DEBUG    Thread-13    Server response -- status: True -- response: rincon_949f3e7072dc01400
     -- sonos_broker:do_POST:69
    2017-01-03 12:49:55,201 DEBUG    Thread-14    COMMAND CurrentState -- attributes: uid: rincon_949f3e7072dc01400, group_command: 0 -- sonos_commands.py:run:129
    2017-01-03 12:49:55,212 INFO     Thread-14    Sending Browse [('ObjectID', 'SQ:'), ('BrowseFlag', 'BrowseDirectChildren'), ('Filter', '*'), ('StartingIndex', 0), ('RequestedCount', 100), ('SortCriteria', '')] to 192.168.1.24 -- services.py:send_command:381
    2017-01-03 12:49:55,234 DEBUG    Thread-14    Sending {'SOAPACTION': 'urn:schemas-upnp-org:service:ContentDirectory:1#Browse', '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:Browse xmlns:u="urn:schemas-upnp-org:service:ContentDirectory:1">
          <ObjectID>SQ:</ObjectID>
          <BrowseFlag>BrowseDirectChildren</BrowseFlag>
          <Filter>*</Filter>
          <StartingIndex>0</StartingIndex>
          <RequestedCount>100</RequestedCount>
          <SortCriteria/>
        </u:Browse>
      </s:Body>
    </s:Envelope>
     -- services.py:send_command:382
    2017-01-03 12:49:55,299 DEBUG    Thread-14    Starting new HTTP connection (1): 192.168.1.24 -- connectionpool.py:_new_conn:212
    2017-01-03 12:49:55,336 DEBUG    Thread-14    http://192.168.1.24:1400 "POST /MediaServer/ContentDirectory/Control HTTP/1.1" 200 None -- connectionpool.py:_make_request:400
    2017-01-03 12:49:55,362 DEBUG    Thread-14    Received {'EXT': '', 'Connection': 'close', 'CONTENT-TYPE': 'text/xml; charset="utf-8"', 'Server': 'Linux UPnP/1.0 Sonos/34.7-35162c (ZPS12)', 'TRANSFER-ENCODING': 'chunked'}, <s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><s:Body><u:BrowseResponse xmlns:u="urn:schemas-upnp-org:service:ContentDirectory:1"><Result>&lt;DIDL-Lite xmlns:dc=&quot;http://purl.org/dc/elements/1.1/&quot; xmlns:upnp=&quot;urn:schemas-upnp-org:metadata-1-0/upnp/&quot; xmlns:r=&quot;urn:schemas-rinconnetworks-com:metadata-1-0/&quot; xmlns=&quot;urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/&quot;&gt;&lt;container id=&quot;SQ:2&quot; parentID=&quot;SQ:&quot; restricted=&quot;true&quot;&gt;&lt;dc:title&gt;Best of 2016&lt;/dc:title&gt;&lt;res protocolInfo=&quot;file:*:audio/mpegurl:*&quot;&gt;file:///jffs/settings/savedqueues.rsq#2&lt;/res&gt;&lt;upnp:class&gt;object.container.playlistContainer&lt;/upnp:class&gt;&lt;upnp:albumArtURI&gt;/getaa?s=1&amp;amp;u=x-sonosapi-hls-static%3acatalog%252fplaylists%252fB01NAGN8AO%252f%2523chunk%252b0%3fsid%3d201%26flags%3d8224%26sn%3d2&lt;/upnp:albumArtURI&gt;&lt;upnp:albumArtURI&gt;/getaa?s=1&amp;amp;u=x-sonosapi-hls-static%3acatalog%252fplaylists%252fB01NAGN8AO%252f%2523chunk%252b16%3fsid%3d201%26flags%3d8224%26sn%3d2&lt;/upnp:albumArtURI&gt;&lt;upnp:albumArtURI&gt;/getaa?s=1&amp;amp;u=x-sonosapi-hls-static%3acatalog%252fplaylists%252fB01NAGN8AO%252f%2523chunk%252b33%3fsid%3d201%26flags%3d8224%26sn%3d2&lt;/upnp:albumArtURI&gt;&lt;upnp:albumArtURI&gt;/getaa?s=1&amp;amp;u=x-sonosapi-hls-static%3acatalog%252fplaylists%252fB01NAGN8AO%252f%2523chunk%252b49%3fsid%3d201%26flags%3d8224%26sn%3d2&lt;/upnp:albumArtURI&gt;&lt;/container&gt;&lt;container id=&quot;SQ:3&quot; parentID=&quot;SQ:&quot; restricted=&quot;true&quot;&gt;&lt;dc:title&gt;Fit 2017&lt;/dc:title&gt;&lt;res protocolInfo=&quot;file:*:audio/mpegurl:*&quot;&gt;file:///jffs/settings/savedqueues.rsq#3&lt;/res&gt;&lt;upnp:class&gt;object.container.playlistContainer&lt;/upnp:class&gt;&lt;upnp:albumArtURI&gt;/getaa?s=1&amp;amp;u=x-sonosapi-hls-static%3acatalog%252fplaylists%252fB01MT0SR0E%252f%2523chunk%252b0%3fsid%3d201%26flags%3d8224%26sn%3d2&lt;/upnp:albumArtURI&gt;&lt;upnp:albumArtURI&gt;/getaa?s=1&amp;amp;u=x-sonosapi-hls-static%3acatalog%252fplaylists%252fB01MT0SR0E%252f%2523chunk%252b6%3fsid%3d201%26flags%3d8224%26sn%3d2&lt;/upnp:albumArtURI&gt;&lt;upnp:albumArtURI&gt;/getaa?s=1&amp;amp;u=x-sonosapi-hls-static%3acatalog%252fplaylists%252fB01MT0SR0E%252f%2523chunk%252b13%3fsid%3d201%26flags%3d8224%26sn%3d2&lt;/upnp:albumArtURI&gt;&lt;upnp:albumArtURI&gt;/getaa?s=1&amp;amp;u=x-sonosapi-hls-static%3acatalog%252fplaylists%252fB01MT0SR0E%252f%2523chunk%252b19%3fsid%3d201%26flags%3d8224%26sn%3d2&lt;/upnp:albumArtURI&gt;&lt;/container&gt;&lt;container id=&quot;SQ:5&quot; parentID=&quot;SQ:&quot; restricted=&quot;true&quot;&gt;&lt;dc:title&gt;Motivation&lt;/dc:title&gt;&lt;res protocolInfo=&quot;file:*:audio/mpegurl:*&quot;&gt;file:///jffs/settings/savedqueues.rsq#5&lt;/res&gt;&lt;upnp:class&gt;object.container.playlistContainer&lt;/upnp:class&gt;&lt;upnp:albumArtURI&gt;/getaa?s=1&amp;amp;u=x-sonosapi-hls-static%3acatalog%252fplaylists%252fB01N2Z4EBP%252f%2523chunk%252b0%3fsid%3d201%26flags%3d8224%26sn%3d2&lt;/upnp:albumArtURI&gt;&lt;upnp:albumArtURI&gt;/getaa?s=1&amp;amp;u=x-sonosapi-hls-static%3acatalog%252fplaylists%252fB01N2Z4EBP%252f%2523chunk%252b12%3fsid%3d201%26flags%3d8224%26sn%3d2&lt;/upnp:albumArtURI&gt;&lt;upnp:albumArtURI&gt;/getaa?s=1&amp;amp;u=x-sonosapi-hls-static%3acatalog%252fplaylists%252fB01N2Z4EBP%252f%2523chunk%252b24%3fsid%3d201%26flags%3d8224%26sn%3d2&lt;/upnp:albumArtURI&gt;&lt;upnp:albumArtURI&gt;/getaa?s=1&amp;amp;u=x-sonosapi-hls-static%3acatalog%252fplaylists%252fB01N2Z4EBP%252f%2523chunk%252b36%3fsid%3d201%26flags%3d8224%26sn%3d2&lt;/upnp:albumArtURI&gt;&lt;/container&gt;&lt;container id=&quot;SQ:4&quot; parentID=&quot;SQ:&quot; restricted=&quot;true&quot;&gt;&lt;dc:title&gt;Rock Party&lt;/dc:title&gt;&lt;res protocolInfo=&quot;file:*:audio/mpegurl:*&quot;&gt;file:///jffs/settings/savedqueues.rsq#4&lt;/res&gt;&lt;upnp:class&gt;object.container.playlistContainer&lt;/upnp:class&gt;&lt;upnp:albumArtURI&gt;/getaa?s=1&amp;amp;u=x-sonosapi-hls-static%3acatalog%252fplaylists%252fB01NH0TXB3%252f%2523chunk%252b0%3fsid%3d201%26flags%3d8224%26sn%3d2&lt;/upnp:albumArtURI&gt;&lt;upnp:albumArtURI&gt;/getaa?s=1&amp;amp;u=x-sonosapi-hls-static%3acatalog%252fplaylists%252fB01NH0TXB3%252f%2523chunk%252b14%3fsid%3d201%26flags%3d8224%26sn%3d2&lt;/upnp:albumArtURI&gt;&lt;upnp:albumArtURI&gt;/getaa?s=1&amp;amp;u=x-sonosapi-hls-static%3acatalog%252fplaylists%252fB01NH0TXB3%252f%2523chunk%252b27%3fsid%3d201%26flags%3d8224%26sn%3d2&lt;/upnp:albumArtURI&gt;&lt;upnp:albumArtURI&gt;/getaa?s=1&amp;amp;u=x-sonosapi-hls-static%3acatalog%252fplaylists%252fB01NH0TXB3%252f%2523chunk%252b41%3fsid%3d201%26flags%3d8224%26sn%3d2&lt;/upnp:albumArtURI&gt;&lt;/container&gt;&lt;/DIDL-Lite&gt;</Result><NumberReturned>4</NumberReturned><TotalMatches>4</TotalMatches><UpdateID>12</UpdateID></u:BrowseResponse></s:Body></s:Envelope> -- services.py:send_command:389
    2017-01-03 12:49:55,374 INFO     Thread-14    Received status 200 from 192.168.1.24 -- services.py:send_command:392
    2017-01-03 12:49:55,412 INFO     Thread-14    registered clients: 192.168.1.13:[5005] -- udp_broker.py:udp_send:43
    2017-01-03 12:49:55,419 INFO     Thread-14    sending sonos speaker data: {
        "additional_zone_members": "",
        "alarms": "",
        "balance": 0,
        "bass": 0,
        "display_version": "7.0",
        "hardware_version": "1.20.1.6-2",
        "household_id": "Sonos_NK5GZK7PASLUh5Vei3SIuPaCKx",
        "ip": "192.168.1.24",
        "is_coordinator": true,
        "led": 1,
        "loudness": 1,
        "mac_address": "94-9F-3E-70-72-DC",
        "max_volume": -1,
        "model": "Sonos PLAY:1",
        "model_number": "S12",
        "mute": 0,
        "pause": 0,
        "play": 0,
        "playlist_position": 0,
        "playlist_total_tracks": 0,
        "playmode": "normal",
        "radio_show": "",
        "radio_station": "",
        "serial_number": "94-9F-3E-70-72-DC:F",
        "software_version": "34.7-35162c",
        "sonos_playlists": "Best of 2016,Fit 2017,Motivation,Rock Party",
        "status": true,
        "stop": 0,
        "streamtype": "",
        "track_album": "",
        "track_album_art": "",
        "track_artist": "",
        "track_duration": "00:00:00",
        "track_position": "00:00:00",
        "track_title": "",
        "track_uri": "",
        "treble": 0,
        "uid": "rincon_949f3e7072dc01400",
        "volume": 27,
        "wifi_state": 1,
        "zone_icon": "/img/icon-S12.png",
        "zone_name": "Wohnzimmer"
    } -- udp_broker.py:udp_send:44
    127.0.0.1 - - [03/Jan/2017 12:49:55] "POST / HTTP/1.1" 200 -
    2017-01-03 12:49:55,457 DEBUG    Thread-14    Server response -- status: True -- response:  -- sonos_broker:do_POST:69
    2017-01-03 12:50:24,425 DEBUG    Thread-15    COMMAND PlayTts -- attributes: volume: 50, tts: test tts, language: de, uid: rincon_949f3e7072dc01400, group_command: 0, fade_in: 0 -- sonos_commands.py:run:1660
    2017-01-03 12:50:24,489 DEBUG    Thread-15    Starting new HTTPS connection (1): translate.google.com -- connectionpool.py:_new_conn:809
    2017-01-03 12:50:25,645 DEBUG    Thread-15    https://translate.google.com:443 "GET / HTTP/1.1" 200 None -- connectionpool.py:_make_request:400
    2017-01-03 12:50:25,832 DEBUG    Thread-15    Starting new HTTPS connection (1): translate.google.com -- connectionpool.py:_new_conn:809
    2017-01-03 12:50:26,820 DEBUG    Thread-15    https://translate.google.com:443 "GET /translate_tts?q=test+tts&textlen=8&ie=UTF-8&tl=de&tk=107679.519484&client=tw-ob&total=1&idx=0 HTTP/1.1" 200 7296 -- connectionpool.py:_make_request:400
    2017-01-03 12:50:26,894 DEBUG    Thread-15    Dispatching method GetMediaInfo -- services.py:__getattr__:195
    2017-01-03 12:50:26,902 INFO     Thread-15    Sending GetMediaInfo [('InstanceID', 0)] to 192.168.1.24 -- services.py:send_command:381
    2017-01-03 12:50:26,920 DEBUG    Thread-15    Sending {'SOAPACTION': 'urn:schemas-upnp-org:service:AVTransport:1#GetMediaInfo', '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:GetMediaInfo xmlns:u="urn:schemas-upnp-org:service:AVTransport:1">
          <InstanceID>0</InstanceID>
        </u:GetMediaInfo>
      </s:Body>
    </s:Envelope>
     -- services.py:send_command:382
    2017-01-03 12:50:26,991 DEBUG    Thread-15    Starting new HTTP connection (1): 192.168.1.24 -- connectionpool.py:_new_conn:212
    2017-01-03 12:50:27,020 DEBUG    Thread-15    http://192.168.1.24:1400 "POST /MediaRenderer/AVTransport/Control HTTP/1.1" 200 1220 -- connectionpool.py:_make_request:400
    2017-01-03 12:50:27,045 DEBUG    Thread-15    Received {'CONTENT-LENGTH': '1220', 'Connection': 'close', 'CONTENT-TYPE': 'text/xml; charset="utf-8"', 'Server': 'Linux UPnP/1.0 Sonos/34.7-35162c (ZPS12)', 'EXT': ''}, <s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><s:Body><u:GetMediaInfoResponse xmlns:u="urn:schemas-upnp-org:service:AVTransport:1"><NrTracks>6</NrTracks><MediaDuration>NOT_IMPLEMENTED</MediaDuration><CurrentURI>x-sonosapi-stream:s14991?sid=254&amp;sn=0</CurrentURI><CurrentURIMetaData>&lt;DIDL-Lite xmlns:dc=&quot;http://purl.org/dc/elements/1.1/&quot; xmlns:upnp=&quot;urn:schemas-upnp-org:metadata-1-0/upnp/&quot; xmlns:r=&quot;urn:schemas-rinconnetworks-com:metadata-1-0/&quot; xmlns=&quot;urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/&quot;&gt;&lt;item id=&quot;-1&quot; parentID=&quot;-1&quot; restricted=&quot;true&quot;&gt;&lt;dc:title&gt;Bayern 3&lt;/dc:title&gt;&lt;upnp:class&gt;object.item.audioItem.audioBroadcast&lt;/upnp:class&gt;&lt;desc id=&quot;cdudn&quot; nameSpace=&quot;urn:schemas-rinconnetworks-com:metadata-1-0/&quot;&gt;SA_RINCON65031_&lt;/desc&gt;&lt;/item&gt;&lt;/DIDL-Lite&gt;</CurrentURIMetaData><NextURI></NextURI><NextURIMetaData></NextURIMetaData><PlayMedium>NETWORK</PlayMedium><RecordMedium>NOT_IMPLEMENTED</RecordMedium><WriteStatus>NOT_IMPLEMENTED</WriteStatus></u:GetMediaInfoResponse></s:Body></s:Envelope> -- services.py:send_command:389
    2017-01-03 12:50:27,054 INFO     Thread-15    Received status 200 from 192.168.1.24 -- services.py:send_command:392
    2017-01-03 12:50:27,067 INFO     Thread-15    Sending GetVolume [('InstanceID', 0), ('Channel', 'Master')] to 192.168.1.24 -- services.py:send_command:381
    2017-01-03 12:50:27,084 DEBUG    Thread-15    Sending {'SOAPACTION': 'urn:schemas-upnp-org:service:RenderingControl:1#GetVolume', '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:GetVolume xmlns:u="urn:schemas-upnp-org:service:RenderingControl:1">
          <InstanceID>0</InstanceID>
          <Channel>Master</Channel>
        </u:GetVolume>
      </s:Body>
    </s:Envelope>
     -- services.py:send_command:382
    2017-01-03 12:50:27,150 DEBUG    Thread-15    Starting new HTTP connection (1): 192.168.1.24 -- connectionpool.py:_new_conn:212
    2017-01-03 12:50:27,177 DEBUG    Thread-15    http://192.168.1.24:1400 "POST /MediaRenderer/RenderingControl/Control HTTP/1.1" 200 288 -- connectionpool.py:_make_request:400
    2017-01-03 12:50:27,201 DEBUG    Thread-15    Received {'CONTENT-LENGTH': '288', 'Connection': 'close', 'CONTENT-TYPE': 'text/xml; charset="utf-8"', 'Server': 'Linux UPnP/1.0 Sonos/34.7-35162c (ZPS12)', 'EXT': ''}, <s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><s:Body><u:GetVolumeResponse xmlns:u="urn:schemas-upnp-org:service:RenderingControl:1"><CurrentVolume>27</CurrentVolume></u:GetVolumeResponse></s:Body></s:Envelope> -- services.py:send_command:389
    2017-01-03 12:50:27,210 INFO     Thread-15    Received status 200 from 192.168.1.24 -- services.py:send_command:392
    2017-01-03 12:50:27,220 DEBUG    Thread-15    Dispatching method GetMute -- services.py:__getattr__:195
    2017-01-03 12:50:27,229 INFO     Thread-15    Sending GetMute [('InstanceID', 0), ('Channel', 'Master')] to 192.168.1.24 -- services.py:send_command:381
    2017-01-03 12:50:27,251 DEBUG    Thread-15    Sending {'SOAPACTION': 'urn:schemas-upnp-org:service:RenderingControl:1#GetMute', '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:GetMute xmlns:u="urn:schemas-upnp-org:service:RenderingControl:1">
          <InstanceID>0</InstanceID>
          <Channel>Master</Channel>
        </u:GetMute>
      </s:Body>
    </s:Envelope>
     -- services.py:send_command:382
    2017-01-03 12:50:27,321 DEBUG    Thread-15    Starting new HTTP connection (1): 192.168.1.24 -- connectionpool.py:_new_conn:212
    2017-01-03 12:50:27,348 DEBUG    Thread-15    http://192.168.1.24:1400 "POST /MediaRenderer/RenderingControl/Control HTTP/1.1" 200 279 -- connectionpool.py:_make_request:400
    2017-01-03 12:50:27,374 DEBUG    Thread-15    Received {'CONTENT-LENGTH': '279', 'Connection': 'close', 'CONTENT-TYPE': 'text/xml; charset="utf-8"', 'Server': 'Linux UPnP/1.0 Sonos/34.7-35162c (ZPS12)', 'EXT': ''}, <s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><s:Body><u:GetMuteResponse xmlns:u="urn:schemas-upnp-org:service:RenderingControl:1"><CurrentMute>0</CurrentMute></u:GetMuteResponse></s:Body></s:Envelope> -- services.py:send_command:389
    2017-01-03 12:50:27,384 INFO     Thread-15    Received status 200 from 192.168.1.24 -- services.py:send_command:392
    2017-01-03 12:50:27,395 INFO     Thread-15    Sending GetBass [('InstanceID', 0), ('Channel', 'Master')] to 192.168.1.24 -- services.py:send_command:381
    2017-01-03 12:50:27,414 DEBUG    Thread-15    Sending {'SOAPACTION': 'urn:schemas-upnp-org:service:RenderingControl:1#GetBass', '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:GetBass xmlns:u="urn:schemas-upnp-org:service:RenderingControl:1">
          <InstanceID>0</InstanceID>
          <Channel>Master</Channel>
        </u:GetBass>
      </s:Body>
    </s:Envelope>
     -- services.py:send_command:382
    2017-01-03 12:50:27,485 DEBUG    Thread-15    Starting new HTTP connection (1): 192.168.1.24 -- connectionpool.py:_new_conn:212
    2017-01-03 12:50:27,514 DEBUG    Thread-15    http://192.168.1.24:1400 "POST /MediaRenderer/RenderingControl/Control HTTP/1.1" 200 279 -- connectionpool.py:_make_request:400
    2017-01-03 12:50:27,539 DEBUG    Thread-15    Received {'CONTENT-LENGTH': '279', 'Connection': 'close', 'CONTENT-TYPE': 'text/xml; charset="utf-8"', 'Server': 'Linux UPnP/1.0 Sonos/34.7-35162c (ZPS12)', 'EXT': ''}, <s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><s:Body><u:GetBassResponse xmlns:u="urn:schemas-upnp-org:service:RenderingControl:1"><CurrentBass>0</CurrentBass></u:GetBassResponse></s:Body></s:Envelope> -- services.py:send_command:389
    2017-01-03 12:50:27,548 INFO     Thread-15    Received status 200 from 192.168.1.24 -- services.py:send_command:392
    2017-01-03 12:50:27,558 INFO     Thread-15    Sending GetTreble [('InstanceID', 0), ('Channel', 'Master')] to 192.168.1.24 -- services.py:send_command:381
    2017-01-03 12:50:27,577 DEBUG    Thread-15    Sending {'SOAPACTION': 'urn:schemas-upnp-org:service:RenderingControl:1#GetTreble', '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:GetTreble xmlns:u="urn:schemas-upnp-org:service:RenderingControl:1">
          <InstanceID>0</InstanceID>
          <Channel>Master</Channel>
        </u:GetTreble>
      </s:Body>
    </s:Envelope>
     -- services.py:send_command:382
    2017-01-03 12:50:27,641 DEBUG    Thread-15    Starting new HTTP connection (1): 192.168.1.24 -- connectionpool.py:_new_conn:212
    2017-01-03 12:50:27,668 DEBUG    Thread-15    http://192.168.1.24:1400 "POST /MediaRenderer/RenderingControl/Control HTTP/1.1" 200 287 -- connectionpool.py:_make_request:400
    2017-01-03 12:50:27,693 DEBUG    Thread-15    Received {'CONTENT-LENGTH': '287', 'Connection': 'close', 'CONTENT-TYPE': 'text/xml; charset="utf-8"', 'Server': 'Linux UPnP/1.0 Sonos/34.7-35162c (ZPS12)', 'EXT': ''}, <s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><s:Body><u:GetTrebleResponse xmlns:u="urn:schemas-upnp-org:service:RenderingControl:1"><CurrentTreble>0</CurrentTreble></u:GetTrebleResponse></s:Body></s:Envelope> -- services.py:send_command:389
    2017-01-03 12:50:27,702 INFO     Thread-15    Received status 200 from 192.168.1.24 -- services.py:send_command:392
    2017-01-03 12:50:27,713 INFO     Thread-15    Sending GetLoudness [('InstanceID', 0), ('Channel', 'Master')] to 192.168.1.24 -- services.py:send_command:381
    2017-01-03 12:50:27,731 DEBUG    Thread-15    Sending {'SOAPACTION': 'urn:schemas-upnp-org:service:RenderingControl:1#GetLoudness', '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:GetLoudness xmlns:u="urn:schemas-upnp-org:service:RenderingControl:1">
          <InstanceID>0</InstanceID>
          <Channel>Master</Channel>
        </u:GetLoudness>
      </s:Body>
    </s:Envelope>
     -- services.py:send_command:382
    2017-01-03 12:50:27,794 DEBUG    Thread-15    Starting new HTTP connection (1): 192.168.1.24 -- connectionpool.py:_new_conn:212
    2017-01-03 12:50:27,822 DEBUG    Thread-15    http://192.168.1.24:1400 "POST /MediaRenderer/RenderingControl/Control HTTP/1.1" 200 295 -- connectionpool.py:_make_request:400
    2017-01-03 12:50:27,846 DEBUG    Thread-15    Received {'CONTENT-LENGTH': '295', 'Connection': 'close', 'CONTENT-TYPE': 'text/xml; charset="utf-8"', 'Server': 'Linux UPnP/1.0 Sonos/34.7-35162c (ZPS12)', 'EXT': ''}, <s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><s:Body><u:GetLoudnessResponse xmlns:u="urn:schemas-upnp-org:service:RenderingControl:1"><CurrentLoudness>1</CurrentLoudness></u:GetLoudnessResponse></s:Body></s:Envelope> -- services.py:send_command:389
    2017-01-03 12:50:27,855 INFO     Thread-15    Received status 200 from 192.168.1.24 -- services.py:send_command:392
    2017-01-03 12:50:27,865 DEBUG    Thread-15    Dispatching method GetTransportInfo -- services.py:__getattr__:195
    2017-01-03 12:50:27,873 INFO     Thread-15    Sending GetTransportInfo [('InstanceID', 0)] to 192.168.1.24 -- services.py:send_command:381
    2017-01-03 12:50:27,890 DEBUG    Thread-15    Sending {'SOAPACTION': 'urn:schemas-upnp-org:service:AVTransport:1#GetTransportInfo', '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:GetTransportInfo xmlns:u="urn:schemas-upnp-org:service:AVTransport:1">
          <InstanceID>0</InstanceID>
        </u:GetTransportInfo>
      </s:Body>
    </s:Envelope>
     -- services.py:send_command:382
    2017-01-03 12:50:27,956 DEBUG    Thread-15    Starting new HTTP connection (1): 192.168.1.24 -- connectionpool.py:_new_conn:212
    2017-01-03 12:50:27,989 DEBUG    Thread-15    http://192.168.1.24:1400 "POST /MediaRenderer/AVTransport/Control HTTP/1.1" 200 399 -- connectionpool.py:_make_request:400
    2017-01-03 12:50:28,014 DEBUG    Thread-15    Received {'CONTENT-LENGTH': '399', 'Connection': 'close', 'CONTENT-TYPE': 'text/xml; charset="utf-8"', 'Server': 'Linux UPnP/1.0 Sonos/34.7-35162c (ZPS12)', 'EXT': ''}, <s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><s:Body><u:GetTransportInfoResponse xmlns:u="urn:schemas-upnp-org:service:AVTransport:1"><CurrentTransportState>STOPPED</CurrentTransportState><CurrentTransportStatus>OK</CurrentTransportStatus><CurrentSpeed>1</CurrentSpeed></u:GetTransportInfoResponse></s:Body></s:Envelope> -- services.py:send_command:389
    2017-01-03 12:50:28,024 INFO     Thread-15    Received status 200 from 192.168.1.24 -- services.py:send_command:392
    2017-01-03 12:50:28,035 INFO     Thread-15    Sending GetZoneGroupState None to 192.168.1.24 -- services.py:send_command:381
    2017-01-03 12:50:28,051 DEBUG    Thread-15    Sending {'SOAPACTION': 'urn:schemas-upnp-org:service:ZoneGroupTopology:1#GetZoneGroupState', '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:GetZoneGroupState xmlns:u="urn:schemas-upnp-org:service:ZoneGroupTopology:1"/>
      </s:Body>
    </s:Envelope>
     -- services.py:send_command:382
    2017-01-03 12:50:28,114 DEBUG    Thread-15    Starting new HTTP connection (1): 192.168.1.24 -- connectionpool.py:_new_conn:212
    2017-01-03 12:50:28,148 DEBUG    Thread-15    http://192.168.1.24:1400 "POST /ZoneGroupTopology/Control HTTP/1.1" 200 1130 -- connectionpool.py:_make_request:400
    2017-01-03 12:50:28,173 DEBUG    Thread-15    Received {'CONTENT-LENGTH': '1130', 'Connection': 'close', 'CONTENT-TYPE': 'text/xml; charset="utf-8"', 'Server': 'Linux UPnP/1.0 Sonos/34.7-35162c (ZPS12)', 'EXT': ''}, <s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><s:Body><u:GetZoneGroupStateResponse xmlns:u="urn:schemas-upnp-org:service:ZoneGroupTopology:1"><ZoneGroupState>&lt;ZoneGroups&gt;&lt;ZoneGroup Coordinator=&quot;RINCON_949F3E7072DC01400&quot; ID=&quot;RINCON_949F3E7072DC01400:0&quot;&gt;&lt;ZoneGroupMember UUID=&quot;RINCON_949F3E7072DC01400&quot; Location=&quot;http://192.168.1.24:1400/xml/device_description.xml&quot; ZoneName=&quot;Wohnzimmer&quot; Icon=&quot;x-rincon-roomicon:living&quot; Configuration=&quot;1&quot; SoftwareVersion=&quot;34.7-35162c&quot; MinCompatibleVersion=&quot;33.0-00000&quot; LegacyCompatibleVersion=&quot;25.0-00000&quot; BootSeq=&quot;6&quot; WirelessMode=&quot;1&quot; WirelessLeafOnly=&quot;0&quot; HasConfiguredSSID=&quot;1&quot; ChannelFreq=&quot;2437&quot; BehindWifiExtender=&quot;0&quot; WifiEnabled=&quot;1&quot; Orientation=&quot;0&quot; RoomCalibrationState=&quot;4&quot; SecureRegState=&quot;3&quot;/&gt;&lt;/ZoneGroup&gt;&lt;/ZoneGroups&gt;</ZoneGroupState></u:GetZoneGroupStateResponse></s:Body></s:Envelope> -- services.py:send_command:389
    2017-01-03 12:50:28,182 INFO     Thread-15    Received status 200 from 192.168.1.24 -- services.py:send_command:392
    2017-01-03 12:50:28,193 DEBUG    Thread-15    Cache hit -- services.py:send_command:377
    2017-01-03 12:50:28,206 DEBUG    Thread-15    Dispatching method AddURIToQueue -- services.py:__getattr__:195
    2017-01-03 12:50:28,215 INFO     Thread-15    Sending AddURIToQueue [('InstanceID', 0), ('EnqueuedURI', 'x-rincon-mp3radio://192.168.1.13:8080/googletts/ZGVfX3Rlc3QgdHRz.mp3'), ('EnqueuedURIMetaData', '<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="" parentID="" restricted="true"><dc:title>Sonos Ansage</dc:title><res protocolInfo="x-rincon-playlist:*:*:*">x-rincon-mp3radio://192.168.1.13:8080/googletts/ZGVfX3Rlc3QgdHRz.mp3</res><upnp:class>object</upnp:class><desc id="cdudn" nameSpace="urn:schemas-rinconnetworks-com:metadata-1-0/">RINCON_AssociatedZPUDN</desc></item></DIDL-Lite>'), ('DesiredFirstTrackNumberEnqueued', 0), ('EnqueueAsNext', 1)] to 192.168.1.24 -- services.py:send_command:381
    2017-01-03 12:50:28,238 DEBUG    Thread-15    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-rincon-mp3radio://192.168.1.13:8080/googletts/ZGVfX3Rlc3QgdHRz.mp3</EnqueuedURI>
          <EnqueuedURIMetaData>&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;&quot; parentID=&quot;&quot; restricted=&quot;true&quot;&gt;&lt;dc:title&gt;Sonos Ansage&lt;/dc:title&gt;&lt;res protocolInfo=&quot;x-rincon-playlist:*:*:*&quot;&gt;x-rincon-mp3radio://192.168.1.13:8080/googletts/ZGVfX3Rlc3QgdHRz.mp3&lt;/res&gt;&lt;upnp:class&gt;object&lt;/upnp:class&gt;&lt;desc id=&quot;cdudn&quot; nameSpace=&quot;urn:schemas-rinconnetworks-com:metadata-1-0/&quot;&gt;RINCON_AssociatedZPUDN&lt;/desc&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:382
    2017-01-03 12:50:28,305 DEBUG    Thread-15    Starting new HTTP connection (1): 192.168.1.24 -- connectionpool.py:_new_conn:212
    2017-01-03 12:50:28,359 DEBUG    Thread-15    http://192.168.1.24:1400 "POST /MediaRenderer/AVTransport/Control HTTP/1.1" 200 382 -- connectionpool.py:_make_request:400
    2017-01-03 12:50:28,386 DEBUG    Thread-15    Received {'CONTENT-LENGTH': '382', 'Connection': 'close', 'CONTENT-TYPE': 'text/xml; charset="utf-8"', 'Server': 'Linux UPnP/1.0 Sonos/34.7-35162c (ZPS12)', 'EXT': ''}, <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>21</FirstTrackNumberEnqueued><NumTracksAdded>5</NumTracksAdded><NewQueueLength>25</NewQueueLength></u:AddURIToQueueResponse></s:Body></s:Envelope> -- services.py:send_command:389
    2017-01-03 12:50:28,394 INFO     Thread-15    Received status 200 from 192.168.1.24 -- services.py:send_command:392
    2017-01-03 12:50:28,405 DEBUG    Thread-15    Cache hit -- services.py:send_command:377
    2017-01-03 12:50:28,411 DEBUG    Thread-15    Dispatching method Stop -- services.py:__getattr__:195
    2017-01-03 12:50:28,420 INFO     Thread-15    Sending Stop [('InstanceID', 0), ('Speed', 1)] to 192.168.1.24 -- services.py:send_command:381
    2017-01-03 12:50:28,438 DEBUG    Thread-15    Sending {'SOAPACTION': 'urn:schemas-upnp-org:service:AVTransport:1#Stop', '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:Stop xmlns:u="urn:schemas-upnp-org:service:AVTransport:1">
          <InstanceID>0</InstanceID>
          <Speed>1</Speed>
        </u:Stop>
      </s:Body>
    </s:Envelope>
     -- services.py:send_command:382
    2017-01-03 12:50:28,508 DEBUG    Thread-15    Starting new HTTP connection (1): 192.168.1.24 -- connectionpool.py:_new_conn:212
    2017-01-03 12:50:28,537 DEBUG    Thread-15    http://192.168.1.24:1400 "POST /MediaRenderer/AVTransport/Control HTTP/1.1" 200 240 -- connectionpool.py:_make_request:400
    2017-01-03 12:50:28,562 DEBUG    Thread-15    Received {'CONTENT-LENGTH': '240', 'Connection': 'close', 'CONTENT-TYPE': 'text/xml; charset="utf-8"', 'Server': 'Linux UPnP/1.0 Sonos/34.7-35162c (ZPS12)', 'EXT': ''}, <s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><s:Body><u:StopResponse xmlns:u="urn:schemas-upnp-org:service:AVTransport:1"></u:StopResponse></s:Body></s:Envelope> -- services.py:send_command:389
    2017-01-03 12:50:28,571 INFO     Thread-15    Received status 200 from 192.168.1.24 -- services.py:send_command:392
    2017-01-03 12:50:29,582 DEBUG    Thread-15    Playing snippet 'x-rincon-mp3radio://192.168.1.13:8080/googletts/ZGVfX3Rlc3QgdHRz.mp3'. Volume: 50 -- sonos_speaker.py:play_snippet:1298
    2017-01-03 12:50:29,589 DEBUG    Thread-15    Dispatching method SetVolume -- services.py:__getattr__:195
    2017-01-03 12:50:29,597 INFO     Thread-15    Sending SetVolume [('InstanceID', 0), ('Channel', 'Master'), ('DesiredVolume', 50)] to 192.168.1.24 -- services.py:send_command:381
    2017-01-03 12:50:29,617 DEBUG    Thread-15    Sending {'SOAPACTION': 'urn:schemas-upnp-org:service:RenderingControl:1#SetVolume', '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:SetVolume xmlns:u="urn:schemas-upnp-org:service:RenderingControl:1">
          <InstanceID>0</InstanceID>
          <Channel>Master</Channel>
          <DesiredVolume>50</DesiredVolume>
        </u:SetVolume>
      </s:Body>
    </s:Envelope>
     -- services.py:send_command:382
    2017-01-03 12:50:29,682 DEBUG    Thread-15    Starting new HTTP connection (1): 192.168.1.24 -- connectionpool.py:_new_conn:212
    2017-01-03 12:50:29,710 DEBUG    Thread-15    http://192.168.1.24:1400 "POST /MediaRenderer/RenderingControl/Control HTTP/1.1" 200 255 -- connectionpool.py:_make_request:400
    2017-01-03 12:50:29,749 INFO     Thread-16    Event 1 received for RenderingControl service on thread <Thread(Thread-16, started -1317276576)> at 1483444229.7398417 -- events.py:do_NOTIFY:227
    2017-01-03 12:50:29,760 DEBUG    Thread-15    Received {'CONTENT-LENGTH': '255', 'Connection': 'close', 'CONTENT-TYPE': 'text/xml; charset="utf-8"', 'Server': 'Linux UPnP/1.0 Sonos/34.7-35162c (ZPS12)', 'EXT': ''}, <s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><s:Body><u:SetVolumeResponse xmlns:u="urn:schemas-upnp-org:service:RenderingControl:1"></u:SetVolumeResponse></s:Body></s:Envelope> -- services.py:send_command:389
    2017-01-03 12:50:29,765 DEBUG    Thread-16    Event content: b'<e:propertyset xmlns:e="urn:schemas-upnp-org:event-1-0"><e:property><LastChange>&lt;Event xmlns=&quot;urn:schemas-upnp-org:metadata-1-0/RCS/&quot;&gt;&lt;InstanceID val=&quot;0&quot;&gt;&lt;Volume channel=&quot;Master&quot; val=&quot;50&quot;/&gt;&lt;Volume channel=&quot;LF&quot; val=&quot;100&quot;/&gt;&lt;Volume channel=&quot;RF&quot; val=&quot;100&quot;/&gt;&lt;/InstanceID&gt;&lt;/Event&gt;</LastChange></e:property></e:propertyset>' -- events.py:do_NOTIFY:228
    2017-01-03 12:50:29,785 INFO     Thread-15    Received status 200 from 192.168.1.24 -- services.py:send_command:392
    2017-01-03 12:50:29,798 DEBUG    Thread-16    "NOTIFY / HTTP/1.1" 200 - -- events.py:log_message:249
    2017-01-03 12:50:29,807 INFO     Thread-1     registered clients: 192.168.1.13:[5005] -- udp_broker.py:udp_send:43
    2017-01-03 12:50:29,814 DEBUG    Thread-15    Cache hit -- services.py:send_command:377
    2017-01-03 12:50:29,831 INFO     Thread-1     sending sonos speaker data: {
        "pause": 0,
        "play": 0,
        "stop": 1,
        "uid": "rincon_949f3e7072dc01400",
        "volume": 50
    } -- udp_broker.py:udp_send:44
    2017-01-03 12:50:29,835 DEBUG    Thread-15    Dispatching method SetAVTransportURI -- services.py:__getattr__:195
    2017-01-03 12:50:29,861 INFO     Thread-15    Sending SetAVTransportURI [('InstanceID', 0), ('CurrentURI', 'x-rincon-queue:RINCON_949F3E7072DC01400#0'), ('CurrentURIMetaData', '')] to 192.168.1.24 -- services.py:send_command:381
    2017-01-03 12:50:29,882 DEBUG    Thread-15    Sending {'SOAPACTION': 'urn:schemas-upnp-org:service:AVTransport:1#SetAVTransportURI', '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:SetAVTransportURI xmlns:u="urn:schemas-upnp-org:service:AVTransport:1">
          <InstanceID>0</InstanceID>
          <CurrentURI>x-rincon-queue:RINCON_949F3E7072DC01400#0</CurrentURI>
          <CurrentURIMetaData/>
        </u:SetAVTransportURI>
      </s:Body>
    </s:Envelope>
     -- services.py:send_command:382
    2017-01-03 12:50:29,958 DEBUG    Thread-15    Starting new HTTP connection (1): 192.168.1.24 -- connectionpool.py:_new_conn:212
    2017-01-03 12:50:29,990 DEBUG    Thread-15    http://192.168.1.24:1400 "POST /MediaRenderer/AVTransport/Control HTTP/1.1" 200 266 -- connectionpool.py:_make_request:400
    2017-01-03 12:50:30,036 INFO     Thread-17    Event 1 received for AVTransport service on thread <Thread(Thread-17, started -1317276576)> at 1483444230.0321689 -- events.py:do_NOTIFY:227
    2017-01-03 12:50:30,053 DEBUG    Thread-17    Event content: b'<e:propertyset xmlns:e="urn:schemas-upnp-org:event-1-0"><e:property><LastChange>&lt;Event xmlns=&quot;urn:schemas-upnp-org:metadata-1-0/AVT/&quot; xmlns:r=&quot;urn:schemas-rinconnetworks-com:metadata-1-0/&quot;&gt;&lt;InstanceID val=&quot;0&quot;&gt;&lt;TransportState val=&quot;STOPPED&quot;/&gt;&lt;CurrentPlayMode val=&quot;NORMAL&quot;/&gt;&lt;CurrentCrossfadeMode val=&quot;0&quot;/&gt;&lt;NumberOfTracks val=&quot;25&quot;/&gt;&lt;CurrentTrack val=&quot;1&quot;/&gt;&lt;CurrentSection val=&quot;0&quot;/&gt;&lt;CurrentTrackURI val=&quot;hls-radio://192.168.1.13:8080/googletts/ZGVfX2hhaGFoYQ==.mp3&quot;/&gt;&lt;CurrentTrackDuration val=&quot;0:00:00&quot;/&gt;&lt;CurrentTrackMetaData val=&quot;&amp;lt;DIDL-Lite xmlns:dc=&amp;quot;http://purl.org/dc/elements/1.1/&amp;quot; xmlns:upnp=&amp;quot;urn:schemas-upnp-org:metadata-1-0/upnp/&amp;quot; xmlns:r=&amp;quot;urn:schemas-rinconnetworks-com:metadata-1-0/&amp;quot; xmlns=&amp;quot;urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/&amp;quot;&amp;gt;&amp;lt;item id=&amp;quot;-1&amp;quot; parentID=&amp;quot;-1&amp;quot; restricted=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;res protocolInfo=&amp;quot;sonos.com-hls-radio:*:application/x-mpegURL:*&amp;quot;&amp;gt;hls-radio://192.168.1.13:8080/googletts/ZGVfX2hhaGFoYQ==.mp3&amp;lt;/res&amp;gt;&amp;lt;r:streamContent&amp;gt;&amp;lt;/r:streamContent&amp;gt;&amp;lt;r:radioShowMd&amp;gt;&amp;lt;/r:radioShowMd&amp;gt;&amp;lt;upnp:albumArtURI&amp;gt;/getaa?u=hls-radio%3a%2f%2f192.168.1.13%3a8080%2fgoogletts%2fZGVfX2hhaGFoYQ%3d%3d.mp3&amp;amp;amp;v=0&amp;lt;/upnp:albumArtURI&amp;gt;&amp;lt;dc:title&amp;gt;ZGVfX2hhaGFoYQ==.mp3&amp;lt;/dc:title&amp;gt;&amp;lt;upnp:class&amp;gt;object.item.audioItem.musicTrack&amp;lt;/upnp:class&amp;gt;&amp;lt;/item&amp;gt;&amp;lt;/DIDL-Lite&amp;gt;&quot;/&gt;&lt;r:NextTrackURI val=&quot;mms://192.168.1.13:8080/googletts/ZGVfX2hhaGFoYQ==.mp3&quot;/&gt;&lt;r:NextTrackMetaData val=&quot;&amp;lt;DIDL-Lite xmlns:dc=&amp;quot;http://purl.org/dc/elements/1.1/&amp;quot; xmlns:upnp=&amp;quot;urn:schemas-upnp-org:metadata-1-0/upnp/&amp;quot; xmlns:r=&amp;quot;urn:schemas-rinconnetworks-com:metadata-1-0/&amp;quot; xmlns=&amp;quot;urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/&amp;quot;&amp;gt;&amp;lt;item id=&amp;quot;-1&amp;quot; parentID=&amp;quot;-1&amp;quot; restricted=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;res protocolInfo=&amp;quot;mms:*:*:*&amp;quot;&amp;gt;mms://192.168.1.13:8080/googletts/ZGVfX2hhaGFoYQ==.mp3&amp;lt;/res&amp;gt;&amp;lt;upnp:albumArtURI&amp;gt;/getaa?u=mms%3a%2f%2f192.168.1.13%3a8080%2fgoogletts%2fZGVfX2hhaGFoYQ%3d%3d.mp3&amp;amp;amp;v=0&amp;lt;/upnp:albumArtURI&amp;gt;&amp;lt;dc:title&amp;gt;ZGVfX2hhaGFoYQ==.mp3&amp;lt;/dc:title&amp;gt;&amp;lt;upnp:class&amp;gt;object.item&amp;lt;/upnp:class&amp;gt;&amp;lt;/item&amp;gt;&amp;lt;/DIDL-Lite&amp;gt;&quot;/&gt;&lt;r:EnqueuedTransportURI val=&quot;hls-radio://192.168.1.13:8080/googletts/ZGVfX2hhaGFoYQ==.mp3&quot;/&gt;&lt;r:EnqueuedTransportURIMetaData val=&quot;&amp;lt;DIDL-Lite xmlns=&amp;quot;urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/&amp;quot; xmlns:dc=&amp;quot;http://purl.org/dc/elements/1.1/&amp;quot; xmlns:upnp=&amp;quot;urn:schemas-upnp-org:metadata-1-0/upnp/&amp;quot;&amp;gt;&amp;lt;item id=&amp;quot;&amp;quot; parentID=&amp;quot;&amp;quot; restricted=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;dc:title&amp;gt;Sonos Ansage&amp;lt;/dc:title&amp;gt;&amp;lt;res protocolInfo=&amp;quot;x-rincon-playlist:*:*:*&amp;quot;&amp;gt;x-rincon-mp3radio://192.168.1.13:8080/googletts/ZGVfX2hhaGFoYQ==.mp3&amp;lt;/res&amp;gt;&amp;lt;upnp:class&amp;gt;object&amp;lt;/upnp:class&amp;gt;&amp;lt;desc id=&amp;quot;cdudn&amp;quot; nameSpace=&amp;quot;urn:schemas-rinconnetworks-com:metadata-1-0/&amp;quot;&amp;gt;RINCON_AssociatedZPUDN&amp;lt;/desc&amp;gt;&amp;lt;/item&amp;gt;&amp;lt;/DIDL-Lite&amp;gt;&quot;/&gt;&lt;PlaybackStorageMedium val=&quot;NETWORK&quot;/&gt;&lt;AVTransportURI val=&quot;x-rincon-queue:RINCON_949F3E7072DC01400#0&quot;/&gt;&lt;AVTransportURIMetaData val=&quot;&quot;/&gt;&lt;CurrentTransportActions val=&quot;Set, Stop, Pause, Play, X_DLNA_SeekTime, Next, X_DLNA_SeekTrackNr&quot;/&gt;&lt;r:CurrentValidPlayModes val=&quot;SHUFFLE,REPEAT,REPEATONE,CROSSFADE&quot;/&gt;&lt;/InstanceID&gt;&lt;/Event&gt;</LastChange></e:property></e:propertyset>' -- events.py:do_NOTIFY:228
    2017-01-03 12:50:30,049 DEBUG    Thread-15    Received {'CONTENT-LENGTH': '266', 'Connection': 'close', 'CONTENT-TYPE': 'text/xml; charset="utf-8"', 'Server': 'Linux UPnP/1.0 Sonos/34.7-35162c (ZPS12)', 'EXT': ''}, <s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><s:Body><u:SetAVTransportURIResponse xmlns:u="urn:schemas-upnp-org:service:AVTransport:1"></u:SetAVTransportURIResponse></s:Body></s:Envelope> -- services.py:send_command:389
    2017-01-03 12:50:30,083 INFO     Thread-15    Received status 200 from 192.168.1.24 -- services.py:send_command:392
    2017-01-03 12:50:30,108 DEBUG    Thread-15    Dispatching method Seek -- services.py:__getattr__:195
    2017-01-03 12:50:30,126 INFO     Thread-15    Sending Seek [('InstanceID', 0), ('Unit', 'TRACK_NR'), ('Target', 21)] to 192.168.1.24 -- services.py:send_command:381
    2017-01-03 12:50:30,140 DEBUG    Thread-17    "NOTIFY / HTTP/1.1" 200 - -- events.py:log_message:249
    2017-01-03 12:50:30,148 INFO     Thread-1     registered clients: 192.168.1.13:[5005] -- udp_broker.py:udp_send:43
    2017-01-03 12:50:30,173 DEBUG    Thread-15    Sending {'SOAPACTION': 'urn:schemas-upnp-org:service:AVTransport:1#Seek', '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:Seek xmlns:u="urn:schemas-upnp-org:service:AVTransport:1">
          <InstanceID>0</InstanceID>
          <Unit>TRACK_NR</Unit>
          <Target>21</Target>
        </u:Seek>
      </s:Body>
    </s:Envelope>
     -- services.py:send_command:382
    2017-01-03 12:50:30,183 INFO     Thread-1     sending sonos speaker data: {
        "playlist_position": "1",
        "playlist_total_tracks": "25",
        "streamtype": "music",
        "track_album_art": "http://192.168.1.24:1400/getaa?u=hls-radio%3a%2f%2f192.168.1.13%3a8080%2fgoogletts%2fZGVfX2hhaGFoYQ%3d%3d.mp3&v=0",
        "track_duration": "0:00:00",
        "track_title": "ZGVfX2hhaGFoYQ==.mp3",
        "track_uri": "hls-radio://192.168.1.13:8080/googletts/ZGVfX2hhaGFoYQ==.mp3",
        "uid": "rincon_949f3e7072dc01400"
    } -- udp_broker.py:udp_send:44
    2017-01-03 12:50:30,268 DEBUG    Thread-15    Starting new HTTP connection (1): 192.168.1.24 -- connectionpool.py:_new_conn:212
    2017-01-03 12:50:30,298 DEBUG    Thread-15    http://192.168.1.24:1400 "POST /MediaRenderer/AVTransport/Control HTTP/1.1" 200 240 -- connectionpool.py:_make_request:400
    2017-01-03 12:50:30,346 INFO     Thread-18    Event 2 received for AVTransport service on thread <Thread(Thread-18, started -1317276576)> at 1483444230.3421447 -- events.py:do_NOTIFY:227
    2017-01-03 12:50:30,339 DEBUG    Thread-15    Received {'CONTENT-LENGTH': '240', 'Connection': 'close', 'CONTENT-TYPE': 'text/xml; charset="utf-8"', 'Server': 'Linux UPnP/1.0 Sonos/34.7-35162c (ZPS12)', 'EXT': ''}, <s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><s:Body><u:SeekResponse xmlns:u="urn:schemas-upnp-org:service:AVTransport:1"></u:SeekResponse></s:Body></s:Envelope> -- services.py:send_command:389
    2017-01-03 12:50:30,359 DEBUG    Thread-18    Event content: b'<e:propertyset xmlns:e="urn:schemas-upnp-org:event-1-0"><e:property><LastChange>&lt;Event xmlns=&quot;urn:schemas-upnp-org:metadata-1-0/AVT/&quot; xmlns:r=&quot;urn:schemas-rinconnetworks-com:metadata-1-0/&quot;&gt;&lt;InstanceID val=&quot;0&quot;&gt;&lt;TransportState val=&quot;STOPPED&quot;/&gt;&lt;CurrentPlayMode val=&quot;NORMAL&quot;/&gt;&lt;CurrentCrossfadeMode val=&quot;0&quot;/&gt;&lt;NumberOfTracks val=&quot;25&quot;/&gt;&lt;CurrentTrack val=&quot;21&quot;/&gt;&lt;CurrentSection val=&quot;0&quot;/&gt;&lt;CurrentTrackURI val=&quot;x-rincon-mp3radio://192.168.1.13:8080/googletts/ZGVfX3Rlc3QgdHRz.mp3&quot;/&gt;&lt;CurrentTrackDuration val=&quot;0:00:00&quot;/&gt;&lt;CurrentTrackMetaData val=&quot;&amp;lt;DIDL-Lite xmlns:dc=&amp;quot;http://purl.org/dc/elements/1.1/&amp;quot; xmlns:upnp=&amp;quot;urn:schemas-upnp-org:metadata-1-0/upnp/&amp;quot; xmlns:r=&amp;quot;urn:schemas-rinconnetworks-com:metadata-1-0/&amp;quot; xmlns=&amp;quot;urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/&amp;quot;&amp;gt;&amp;lt;item id=&amp;quot;-1&amp;quot; parentID=&amp;quot;-1&amp;quot; restricted=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;res protocolInfo=&amp;quot;x-rincon-mp3radio:*:*:*&amp;quot;&amp;gt;x-rincon-mp3radio://192.168.1.13:8080/googletts/ZGVfX3Rlc3QgdHRz.mp3&amp;lt;/res&amp;gt;&amp;lt;r:streamContent&amp;gt;&amp;lt;/r:streamContent&amp;gt;&amp;lt;r:radioShowMd&amp;gt;&amp;lt;/r:radioShowMd&amp;gt;&amp;lt;dc:title&amp;gt;ZGVfX3Rlc3QgdHRz.mp3&amp;lt;/dc:title&amp;gt;&amp;lt;upnp:class&amp;gt;object.item&amp;lt;/upnp:class&amp;gt;&amp;lt;/item&amp;gt;&amp;lt;/DIDL-Lite&amp;gt;&quot;/&gt;&lt;r:NextTrackURI val=&quot;hls-radio://192.168.1.13:8080/googletts/ZGVfX3Rlc3QgdHRz.mp3&quot;/&gt;&lt;r:NextTrackMetaData val=&quot;&amp;lt;DIDL-Lite xmlns:dc=&amp;quot;http://purl.org/dc/elements/1.1/&amp;quot; xmlns:upnp=&amp;quot;urn:schemas-upnp-org:metadata-1-0/upnp/&amp;quot; xmlns:r=&amp;quot;urn:schemas-rinconnetworks-com:metadata-1-0/&amp;quot; xmlns=&amp;quot;urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/&amp;quot;&amp;gt;&amp;lt;item id=&amp;quot;-1&amp;quot; parentID=&amp;quot;-1&amp;quot; restricted=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;res protocolInfo=&amp;quot;sonos.com-hls-radio:*:application/x-mpegURL:*&amp;quot;&amp;gt;hls-radio://192.168.1.13:8080/googletts/ZGVfX3Rlc3QgdHRz.mp3&amp;lt;/res&amp;gt;&amp;lt;upnp:albumArtURI&amp;gt;/getaa?u=hls-radio%3a%2f%2f192.168.1.13%3a8080%2fgoogletts%2fZGVfX3Rlc3QgdHRz.mp3&amp;amp;amp;v=0&amp;lt;/upnp:albumArtURI&amp;gt;&amp;lt;dc:title&amp;gt;ZGVfX3Rlc3QgdHRz.mp3&amp;lt;/dc:title&amp;gt;&amp;lt;upnp:class&amp;gt;object.item.audioItem.musicTrack&amp;lt;/upnp:class&amp;gt;&amp;lt;/item&amp;gt;&amp;lt;/DIDL-Lite&amp;gt;&quot;/&gt;&lt;r:EnqueuedTransportURI val=&quot;x-rincon-mp3radio://192.168.1.13:8080/googletts/ZGVfX3Rlc3QgdHRz.mp3&quot;/&gt;&lt;r:EnqueuedTransportURIMetaData val=&quot;&amp;lt;DIDL-Lite xmlns=&amp;quot;urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/&amp;quot; xmlns:dc=&amp;quot;http://purl.org/dc/elements/1.1/&amp;quot; xmlns:upnp=&amp;quot;urn:schemas-upnp-org:metadata-1-0/upnp/&amp;quot;&amp;gt;&amp;lt;item id=&amp;quot;&amp;quot; parentID=&amp;quot;&amp;quot; restricted=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;dc:title&amp;gt;Sonos Ansage&amp;lt;/dc:title&amp;gt;&amp;lt;res protocolInfo=&amp;quot;x-rincon-playlist:*:*:*&amp;quot;&amp;gt;x-rincon-mp3radio://192.168.1.13:8080/googletts/ZGVfX3Rlc3QgdHRz.mp3&amp;lt;/res&amp;gt;&amp;lt;upnp:class&amp;gt;object&amp;lt;/upnp:class&amp;gt;&amp;lt;desc id=&amp;quot;cdudn&amp;quot; nameSpace=&amp;quot;urn:schemas-rinconnetworks-com:metadata-1-0/&amp;quot;&amp;gt;RINCON_AssociatedZPUDN&amp;lt;/desc&amp;gt;&amp;lt;/item&amp;gt;&amp;lt;/DIDL-Lite&amp;gt;&quot;/&gt;&lt;CurrentTransportActions val=&quot;Set, Stop, Pause, Play, X_DLNA_SeekTime, Next, Previous, X_DLNA_SeekTrackNr&quot;/&gt;&lt;/InstanceID&gt;&lt;/Event&gt;</LastChange></e:property></e:propertyset>' -- events.py:do_NOTIFY:228
    2017-01-03 12:50:30,369 INFO     Thread-15    Received status 200 from 192.168.1.24 -- services.py:send_command:392
    2017-01-03 12:50:30,399 DEBUG    Thread-15    Cache hit -- services.py:send_command:377
    2017-01-03 12:50:30,423 DEBUG    Thread-15    Dispatching method Play -- services.py:__getattr__:195
    2017-01-03 12:50:30,443 INFO     Thread-15    Sending Play [('InstanceID', 0), ('Speed', 1)] to 192.168.1.24 -- services.py:send_command:381
    2017-01-03 12:50:30,429 DEBUG    Thread-18    "NOTIFY / HTTP/1.1" 200 - -- events.py:log_message:249
    2017-01-03 12:50:30,438 INFO     Thread-1     registered clients: 192.168.1.13:[5005] -- udp_broker.py:udp_send:43
    2017-01-03 12:50:30,465 INFO     Thread-1     sending sonos speaker data: {
        "playlist_position": "21",
        "track_album_art": "",
        "track_title": "ZGVfX3Rlc3QgdHRz.mp3",
        "track_uri": "x-rincon-mp3radio://192.168.1.13:8080/googletts/ZGVfX3Rlc3QgdHRz.mp3",
        "uid": "rincon_949f3e7072dc01400"
    } -- udp_broker.py:udp_send:44
    2017-01-03 12:50:30,481 DEBUG    Thread-15    Sending {'SOAPACTION': 'urn:schemas-upnp-org:service:AVTransport:1#Play', '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:Play xmlns:u="urn:schemas-upnp-org:service:AVTransport:1">
          <InstanceID>0</InstanceID>
          <Speed>1</Speed>
        </u:Play>
      </s:Body>
    </s:Envelope>
     -- services.py:send_command:382
    2017-01-03 12:50:30,566 DEBUG    Thread-15    Starting new HTTP connection (1): 192.168.1.24 -- connectionpool.py:_new_conn:212
    2017-01-03 12:50:30,603 DEBUG    Thread-15    http://192.168.1.24:1400 "POST /MediaRenderer/AVTransport/Control HTTP/1.1" 200 240 -- connectionpool.py:_make_request:400
    2017-01-03 12:50:30,686 DEBUG    Thread-15    Received {'CONTENT-LENGTH': '240', 'Connection': 'close', 'CONTENT-TYPE': 'text/xml; charset="utf-8"', 'Server': 'Linux UPnP/1.0 Sonos/34.7-35162c (ZPS12)', 'EXT': ''}, <s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><s:Body><u:PlayResponse xmlns:u="urn:schemas-upnp-org:service:AVTransport:1"></u:PlayResponse></s:Body></s:Envelope> -- services.py:send_command:389
    2017-01-03 12:50:30,702 INFO     Thread-15    Received status 200 from 192.168.1.24 -- services.py:send_command:392
    2017-01-03 12:50:30,698 INFO     Thread-19    Event 3 received for AVTransport service on thread <Thread(Thread-19, started -1317276576)> at 1483444230.6920254 -- events.py:do_NOTIFY:227
    2017-01-03 12:50:30,718 DEBUG    Thread-19    Event content: b'<e:propertyset xmlns:e="urn:schemas-upnp-org:event-1-0"><e:property><LastChange>&lt;Event xmlns=&quot;urn:schemas-upnp-org:metadata-1-0/AVT/&quot; xmlns:r=&quot;urn:schemas-rinconnetworks-com:metadata-1-0/&quot;&gt;&lt;InstanceID val=&quot;0&quot;&gt;&lt;TransportState val=&quot;TRANSITIONING&quot;/&gt;&lt;CurrentPlayMode val=&quot;NORMAL&quot;/&gt;&lt;CurrentCrossfadeMode val=&quot;0&quot;/&gt;&lt;NumberOfTracks val=&quot;25&quot;/&gt;&lt;CurrentTrack val=&quot;21&quot;/&gt;&lt;CurrentSection val=&quot;0&quot;/&gt;&lt;CurrentTrackURI val=&quot;x-rincon-mp3radio://192.168.1.13:8080/googletts/ZGVfX3Rlc3QgdHRz.mp3&quot;/&gt;&lt;CurrentTrackDuration val=&quot;0:00:00&quot;/&gt;&lt;CurrentTrackMetaData val=&quot;&amp;lt;DIDL-Lite xmlns:dc=&amp;quot;http://purl.org/dc/elements/1.1/&amp;quot; xmlns:upnp=&amp;quot;urn:schemas-upnp-org:metadata-1-0/upnp/&amp;quot; xmlns:r=&amp;quot;urn:schemas-rinconnetworks-com:metadata-1-0/&amp;quot; xmlns=&amp;quot;urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/&amp;quot;&amp;gt;&amp;lt;item id=&amp;quot;-1&amp;quot; parentID=&amp;quot;-1&amp;quot; restricted=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;res protocolInfo=&amp;quot;x-rincon-mp3radio:*:*:*&amp;quot;&amp;gt;x-rincon-mp3radio://192.168.1.13:8080/googletts/ZGVfX3Rlc3QgdHRz.mp3&amp;lt;/res&amp;gt;&amp;lt;r:streamContent&amp;gt;ZPSTR_CONNECTING&amp;lt;/r:streamContent&amp;gt;&amp;lt;r:radioShowMd&amp;gt;&amp;lt;/r:radioShowMd&amp;gt;&amp;lt;dc:title&amp;gt;ZGVfX3Rlc3QgdHRz.mp3&amp;lt;/dc:title&amp;gt;&amp;lt;upnp:class&amp;gt;object.item&amp;lt;/upnp:class&amp;gt;&amp;lt;/item&amp;gt;&amp;lt;/DIDL-Lite&amp;gt;&quot;/&gt;&lt;r:NextTrackURI val=&quot;hls-radio://192.168.1.13:8080/googletts/ZGVfX3Rlc3QgdHRz.mp3&quot;/&gt;&lt;r:NextTrackMetaData val=&quot;&amp;lt;DIDL-Lite xmlns:dc=&amp;quot;http://purl.org/dc/elements/1.1/&amp;quot; xmlns:upnp=&amp;quot;urn:schemas-upnp-org:metadata-1-0/upnp/&amp;quot; xmlns:r=&amp;quot;urn:schemas-rinconnetworks-com:metadata-1-0/&amp;quot; xmlns=&amp;quot;urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/&amp;quot;&amp;gt;&amp;lt;item id=&amp;quot;-1&amp;quot; parentID=&amp;quot;-1&amp;quot; restricted=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;res protocolInfo=&amp;quot;sonos.com-hls-radio:*:application/x-mpegURL:*&amp;quot;&amp;gt;hls-radio://192.168.1.13:8080/googletts/ZGVfX3Rlc3QgdHRz.mp3&amp;lt;/res&amp;gt;&amp;lt;upnp:albumArtURI&amp;gt;/getaa?u=hls-radio%3a%2f%2f192.168.1.13%3a8080%2fgoogletts%2fZGVfX3Rlc3QgdHRz.mp3&amp;amp;amp;v=0&amp;lt;/upnp:albumArtURI&amp;gt;&amp;lt;dc:title&amp;gt;ZGVfX3Rlc3QgdHRz.mp3&amp;lt;/dc:title&amp;gt;&amp;lt;upnp:class&amp;gt;object.item.audioItem.musicTrack&amp;lt;/upnp:class&amp;gt;&amp;lt;/item&amp;gt;&amp;lt;/DIDL-Lite&amp;gt;&quot;/&gt;&lt;r:EnqueuedTransportURI val=&quot;x-rincon-mp3radio://192.168.1.13:8080/googletts/ZGVfX3Rlc3QgdHRz.mp3&quot;/&gt;&lt;r:EnqueuedTransportURIMetaData val=&quot;&amp;lt;DIDL-Lite xmlns=&amp;quot;urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/&amp;quot; xmlns:dc=&amp;quot;http://purl.org/dc/elements/1.1/&amp;quot; xmlns:upnp=&amp;quot;urn:schemas-upnp-org:metadata-1-0/upnp/&amp;quot;&amp;gt;&amp;lt;item id=&amp;quot;&amp;quot; parentID=&amp;quot;&amp;quot; restricted=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;dc:title&amp;gt;Sonos Ansage&amp;lt;/dc:title&amp;gt;&amp;lt;res protocolInfo=&amp;quot;x-rincon-playlist:*:*:*&amp;quot;&amp;gt;x-rincon-mp3radio://192.168.1.13:8080/googletts/ZGVfX3Rlc3QgdHRz.mp3&amp;lt;/res&amp;gt;&amp;lt;upnp:class&amp;gt;object&amp;lt;/upnp:class&amp;gt;&amp;lt;desc id=&amp;quot;cdudn&amp;quot; nameSpace=&amp;quot;urn:schemas-rinconnetworks-com:metadata-1-0/&amp;quot;&amp;gt;RINCON_AssociatedZPUDN&amp;lt;/desc&amp;gt;&amp;lt;/item&amp;gt;&amp;lt;/DIDL-Lite&amp;gt;&quot;/&gt;&lt;/InstanceID&gt;&lt;/Event&gt;</LastChange></e:property></e:propertyset>' -- events.py:do_NOTIFY:228
    2017-01-03 12:50:30,761 DEBUG    Thread-19    "NOTIFY / HTTP/1.1" 200 - -- events.py:log_message:249
    2017-01-03 12:50:30,765 DEBUG    Thread-1     Dispatching method GetPositionInfo -- services.py:__getattr__:195
    2017-01-03 12:50:30,784 INFO     Thread-1     Sending GetPositionInfo [('InstanceID', 0), ('Channel', 'Master')] to 192.168.1.24 -- services.py:send_command:381
    2017-01-03 12:50:30,818 DEBUG    Thread-1     Sending {'SOAPACTION': 'urn:schemas-upnp-org:service:AVTransport:1#GetPositionInfo', '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:GetPositionInfo xmlns:u="urn:schemas-upnp-org:service:AVTransport:1">
          <InstanceID>0</InstanceID>
          <Channel>Master</Channel>
        </u:GetPositionInfo>
      </s:Body>
    </s:Envelope>
     -- services.py:send_command:382
    2017-01-03 12:50:30,826 INFO     Thread-20    Event 4 received for AVTransport service on thread <Thread(Thread-20, started -1317276576)> at 1483444230.8221138 -- events.py:do_NOTIFY:227
    2017-01-03 12:50:30,847 DEBUG    Thread-20    Event content: b'<e:propertyset xmlns:e="urn:schemas-upnp-org:event-1-0"><e:property><LastChange>&lt;Event xmlns=&quot;urn:schemas-upnp-org:metadata-1-0/AVT/&quot; xmlns:r=&quot;urn:schemas-rinconnetworks-com:metadata-1-0/&quot;&gt;&lt;InstanceID val=&quot;0&quot;&gt;&lt;TransportState val=&quot;TRANSITIONING&quot;/&gt;&lt;CurrentPlayMode val=&quot;NORMAL&quot;/&gt;&lt;CurrentCrossfadeMode val=&quot;0&quot;/&gt;&lt;NumberOfTracks val=&quot;25&quot;/&gt;&lt;CurrentTrack val=&quot;22&quot;/&gt;&lt;CurrentSection val=&quot;0&quot;/&gt;&lt;CurrentTrackURI val=&quot;hls-radio://192.168.1.13:8080/googletts/ZGVfX3Rlc3QgdHRz.mp3&quot;/&gt;&lt;CurrentTrackDuration val=&quot;0:00:00&quot;/&gt;&lt;CurrentTrackMetaData val=&quot;&amp;lt;DIDL-Lite xmlns:dc=&amp;quot;http://purl.org/dc/elements/1.1/&amp;quot; xmlns:upnp=&amp;quot;urn:schemas-upnp-org:metadata-1-0/upnp/&amp;quot; xmlns:r=&amp;quot;urn:schemas-rinconnetworks-com:metadata-1-0/&amp;quot; xmlns=&amp;quot;urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/&amp;quot;&amp;gt;&amp;lt;item id=&amp;quot;-1&amp;quot; parentID=&amp;quot;-1&amp;quot; restricted=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;res protocolInfo=&amp;quot;sonos.com-hls-radio:*:application/x-mpegURL:*&amp;quot;&amp;gt;hls-radio://192.168.1.13:8080/googletts/ZGVfX3Rlc3QgdHRz.mp3&amp;lt;/res&amp;gt;&amp;lt;r:streamContent&amp;gt;&amp;lt;/r:streamContent&amp;gt;&amp;lt;r:radioShowMd&amp;gt;&amp;lt;/r:radioShowMd&amp;gt;&amp;lt;upnp:albumArtURI&amp;gt;/getaa?u=hls-radio%3a%2f%2f192.168.1.13%3a8080%2fgoogletts%2fZGVfX3Rlc3QgdHRz.mp3&amp;amp;amp;v=0&amp;lt;/upnp:albumArtURI&amp;gt;&amp;lt;dc:title&amp;gt;ZGVfX3Rlc3QgdHRz.mp3&amp;lt;/dc:title&amp;gt;&amp;lt;upnp:class&amp;gt;object.item.audioItem.musicTrack&amp;lt;/upnp:class&amp;gt;&amp;lt;/item&amp;gt;&amp;lt;/DIDL-Lite&amp;gt;&quot;/&gt;&lt;r:NextTrackURI val=&quot;mms://192.168.1.13:8080/googletts/ZGVfX3Rlc3QgdHRz.mp3&quot;/&gt;&lt;r:NextTrackMetaData val=&quot;&amp;lt;DIDL-Lite xmlns:dc=&amp;quot;http://purl.org/dc/elements/1.1/&amp;quot; xmlns:upnp=&amp;quot;urn:schemas-upnp-org:metadata-1-0/upnp/&amp;quot; xmlns:r=&amp;quot;urn:schemas-rinconnetworks-com:metadata-1-0/&amp;quot; xmlns=&amp;quot;urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/&amp;quot;&amp;gt;&amp;lt;item id=&amp;quot;-1&amp;quot; parentID=&amp;quot;-1&amp;quot; restricted=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;res protocolInfo=&amp;quot;mms:*:*:*&amp;quot;&amp;gt;mms://192.168.1.13:8080/googletts/ZGVfX3Rlc3QgdHRz.mp3&amp;lt;/res&amp;gt;&amp;lt;upnp:albumArtURI&amp;gt;/getaa?u=mms%3a%2f%2f192.168.1.13%3a8080%2fgoogletts%2fZGVfX3Rlc3QgdHRz.mp3&amp;amp;amp;v=0&amp;lt;/upnp:albumArtURI&amp;gt;&amp;lt;dc:title&amp;gt;ZGVfX3Rlc3QgdHRz.mp3&amp;lt;/dc:title&amp;gt;&amp;lt;upnp:class&amp;gt;object.item&amp;lt;/upnp:class&amp;gt;&amp;lt;/item&amp;gt;&amp;lt;/DIDL-Lite&amp;gt;&quot;/&gt;&lt;r:EnqueuedTransportURI val=&quot;hls-radio://192.168.1.13:8080/googletts/ZGVfX3Rlc3QgdHRz.mp3&quot;/&gt;&lt;r:EnqueuedTransportURIMetaData val=&quot;&amp;lt;DIDL-Lite xmlns=&amp;quot;urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/&amp;quot; xmlns:dc=&amp;quot;http://purl.org/dc/elements/1.1/&amp;quot; xmlns:upnp=&amp;quot;urn:schemas-upnp-org:metadata-1-0/upnp/&amp;quot;&amp;gt;&amp;lt;item id=&amp;quot;&amp;quot; parentID=&amp;quot;&amp;quot; restricted=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;dc:title&amp;gt;Sonos Ansage&amp;lt;/dc:title&amp;gt;&amp;lt;res protocolInfo=&amp;quot;x-rincon-playlist:*:*:*&amp;quot;&amp;gt;x-rincon-mp3radio://192.168.1.13:8080/googletts/ZGVfX3Rlc3QgdHRz.mp3&amp;lt;/res&amp;gt;&amp;lt;upnp:class&amp;gt;object&amp;lt;/upnp:class&amp;gt;&amp;lt;desc id=&amp;quot;cdudn&amp;quot; nameSpace=&amp;quot;urn:schemas-rinconnetworks-com:metadata-1-0/&amp;quot;&amp;gt;RINCON_AssociatedZPUDN&amp;lt;/desc&amp;gt;&amp;lt;/item&amp;gt;&amp;lt;/DIDL-Lite&amp;gt;&quot;/&gt;&lt;/InstanceID&gt;&lt;/Event&gt;</LastChange></e:property></e:propertyset>' -- events.py:do_NOTIFY:228
    2017-01-03 12:50:30,940 DEBUG    Thread-20    "NOTIFY / HTTP/1.1" 200 - -- events.py:log_message:249
    2017-01-03 12:50:30,957 DEBUG    Thread-1     Starting new HTTP connection (1): 192.168.1.24 -- connectionpool.py:_new_conn:212
    2017-01-03 12:50:30,985 DEBUG    Thread-1     http://192.168.1.24:1400 "POST /MediaRenderer/AVTransport/Control HTTP/1.1" 200 1391 -- connectionpool.py:_make_request:400
    2017-01-03 12:50:31,011 DEBUG    Thread-1     Received {'CONTENT-LENGTH': '1391', 'Connection': 'close', 'CONTENT-TYPE': 'text/xml; charset="utf-8"', 'Server': 'Linux UPnP/1.0 Sonos/34.7-35162c (ZPS12)', 'EXT': ''}, <s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><s:Body><u:GetPositionInfoResponse xmlns:u="urn:schemas-upnp-org:service:AVTransport:1"><Track>22</Track><TrackDuration>0:00:00</TrackDuration><TrackMetaData>&lt;DIDL-Lite xmlns:dc=&quot;http://purl.org/dc/elements/1.1/&quot; xmlns:upnp=&quot;urn:schemas-upnp-org:metadata-1-0/upnp/&quot; xmlns:r=&quot;urn:schemas-rinconnetworks-com:metadata-1-0/&quot; xmlns=&quot;urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/&quot;&gt;&lt;item id=&quot;-1&quot; parentID=&quot;-1&quot; restricted=&quot;true&quot;&gt;&lt;res protocolInfo=&quot;sonos.com-hls-radio:*:application/x-mpegURL:*&quot;&gt;hls-radio://192.168.1.13:8080/googletts/ZGVfX3Rlc3QgdHRz.mp3&lt;/res&gt;&lt;r:streamContent&gt;&lt;/r:streamContent&gt;&lt;upnp:albumArtURI&gt;/getaa?u=hls-radio%3a%2f%2f192.168.1.13%3a8080%2fgoogletts%2fZGVfX3Rlc3QgdHRz.mp3&amp;amp;v=0&lt;/upnp:albumArtURI&gt;&lt;dc:title&gt;ZGVfX3Rlc3QgdHRz.mp3&lt;/dc:title&gt;&lt;upnp:class&gt;object.item.audioItem.musicTrack&lt;/upnp:class&gt;&lt;/item&gt;&lt;/DIDL-Lite&gt;</TrackMetaData><TrackURI>hls-radio://192.168.1.13:8080/googletts/ZGVfX3Rlc3QgdHRz.mp3</TrackURI><RelTime>0:00:00</RelTime><AbsTime>NOT_IMPLEMENTED</AbsTime><RelCount>2147483647</RelCount><AbsCount>2147483647</AbsCount></u:GetPositionInfoResponse></s:Body></s:Envelope> -- services.py:send_command:389
    2017-01-03 12:50:31,020 INFO     Thread-1     Received status 200 from 192.168.1.24 -- services.py:send_command:392
    2017-01-03 12:50:31,044 INFO     Thread-1     Sending GetPositionInfo [('InstanceID', 0), ('Channel', 'Master')] to 192.168.1.24 -- services.py:send_command:381
    2017-01-03 12:50:31,062 DEBUG    Thread-1     Sending {'SOAPACTION': 'urn:schemas-upnp-org:service:AVTransport:1#GetPositionInfo', '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:GetPositionInfo xmlns:u="urn:schemas-upnp-org:service:AVTransport:1">
          <InstanceID>0</InstanceID>
          <Channel>Master</Channel>
        </u:GetPositionInfo>
      </s:Body>
    </s:Envelope>
     -- services.py:send_command:382
    2017-01-03 12:50:31,128 DEBUG    Thread-1     Starting new HTTP connection (1): 192.168.1.24 -- connectionpool.py:_new_conn:212
    2017-01-03 12:50:31,156 DEBUG    Thread-1     http://192.168.1.24:1400 "POST /MediaRenderer/AVTransport/Control HTTP/1.1" 200 1391 -- connectionpool.py:_make_request:400
    2017-01-03 12:50:31,182 DEBUG    Thread-1     Received {'CONTENT-LENGTH': '1391', 'Connection': 'close', 'CONTENT-TYPE': 'text/xml; charset="utf-8"', 'Server': 'Linux UPnP/1.0 Sonos/34.7-35162c (ZPS12)', 'EXT': ''}, <s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><s:Body><u:GetPositionInfoResponse xmlns:u="urn:schemas-upnp-org:service:AVTransport:1"><Track>22</Track><TrackDuration>0:00:00</TrackDuration><TrackMetaData>&lt;DIDL-Lite xmlns:dc=&quot;http://purl.org/dc/elements/1.1/&quot; xmlns:upnp=&quot;urn:schemas-upnp-org:metadata-1-0/upnp/&quot; xmlns:r=&quot;urn:schemas-rinconnetworks-com:metadata-1-0/&quot; xmlns=&quot;urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/&quot;&gt;&lt;item id=&quot;-1&quot; parentID=&quot;-1&quot; restricted=&quot;true&quot;&gt;&lt;res protocolInfo=&quot;sonos.com-hls-radio:*:application/x-mpegURL:*&quot;&gt;hls-radio://192.168.1.13:8080/googletts/ZGVfX3Rlc3QgdHRz.mp3&lt;/res&gt;&lt;r:streamContent&gt;&lt;/r:streamContent&gt;&lt;upnp:albumArtURI&gt;/getaa?u=hls-radio%3a%2f%2f192.168.1.13%3a8080%2fgoogletts%2fZGVfX3Rlc3QgdHRz.mp3&amp;amp;v=0&lt;/upnp:albumArtURI&gt;&lt;dc:title&gt;ZGVfX3Rlc3QgdHRz.mp3&lt;/dc:title&gt;&lt;upnp:class&gt;object.item.audioItem.musicTrack&lt;/upnp:class&gt;&lt;/item&gt;&lt;/DIDL-Lite&gt;</TrackMetaData><TrackURI>hls-radio://192.168.1.13:8080/googletts/ZGVfX3Rlc3QgdHRz.mp3</TrackURI><RelTime>0:00:00</RelTime><AbsTime>NOT_IMPLEMENTED</AbsTime><RelCount>2147483647</RelCount><AbsCount>2147483647</AbsCount></u:GetPositionInfoResponse></s:Body></s:Envelope> -- services.py:send_command:389
    2017-01-03 12:50:31,191 INFO     Thread-1     Received status 200 from 192.168.1.24 -- services.py:send_command:392
    2017-01-03 12:50:31,208 INFO     Thread-1     registered clients: 192.168.1.13:[5005] -- udp_broker.py:udp_send:43
    2017-01-03 12:50:31,214 INFO     Thread-1     sending sonos speaker data: {
        "playlist_position": "22",
        "track_album_art": "http://192.168.1.24:1400/getaa?u=hls-radio%3a%2f%2f192.168.1.13%3a8080%2fgoogletts%2fZGVfX3Rlc3QgdHRz.mp3&v=0",
        "track_position": "0:00:00",
        "track_uri": "hls-radio://192.168.1.13:8080/googletts/ZGVfX3Rlc3QgdHRz.mp3",
        "uid": "rincon_949f3e7072dc01400"
    } -- udp_broker.py:udp_send:44
    2017-01-03 12:50:31,725 DEBUG    Thread-15    Estimated snippet length: 1 -- sonos_speaker.py:play_snippet:1307
    2017-01-03 12:50:31,731 DEBUG    Thread-15    Waiting 3 seconds until snippet has finished playing. -- sonos_speaker.py:play_snippet:1315
    2017-01-03 12:50:34,746 INFO     Thread-15    Sending GetZoneGroupState None to 192.168.1.24 -- services.py:send_command:381
    2017-01-03 12:50:34,809 INFO     Thread-21    Event 5 received for AVTransport service on thread <Thread(Thread-21, started -1317276576)> at 1483444234.7872832 -- events.py:do_NOTIFY:227
    2017-01-03 12:50:34,834 DEBUG    Thread-21    Event content: b'<e:propertyset xmlns:e="urn:schemas-upnp-org:event-1-0"><e:property><LastChange>&lt;Event xmlns=&quot;urn:schemas-upnp-org:metadata-1-0/AVT/&quot; xmlns:r=&quot;urn:schemas-rinconnetworks-com:metadata-1-0/&quot;&gt;&lt;InstanceID val=&quot;0&quot;&gt;&lt;TransportState val=&quot;TRANSITIONING&quot;/&gt;&lt;CurrentPlayMode val=&quot;NORMAL&quot;/&gt;&lt;CurrentCrossfadeMode val=&quot;0&quot;/&gt;&lt;NumberOfTracks val=&quot;25&quot;/&gt;&lt;CurrentTrack val=&quot;23&quot;/&gt;&lt;CurrentSection val=&quot;0&quot;/&gt;&lt;CurrentTrackURI val=&quot;mms://192.168.1.13:8080/googletts/ZGVfX3Rlc3QgdHRz.mp3&quot;/&gt;&lt;CurrentTrackDuration val=&quot;0:00:00&quot;/&gt;&lt;CurrentTrackMetaData val=&quot;&amp;lt;DIDL-Lite xmlns:dc=&amp;quot;http://purl.org/dc/elements/1.1/&amp;quot; xmlns:upnp=&amp;quot;urn:schemas-upnp-org:metadata-1-0/upnp/&amp;quot; xmlns:r=&amp;quot;urn:schemas-rinconnetworks-com:metadata-1-0/&amp;quot; xmlns=&amp;quot;urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/&amp;quot;&amp;gt;&amp;lt;item id=&amp;quot;-1&amp;quot; parentID=&amp;quot;-1&amp;quot; restricted=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;res protocolInfo=&amp;quot;mms:*:*:*&amp;quot;&amp;gt;mms://192.168.1.13:8080/googletts/ZGVfX3Rlc3QgdHRz.mp3&amp;lt;/res&amp;gt;&amp;lt;r:streamContent&amp;gt;ZPSTR_CONNECTING&amp;lt;/r:streamContent&amp;gt;&amp;lt;r:radioShowMd&amp;gt;&amp;lt;/r:radioShowMd&amp;gt;&amp;lt;upnp:albumArtURI&amp;gt;/getaa?u=mms%3a%2f%2f192.168.1.13%3a8080%2fgoogletts%2fZGVfX3Rlc3QgdHRz.mp3&amp;amp;amp;v=0&amp;lt;/upnp:albumArtURI&amp;gt;&amp;lt;dc:title&amp;gt;ZGVfX3Rlc3QgdHRz.mp3&amp;lt;/dc:title&amp;gt;&amp;lt;upnp:class&amp;gt;object.item&amp;lt;/upnp:class&amp;gt;&amp;lt;/item&amp;gt;&amp;lt;/DIDL-Lite&amp;gt;&quot;/&gt;&lt;r:NextTrackURI val=&quot;rtsp://192.168.1.13:8080/googletts/ZGVfX3Rlc3QgdHRz.mp3&quot;/&gt;&lt;r:NextTrackMetaData val=&quot;&amp;lt;DIDL-Lite xmlns:dc=&amp;quot;http://purl.org/dc/elements/1.1/&amp;quot; xmlns:upnp=&amp;quot;urn:schemas-upnp-org:metadata-1-0/upnp/&amp;quot; xmlns:r=&amp;quot;urn:schemas-rinconnetworks-com:metadata-1-0/&amp;quot; xmlns=&amp;quot;urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/&amp;quot;&amp;gt;&amp;lt;item id=&amp;quot;-1&amp;quot; parentID=&amp;quot;-1&amp;quot; restricted=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;res protocolInfo=&amp;quot;rtsp:*:*:*&amp;quot;&amp;gt;rtsp://192.168.1.13:8080/googletts/ZGVfX3Rlc3QgdHRz.mp3&amp;lt;/res&amp;gt;&amp;lt;upnp:albumArtURI&amp;gt;/getaa?u=rtsp%3a%2f%2f192.168.1.13%3a8080%2fgoogletts%2fZGVfX3Rlc3QgdHRz.mp3&amp;amp;amp;v=0&amp;lt;/upnp:albumArtURI&amp;gt;&amp;lt;dc:title&amp;gt;ZGVfX3Rlc3QgdHRz.mp3&amp;lt;/dc:title&amp;gt;&amp;lt;upnp:class&amp;gt;object.item&amp;lt;/upnp:class&amp;gt;&amp;lt;/item&amp;gt;&amp;lt;/DIDL-Lite&amp;gt;&quot;/&gt;&lt;r:EnqueuedTransportURI val=&quot;mms://192.168.1.13:8080/googletts/ZGVfX3Rlc3QgdHRz.mp3&quot;/&gt;&lt;r:EnqueuedTransportURIMetaData val=&quot;&amp;lt;DIDL-Lite xmlns=&amp;quot;urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/&amp;quot; xmlns:dc=&amp;quot;http://purl.org/dc/elements/1.1/&amp;quot; xmlns:upnp=&amp;quot;urn:schemas-upnp-org:metadata-1-0/upnp/&amp;quot;&amp;gt;&amp;lt;item id=&amp;quot;&amp;quot; parentID=&amp;quot;&amp;quot; restricted=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;dc:title&amp;gt;Sonos Ansage&amp;lt;/dc:title&amp;gt;&amp;lt;res protocolInfo=&amp;quot;x-rincon-playlist:*:*:*&amp;quot;&amp;gt;x-rincon-mp3radio://192.168.1.13:8080/googletts/ZGVfX3Rlc3QgdHRz.mp3&amp;lt;/res&amp;gt;&amp;lt;upnp:class&amp;gt;object&amp;lt;/upnp:class&amp;gt;&amp;lt;desc id=&amp;quot;cdudn&amp;quot; nameSpace=&amp;quot;urn:schemas-rinconnetworks-com:metadata-1-0/&amp;quot;&amp;gt;RINCON_AssociatedZPUDN&amp;lt;/desc&amp;gt;&amp;lt;/item&amp;gt;&amp;lt;/DIDL-Lite&amp;gt;&quot;/&gt;&lt;/InstanceID&gt;&lt;/Event&gt;</LastChange></e:property></e:propertyset>' -- events.py:do_NOTIFY:228
    2017-01-03 12:50:34,829 DEBUG    Thread-15    Sending {'SOAPACTION': 'urn:schemas-upnp-org:service:ZoneGroupTopology:1#GetZoneGroupState', '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:GetZoneGroupState xmlns:u="urn:schemas-upnp-org:service:ZoneGroupTopology:1"/>
      </s:Body>
    </s:Envelope>
     -- services.py:send_command:382
    2017-01-03 12:50:34,954 DEBUG    Thread-21    "NOTIFY / HTTP/1.1" 200 - -- events.py:log_message:249
    2017-01-03 12:50:34,960 INFO     Thread-1     Sending GetPositionInfo [('InstanceID', 0), ('Channel', 'Master')] to 192.168.1.24 -- services.py:send_command:381
    2017-01-03 12:50:35,009 DEBUG    Thread-1     Sending {'SOAPACTION': 'urn:schemas-upnp-org:service:AVTransport:1#GetPositionInfo', '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:GetPositionInfo xmlns:u="urn:schemas-upnp-org:service:AVTransport:1">
          <InstanceID>0</InstanceID>
          <Channel>Master</Channel>
        </u:GetPositionInfo>
      </s:Body>
    </s:Envelope>
     -- services.py:send_command:382
    2017-01-03 12:50:35,022 DEBUG    Thread-15    Starting new HTTP connection (1): 192.168.1.24 -- connectionpool.py:_new_conn:212
    2017-01-03 12:50:35,083 INFO     Thread-22    Event 6 received for AVTransport service on thread <Thread(Thread-22, started -1317276576)> at 1483444235.0549943 -- events.py:do_NOTIFY:227
    2017-01-03 12:50:35,108 DEBUG    Thread-22    Event content: b'<e:propertyset xmlns:e="urn:schemas-upnp-org:event-1-0"><e:property><LastChange>&lt;Event xmlns=&quot;urn:schemas-upnp-org:metadata-1-0/AVT/&quot; xmlns:r=&quot;urn:schemas-rinconnetworks-com:metadata-1-0/&quot;&gt;&lt;InstanceID val=&quot;0&quot;&gt;&lt;TransportState val=&quot;STOPPED&quot;/&gt;&lt;CurrentPlayMode val=&quot;NORMAL&quot;/&gt;&lt;CurrentCrossfadeMode val=&quot;0&quot;/&gt;&lt;NumberOfTracks val=&quot;25&quot;/&gt;&lt;CurrentTrack val=&quot;1&quot;/&gt;&lt;CurrentSection val=&quot;0&quot;/&gt;&lt;CurrentTrackURI val=&quot;hls-radio://192.168.1.13:8080/googletts/ZGVfX2hhaGFoYQ==.mp3&quot;/&gt;&lt;CurrentTrackDuration val=&quot;0:00:00&quot;/&gt;&lt;CurrentTrackMetaData val=&quot;&amp;lt;DIDL-Lite xmlns:dc=&amp;quot;http://purl.org/dc/elements/1.1/&amp;quot; xmlns:upnp=&amp;quot;urn:schemas-upnp-org:metadata-1-0/upnp/&amp;quot; xmlns:r=&amp;quot;urn:schemas-rinconnetworks-com:metadata-1-0/&amp;quot; xmlns=&amp;quot;urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/&amp;quot;&amp;gt;&amp;lt;item id=&amp;quot;-1&amp;quot; parentID=&amp;quot;-1&amp;quot; restricted=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;res protocolInfo=&amp;quot;sonos.com-hls-radio:*:application/x-mpegURL:*&amp;quot;&amp;gt;hls-radio://192.168.1.13:8080/googletts/ZGVfX2hhaGFoYQ==.mp3&amp;lt;/res&amp;gt;&amp;lt;r:streamContent&amp;gt;&amp;lt;/r:streamContent&amp;gt;&amp;lt;r:radioShowMd&amp;gt;&amp;lt;/r:radioShowMd&amp;gt;&amp;lt;upnp:albumArtURI&amp;gt;/getaa?u=hls-radio%3a%2f%2f192.168.1.13%3a8080%2fgoogletts%2fZGVfX2hhaGFoYQ%3d%3d.mp3&amp;amp;amp;v=0&amp;lt;/upnp:albumArtURI&amp;gt;&amp;lt;dc:title&amp;gt;ZGVfX2hhaGFoYQ==.mp3&amp;lt;/dc:title&amp;gt;&amp;lt;upnp:class&amp;gt;object.item.audioItem.musicTrack&amp;lt;/upnp:class&amp;gt;&amp;lt;/item&amp;gt;&amp;lt;/DIDL-Lite&amp;gt;&quot;/&gt;&lt;r:NextTrackURI val=&quot;mms://192.168.1.13:8080/googletts/ZGVfX2hhaGFoYQ==.mp3&quot;/&gt;&lt;r:NextTrackMetaData val=&quot;&amp;lt;DIDL-Lite xmlns:dc=&amp;quot;http://purl.org/dc/elements/1.1/&amp;quot; xmlns:upnp=&amp;quot;urn:schemas-upnp-org:metadata-1-0/upnp/&amp;quot; xmlns:r=&amp;quot;urn:schemas-rinconnetworks-com:metadata-1-0/&amp;quot; xmlns=&amp;quot;urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/&amp;quot;&amp;gt;&amp;lt;item id=&amp;quot;-1&amp;quot; parentID=&amp;quot;-1&amp;quot; restricted=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;res protocolInfo=&amp;quot;mms:*:*:*&amp;quot;&amp;gt;mms://192.168.1.13:8080/googletts/ZGVfX2hhaGFoYQ==.mp3&amp;lt;/res&amp;gt;&amp;lt;upnp:albumArtURI&amp;gt;/getaa?u=mms%3a%2f%2f192.168.1.13%3a8080%2fgoogletts%2fZGVfX2hhaGFoYQ%3d%3d.mp3&amp;amp;amp;v=0&amp;lt;/upnp:albumArtURI&amp;gt;&amp;lt;dc:title&amp;gt;ZGVfX2hhaGFoYQ==.mp3&amp;lt;/dc:title&amp;gt;&amp;lt;upnp:class&amp;gt;object.item&amp;lt;/upnp:class&amp;gt;&amp;lt;/item&amp;gt;&amp;lt;/DIDL-Lite&amp;gt;&quot;/&gt;&lt;r:EnqueuedTransportURI val=&quot;hls-radio://192.168.1.13:8080/googletts/ZGVfX2hhaGFoYQ==.mp3&quot;/&gt;&lt;r:EnqueuedTransportURIMetaData val=&quot;&amp;lt;DIDL-Lite xmlns=&amp;quot;urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/&amp;quot; xmlns:dc=&amp;quot;http://purl.org/dc/elements/1.1/&amp;quot; xmlns:upnp=&amp;quot;urn:schemas-upnp-org:metadata-1-0/upnp/&amp;quot;&amp;gt;&amp;lt;item id=&amp;quot;&amp;quot; parentID=&amp;quot;&amp;quot; restricted=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;dc:title&amp;gt;Sonos Ansage&amp;lt;/dc:title&amp;gt;&amp;lt;res protocolInfo=&amp;quot;x-rincon-playlist:*:*:*&amp;quot;&amp;gt;x-rincon-mp3radio://192.168.1.13:8080/googletts/ZGVfX2hhaGFoYQ==.mp3&amp;lt;/res&amp;gt;&amp;lt;upnp:class&amp;gt;object&amp;lt;/upnp:class&amp;gt;&amp;lt;desc id=&amp;quot;cdudn&amp;quot; nameSpace=&amp;quot;urn:schemas-rinconnetworks-com:metadata-1-0/&amp;quot;&amp;gt;RINCON_AssociatedZPUDN&amp;lt;/desc&amp;gt;&amp;lt;/item&amp;gt;&amp;lt;/DIDL-Lite&amp;gt;&quot;/&gt;&lt;CurrentTransportActions val=&quot;Set, Stop, Pause, Play, X_DLNA_SeekTime, Next, X_DLNA_SeekTrackNr&quot;/&gt;&lt;TransportStatus val=&quot;ERROR_BAD_INET_RADIO&quot;/&gt;&lt;TransportErrorDescription val=&quot;16,0,Sonos Ansage,192.168.1.13:8080,aac://192.168.1.13:8080/googletts/ZGVfX3Rlc3QgdHRz.mp3,404 File not found&quot;/&gt;&lt;TransportErrorURI val=&quot;aac://192.168.1.13:8080/googletts/ZGVfX3Rlc3QgdHRz.mp3&quot;/&gt;&lt;/InstanceID&gt;&lt;/Event&gt;</LastChange></e:property></e:propertyset>' -- events.py:do_NOTIFY:228
    2017-01-03 12:50:35,141 DEBUG    Thread-15    http://192.168.1.24:1400 "POST /ZoneGroupTopology/Control HTTP/1.1" 200 1130 -- connectionpool.py:_make_request:400
    2017-01-03 12:50:35,227 DEBUG    Thread-15    Received {'CONTENT-LENGTH': '1130', 'Connection': 'close', 'CONTENT-TYPE': 'text/xml; charset="utf-8"', 'Server': 'Linux UPnP/1.0 Sonos/34.7-35162c (ZPS12)', 'EXT': ''}, <s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><s:Body><u:GetZoneGroupStateResponse xmlns:u="urn:schemas-upnp-org:service:ZoneGroupTopology:1"><ZoneGroupState>&lt;ZoneGroups&gt;&lt;ZoneGroup Coordinator=&quot;RINCON_949F3E7072DC01400&quot; ID=&quot;RINCON_949F3E7072DC01400:0&quot;&gt;&lt;ZoneGroupMember UUID=&quot;RINCON_949F3E7072DC01400&quot; Location=&quot;http://192.168.1.24:1400/xml/device_description.xml&quot; ZoneName=&quot;Wohnzimmer&quot; Icon=&quot;x-rincon-roomicon:living&quot; Configuration=&quot;1&quot; SoftwareVersion=&quot;34.7-35162c&quot; MinCompatibleVersion=&quot;33.0-00000&quot; LegacyCompatibleVersion=&quot;25.0-00000&quot; BootSeq=&quot;6&quot; WirelessMode=&quot;1&quot; WirelessLeafOnly=&quot;0&quot; HasConfiguredSSID=&quot;1&quot; ChannelFreq=&quot;2437&quot; BehindWifiExtender=&quot;0&quot; WifiEnabled=&quot;1&quot; Orientation=&quot;0&quot; RoomCalibrationState=&quot;4&quot; SecureRegState=&quot;3&quot;/&gt;&lt;/ZoneGroup&gt;&lt;/ZoneGroups&gt;</ZoneGroupState></u:GetZoneGroupStateResponse></s:Body></s:Envelope> -- services.py:send_command:389
    2017-01-03 12:50:35,220 DEBUG    Thread-22    "NOTIFY / HTTP/1.1" 200 - -- events.py:log_message:249
    2017-01-03 12:50:35,232 DEBUG    Thread-1     Starting new HTTP connection (1): 192.168.1.24 -- connectionpool.py:_new_conn:212
    2017-01-03 12:50:35,250 INFO     Thread-15    Received status 200 from 192.168.1.24 -- services.py:send_command:392
    2017-01-03 12:50:35,274 DEBUG    Thread-15    Dispatching method RemoveTrackFromQueue -- services.py:__getattr__:195
    2017-01-03 12:50:35,289 INFO     Thread-15    Sending RemoveTrackFromQueue [('InstanceID', 0), ('ObjectID', 'Q:0/21'), ('UpdateID', '0')] to 192.168.1.24 -- services.py:send_command:381
    2017-01-03 12:50:35,306 DEBUG    Thread-1     http://192.168.1.24:1400 "POST /MediaRenderer/AVTransport/Control HTTP/1.1" 200 1394 -- connectionpool.py:_make_request:400
    2017-01-03 12:50:35,341 DEBUG    Thread-15    Sending {'SOAPACTION': 'urn:schemas-upnp-org:service:AVTransport:1#RemoveTrackFromQueue', '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:RemoveTrackFromQueue xmlns:u="urn:schemas-upnp-org:service:AVTransport:1">
          <InstanceID>0</InstanceID>
          <ObjectID>Q:0/21</ObjectID>
          <UpdateID>0</UpdateID>
        </u:RemoveTrackFromQueue>
      </s:Body>
    </s:Envelope>
     -- services.py:send_command:382
    2017-01-03 12:50:35,351 DEBUG    Thread-1     Received {'CONTENT-LENGTH': '1394', 'Connection': 'close', 'CONTENT-TYPE': 'text/xml; charset="utf-8"', 'Server': 'Linux UPnP/1.0 Sonos/34.7-35162c (ZPS12)', 'EXT': ''}, <s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><s:Body><u:GetPositionInfoResponse xmlns:u="urn:schemas-upnp-org:service:AVTransport:1"><Track>1</Track><TrackDuration>0:00:00</TrackDuration><TrackMetaData>&lt;DIDL-Lite xmlns:dc=&quot;http://purl.org/dc/elements/1.1/&quot; xmlns:upnp=&quot;urn:schemas-upnp-org:metadata-1-0/upnp/&quot; xmlns:r=&quot;urn:schemas-rinconnetworks-com:metadata-1-0/&quot; xmlns=&quot;urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/&quot;&gt;&lt;item id=&quot;-1&quot; parentID=&quot;-1&quot; restricted=&quot;true&quot;&gt;&lt;res protocolInfo=&quot;sonos.com-hls-radio:*:application/x-mpegURL:*&quot;&gt;hls-radio://192.168.1.13:8080/googletts/ZGVfX2hhaGFoYQ==.mp3&lt;/res&gt;&lt;r:streamContent&gt;&lt;/r:streamContent&gt;&lt;upnp:albumArtURI&gt;/getaa?u=hls-radio%3a%2f%2f192.168.1.13%3a8080%2fgoogletts%2fZGVfX2hhaGFoYQ%3d%3d.mp3&amp;amp;v=0&lt;/upnp:albumArtURI&gt;&lt;dc:title&gt;ZGVfX2hhaGFoYQ==.mp3&lt;/dc:title&gt;&lt;upnp:class&gt;object.item.audioItem.musicTrack&lt;/upnp:class&gt;&lt;/item&gt;&lt;/DIDL-Lite&gt;</TrackMetaData><TrackURI>hls-radio://192.168.1.13:8080/googletts/ZGVfX2hhaGFoYQ==.mp3</TrackURI><RelTime>0:00:00</RelTime><AbsTime>NOT_IMPLEMENTED</AbsTime><RelCount>2147483647</RelCount><AbsCount>2147483647</AbsCount></u:GetPositionInfoResponse></s:Body></s:Envelope> -- services.py:send_command:389
    2017-01-03 12:50:35,378 INFO     Thread-1     Received status 200 from 192.168.1.24 -- services.py:send_command:392
    2017-01-03 12:50:35,416 INFO     Thread-1     registered clients: 192.168.1.13:[5005] -- udp_broker.py:udp_send:43
    2017-01-03 12:50:35,434 INFO     Thread-1     sending sonos speaker data: {
        "playlist_position": "1",
        "track_album_art": "http://192.168.1.24:1400/getaa?u=hls-radio%3a%2f%2f192.168.1.13%3a8080%2fgoogletts%2fZGVfX2hhaGFoYQ%3d%3d.mp3&v=0",
        "track_title": "ZGVfX2hhaGFoYQ==.mp3",
        "track_uri": "hls-radio://192.168.1.13:8080/googletts/ZGVfX2hhaGFoYQ==.mp3",
        "uid": "rincon_949f3e7072dc01400"
    } -- udp_broker.py:udp_send:44
    2017-01-03 12:50:35,467 DEBUG    Thread-15    Starting new HTTP connection (1): 192.168.1.24 -- connectionpool.py:_new_conn:212
    2017-01-03 12:50:35,496 DEBUG    Thread-15    http://192.168.1.24:1400 "POST /MediaRenderer/AVTransport/Control HTTP/1.1" 200 272 -- connectionpool.py:_make_request:400
    2017-01-03 12:50:35,541 DEBUG    Thread-15    Received {'CONTENT-LENGTH': '272', 'Connection': 'close', 'CONTENT-TYPE': 'text/xml; charset="utf-8"', 'Server': 'Linux UPnP/1.0 Sonos/34.7-35162c (ZPS12)', 'EXT': ''}, <s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><s:Body><u:RemoveTrackFromQueueResponse xmlns:u="urn:schemas-upnp-org:service:AVTransport:1"></u:RemoveTrackFromQueueResponse></s:Body></s:Envelope> -- services.py:send_command:389
    2017-01-03 12:50:35,549 INFO     Thread-23    Event 7 received for AVTransport service on thread <Thread(Thread-23, started -1317276576)> at 1483444235.5302854 -- events.py:do_NOTIFY:227
    2017-01-03 12:50:35,559 INFO     Thread-15    Received status 200 from 192.168.1.24 -- services.py:send_command:392
    2017-01-03 12:50:35,564 DEBUG    Thread-23    Event content: b'<e:propertyset xmlns:e="urn:schemas-upnp-org:event-1-0"><e:property><LastChange>&lt;Event xmlns=&quot;urn:schemas-upnp-org:metadata-1-0/AVT/&quot; xmlns:r=&quot;urn:schemas-rinconnetworks-com:metadata-1-0/&quot;&gt;&lt;InstanceID val=&quot;0&quot;&gt;&lt;TransportState val=&quot;STOPPED&quot;/&gt;&lt;CurrentPlayMode val=&quot;NORMAL&quot;/&gt;&lt;CurrentCrossfadeMode val=&quot;0&quot;/&gt;&lt;NumberOfTracks val=&quot;24&quot;/&gt;&lt;CurrentTrack val=&quot;1&quot;/&gt;&lt;CurrentSection val=&quot;0&quot;/&gt;&lt;CurrentTrackURI val=&quot;hls-radio://192.168.1.13:8080/googletts/ZGVfX2hhaGFoYQ==.mp3&quot;/&gt;&lt;CurrentTrackDuration val=&quot;0:00:00&quot;/&gt;&lt;CurrentTrackMetaData val=&quot;&amp;lt;DIDL-Lite xmlns:dc=&amp;quot;http://purl.org/dc/elements/1.1/&amp;quot; xmlns:upnp=&amp;quot;urn:schemas-upnp-org:metadata-1-0/upnp/&amp;quot; xmlns:r=&amp;quot;urn:schemas-rinconnetworks-com:metadata-1-0/&amp;quot; xmlns=&amp;quot;urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/&amp;quot;&amp;gt;&amp;lt;item id=&amp;quot;-1&amp;quot; parentID=&amp;quot;-1&amp;quot; restricted=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;res protocolInfo=&amp;quot;sonos.com-hls-radio:*:application/x-mpegURL:*&amp;quot;&amp;gt;hls-radio://192.168.1.13:8080/googletts/ZGVfX2hhaGFoYQ==.mp3&amp;lt;/res&amp;gt;&amp;lt;r:streamContent&amp;gt;&amp;lt;/r:streamContent&amp;gt;&amp;lt;r:radioShowMd&amp;gt;&amp;lt;/r:radioShowMd&amp;gt;&amp;lt;upnp:albumArtURI&amp;gt;/getaa?u=hls-radio%3a%2f%2f192.168.1.13%3a8080%2fgoogletts%2fZGVfX2hhaGFoYQ%3d%3d.mp3&amp;amp;amp;v=0&amp;lt;/upnp:albumArtURI&amp;gt;&amp;lt;dc:title&amp;gt;ZGVfX2hhaGFoYQ==.mp3&amp;lt;/dc:title&amp;gt;&amp;lt;upnp:class&amp;gt;object.item.audioItem.musicTrack&amp;lt;/upnp:class&amp;gt;&amp;lt;/item&amp;gt;&amp;lt;/DIDL-Lite&amp;gt;&quot;/&gt;&lt;r:NextTrackURI val=&quot;mms://192.168.1.13:8080/googletts/ZGVfX2hhaGFoYQ==.mp3&quot;/&gt;&lt;r:NextTrackMetaData val=&quot;&amp;lt;DIDL-Lite xmlns:dc=&amp;quot;http://purl.org/dc/elements/1.1/&amp;quot; xmlns:upnp=&amp;quot;urn:schemas-upnp-org:metadata-1-0/upnp/&amp;quot; xmlns:r=&amp;quot;urn:schemas-rinconnetworks-com:metadata-1-0/&amp;quot; xmlns=&amp;quot;urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/&amp;quot;&amp;gt;&amp;lt;item id=&amp;quot;-1&amp;quot; parentID=&amp;quot;-1&amp;quot; restricted=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;res protocolInfo=&amp;quot;mms:*:*:*&amp;quot;&amp;gt;mms://192.168.1.13:8080/googletts/ZGVfX2hhaGFoYQ==.mp3&amp;lt;/res&amp;gt;&amp;lt;upnp:albumArtURI&amp;gt;/getaa?u=mms%3a%2f%2f192.168.1.13%3a8080%2fgoogletts%2fZGVfX2hhaGFoYQ%3d%3d.mp3&amp;amp;amp;v=0&amp;lt;/upnp:albumArtURI&amp;gt;&amp;lt;dc:title&amp;gt;ZGVfX2hhaGFoYQ==.mp3&amp;lt;/dc:title&amp;gt;&amp;lt;upnp:class&amp;gt;object.item&amp;lt;/upnp:class&amp;gt;&amp;lt;/item&amp;gt;&amp;lt;/DIDL-Lite&amp;gt;&quot;/&gt;&lt;r:EnqueuedTransportURI val=&quot;hls-radio://192.168.1.13:8080/googletts/ZGVfX2hhaGFoYQ==.mp3&quot;/&gt;&lt;r:EnqueuedTransportURIMetaData val=&quot;&amp;lt;DIDL-Lite xmlns=&amp;quot;urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/&amp;quot; xmlns:dc=&amp;quot;http://purl.org/dc/elements/1.1/&amp;quot; xmlns:upnp=&amp;quot;urn:schemas-upnp-org:metadata-1-0/upnp/&amp;quot;&amp;gt;&amp;lt;item id=&amp;quot;&amp;quot; parentID=&amp;quot;&amp;quot; restricted=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;dc:title&amp;gt;Sonos Ansage&amp;lt;/dc:title&amp;gt;&amp;lt;res protocolInfo=&amp;quot;x-rincon-playlist:*:*:*&amp;quot;&amp;gt;x-rincon-mp3radio://192.168.1.13:8080/googletts/ZGVfX2hhaGFoYQ==.mp3&amp;lt;/res&amp;gt;&amp;lt;upnp:class&amp;gt;object&amp;lt;/upnp:class&amp;gt;&amp;lt;desc id=&amp;quot;cdudn&amp;quot; nameSpace=&amp;quot;urn:schemas-rinconnetworks-com:metadata-1-0/&amp;quot;&amp;gt;RINCON_AssociatedZPUDN&amp;lt;/desc&amp;gt;&amp;lt;/item&amp;gt;&amp;lt;/DIDL-Lite&amp;gt;&quot;/&gt;&lt;/InstanceID&gt;&lt;/Event&gt;</LastChange></e:property></e:propertyset>' -- events.py:do_NOTIFY:228
    2017-01-03 12:50:35,574 INFO     Thread-15    Sending GetTransportInfo [('InstanceID', 0)] to 192.168.1.24 -- services.py:send_command:381
    2017-01-03 12:50:35,636 DEBUG    Thread-15    Sending {'SOAPACTION': 'urn:schemas-upnp-org:service:AVTransport:1#GetTransportInfo', '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:GetTransportInfo xmlns:u="urn:schemas-upnp-org:service:AVTransport:1">
          <InstanceID>0</InstanceID>
        </u:GetTransportInfo>
      </s:Body>
    </s:Envelope>
     -- services.py:send_command:382
    2017-01-03 12:50:35,658 INFO     Thread-1     registered clients: 192.168.1.13:[5005] -- udp_broker.py:udp_send:43
    2017-01-03 12:50:35,673 INFO     Thread-1     sending sonos speaker data: {
        "playlist_total_tracks": "24",
        "uid": "rincon_949f3e7072dc01400"
    } -- udp_broker.py:udp_send:44
    2017-01-03 12:50:35,669 DEBUG    Thread-23    "NOTIFY / HTTP/1.1" 200 - -- events.py:log_message:249
    2017-01-03 12:50:35,748 DEBUG    Thread-15    Starting new HTTP connection (1): 192.168.1.24 -- connectionpool.py:_new_conn:212
    2017-01-03 12:50:35,775 DEBUG    Thread-15    http://192.168.1.24:1400 "POST /MediaRenderer/AVTransport/Control HTTP/1.1" 200 399 -- connectionpool.py:_make_request:400
    2017-01-03 12:50:35,800 DEBUG    Thread-15    Received {'CONTENT-LENGTH': '399', 'Connection': 'close', 'CONTENT-TYPE': 'text/xml; charset="utf-8"', 'Server': 'Linux UPnP/1.0 Sonos/34.7-35162c (ZPS12)', 'EXT': ''}, <s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><s:Body><u:GetTransportInfoResponse xmlns:u="urn:schemas-upnp-org:service:AVTransport:1"><CurrentTransportState>STOPPED</CurrentTransportState><CurrentTransportStatus>OK</CurrentTransportStatus><CurrentSpeed>1</CurrentSpeed></u:GetTransportInfoResponse></s:Body></s:Envelope> -- services.py:send_command:389
    2017-01-03 12:50:35,814 INFO     Thread-15    Received status 200 from 192.168.1.24 -- services.py:send_command:392
    2017-01-03 12:50:35,828 DEBUG    Thread-15    Cache hit -- services.py:send_command:377
    2017-01-03 12:50:35,837 INFO     Thread-15    Sending SetAVTransportURI [('InstanceID', 0), ('CurrentURI', 'x-sonosapi-stream:s14991?sid=254&sn=0'), ('CurrentURIMetaData', '<DIDL-Lite xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:upnp="urn:schemas-upnp-org:metadata-1-0/upnp/" xmlns:r="urn:schemas-rinconnetworks-com:metadata-1-0/" xmlns="urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/"><item id="-1" parentID="-1" restricted="true"><dc:title>Bayern 3</dc:title><upnp:class>object.item.audioItem.audioBroadcast</upnp:class><desc id="cdudn" nameSpace="urn:schemas-rinconnetworks-com:metadata-1-0/">SA_RINCON65031_</desc></item></DIDL-Lite>')] to 192.168.1.24 -- services.py:send_command:381
    2017-01-03 12:50:35,857 DEBUG    Thread-15    Sending {'SOAPACTION': 'urn:schemas-upnp-org:service:AVTransport:1#SetAVTransportURI', '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:SetAVTransportURI xmlns:u="urn:schemas-upnp-org:service:AVTransport:1">
          <InstanceID>0</InstanceID>
          <CurrentURI>x-sonosapi-stream:s14991?sid=254&amp;sn=0</CurrentURI>
          <CurrentURIMetaData>&lt;DIDL-Lite xmlns:dc=&quot;http://purl.org/dc/elements/1.1/&quot; xmlns:upnp=&quot;urn:schemas-upnp-org:metadata-1-0/upnp/&quot; xmlns:r=&quot;urn:schemas-rinconnetworks-com:metadata-1-0/&quot; xmlns=&quot;urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/&quot;&gt;&lt;item id=&quot;-1&quot; parentID=&quot;-1&quot; restricted=&quot;true&quot;&gt;&lt;dc:title&gt;Bayern 3&lt;/dc:title&gt;&lt;upnp:class&gt;object.item.audioItem.audioBroadcast&lt;/upnp:class&gt;&lt;desc id=&quot;cdudn&quot; nameSpace=&quot;urn:schemas-rinconnetworks-com:metadata-1-0/&quot;&gt;SA_RINCON65031_&lt;/desc&gt;&lt;/item&gt;&lt;/DIDL-Lite&gt;</CurrentURIMetaData>
        </u:SetAVTransportURI>
      </s:Body>
    </s:Envelope>
     -- services.py:send_command:382
    2017-01-03 12:50:35,922 DEBUG    Thread-15    Starting new HTTP connection (1): 192.168.1.24 -- connectionpool.py:_new_conn:212
    ^CTraceback (most recent call last):
      File "/usr/local/bin/sonos_broker", line 396, in <module>
        broker.start()
      File "/usr/local/bin/sonos_broker", line 290, in start
        self._http_server.serve_forever()
      File "/usr/local/lib/python3.5/socketserver.py", line 232, in serve_forever
        ready = selector.select(poll_interval)
      File "/usr/local/lib/python3.5/selectors.py", line 376, in select
        fd_event_list = self._poll.poll(timeout)
    TypeError: stop() takes 1 positional argument but 3 were given
    2017-01-03 12:50:42,490 DEBUG    Thread-15    http://192.168.1.24:1400 "POST /MediaRenderer/AVTransport/Control HTTP/1.1" 200 266 -- connectionpool.py:_make_request:400
    2017-01-03 12:50:42,536 DEBUG    Thread-15    Received {'CONTENT-LENGTH': '266', 'Connection': 'close', 'CONTENT-TYPE': 'text/xml; charset="utf-8"', 'Server': 'Linux UPnP/1.0 Sonos/34.7-35162c (ZPS12)', 'EXT': ''}, <s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><s:Body><u:SetAVTransportURIResponse xmlns:u="urn:schemas-upnp-org:service:AVTransport:1"></u:SetAVTransportURIResponse></s:Body></s:Envelope> -- services.py:send_command:389
    2017-01-03 12:50:42,553 INFO     Thread-15    Received status 200 from 192.168.1.24 -- services.py:send_command:392
    2017-01-03 12:50:42,549 INFO     Thread-24    Event 8 received for AVTransport service on thread <Thread(Thread-24, started -1317276576)> at 1483444242.5433223 -- events.py:do_NOTIFY:227
    2017-01-03 12:50:42,567 DEBUG    Thread-15    Dispatching method SetMute -- services.py:__getattr__:195
    2017-01-03 12:50:42,580 INFO     Thread-15    Sending SetMute [('InstanceID', 0), ('Channel', 'Master'), ('DesiredMute', '0')] to 192.168.1.24 -- services.py:send_command:381
    2017-01-03 12:50:42,571 DEBUG    Thread-24    Event content: b'<e:propertyset xmlns:e="urn:schemas-upnp-org:event-1-0"><e:property><LastChange>&lt;Event xmlns=&quot;urn:schemas-upnp-org:metadata-1-0/AVT/&quot; xmlns:r=&quot;urn:schemas-rinconnetworks-com:metadata-1-0/&quot;&gt;&lt;InstanceID val=&quot;0&quot;&gt;&lt;TransportState val=&quot;STOPPED&quot;/&gt;&lt;CurrentPlayMode val=&quot;NORMAL&quot;/&gt;&lt;CurrentCrossfadeMode val=&quot;0&quot;/&gt;&lt;NumberOfTracks val=&quot;6&quot;/&gt;&lt;CurrentTrack val=&quot;1&quot;/&gt;&lt;CurrentSection val=&quot;0&quot;/&gt;&lt;CurrentTrackURI val=&quot;x-rincon-mp3radio://br-mp3-bayern3-m.akacast.akamaistream.net/7/442/142692/v1/gnl.akacast.akamaistream.net/br_mp3_bayern3_m&quot;/&gt;&lt;CurrentTrackDuration val=&quot;0:00:00&quot;/&gt;&lt;CurrentTrackMetaData val=&quot;&amp;lt;DIDL-Lite xmlns:dc=&amp;quot;http://purl.org/dc/elements/1.1/&amp;quot; xmlns:upnp=&amp;quot;urn:schemas-upnp-org:metadata-1-0/upnp/&amp;quot; xmlns:r=&amp;quot;urn:schemas-rinconnetworks-com:metadata-1-0/&amp;quot; xmlns=&amp;quot;urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/&amp;quot;&amp;gt;&amp;lt;item id=&amp;quot;-1&amp;quot; parentID=&amp;quot;-1&amp;quot; restricted=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;res protocolInfo=&amp;quot;sonos.com-http:*:*:*&amp;quot;&amp;gt;x-sonosapi-stream:s14991?sid=254&amp;amp;amp;sn=0&amp;lt;/res&amp;gt;&amp;lt;r:streamContent&amp;gt;&amp;lt;/r:streamContent&amp;gt;&amp;lt;r:radioShowMd&amp;gt;&amp;lt;/r:radioShowMd&amp;gt;&amp;lt;upnp:albumArtURI&amp;gt;/getaa?s=1&amp;amp;amp;u=x-sonosapi-stream%3as14991%3fsid%3d254%26sn%3d0&amp;lt;/upnp:albumArtURI&amp;gt;&amp;lt;dc:title&amp;gt;x-sonosapi-stream:s14991?sid=254&amp;amp;amp;sn=0&amp;lt;/dc:title&amp;gt;&amp;lt;upnp:class&amp;gt;object.item&amp;lt;/upnp:class&amp;gt;&amp;lt;/item&amp;gt;&amp;lt;/DIDL-Lite&amp;gt;&quot;/&gt;&lt;r:NextTrackURI val=&quot;&quot;/&gt;&lt;r:NextTrackMetaData val=&quot;&quot;/&gt;&lt;r:EnqueuedTransportURI val=&quot;x-sonosapi-stream:s14991?sid=254&amp;amp;sn=0&quot;/&gt;&lt;r:EnqueuedTransportURIMetaData val=&quot;&amp;lt;DIDL-Lite xmlns:dc=&amp;quot;http://purl.org/dc/elements/1.1/&amp;quot; xmlns:upnp=&amp;quot;urn:schemas-upnp-org:metadata-1-0/upnp/&amp;quot; xmlns:r=&amp;quot;urn:schemas-rinconnetworks-com:metadata-1-0/&amp;quot; xmlns=&amp;quot;urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/&amp;quot;&amp;gt;&amp;lt;item id=&amp;quot;-1&amp;quot; parentID=&amp;quot;-1&amp;quot; restricted=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;dc:title&amp;gt;Bayern 3&amp;lt;/dc:title&amp;gt;&amp;lt;upnp:class&amp;gt;object.item.audioItem.audioBroadcast&amp;lt;/upnp:class&amp;gt;&amp;lt;desc id=&amp;quot;cdudn&amp;quot; nameSpace=&amp;quot;urn:schemas-rinconnetworks-com:metadata-1-0/&amp;quot;&amp;gt;SA_RINCON65031_&amp;lt;/desc&amp;gt;&amp;lt;/item&amp;gt;&amp;lt;/DIDL-Lite&amp;gt;&quot;/&gt;&lt;PlaybackStorageMedium val=&quot;NETWORK&quot;/&gt;&lt;AVTransportURI val=&quot;x-sonosapi-stream:s14991?sid=254&amp;amp;sn=0&quot;/&gt;&lt;AVTransportURIMetaData val=&quot;&amp;lt;DIDL-Lite xmlns:dc=&amp;quot;http://purl.org/dc/elements/1.1/&amp;quot; xmlns:upnp=&amp;quot;urn:schemas-upnp-org:metadata-1-0/upnp/&amp;quot; xmlns:r=&amp;quot;urn:schemas-rinconnetworks-com:metadata-1-0/&amp;quot; xmlns=&amp;quot;urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/&amp;quot;&amp;gt;&amp;lt;item id=&amp;quot;-1&amp;quot; parentID=&amp;quot;-1&amp;quot; restricted=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;dc:title&amp;gt;Bayern 3&amp;lt;/dc:title&amp;gt;&amp;lt;upnp:class&amp;gt;object.item.audioItem.audioBroadcast&amp;lt;/upnp:class&amp;gt;&amp;lt;desc id=&amp;quot;cdudn&amp;quot; nameSpace=&amp;quot;urn:schemas-rinconnetworks-com:metadata-1-0/&amp;quot;&amp;gt;SA_RINCON65031_&amp;lt;/desc&amp;gt;&amp;lt;/item&amp;gt;&amp;lt;/DIDL-Lite&amp;gt;&quot;/&gt;&lt;CurrentTransportActions val=&quot;Set, Stop, Play&quot;/&gt;&lt;r:CurrentValidPlayModes val=&quot;&quot;/&gt;&lt;/InstanceID&gt;&lt;/Event&gt;</LastChange></e:property></e:propertyset>' -- events.py:do_NOTIFY:228
    2017-01-03 12:50:42,606 DEBUG    Thread-15    Sending {'SOAPACTION': 'urn:schemas-upnp-org:service:RenderingControl:1#SetMute', '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:SetMute xmlns:u="urn:schemas-upnp-org:service:RenderingControl:1">
          <InstanceID>0</InstanceID>
          <Channel>Master</Channel>
          <DesiredMute>0</DesiredMute>
        </u:SetMute>
      </s:Body>
    </s:Envelope>
     -- services.py:send_command:382
    2017-01-03 12:50:42,699 DEBUG    Thread-24    "NOTIFY / HTTP/1.1" 200 - -- events.py:log_message:249
    2017-01-03 12:50:42,707 INFO     Thread-1     registered clients: 192.168.1.13:[5005] -- udp_broker.py:udp_send:43
    2017-01-03 12:50:42,745 INFO     Thread-1     sending sonos speaker data: {
        "playlist_total_tracks": "6",
        "radio_station": "Bayern 3",
        "streamtype": "radio",
        "track_album_art": "http://192.168.1.24:1400/getaa?s=1&u=x-sonosapi-stream%3as14991%3fsid%3d254%26sn%3d0",
        "track_duration": "00:00:00",
        "track_title": "",
        "track_uri": "x-rincon-mp3radio://br-mp3-bayern3-m.akacast.akamaistream.net/7/442/142692/v1/gnl.akacast.akamaistream.net/br_mp3_bayern3_m",
        "uid": "rincon_949f3e7072dc01400"
    } -- udp_broker.py:udp_send:44
    2017-01-03 12:50:42,764 DEBUG    Thread-15    Starting new HTTP connection (1): 192.168.1.24 -- connectionpool.py:_new_conn:212
    2017-01-03 12:50:42,802 DEBUG    Thread-15    http://192.168.1.24:1400 "POST /MediaRenderer/RenderingControl/Control HTTP/1.1" 200 251 -- connectionpool.py:_make_request:400
    2017-01-03 12:50:42,847 DEBUG    Thread-15    Received {'CONTENT-LENGTH': '251', 'Connection': 'close', 'CONTENT-TYPE': 'text/xml; charset="utf-8"', 'Server': 'Linux UPnP/1.0 Sonos/34.7-35162c (ZPS12)', 'EXT': ''}, <s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><s:Body><u:SetMuteResponse xmlns:u="urn:schemas-upnp-org:service:RenderingControl:1"></u:SetMuteResponse></s:Body></s:Envelope> -- services.py:send_command:389
    2017-01-03 12:50:42,851 INFO     Thread-25    Event 2 received for RenderingControl service on thread <Thread(Thread-25, started -1317276576)> at 1483444242.8378654 -- events.py:do_NOTIFY:227
    2017-01-03 12:50:42,862 INFO     Thread-15    Received status 200 from 192.168.1.24 -- services.py:send_command:392
    2017-01-03 12:50:42,867 DEBUG    Thread-25    Event content: b'<e:propertyset xmlns:e="urn:schemas-upnp-org:event-1-0"><e:property><LastChange>&lt;Event xmlns=&quot;urn:schemas-upnp-org:metadata-1-0/RCS/&quot;&gt;&lt;InstanceID val=&quot;0&quot;&gt;&lt;Mute channel=&quot;Master&quot; val=&quot;0&quot;/&gt;&lt;Mute channel=&quot;LF&quot; val=&quot;0&quot;/&gt;&lt;Mute channel=&quot;RF&quot; val=&quot;0&quot;/&gt;&lt;/InstanceID&gt;&lt;/Event&gt;</LastChange></e:property></e:propertyset>' -- events.py:do_NOTIFY:228
    2017-01-03 12:50:42,876 DEBUG    Thread-15    Dispatching method SetBass -- services.py:__getattr__:195
    2017-01-03 12:50:42,899 INFO     Thread-15    Sending SetBass [('InstanceID', 0), ('DesiredBass', 0)] to 192.168.1.24 -- services.py:send_command:381
    2017-01-03 12:50:42,889 DEBUG    Thread-25    "NOTIFY / HTTP/1.1" 200 - -- events.py:log_message:249
    2017-01-03 12:50:42,929 DEBUG    Thread-15    Sending {'SOAPACTION': 'urn:schemas-upnp-org:service:RenderingControl:1#SetBass', '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:SetBass xmlns:u="urn:schemas-upnp-org:service:RenderingControl:1">
          <InstanceID>0</InstanceID>
          <DesiredBass>0</DesiredBass>
        </u:SetBass>
      </s:Body>
    </s:Envelope>
     -- services.py:send_command:382
    2017-01-03 12:50:42,992 DEBUG    Thread-15    Starting new HTTP connection (1): 192.168.1.24 -- connectionpool.py:_new_conn:212
    ^CException ignored in: <module 'threading' from '/usr/local/lib/python3.5/threading.py'>
    Traceback (most recent call last):
      File "/usr/local/lib/python3.5/threading.py", line 1288, in _shutdown
    2017-01-03 12:50:43,046 DEBUG    Thread-15    http://192.168.1.24:1400 "POST /MediaRenderer/RenderingControl/Control HTTP/1.1" 200 251 -- connectionpool.py:_make_request:400
        t.join()
      File "/usr/local/lib/python3.5/threading.py", line 1054, in join
    2017-01-03 12:50:43,102 INFO     Thread-26    Event 3 received for RenderingControl service on thread <Thread(Thread-26, started -1317276576)> at 1483444243.074566 -- events.py:do_NOTIFY:227
        self._wait_for_tstate_lock()
      File "/usr/local/lib/python3.5/threading.py", line 1070, in _wait_for_tstate_lock
    2017-01-03 12:50:43,131 DEBUG    Thread-26    Event content: b'<e:propertyset xmlns:e="urn:schemas-upnp-org:event-1-0"><e:property><LastChange>&lt;Event xmlns=&quot;urn:schemas-upnp-org:metadata-1-0/RCS/&quot;&gt;&lt;InstanceID val=&quot;0&quot;&gt;&lt;Bass val=&quot;0&quot;/&gt;&lt;/InstanceID&gt;&lt;/Event&gt;</LastChange></e:property></e:propertyset>' -- events.py:do_NOTIFY:228
    2017-01-03 12:50:43,136 DEBUG    Thread-15    Received {'CONTENT-LENGTH': '251', 'Connection': 'close', 'CONTENT-TYPE': 'text/xml; charset="utf-8"', 'Server': 'Linux UPnP/1.0 Sonos/34.7-35162c (ZPS12)', 'EXT': ''}, <s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><s:Body><u:SetBassResponse xmlns:u="urn:schemas-upnp-org:service:RenderingControl:1"></u:SetBassResponse></s:Body></s:Envelope> -- services.py:send_command:389
        elif lock.acquire(block, timeout):
    TypeError: stop() takes 1 positional argument but 3 were given
    2017-01-03 12:50:43,165 DEBUG    Thread-26    "NOTIFY / HTTP/1.1" 200 - -- events.py:log_message:249
    2017-01-03 12:50:43,181 INFO     Thread-15    Received status 200 from 192.168.1.24 -- services.py:send_command:392
    2017-01-03 12:50:43,212 DEBUG    Thread-15    Dispatching method SetTreble -- services.py:__getattr__:195
    2017-01-03 12:50:43,235 INFO     Thread-15    Sending SetTreble [('InstanceID', 0), ('DesiredTreble', 0)] to 192.168.1.24 -- services.py:send_command:381
    2017-01-03 12:50:43,275 DEBUG    Thread-15    Sending {'SOAPACTION': 'urn:schemas-upnp-org:service:RenderingControl:1#SetTreble', '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:SetTreble xmlns:u="urn:schemas-upnp-org:service:RenderingControl:1">
          <InstanceID>0</InstanceID>
          <DesiredTreble>0</DesiredTreble>
        </u:SetTreble>
      </s:Body>
    </s:Envelope>
     -- services.py:send_command:382
    2017-01-03 12:50:43,310 DEBUG    MainThread   Starting new HTTP connection (1): 192.168.1.24 -- connectionpool.py:_new_conn:212
    2017-01-03 12:50:43,375 DEBUG    MainThread   http://192.168.1.24:1400 "UNSUBSCRIBE /AlarmClock/Event HTTP/1.1" 200 None -- connectionpool.py:_make_request:400
    2017-01-03 12:50:43,389 DEBUG    Thread-15    Starting new HTTP connection (1): 192.168.1.24 -- connectionpool.py:_new_conn:212
    2017-01-03 12:50:43,424 INFO     MainThread   Unsubscribed from http://192.168.1.24:1400/AlarmClock/Event, sid: uuid:RINCON_949F3E7072DC01400_sub0000003270 -- events.py:unsubscribe:576
    2017-01-03 12:50:43,455 DEBUG    Thread-15    http://192.168.1.24:1400 "POST /MediaRenderer/RenderingControl/Control HTTP/1.1" 200 255 -- connectionpool.py:_make_request:400
    2017-01-03 12:50:43,505 INFO     Thread-27    Event 4 received for RenderingControl service on thread <Thread(Thread-27, started -1317276576)> at 1483444243.5014713 -- events.py:do_NOTIFY:227
    2017-01-03 12:50:43,530 DEBUG    Thread-15    Received {'CONTENT-LENGTH': '255', 'Connection': 'close', 'CONTENT-TYPE': 'text/xml; charset="utf-8"', 'Server': 'Linux UPnP/1.0 Sonos/34.7-35162c (ZPS12)', 'EXT': ''}, <s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><s:Body><u:SetTrebleResponse xmlns:u="urn:schemas-upnp-org:service:RenderingControl:1"></u:SetTrebleResponse></s:Body></s:Envelope> -- services.py:send_command:389
    2017-01-03 12:50:43,536 DEBUG    Thread-27    Event content: b'<e:propertyset xmlns:e="urn:schemas-upnp-org:event-1-0"><e:property><LastChange>&lt;Event xmlns=&quot;urn:schemas-upnp-org:metadata-1-0/RCS/&quot;&gt;&lt;InstanceID val=&quot;0&quot;&gt;&lt;Treble val=&quot;0&quot;/&gt;&lt;/InstanceID&gt;&lt;/Event&gt;</LastChange></e:property></e:propertyset>' -- events.py:do_NOTIFY:228
    2017-01-03 12:50:43,555 INFO     Thread-15    Received status 200 from 192.168.1.24 -- services.py:send_command:392
    2017-01-03 12:50:43,578 DEBUG    Thread-27    "NOTIFY / HTTP/1.1" 200 - -- events.py:log_message:249
    2017-01-03 12:50:43,589 DEBUG    MainThread   Starting new HTTP connection (1): 192.168.1.24 -- connectionpool.py:_new_conn:212
    2017-01-03 12:50:43,596 DEBUG    Thread-15    Dispatching method SetLoudness -- services.py:__getattr__:195
    2017-01-03 12:50:43,627 INFO     Thread-15    Sending SetLoudness [('InstanceID', 0), ('Channel', 'Master'), ('DesiredLoudness', '1')] to 192.168.1.24 -- services.py:send_command:381
    2017-01-03 12:50:43,656 DEBUG    MainThread   http://192.168.1.24:1400 "UNSUBSCRIBE /MediaRenderer/RenderingControl/Event HTTP/1.1" 200 None -- connectionpool.py:_make_request:400
    2017-01-03 12:50:43,662 DEBUG    Thread-15    Sending {'SOAPACTION': 'urn:schemas-upnp-org:service:RenderingControl:1#SetLoudness', '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:SetLoudness xmlns:u="urn:schemas-upnp-org:service:RenderingControl:1">
          <InstanceID>0</InstanceID>
          <Channel>Master</Channel>
          <DesiredLoudness>1</DesiredLoudness>
        </u:SetLoudness>
      </s:Body>
    </s:Envelope>
     -- services.py:send_command:382
    2017-01-03 12:50:43,711 INFO     MainThread   Unsubscribed from http://192.168.1.24:1400/MediaRenderer/RenderingControl/Event, sid: uuid:RINCON_949F3E7072DC01400_sub0000003269 -- events.py:unsubscribe:576
    2017-01-03 12:50:43,801 DEBUG    Thread-15    Starting new HTTP connection (1): 192.168.1.24 -- connectionpool.py:_new_conn:212
    2017-01-03 12:50:43,836 DEBUG    MainThread   Starting new HTTP connection (1): 192.168.1.24 -- connectionpool.py:_new_conn:212
    2017-01-03 12:50:43,863 DEBUG    Thread-15    http://192.168.1.24:1400 "POST /MediaRenderer/RenderingControl/Control HTTP/1.1" 200 259 -- connectionpool.py:_make_request:400
    2017-01-03 12:50:43,878 DEBUG    MainThread   http://192.168.1.24:1400 "UNSUBSCRIBE /MediaRenderer/AVTransport/Event HTTP/1.1" 200 None -- connectionpool.py:_make_request:400
    2017-01-03 12:50:43,916 DEBUG    Thread-15    Received {'CONTENT-LENGTH': '259', 'Connection': 'close', 'CONTENT-TYPE': 'text/xml; charset="utf-8"', 'Server': 'Linux UPnP/1.0 Sonos/34.7-35162c (ZPS12)', 'EXT': ''}, <s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><s:Body><u:SetLoudnessResponse xmlns:u="urn:schemas-upnp-org:service:RenderingControl:1"></u:SetLoudnessResponse></s:Body></s:Envelope> -- services.py:send_command:389
    2017-01-03 12:50:43,929 INFO     MainThread   Unsubscribed from http://192.168.1.24:1400/MediaRenderer/AVTransport/Event, sid: uuid:RINCON_949F3E7072DC01400_sub0000003268 -- events.py:unsubscribe:576
    2017-01-03 12:50:43,934 INFO     Thread-15    Received status 200 from 192.168.1.24 -- services.py:send_command:392
    2017-01-03 12:50:43,958 INFO     Thread-15    Sending SetVolume [('InstanceID', 0), ('Channel', 'Master'), ('DesiredVolume', 27)] to 192.168.1.24 -- services.py:send_command:381
    2017-01-03 12:50:43,988 DEBUG    Thread-15    Sending {'SOAPACTION': 'urn:schemas-upnp-org:service:RenderingControl:1#SetVolume', '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:SetVolume xmlns:u="urn:schemas-upnp-org:service:RenderingControl:1">
          <InstanceID>0</InstanceID>
          <Channel>Master</Channel>
          <DesiredVolume>27</DesiredVolume>
        </u:SetVolume>
      </s:Body>
    </s:Envelope>
     -- services.py:send_command:382
    2017-01-03 12:50:44,066 DEBUG    MainThread   Starting new HTTP connection (1): 192.168.1.24 -- connectionpool.py:_new_conn:212
    2017-01-03 12:50:44,117 DEBUG    MainThread   http://192.168.1.24:1400 "UNSUBSCRIBE /ZoneGroupTopology/Event HTTP/1.1" 200 None -- connectionpool.py:_make_request:400
    2017-01-03 12:50:44,122 DEBUG    Thread-15    Starting new HTTP connection (1): 192.168.1.24 -- connectionpool.py:_new_conn:212
    2017-01-03 12:50:44,162 INFO     MainThread   Unsubscribed from http://192.168.1.24:1400/ZoneGroupTopology/Event, sid: uuid:RINCON_949F3E7072DC01400_sub0000003267 -- events.py:unsubscribe:576
    smarthome@raspberrypi:/usr/local/bin$

    Einen Kommentar schreiben:


  • pfischi
    antwortet
    Das ist echt der Wurm drin. Schicke mir am besten nochmal ein komplettes Debug-Log, wo auch der Start mit geplottet ist.
    Bekommen wir schon zum Laufen. Ich kann dir gerne auch einen autarken Docker-Container bereitstellen, falls du die Möglichkeit hast, diesen auf einem Server ausführen zu können. Da wäre alles fix und fertig konfiguriert. Leider läuft Docker nicht auf dem Raspi.


    Edit: Oben hatte ich dir gesagt, du musst eventuell noch den Port ändern: das bezog sich auf den Parameter 'server_url' (nur ums nochal klarzustellen'). In deinem Beispiel dann also:

    Code:
    server_url = [URL="http://192.168.1.13/tts"]http://192.168.1.13:8080/tts[/URL]
    Gruss,

    Stefan
    Zuletzt geändert von pfischi; 03.01.2017, 12:18.

    Einen Kommentar schreiben:


  • Max2612
    antwortet
    Ich werde noch wahnsinnig...

    Jetzt wird keine mp3-Datei mehr erzeugt...

    Einen Kommentar schreiben:


  • pfischi
    antwortet
    Hab ich mir gedacht. Im Moment startet der Sonos Broker keinen eigenen Webserver. Ich bin gerade am überlegen, ob und wie ich das in der nächsten Version mache.
    Du kannst aber ganz einfach zum Testen einen Server starten:

    Code:
    cd /var/www/tts
    python3 -m http.server 8080
    Den Port kannst du natürlich anpassen, muss dann entsprechend in der sonos.cfg angepasst werden. Wenn du die IP nochmal per Browser aufrufst, solltest du keine 404 mehr bekommen. Jetzt können auch die Lautsprecher darauf zugreifen.

    Gruss,

    Stefan

    Einen Kommentar schreiben:


  • Max2612
    antwortet
    Zitat von pfischi Beitrag anzeigen
    Max2612

    Was passiert wenn du diese IP
    Code:
    http://192.168.1.13/tts
    in deinem Browser aufrufst?
    404 - Not found

    Einen Kommentar schreiben:


  • pfischi
    antwortet
    Max2612

    Was passiert wenn du diese IP
    Code:
    http://192.168.1.13/tts
    in deinem Browser aufrufst?

    Einen Kommentar schreiben:


  • Max2612
    antwortet
    Guten Morgen!

    Meine sonos_broker.cfg
    Code:
    #This is the config file for sonos broker
    #Adapt and uncomment the lines to your purpose
    
    ########################################################################
    [logging]
    
    #Sets the log level for the server. WARNING is the default value.
    #Possible values are: debug, info, warning, error, critical
    #Default logfile path: /tmp/sonos_broker.log
    
    #loglevel = warning
    #logfile = /tmp/log.txt
    
    ########################################################################
    [sonos_broker]
    
    #Binding host address. Default: 0.0.0.0
    #host = 0.0.0.0
    
    #Server port. Default: 12900
    #port = 12900
    
    ########################################################################
    [google_tts]
    
    #Enabled Google-Text-To-Speech. Default: false
    enabled = true
    
    #Select the path where sonos broker will save the converted mp3 files
    #Before a web request is made, sonos broker will check, if the requested file already exists.
    #Possible paths could be: local webserver, mounted smb share ...
    
    save_path = /var/www/tts
    
    #Specifies the destination url which sonos broker refers to the sonos speakers. This url must point to 'save_path'.
    
    server_url = http://192.168.1.13/tts
    
    #Maximum file size quota in megabytes. Up to this size, sonos broker will save files to 'save_path'.
    #Default: 100
    #quota = 200
    In der Readme des Brokers steht irgendwo unter tts
    Code:
    The file name of a tts-file is always: BASE64(_).mp3
    Bei mir, wird sie so gespeichert
    Code:
    ZGVfX0xlbmE=.mp3
    Danke
    Gruß, Max

    Einen Kommentar schreiben:

Lädt...
X