Ankündigung

Einklappen
Keine Ankündigung bisher.

Sonos Anbindung

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

  • aschwith
    antwortet
    SMarcus , einfacher als den SoCo Befehl zu nutzen, ist es, direkt in SmarthomNG in das Item current_tranport_actions zu schauen. Sehr einfach geht das z.B. über das admin Interface.

    Wenn Du mehrere Speaker gekoppelt hast, werden die Befehle immer über den Coordinator gesteuert. Wenn also der Coordinator im TV Modus ist, dürfte TTS auch bei den gekoppelten Slaves auch nicht funktionieren, oder?

    Ich pushe gleich eine Testversion in das Develop Repository. Damit kannst Du testen, ob der Fehler sauber abgefangen wird. Ich überprüfe dazu, ob sop() aktuell untertützt wird, wenn nicht wird play_tts (oder auch play_snippet) nicht ausgeführt.

    Bitte um Rückmeldung. VG

    Einen Kommentar schreiben:


  • SMarcus
    antwortet
    Aus meiner Sicht wäre es das primäre Ziel, den Fehler abzufangen. Wenn im TV Modus systembedingt keine TTS Wiedergabe möglich ist (weder durch stop(), noch durch Überlagerung beider Eingänge) dann ist das so. Ich habe damit nun schon seit 3 Jahren leben können, andere die außerhalb des Wohnzimmers keine Sonos Geräte haben werden damit eher ein Problem haben.

    Ich schau welche Optionen 'GetCurrentTransportActions' anbietet.

    Allerdings muß mir kurz jemand sagen wie ich die InstanceID ermitteln kann ... 😕

    Gruß
    Marcus

    Einen Kommentar schreiben:


  • aschwith
    antwortet
    Hallo SMarcus ,

    ich habe Deinen Post bei SoCo gesehen. Wenn sich herausstellt, dass die Exception absichtlich geworfen wird, weil in dem von Euch beschriebenen Zustand der Befehl stop() nicht unterstützt wird, müssen wir uns überlegen, wie das Sollverhalten sein soll.

    Die aktuell verfügbaren TransportActions (bedeutet einfach nur, welche Befehle im aktuellen Zustand unterstützt werden) kannst Du auch in einem Sonos item sehen. Schau mal nach, ob stop() hier in diesem Zustand auftaucht.

    Wir könnten das Problem dann abfangen, in dem wir bei Speakern, die sich aktuell nicht stoppen lassen (oder die sich im TV Modus befinden), das Ausführen von TTS nicht zulassen. Wäre das für Euch ok?

    Einen Kommentar schreiben:


  • aschwith
    antwortet
    stoepf , danke für den sehr guten Hinweis. Habe ich direkt so übernommen, getestet und ins Develop geschoben.

    SMarcus : ok, meine Vermutung ist, dass stop() im TV Modus nicht unterstützt wird. Man kann ja nicht den TV Sound direkt abschalten. Das Problem aber bitte wie gesagt bei SoCo vorstellen und dort beheben lassen.

    Einen Kommentar schreiben:


  • SMarcus
    antwortet
    Hallo aschwith,

    Meinst Du die play_snippet Funktion oder wirklich die play_tts?


    Snippets benutze ich gar nicht, aber die TTS Funktion erhöht den WAF durch verschiedene Ansagen (Kühlschrank zu warm, Waschmaschine ist fertig oder neue Post im Briefkasten).

    Code:
    sh.sonos.kueche.play_tts('Der Kühlschrank ist zu warm. Er hat {0:.0f} Grad Innentemperatur'.format(t_ist))
    Gruß,
    Marcus

    Einen Kommentar schreiben:


  • stoepf
    antwortet
    Zum TTS kann ich vielleicht was beitragen.

    Ich habe mal sonos/tts.py durch die Pythonlib gtts ersetzt, die muss man dann installieren und man hat ein zusätzliches Requirement.

    Musste dann nur die folgenden Zeilen in der sonos/__init__.py anpassen:
    Code:
    -from plugins.sonos.tts import gTTS
    +from gtts import gTTS
    und
    Code:
    -tts = gTTS(tts, self.logger, tts_language)
    +tts = gTTS(tts, lang=tts_language)
    aschwith Vielleicht mag du das mal ausprobieren.

    VG
    Stefan

    Einen Kommentar schreiben:


  • aschwith
    antwortet
    Hallo SMarcus ,

    interessant. Das TTS scheint nicht direkt das Problem zu sein. Die Exception kommt daher, dass die Funktion stop() innerhalb der TTS in Eurer Konfiguration nicht ausgeführt werden kann. Dieses Problem solltet ihr direkt bei SoCo (https://github.com/SoCo/SoCo) vorstellen und dort ein Issue erstellen. Wenn es dort gefixt wird und ins nächste SoCO Release übernommen wird, wird es von mir automatisch in das SmarthomeNG plugin übernommen.

    TTS (play_tts) funktioniert bei mir aktuell in keiner Konfiguration mehr. Meinst Du die play_snippet Funktion oder wirklich die play_tts?

    VG
    Alex

    Einen Kommentar schreiben:


  • SMarcus
    antwortet
    Ich habe eine ähnliche Sonos Konfiguration wie m4ttb1ss (mehrere Sonos Play1 / One und ein 5.1 Surround Set (Playbar, Sub, 2xPlay1) und kann die Funktionalität bzw. den Fehler bestätigen:

    - TTS funktioniert auf allen Systemen auch wenn die Wiedergabe bereits aktive ist (z.B. wenn Radiosender gestreamt werden, kann TTS trotzdem widergegeben werden. Die Streamingfunktion wird dann vom Sonos kurz stummgeschalten und danach wieder aktiviert). Ich glaube diese Funktion wird von einigen im Forum relativ häufig genutzt.

    - TTS funktioniert auf dem 5.1 Surround Set nur wenn der TV nicht aktiviert ist. Wenn bereits TV gesehen wird, dann geht TTS nicht und ich habe folgende Fehlermeldung im log:

    Code:
    2021-02-09 14:49:48 ERROR lib.item Item sonos.wohnzimmer.play_tts: problem running <bound method Sonos.update_item of <plugins.sonos.Sonos object at 0x7fcbd86dc320>>: UPnP Error 701 received: Transition not available from 192.168.178.47
    > Traceback (most recent call last):
    > File "/usr/local/smarthome/lib/item.py", line 2368, in __update
    > method(self, caller, source, dest)
    > File "/usr/local/smarthome/plugins/sonos/__init__.py", line 2698, in update_item
    > volume, self._snippet_duration_offset, fade_in)
    > File "/usr/local/smarthome/plugins/sonos/__init__.py", line 2278, in play_tts
    > self._play_snippet(file_path, webservice_url, volume, duration_offset, fade_in)
    > File "/usr/local/smarthome/plugins/sonos/__init__.py", line 2206, in _play_snippet
    > self.set_stop()
    > File "/usr/local/smarthome/plugins/sonos/__init__.py", line 1434, in set_stop
    > if not sonos_speaker[self.coordinator].soco.stop():
    > File "/usr/local/smarthome/plugins/sonos/soco/core.py", line 121, in inner_function
    > return function(self, *args, **kwargs)
    > File "/usr/local/smarthome/plugins/sonos/soco/core.py", line 658, in stop
    > self.avTransport.Stop([("InstanceID", 0), ("Speed", 1)])
    > File "/usr/local/smarthome/plugins/sonos/soco/services.py", line 217, in _dispatcher
    > return self.send_command(action, *args, **kwargs)
    > File "/usr/local/smarthome/plugins/sonos/soco/services.py", line 507, in send_command
    > self.handle_upnp_error(response.text)
    > File "/usr/local/smarthome/plugins/sonos/soco/services.py", line 566, in handle_upnp_error
    > error_xml=xml_error,
    > plugins.sonos.soco.exceptions.SoCoUPnPException: UPnP Error 701 received: Transition not available from 192.168.178.47
    Scheint als ob nicht allzu viele so ein 5.1 Set haben bzw. die fehlende TTS-Funktionalität beim 5.1 Set im TV-Modus bisher bei keinem ein Problem war. Ich zumindest war mir nicht bewusst das hier ein Problem vorliegt.

    Bin (noch) auf SHNG 1.7.1

    Gruss,
    Marcus

    Einen Kommentar schreiben:


  • aschwith
    antwortet
    In welcher Konfiguration funktioniert denn TTS überhaupt bei Dir? Soweit ich weiß, hat sich die Google TTS API geändert. Daher dürfte die aktuelle TTS Umsetzung im Sonos plugin gar nicht funktionieren.

    Anderer Aspekt ist, dass SmarthomeNG Version 1.9 noch gar nicht existiert. Die aktuelle Version ist 1.8.1.

    Einen Kommentar schreiben:


  • m4ttb1ss
    antwortet
    Hi, ich hab jetzt drei Stunden gesucht und keine Lösung gefunden.
    Mein Setup ist eine Sonos Beam, ein Sub und zwei One, gruppiert zu einem 5.1.
    Smarthomeng 1.9 mit smartVISU 3.0. Sonos funktioniert problemlos, außer TTS wenn ich fernseh schaue. Wenn also das Sonos set im TV mode ist wird TTS nicht abgespielt.
    Hat hier jemand eine Lösung?

    Einen Kommentar schreiben:


  • danny
    antwortet
    Hallo Alex,

    bin auf develop gewechselt. Danke die Meldungen sind weg.

    Gruß Danny

    Einen Kommentar schreiben:


  • aschwith
    antwortet
    danny Ich habe die Metadaten in der plugin.yaml ergänzt und ins Develop geschoben. Du musst Dir nur das plugin aus dem Develop Branch neu rüberkopieren.

    Gruß
    Alex

    Einen Kommentar schreiben:


  • aschwith
    antwortet
    Im plugin fehlen noch die entsprechenden Metadaten. Ziehe ich am Wochenende im Develop nach.

    Einen Kommentar schreiben:


  • danny
    antwortet
    Unbenannt.png​​
    Hallo zusammen,

    ich habe umgestellt auf 1.8.1 im Docker.
    Ich bekomme beim Start aber Fehlermedungen. Was habe ich da falsch?
    Code:
    2021-01-29 10:34:31 WARNING lib.smarthome.main -------------------- Init SmartHomeNG 1.8.1.84873f74.heads/tags/v1.8.1 --------------------
    2021-01-29 10:34:31 WARNING lib.smarthome.main Running in Python interpreter 'v3.7.3 final', from directory /usr/local/smarthome
    2021-01-29 10:34:31 WARNING lib.smarthome.main - on Linux-4.4.59+-x86_64-with-debian-10.0 (pid=16)
    2021-01-29 10:34:32 WARNING lib.smarthome.main - Nutze Feiertage für Land 'DE', Provinz 'BY', state'', 1 benutzerdefinierte(r) Feiertag(e) definiert
    2021-01-29 11:34:51 WARNING lib.metadata Item 'mysonos.bad.volume.volume_dpt3', attribute 'sonos_dpt3_step': Attribute is undefined and has value '5' (defined in radio_bad_sonos.yaml)
    2021-01-29 11:34:51 WARNING lib.metadata Item 'mysonos.bad.volume.volume_dpt3', attribute 'sonos_dpt3_time': Attribute is undefined and has value '1' (defined in radio_bad_sonos.yaml)
    2021-01-29 11:34:51 WARNING lib.metadata Item 'mysonos.kueche1.volume.volume_dpt3', attribute 'sonos_dpt3_step': Attribute is undefined and has value '5' (defined in radio_kueche_sonos.yaml)
    2021-01-29 11:34:51 WARNING lib.metadata Item 'mysonos.kueche1.volume.volume_dpt3', attribute 'sonos_dpt3_time': Attribute is undefined and has value '1' (defined in radio_kueche_sonos.yaml)
    2021-01-29 11:34:51 WARNING lib.metadata Item 'mysonos.kueche2.volume.volume_dpt3', attribute 'sonos_dpt3_step': Attribute is undefined and has value '5' (defined in radio_kueche_sonos.yaml)
    2021-01-29 11:34:51 WARNING lib.metadata Item 'mysonos.kueche2.volume.volume_dpt3', attribute 'sonos_dpt3_time': Attribute is undefined and has value '1' (defined in radio_kueche_sonos.yaml)
    2021-01-29 11:34:52 WARNING lib.metadata Item 'mysonos.kueche3.volume.volume_dpt3', attribute 'sonos_dpt3_step': Attribute is undefined and has value '5' (defined in radio_kueche_sonos.yaml)
    2021-01-29 11:34:52 WARNING lib.metadata Item 'mysonos.kueche3.volume.volume_dpt3', attribute 'sonos_dpt3_time': Attribute is undefined and has value '1' (defined in radio_kueche_sonos.yaml)
    2021-01-29 11:34:52 WARNING lib.metadata Item 'mysonos.terasse.volume.volume_dpt3', attribute 'sonos_dpt3_step': Attribute is undefined and has value '5' (defined in radio_terasse_sonos.yaml)
    2021-01-29 11:34:52 WARNING lib.metadata Item 'mysonos.terasse.volume.volume_dpt3', attribute 'sonos_dpt3_time': Attribute is undefined and has value '1' (defined in radio_terasse_sonos.yaml)
    2021-01-29 11:34:54 ERROR plugins.smartvisu Could not find valid smartVISU directory: /var/www/html/smartvisu
    2021-01-29 11:34:54 WARNING lib.smarthome.main -------------------- SmartHomeNG initialization finished --------------------

    Code:
    mysonos:
    #    save_status:
    #        name: Sonos Save Status
    #        type: dict
          
        kueche1:
            sonos_uid: rincon_347e5c3b269a01400
            #rincon_347e5c3b269a01400  IP:192.168.1.123 Symfonisk Weiß MAC: 34:7e:5c:3b:26:9a
            is_initialized:
                type: bool
                sonos_recv: is_initialized
            volume:
                type: num
                sonos_recv: volume
                sonos_send: volume
                enforce_updates: true
    
                group_command:
                    type: bool
                    sonos_attrib: group
                    cache: 'yes'
          
                volume_dpt3:
                    type: list
                    sonos_attrib: vol_dpt3
                    sonos_dpt3_step: 5
                    sonos_dpt3_time: 1
                    knx_dpt: 3
                    knx_listen: 10/3/22
                
                    helper:
                        sonos_attrib: dpt3_helper
                        type: num
                        sonos_send: volume
    Danke und Gruß,

    Danny

    Einen Kommentar schreiben:


  • Sisamiwe
    antwortet
    Zitat von aschwith Beitrag anzeigen
    Bitte nochmal testen.
    Danke.
    Mach ich und melde mich.

    aschwith
    Die Fehlermeldungen sind weg.
    Danke
    Zuletzt geändert von Sisamiwe; 15.11.2020, 18:25. Grund: Getestet.

    Einen Kommentar schreiben:

Lädt...
X