Ankündigung

Einklappen
Keine Ankündigung bisher.

Sonos Anbindung

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

    #91
    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

    Kommentar


      #92
      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
      Sonos

      Kommentar


        #93
        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
        Sonos

        Kommentar


          #94
          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
          Sonos

          Kommentar


            #95
            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.
            Sonos

            Kommentar


              #96
              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

              Kommentar


                #97
                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.
                Sonos

                Kommentar


                  #98
                  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
                  Sonos

                  Kommentar


                    #99
                    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

                    Kommentar


                      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
                      Sonos

                      Kommentar


                        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

                        Kommentar


                          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
                          Sonos

                          Kommentar


                            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
                            Sonos

                            Kommentar


                              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

                              Kommentar


                                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
                                Sonos

                                Kommentar

                                Lädt...
                                X