Ankündigung

Einklappen
Keine Ankündigung bisher.

Sonos Anbindung

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

    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.

    Kommentar


      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

      Kommentar


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

        Kommentar


          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

          Kommentar


            Hallo Alex,

            bin auf develop gewechselt. Danke die Meldungen sind weg.

            Gruß Danny

            Kommentar


              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?

              Kommentar


                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.

                Kommentar


                  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

                  Kommentar


                    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

                    Kommentar


                      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

                      Kommentar


                        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

                        Kommentar


                          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.

                          Kommentar


                            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?

                            Kommentar


                              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

                              Kommentar


                                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

                                Kommentar

                                Lädt...
                                X