Ankündigung

Einklappen
Keine Ankündigung bisher.

Sonos Anbindung

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

  • pfischi
    antwortet
    Wegen dem Fehler: starte mal den Server mit - - disable_tts

    Mit dem Pfad ins /var/wwwist natürlich einfach, bin ich ehrlich gesagt nicht drauf gekommen. Werde das mal testen und schauen, ob alle Funktionalitäten erhalten bleiben. Dann baue ich das mit ein. Prinzipiell sollte es aber schon jetzt gehen: wie in der Doku beschrieben (siehe unten) kannst du die Pfade manuell setzen, dann sollte auch deine Konfiguration funktionieren.

    Zum Einrichten des Samba-Shares habe ich oben im Thread auf die Readme des Brokers verwiesen, da ist ein extra Punkt zu Google TTS . Da alles serverseitig passiert, brauchen auch keine weiteren Parameter seitens des sh.py - Plugins übergeben werden.

    Wenn das Release stabil läuft, bin ich schon am überlegen, ob ich die Parameterübergabe an den Server neu strukturiere. Im Moment läuft das ja über ein simple GET Anfrage, wo die Parameter in dem URL-Pfad übergeben werden. Mittelfristig soll das über JSON laufen, dann könnte man solche Sachen wie den Ablageort für die TTS-Dateien auch durch das Plugins übergeben lassen.

    Danke für das Feedback. Und nochmal an dieser Stelle: sollte jemand Bugs finden oder Features haben, nutzt Bitte die Github Seite, da kann ich alles ordentlich verwalten.

    Gesendet von meinem GT-N7000 mit Tapatalk

    Einen Kommentar schreiben:


  • buffi
    antwortet
    Hi,

    wenn man das TTS nicht benutzen möchte kommt da ein Fehler:
    Code:
    admin@smarthome:/usr/shSonos/server.sonos$ ./sonos_broker                                                                                                                                                                                                                       
    No smb url given!                                                                                                                                                                                                                                                               
    No local share given!                                                                                                                                                                                                                                                           
    Traceback (most recent call last):                                                                                                                                                                                                                                              
      File "./sonos_broker", line 121, in <module>                                                                                                                                                                                                                                  
        if not utils.check_directory_permissions(local_share):                                                                                                                                                                                                                      
      File "/usr/shSonos/server.sonos/lib_sonos/utils.py", line 111, in check_directory_permissions                                                                                                                                                                                 
        return os.access(local_share, os.W_OK) and os.access(local_share, os.R_OK)                                                                                                                                                                                                  
    TypeError: Can't convert 'NoneType' object to str implicitly
    Noch eine andere Frage, warum muss es ein Sambashare sein?
    z.B bei Play-Snippet reichts auch, wenns im Netz verfügbar ist.
    Code:
    sh.sonos.kueche.play_snippet('[URL]http://192.168.0.11/mp3/welcome.mp3[/URL]')
    (Dateien liegen ganz normal im /var/www/mp3/)
    bzw. hast du evtl. vergessen zu beschreiben wo der Share konfiguriert werden muss?

    ich hätte nun erwartet dass im plugin.conf zwei neue Einträge nötig gewesen wären: z.B
    local_share
    share_url

    Gruss und weiter so
    Buffi

    Einen Kommentar schreiben:


  • pfischi
    antwortet
    Broker v.0.1.8, Plugin 0.5

    Neue Version Sonos-Broker v0.1.8, Sonos-Plugin 0.5

    - Google Text-To-Speech-Support
    - kleine Bugfixes

    WICHTIG:

    Sonos-Broker und das Plugin müssen geupdatet werden, um den TTS-Support zu bekommen. Für die neue TTS Funktion ist ein lokal gemounteter Samba-Share notwendig, an dieser Stelle verweise ich auf die Dokumentation des Sonos-Broker unter

    https://github.com/pfischi/shSonos

    Für das Smarthome.py-Plugin ist einer neuer Eintrag in der config für die Sonos-Lautsprecher notwendig, auch der Hinweis auf die Doku unter:

    https://github.com/pfischi/shSonos/t...r/plugin.sonos

    DOWNLOADS:

    Sonos-Broker v0.1.8


    Smarthome.py-Plugin


    Request an Marcus zum Einstellen des Plugins in sh.py ist unterwegs.


    Grüße,


    Stefan

    Einen Kommentar schreiben:


  • pfischi
    antwortet
    Den Fehler den du da noch hast habe ich gefixt, aber noch nicht in Github übertragen. Das kommt zusammen mit Google Text To Speach .

    Gesendet von meinem GT-N7000 mit Tapatalk

    Einen Kommentar schreiben:


  • gklein
    antwortet
    Es geht, Danke Dir!!
    Ich musste den Orner komplett löschen und hab es neu gezogen, danach ging es. Über git pull "Drüberziehen" wollte er wohl nicht.
    Beim Ansteuern über Smartvisu tauchen ab und an noch die Fehler hier auf.

    Code:
    Exception happened during processing of request from ('127.0.0.1', 34934)
    Traceback (most recent call last):
      File "/usr/lib/python3.2/socketserver.py", line 592, in process_request_thread
        self.finish_request(request, client_address)
      File "/usr/lib/python3.2/socketserver.py", line 334, in finish_request
        self.RequestHandlerClass(request, client_address, self)
      File "/usr/lib/python3.2/socketserver.py", line 648, in __init__
        self.handle()
      File "/usr/lib/python3.2/http/server.py", line 396, in handle
        self.handle_one_request()
      File "/usr/lib/python3.2/http/server.py", line 384, in handle_one_request
        method()
      File "./sonos_broker", line 52, in do_GET
        self.wfile.write("<body><p>{}</p></body>".format(response).encode('utf-8'))
      File "/usr/lib/python3.2/socket.py", line 308, in write
        return self._sock.send(b)
    socket.error: [Errno 32] Broken pipe
    Ich schau mal ob ich das Eingrenzen kann und geb Dir nochmal Feedback.

    Danke und schönen Sonntag noch
    Gunnar

    Einen Kommentar schreiben:


  • pfischi
    antwortet
    Ich glaube, du hast den Sonos Broker noch nicht (richtig) geupdatet. Das Platin erwartet nun JSON-Packete, die gibt's erst seit der letzten Version vom Broker.

    Gesendet von meinem GT-N7000 mit Tapatalk

    Einen Kommentar schreiben:


  • gklein
    antwortet
    Hi Stefan,

    hier die Logs.
    Hatte den Zonennamen auch schon von "Küche" auf "Kueche" geändert, um ein Thema mit Sonderzeichen auszuschließen - Fehler bleibt.

    sonos_broker
    Code:
    root@knxberry:/usr/local/shSonos# ./sonos_broker >> sonos.log
    192.168.2.108 - - [23/Mar/2014 18:07:21] "NOTIFY / HTTP/1.1" 200 -
    192.168.2.108 - - [23/Mar/2014 18:07:21] "NOTIFY / HTTP/1.1" 200 -
    127.0.0.1 - - [23/Mar/2014 18:08:07] "GET client/subscribe/9999 HTTP/1.1" 200 -
    127.0.0.1 - - [23/Mar/2014 18:08:07] "GET speaker/rincon_000e58f4284401400/current_state HTTP/1.1" 400 -
    127.0.0.1 - - [23/Mar/2014 18:08:24] "GET speaker/rincon_000e58f4284401400/play/1 HTTP/1.1" 200 -
    Traceback (most recent call last):
      File "/usr/lib/python3.2/socketserver.py", line 592, in process_request_thread
        self.finish_request(request, client_address)
      File "/usr/lib/python3.2/socketserver.py", line 334, in finish_request
        self.RequestHandlerClass(request, client_address, self)
      File "/usr/lib/python3.2/socketserver.py", line 648, in __init__
        self.handle()
      File "/usr/lib/python3.2/http/server.py", line 396, in handle
        self.handle_one_request()
      File "/usr/lib/python3.2/http/server.py", line 384, in handle_one_request
        method()
      File "./sonos_broker", line 51, in do_GET
        self.wfile.write("<body><p>{}</p></body>".format(response).encode('utf-8'))
      File "/usr/lib/python3.2/socket.py", line 308, in write
        return self._sock.send(b)
    socket.error: [Errno 32] Broken pipe
    127.0.0.1 - - [23/Mar/2014 18:08:28] "GET speaker/rincon_000e58f4284401400/stop/1 HTTP/1.1" 200 -
    127.0.0.1 - - [23/Mar/2014 18:08:41] "GET speaker/rincon_000e58f4284401400/stop/1 HTTP/1.1" 200 -
    Traceback (most recent call last):
      File "/usr/lib/python3.2/socketserver.py", line 592, in process_request_thread
        self.finish_request(request, client_address)
      File "/usr/lib/python3.2/socketserver.py", line 334, in finish_request
        self.RequestHandlerClass(request, client_address, self)
      File "/usr/lib/python3.2/socketserver.py", line 648, in __init__
        self.handle()
      File "/usr/lib/python3.2/http/server.py", line 396, in handle
        self.handle_one_request()
      File "/usr/lib/python3.2/http/server.py", line 384, in handle_one_request
        method()
      File "./sonos_broker", line 51, in do_GET
        self.wfile.write("<body><p>{}</p></body>".format(response).encode('utf-8'))
      File "/usr/lib/python3.2/socket.py", line 308, in write
        return self._sock.send(b)
    socket.error: [Errno 32] Broken pipe
    192.168.2.108 - - [23/Mar/2014 18:09:15] "NOTIFY / HTTP/1.1" 200 -
    192.168.2.108 - - [23/Mar/2014 18:09:15] "NOTIFY / HTTP/1.1" 200 -
    127.0.0.1 - - [23/Mar/2014 18:10:07] "GET client/subscribe/9999 HTTP/1.1" 200 -
    Traceback (most recent call last):
      File "/usr/lib/python3.2/socketserver.py", line 592, in process_request_thread
        self.finish_request(request, client_address)
      File "/usr/lib/python3.2/socketserver.py", line 334, in finish_request
        self.RequestHandlerClass(request, client_address, self)
      File "/usr/lib/python3.2/socketserver.py", line 648, in __init__
        self.handle()
      File "/usr/lib/python3.2/http/server.py", line 396, in handle
        self.handle_one_request()
      File "/usr/lib/python3.2/http/server.py", line 384, in handle_one_request
        method()
      File "./sonos_broker", line 51, in do_GET
    127.0.0.1 - - [23/Mar/2014 18:10:07] "GET speaker/rincon_000e58f4284401400/current_state HTTP/1.1" 400 -
        self.wfile.write("<body><p>{}</p></body>".format(response).encode('utf-8'))
      File "/usr/lib/python3.2/socket.py", line 308, in write
        return self._sock.send(b)
    socket.error: [Errno 32] Broken pipe
    192.168.2.108 - - [23/Mar/2014 18:11:09] "NOTIFY / HTTP/1.1" 200 -
    192.168.2.108 - - [23/Mar/2014 18:11:09] "NOTIFY / HTTP/1.1" 200 -
    127.0.0.1 - - [23/Mar/2014 18:12:07] "GET client/subscribe/9999 HTTP/1.1" 200 -
    Traceback (most recent call last):
      File "/usr/lib/python3.2/socketserver.py", line 592, in process_request_thread
        self.finish_request(request, client_address)
      File "/usr/lib/python3.2/socketserver.py", line 334, in finish_request
        self.RequestHandlerClass(request, client_address, self)
      File "/usr/lib/python3.2/socketserver.py", line 648, in __init__
        self.handle()
      File "/usr/lib/python3.2/http/server.py", line 396, in handle
        self.handle_one_request()
      File "/usr/lib/python3.2/http/server.py", line 384, in handle_one_request
        method()
      File "./sonos_broker", line 51, in do_GET
        self.wfile.write("<body><p>{}</p></body>".format(response).encode('utf-8'))
      File "/usr/lib/python3.2/socket.py", line 308, in write
        return self._sock.send(b)
    socket.error: [Errno 32] Broken pipe
    127.0.0.1 - - [23/Mar/2014 18:12:07] "GET speaker/rincon_000e58f4284401400/current_state HTTP/1.1" 400 -
    192.168.2.108 - - [23/Mar/2014 18:13:02] "NOTIFY / HTTP/1.1" 200 -
    192.168.2.108 - - [23/Mar/2014 18:13:02] "NOTIFY / HTTP/1.1" 200 -
    127.0.0.1 - - [23/Mar/2014 18:14:07] "GET client/subscribe/9999 HTTP/1.1" 200 -
    Traceback (most recent call last):
      File "/usr/lib/python3.2/socketserver.py", line 592, in process_request_thread
        self.finish_request(request, client_address)
      File "/usr/lib/python3.2/socketserver.py", line 334, in finish_request
        self.RequestHandlerClass(request, client_address, self)
      File "/usr/lib/python3.2/socketserver.py", line 648, in __init__
        self.handle()
      File "/usr/lib/python3.2/http/server.py", line 396, in handle
        self.handle_one_request()
      File "/usr/lib/python3.2/http/server.py", line 384, in handle_one_request
    127.0.0.1 - - [23/Mar/2014 18:14:07] "GET speaker/rincon_000e58f4284401400/current_state HTTP/1.1" 400 -
        method()
      File "./sonos_broker", line 51, in do_GET
        self.wfile.write("<body><p>{}</p></body>".format(response).encode('utf-8'))
      File "/usr/lib/python3.2/socket.py", line 308, in write
        return self._sock.send(b)
    socket.error: [Errno 32] Broken pipe
    192.168.2.108 - - [23/Mar/2014 18:14:56] "NOTIFY / HTTP/1.1" 200 -
    192.168.2.108 - - [23/Mar/2014 18:14:56] "NOTIFY / HTTP/1.1" 200 -
    127.0.0.1 - - [23/Mar/2014 18:16:08] "GET client/subscribe/9999 HTTP/1.1" 200 -
    Traceback (most recent call last):
      File "/usr/lib/python3.2/socketserver.py", line 592, in process_request_thread
        self.finish_request(request, client_address)
      File "/usr/lib/python3.2/socketserver.py", line 334, in finish_request
        self.RequestHandlerClass(request, client_address, self)
      File "/usr/lib/python3.2/socketserver.py", line 648, in __init__
        self.handle()
      File "/usr/lib/python3.2/http/server.py", line 396, in handle
        self.handle_one_request()
      File "/usr/lib/python3.2/http/server.py", line 384, in handle_one_request
        method()
      File "./sonos_broker", line 51, in do_GET
        self.wfile.write("<body><p>{}</p></body>".format(response).encode('utf-8'))
      File "/usr/lib/python3.2/socket.py", line 308, in write
        return self._sock.send(b)
    socket.error: [Errno 32] Broken pipe
    127.0.0.1 - - [23/Mar/2014 18:16:08] "GET speaker/rincon_000e58f4284401400/current_state HTTP/1.1" 400 -
    Traceback (most recent call last):
      File "/usr/lib/python3.2/socketserver.py", line 592, in process_request_thread
        self.finish_request(request, client_address)
      File "/usr/lib/python3.2/socketserver.py", line 334, in finish_request
        self.RequestHandlerClass(request, client_address, self)
      File "/usr/lib/python3.2/socketserver.py", line 648, in __init__
        self.handle()
      File "/usr/lib/python3.2/http/server.py", line 396, in handle
        self.handle_one_request()
      File "/usr/lib/python3.2/http/server.py", line 384, in handle_one_request
        method()
      File "./sonos_broker", line 51, in do_GET
        self.wfile.write("<body><p>{}</p></body>".format(response).encode('utf-8'))
      File "/usr/lib/python3.2/socket.py", line 308, in write
        return self._sock.send(b)
    socket.error: [Errno 32] Broken pipe
    192.168.2.108 - - [23/Mar/2014 18:16:50] "NOTIFY / HTTP/1.1" 200 -
    192.168.2.108 - - [23/Mar/2014 18:16:50] "NOTIFY / HTTP/1.1" 200 -
    smarthome.py - knxberry ist der Hostname vom PI
    Code:
    Init SmartHome.py 1.0-32-gfd0043e
    2014-03-23 18:08:07 WARNING  sonos        Sonos: Could not send message knxberry:12900 speaker/rincon_000e58f4284401400/current_state - 400 Bad request
    2014-03-23 18:08:20 WARNING  Main         Client 192.168.2.105:56942 requested invalid item: sonos.artist
    2014-03-23 18:08:20 WARNING  Main         Client 192.168.2.105:56942 requested invalid item: sonos.track
    2014-03-23 18:08:24 ERROR    Main         Error parsing sonos broker response!
    Error: No JSON object could be decoded
    2014-03-23 18:08:28 ERROR    Main         Error parsing sonos broker response!
    Error: No JSON object could be decoded
    2014-03-23 18:08:41 ERROR    Main         Error parsing sonos broker response!
    Error: No JSON object could be decoded
    2014-03-23 18:09:15 ERROR    Main         Error parsing sonos broker response!
    Error: No JSON object could be decoded
    2014-03-23 18:09:15 ERROR    Main         Error parsing sonos broker response!
    Error: No JSON object could be decoded
    2014-03-23 18:10:07 WARNING  sonos        Sonos: Could not send message knxberry:12900 speaker/rincon_000e58f4284401400/current_state - 400 Bad request
    2014-03-23 18:11:09 ERROR    Main         Error parsing sonos broker response!
    Error: No JSON object could be decoded
    2014-03-23 18:11:09 ERROR    Main         Error parsing sonos broker response!
    Error: No JSON object could be decoded
    2014-03-23 18:12:07 WARNING  sonos        Sonos: Could not send message knxberry:12900 speaker/rincon_000e58f4284401400/current_state - 400 Bad request
    2014-03-23 18:13:02 ERROR    Main         Error parsing sonos broker response!
    Error: No JSON object could be decoded
    2014-03-23 18:13:02 ERROR    Main         Error parsing sonos broker response!
    Error: No JSON object could be decoded
    2014-03-23 18:14:08 WARNING  sonos        Sonos: Could not send message knxberry:12900 speaker/rincon_000e58f4284401400/current_state - 400 Bad request
    2014-03-23 18:14:56 ERROR    Main         Error parsing sonos broker response!
    Error: No JSON object could be decoded
    2014-03-23 18:14:56 ERROR    Main         Error parsing sonos broker response!
    Error: No JSON object could be decoded
    2014-03-23 18:16:08 WARNING  sonos        Sonos: Could not send message knxberry:12900 speaker/rincon_000e58f4284401400/current_state - 400 Bad request
    Grüße
    Gunnar

    Einen Kommentar schreiben:


  • pfischi
    antwortet
    Zitat von gklein Beitrag anzeigen
    Hallo Stefan,

    Kannst Du mir auf die Sprünge helfen? Hat "encode utf-8" evtl. was mit meinen LOCALE-Einstellungen vom PI zu tun?

    Danke
    Gunnar

    Also den Pipe 32 Fehler habe ich gefunden und gefixt. Der hat aber leider nicht mit deinem Problem zu tun. Kannst du den Server mal bitte mit:

    Code:
    ./sonos_broker >> sonos.log
    starten und mir die Log-Datei senden? Am besten lässt du es mal so 10min laufen, Smarthome muss auch laufen. Und die Smarthome.py-Log kann auch nicht schaden.


    Danke,

    Stefan

    Einen Kommentar schreiben:


  • pfischi
    antwortet
    Zitat von gklein Beitrag anzeigen
    Hallo Stefan,

    erstmal - grandioses Plugin
    Ich habe seit dem letzten Update (per git pull) aber das Problem, das der Connect bei mir nicht mehr zustande kommt. Habe den sonos_broker mal in der CLI laufen lassen und erhalte folgenden python-Fehler:

    Code:
    Exception happened during processing of request from ('127.0.0.1', 44392)
    Traceback (most recent call last):
      File "/usr/lib/python3.2/socketserver.py", line 592, in process_request_thread
        self.finish_request(request, client_address)
      File "/usr/lib/python3.2/socketserver.py", line 334, in finish_request
        self.RequestHandlerClass(request, client_address, self)
      File "/usr/lib/python3.2/socketserver.py", line 648, in __init__
        self.handle()
      File "/usr/lib/python3.2/http/server.py", line 396, in handle
        self.handle_one_request()
      File "/usr/lib/python3.2/http/server.py", line 384, in handle_one_request
        method()
      File "/usr/local/bin/sonos_broker", line 51, in do_GET
        self.wfile.write("<body><p>{}</p></body>".format(response).encode('utf-8'))
      File "/usr/lib/python3.2/socket.py", line 308, in write
    127.0.0.1 - - [19/Mar/2014 21:29:32] "GET speaker/rincon_000e58f4284401400/current_state HTTP/1.1" 400 -
        return self._sock.send(b)
    Kannst Du mir auf die Sprünge helfen? Hat "encode utf-8" evtl. was mit meinen LOCALE-Einstellungen vom PI zu tun?

    Danke
    Gunnar

    Hallo,

    ich geh dem Problem auf die Spur.

    Einen Kommentar schreiben:


  • gklein
    antwortet
    Hallo Stefan,

    erstmal - grandioses Plugin
    Ich habe seit dem letzten Update (per git pull) aber das Problem, das der Connect bei mir nicht mehr zustande kommt. Habe den sonos_broker mal in der CLI laufen lassen und erhalte folgenden python-Fehler:

    Code:
    Exception happened during processing of request from ('127.0.0.1', 44392)
    Traceback (most recent call last):
      File "/usr/lib/python3.2/socketserver.py", line 592, in process_request_thread
        self.finish_request(request, client_address)
      File "/usr/lib/python3.2/socketserver.py", line 334, in finish_request
        self.RequestHandlerClass(request, client_address, self)
      File "/usr/lib/python3.2/socketserver.py", line 648, in __init__
        self.handle()
      File "/usr/lib/python3.2/http/server.py", line 396, in handle
        self.handle_one_request()
      File "/usr/lib/python3.2/http/server.py", line 384, in handle_one_request
        method()
      File "/usr/local/bin/sonos_broker", line 51, in do_GET
        self.wfile.write("<body><p>{}</p></body>".format(response).encode('utf-8'))
      File "/usr/lib/python3.2/socket.py", line 308, in write
    127.0.0.1 - - [19/Mar/2014 21:29:32] "GET speaker/rincon_000e58f4284401400/current_state HTTP/1.1" 400 -
        return self._sock.send(b)
    Kannst Du mir auf die Sprünge helfen? Hat "encode utf-8" evtl. was mit meinen LOCALE-Einstellungen vom PI zu tun?

    Danke
    Gunnar

    Einen Kommentar schreiben:


  • pfischi
    antwortet
    0.1.7.1 - minor bugfix

    Hall,

    und gleich ein kleines Broker-Update hinterher:

    v.0.1.7.1;
    • track_uri wird nun richtig angezeigt
    • sockets werden nun auch im Fehlerfall zuverlässig geschlossen



    Download


    Schönes WE;


    Stefan


    Edit:

    Marcus hat das Sonos-Plugin im dev-Zweig von smarthome.py eingepflegt.

    Einen Kommentar schreiben:


  • pfischi
    antwortet
    Neue Version Plugin (0.4) / Broker (0.1.7)

    Hallo,

    endlich habe ich genug Zeit zu finden, die ganzen neuen Sachen zu implementieren und zu dokumentieren.

    Hier die wichtigesten neuen Sachen:

    • play_snippet command:
      • während der Wiedergabe einer Playlist können nun Snippets abgespielt werden. Dabei die Lautstärke stufenweise heruntergedreht (bis auf 0), das Snippet mit der gewählten Lautstärke (siehe config / Doku) abgespielt, und das Musikstück / Radio an der unterbrochenen Stelle wieder aufgenommen (mit der originalen Lautstärke)

    • Umstellung auf das JSON-Format
      • weniger Netzwerk-Traffic
      • übersichtlichere Codebasis

    • noch mehr Informationen über den Speaker vorhanden
      • track_uri, track_album_art, radio_station, radio_show, model, zone_name, zone_icon, serial_number, software_version, hardware_version, mac_address (siehe config / Doku)

    • bessere Integration von Radio-Stationen
    • Code (Plugin / Broker) entschlackt, neu überarbeitet)
    • und vieles mehr





    WICHTIG:

    1. Installation

    Aufgrund der großen Umstellungen im Code ist das smarthome_plugin ab v0.4 nur noch mit dem Broker ab v0.1.7 kompatibel.

    Hier die aktuell Versionen:

    Sonos-Broker; v0.1.7
    Sonos- Plugin für smarthome.py (im Moment nur in Github, Pull-Request für smarthome.py ist unterwegs)

    2. Konfiguration Plugin
    Auch hier haben sich ein paar Veränderungen ergeben. Die neue Konfiguartion ist erheblich einfacher, jedoch müssen ältere sonos.conf-Dateien dahingehend angepasst werden.
    (siehe 2. Integration in Smarthome.py)

    3. Bekannte Probleme:
    Wir die neue play_snippet-Funktion während der Wiedergabe eines Radiosenders ausgeführt, so wird das Albumcover nicht richtig gesetzt, sobald der Radiosender wieder abgespielt wird, Im Client ist dann leider kein Cover zu sehen. Alle anderen Metadaten werden wieder richtig gesetzt. Bei einem Musikstück (NAS, Spotify etc) tritt dies nicht auf. Ich bin dem Fehler auf der Spur :-)

    Aufgrund der großen Codeumstellungen kann der eine oder andere Fehler sich eingeschlichen haben, ich bitt deshalb wieder um fleisig Mithilfe.

    4. To-Do:
    Ich bin gerade dabei, die Text-To-Speech-API von Google einzubinden. Eigentlich so gut wie fertig, muss aber noch getestet werden. Strings werden dann automatisch in ein mp3 umgewandelt und abgespielt. Gerade für die Play-Snippet-Funktion sehr interessant.


    Schönen Tag noch,


    Stefan

    Einen Kommentar schreiben:


  • pfischi
    antwortet
    So, nochmal eine kleine Wasserstandsmeldung,

    die Funktionen sind alle eingebaut. Die play_snippet-Funktion ist komplett serverseitig integriert. Sobald ein Musik-Sample gespielt wird, fadet die Lautstärke auf 0 ab, spielt das Sample und setzt an der gleichen Stelle der Playlist (auch innerhalb des zuvor gehörten Musikstücks wieder ein) Die Lautstärke fadet wieder auf den ursprünglichen Wert zurück.

    Morgen werde ich das ganze ausführlich Testen und spätestens Mittwoch online stellen.

    Bis bald,


    Stefan

    Einen Kommentar schreiben:


  • pfischi
    antwortet
    Die Fehlermeldung sollte nach der Umstellung weg sein. Die sendMSG Funktion ist schon bei mir als play_snippet fest eingeplant.

    Gesendet von meinem GT-N7000 mit Tapatalk

    Einen Kommentar schreiben:


  • buffi
    antwortet
    Hi,

    ich habe noch einen Bug entdeckt. Die URL wird abgespielt, aber dennoch eine Warnung geworfen.

    Error
    Code:
    2014-02-22 20:28:56 WARNING  Sonos        Could not send sonos notification: speaker/rincon_000e5886437201400/play_uri/set/http%3A%2F%2F192.168.0.11%2Fmp3%2Fwelcome.mp3. Error: ''
    Logik:
    Code:
    def playMSG (sh, logger, item, url, volume):                                                                                                                                                                                                                                    
        vol = item.volume()                                                                                                                                                                                                                                                         
        item.volume(volume)                                                                                                                                                                                                                                                         
        item.play_uri(url)                                                                                                                                                                                                                                                          
        h,m,s=str(item.track_duration()).split(":") 
        sek = int(h)*3600+int(m)*60+int(s)+2                                                                                                                                                                                  
        time.sleep (sek)                                                                                                                                                                                                                                                            
        item.stop(1)                                                                                                                                                                                                                                                                
                                                                                                                                                                                                                                                                                    
    if cmd == 'Sonos aus':                                                                                                                                                                                                                                                          
        logger.info("Sonos aus")                                                                                                                                                                                                                                                    
        for item in sh.match_items('sonos.*.stop'):                                                                                                                                                                                                                                 
            item(1)                                                                                                                                                                                                                                                                 
                                                                                                                                                                                                                                                                                    
    elif cmd == 'welcome':                                                                                                                                                                                                                                                          
        playMSG (sh, logger, sh.sonos.kueche, '[URL]http://192.168.0.11/mp3/welcome.mp3[/URL]', 40)
    evtl. kannst du auch so eine sendMSG-Methode im Plugin bereitstellen.

    gruss Buffi

    Einen Kommentar schreiben:

Lädt...
X