Ankündigung

Einklappen
Keine Ankündigung bisher.

Sonos Anbindung

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

  • manu241
    antwortet
    Hallo Stefan,

    ich versuche mich gerade an der Anbindung meines Sonos Lautsprechers.
    Wenn ich den Sonos Broker ausführe bekomme ich folgende Fehlermeldung.

    Code:
    admin@smarthome:/usr/shSonos/server.sonos/dist/sonos_broker$ sonos_broker -d
    2016-06-11 12:17:58,906 DEBUG    MainThread   Google-TTS 'local mode' disabled! Only streaming mode available. -- sonos_broker:__init__:259
    2016-06-11 12:17:58,908 INFO     MainThread   Sonos Broker vv0.7 (2016-01-04) -- sonos_broker:start:267
    2016-06-11 12:17:58,910 INFO     MainThread   Starting server with ip address 192.168.8.78 ... be sure this is correct. -- sonos_broker:start:269
    Traceback (most recent call last):
    2016-06-11 12:17:59,917 DEBUG    Thread-2     active threads: 3 -- sonos_service.py:get_speakers_periodically:74
      File "/usr/local/bin/sonos_broker", line 367, in <module>
        broker.start()
    2016-06-11 12:17:59,923 INFO     Thread-2     scan devices ... -- sonos_service.py:get_speakers_periodically:75
      File "/usr/local/bin/sonos_broker", line 273, in start
        self._http_server = ThreadedHTTPServer((self._host, self._port), SonosHttpHandler)
      File "/usr/lib/python3.2/socketserver.py", line 419, in __init__
    2016-06-11 12:17:59,931 INFO     Thread-2     Sending discovery packets -- discovery.py:discover:89
        self.server_bind()
      File "/usr/lib/python3.2/http/server.py", line 132, in server_bind
        socketserver.TCPServer.server_bind(self)
      File "/usr/lib/python3.2/socketserver.py", line 430, in server_bind
        self.socket.bind(self.server_address)
    socket.error: [Errno 98] Address already in use
    Das cfg-File habe ich so angepasst: Ip meines Rasp: 192.168.8.78

    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 = 192.168.8.78
    
    #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
    
    #Specifies the destination url which sonos broker refers to the sonos speakers. This url must point to 'save_path'.
    #server_url = http://192.168.0.10/your/www/path/here
    
    #Maximum file size quota in megabytes. Up to this size, sonos broker will save files to 'save_path'.
    #Default: 100
    #quota = 200
    Was mache ich da falsch?

    Gruß Manuel
    Zuletzt geändert von manu241; 11.06.2016, 15:49.

    Einen Kommentar schreiben:


  • pfischi
    antwortet
    Nimm mal die Version aus dem Develop-Branch.

    Gruss,

    Stefan

    Einen Kommentar schreiben:


  • hoggle
    antwortet
    @aschiwith: wie gesagt die derzeit aktuelle Version auf github (v0.7 (2016-01-04))

    Einen Kommentar schreiben:


  • pfischi
    antwortet
    Hi, ich versuche mal am WE ein neues Release zu Stricken.

    Grüsse,

    Stefan

    Einen Kommentar schreiben:


  • aschwith
    antwortet
    @Hoogle: Das kann ich nicht bestätigen, siehe Posts weiter oben. Die Wiederaufnahme funktioniert mit der aktuellen Version (Develop Version v08b1) einwandfrei. Bie Dir fehlt die Angabe der Versionsnummer, unter der es angeblich nicht funktioniert.
    Gruß

    Einen Kommentar schreiben:


  • hoggle
    antwortet
    Ich habe festgestellt dass die aktuelle Version bei mir nicht korrekt funktioniert.

    Konkret: Wiederaufnahme des aktuellen Senders nach play_snippet funktioniert nicht.

    Mit der 0.6 Version funktioniert das einwandfrei.

    Vielleicht hat ja einer ein Ähnliches Verhalten festgestellt...

    Einen Kommentar schreiben:


  • pfischi
    antwortet
    Ich glaube das war ein fester Wert. Ich werde das ändern.

    Das Verhalten beim Unjoin liegt an den Sonosboxen. Einer der Boxen wird in der Gruppe der Master. Beim Unjoin behält nur der Master seine aktuelle Playlist. Eventuell kann ich mal schauen, ob ich da was machen kann. Danke fürs Feeback.

    Gruss, Stefan
    Zuletzt geändert von pfischi; 04.04.2016, 21:36.

    Einen Kommentar schreiben:


  • aschwith
    antwortet
    Hallo Stefan,
    danke für die Rückmeldung. Wenn einem bewusst ist, dass unjoin ein Argument benötigt, ist das meiner Meinung nach kein Problem. Interessant ist, dass es anscheinend einen Unterschied macht, ob man

    1)
    Code:
     sh.Sonos.Speaker2.unjoin(sh.Sonos.Speaker1.uid())
    2)
    Code:
     sh.Sonos.Speaker1.unjoin(sh.Sonos.Speaker2.uid())
    ausführt. Das hat z.B. Einfluss darauf, welcher Speakter nach einem Play_snippet wieder den vorher gespielten Song aufnimmt. Das nur zur Info.

    Entwarnung bei play_snippet. Du hast recht, es funktioniert einwandfrei, ich hatte im init.d startscript nicht die aktuelle Broker Version gestartet

    Eine Sache ist mir noch aufgefallen: Nach dem Abspielen eines snippets (bei mir ein Türgong) dauert es noch ca. 10 Sekunden bis das aktuelle Lied wieder eingeblendet wird. Dauert es bei Euch auch entsprechend lange?

    Beste Grüße
    Alex

    Einen Kommentar schreiben:


  • pfischi
    antwortet
    Zitat von aschwith Beitrag anzeigen
    Hallo Freunde des Sonos-Plugins,

    ich möchte bei gewissen Ereignissen wie z.B. der Türklingel alle Sonos Speaker groupieren, eine mp3 abspielen, anschließend wieder die Groupierung aufheben und die vorherigen Quellen weiterspielen. Ich bin auf der aktuellsten Develop Version v08b1 und nutze hierfür folgende Logik. rincon_XXX ist dabei Platzhalter für die Sonos ID des Küchenlautsprechers.

    PHP-Code:
    ...
    #sh.Sonos.Kitchen.play_snippet('x-file-cifs://IP_ADRESSE/music/Sounds/Bell.mp3')
    sh.Sonos.Kitchen.play_uri('x-file-cifs://IP_ADRESSE/music/Sounds/Bell.mp3')
    ... 
    Das Groupieren funktioniert, seit neustem (ein oder zwei Versionen) funktioniert das play_snippet nicht mehr. Play_uri funktioniert, allerdings wird danach wie zu erwarten nicht die alte Quelle fortgesetzt. Weitere Erkenntnis: Das unjoin funktioniert nicht ohne Argument (siehe auskommentierte Befehle). Ist Letzteres so bekannt und gewollt? Fehler im smarthome log gibt es keine. Hat irgendwer eine Idee, bzw. ähnliche Erfahrungen gemacht, warum das play_snippet nicht (mehr) funktioniert?

    Gibt es außerdem eine Möglichkeit, die aktuelle Quelle egal ob Playlist, Radio etc. zu speichern?
    Besten Dank im Voraus,
    Gruß
    Alex
    1. Unjoin:
    ------------

    Tatsächlich funktioniert das unjoin-Command (sowie alle anderen Kommandos ohne Parameter wie z.B. next, presvoius etc) innerhalb einer Logik nur mit übergebenen Werten. Diese können eigentlich zufällig sein. Erst dann wird von sh.py das Item getriggert.

    Wenn hier jemand eine erhellende Idee hat, wie man das trggern eines Items auch ohne Wertzuweisung hinbekommt, dann her damit.

    2. Play_Snippet mit CIFS
    ---------------------------------

    Konnte ich mit der neusten Version nicht nachstellen. Funktioniert bei mir. Hier brauche ich die Broker-Logs von dem Zeitpunkt, wenn play_snippet ausgeführt wird. Wenn du einen Webserver bereitstellen kannst (z.B. auf dem Server wo sh.py läuft) kannst du alternativ auch mal versuchen, die Snippets dahin zu verlagern und per "http://DEIN-WEBSER/snippet-Pfad" abzuspielen.

    Grüsse,

    Stefan



    Einen Kommentar schreiben:


  • pfischi
    antwortet
    Zitat von bkr Beitrag anzeigen
    Hallo, kann jemand damit was anfangen? Irgendwie krieg ich das tts nicht zum laufen.

    2016-03-28 10:24:28 WARNING Thread-37 FORCE_STREAM_MOD_OPTION for play_tts is deprecated and ignored.

    Die Einträge in der cfg sollten doch so passen?
    Code:
    [google_tts]
    enabled = true
    save_path = /var/www/tts
    server_url = http://192.168.178.21/var/www/tts
    Ich glaube das ist auch noch ein Fehler in der Config:

    Der Pfad "server_url = http://192.168.178.21/var/www/tts" sieht komisch aus. Ich denke mal er müsste "server_url = http://192.168.178.21/tts" sein. Der Server-Pfad bezieht sich immer auf die von aussen erreichbare URL.

    Play-TTS funktioniert bei mir wunderbar. Sollte es immer noch nicht gehen, müssen wir mal in die Logs vom Broker schauen.

    Gruss,

    Stefan

    Einen Kommentar schreiben:


  • bkr
    antwortet
    Zitat von pfischi Beitrag anzeigen

    Kannst du mir mal deine item-config posten?Spontan würde ich vorschlagen, das du mal den "Force-Stream-Mode" Eintrag aus der Item-Konfiguration raus nimmst (also bei sh.py).
    Hallo Stefan,

    force_stream_mode sollte bei mir eigentlich aus sein:

    Code:
    [[[play_tts]]]
            type = str
            enforce_updates = True
            sonos_send = play_tts
            visu_acl = rw
    
            [[[[volume]]]]
                type = num
                value = -1
    
            [[[[language]]]]
                type = str
                value = 'de'
    
            [[[[group_command]]]]
                type = bool
                value = 0
    
            [[[[force_stream_mode]]]]
                type = bool
                value = 0
    
            [[[[fade_in]]]]
                type = bool
                value = 1
    Gruß,
    Ben

    Einen Kommentar schreiben:


  • pfischi
    antwortet
    Danke für das Feedback, ich sammle mal alles und schaue mir am Wochende die Punkte an.

    Tatsächlich habe ich wegen dem Google TTS einziges bei der Play_snippet-Funktion ändern müssen. Eventuell hat sich da ein Fehler eingeschlichen. Auch das unjoin-Kommando wird leicht fixbar sein (muss ich nochmal in den Code gehen, kann ich spontan nix zu sagen :-)

    Gruss, Stefan
    Zuletzt geändert von pfischi; 29.03.2016, 20:26.

    Einen Kommentar schreiben:


  • aschwith
    antwortet
    Hallo Freunde des Sonos-Plugins,

    ich möchte bei gewissen Ereignissen wie z.B. der Türklingel alle Sonos Speaker groupieren, eine mp3 abspielen, anschließend wieder die Groupierung aufheben und die vorherigen Quellen weiterspielen. Ich bin auf der aktuellsten Develop Version v08b1 und nutze hierfür folgende Logik. rincon_XXX ist dabei Platzhalter für die Sonos ID des Küchenlautsprechers.

    PHP-Code:
    sh.Sonos.Dining.join('rincon_XXX'#Kitchen
    sh.Sonos.Living.join('rincon_XXX'#Kitchen
    sh.Sonos.Kitchen.play_snippet.group_command(1)
    sh.Sonos.Dining.play_snippet.group_command(1)
    sh.Sonos.Living.play_snippet.group_command(1)
    sh.Sonos.Kitchen.play_snippet.volume(20)
    sh.Sonos.Dining.play_snippet.volume(30)
    sh.Sonos.Living.play_snippet.volume(30)
    sh.Sonos.Dining.volume(30)
    sh.Sonos.Living.volume(30)
    sh.Sonos.Kitchen.mute(False)
    sh.Sonos.Dining.mute(False)
    sh.Sonos.Living.mute(False)
    #sh.Sonos.Kitchen.play_snippet('x-file-cifs://IP_ADRESSE/music/Sounds/Bell.mp3')
    sh.Sonos.Kitchen.play_uri('x-file-cifs://IP_ADRESSE/music/Sounds/Bell.mp3')
    sh.Sonos.Kitchen.play(True)
    sh.Sonos.Kitchen.unjoin(sh.Sonos.Dining.uid())
    sh.Sonos.Living.unjoin(sh.Sonos.Dining.uid())
    #sh.Sonos.Dining.unjoin()
    #sh.Sonos.Living.unjoin()
    #sh.Sonos.Kitchen.unjoin() 
    Das Groupieren funktioniert, seit neustem (ein oder zwei Versionen) funktioniert das play_snippet nicht mehr. Play_uri funktioniert, allerdings wird danach wie zu erwarten nicht die alte Quelle fortgesetzt. Weitere Erkenntnis: Das unjoin funktioniert nicht ohne Argument (siehe auskommentierte Befehle). Ist Letzteres so bekannt und gewollt? Fehler im smarthome log gibt es keine. Hat irgendwer eine Idee, bzw. ähnliche Erfahrungen gemacht, warum das play_snippet nicht (mehr) funktioniert?

    Gibt es außerdem eine Möglichkeit, die aktuelle Quelle egal ob Playlist, Radio etc. zu speichern?
    Besten Dank im Voraus,
    Gruß
    Alex

    Einen Kommentar schreiben:


  • pfischi
    antwortet
    Zitat von bkr Beitrag anzeigen
    Hallo, kann jemand damit was anfangen? Irgendwie krieg ich das tts nicht zum laufen.

    2016-03-28 10:24:28 WARNING Thread-37 FORCE_STREAM_MOD_OPTION for play_tts is deprecated and ignored.

    Die Einträge in der cfg sollten doch so passen?
    Code:
    [google_tts]
    enabled = true
    save_path = /var/www/tts
    server_url = http://192.168.178.21/var/www/tts
    Kannst du mir mal deine item-config posten?Spontan würde ich vorschlagen, das du mal den "Force-Stream-Mode" Eintrag aus der Item-Konfiguration raus nimmst (also bei sh.py).

    Einen Kommentar schreiben:


  • bkr
    antwortet
    Hallo, kann jemand damit was anfangen? Irgendwie krieg ich das tts nicht zum laufen.

    2016-03-28 10:24:28 WARNING Thread-37 FORCE_STREAM_MOD_OPTION for play_tts is deprecated and ignored.

    Die Einträge in der cfg sollten doch so passen?
    Code:
    [google_tts]
    enabled = true
    save_path = /var/www/tts
    server_url = http://192.168.178.21/var/www/tts

    Einen Kommentar schreiben:

Lädt...
X