Ankündigung

Einklappen
Keine Ankündigung bisher.

Sonos Anbindung

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

  • aschwith
    antwortet
    Habe seit langem gerade mal wieder eine Exepction im SonosPlugin gefunden:

    Code:
    2018-07-24  19:33:34 ERROR    logics.speak_logic Item Sonos.Kitchen.play_tts: problem running <bound method Sonos.update_item of <plugins.sonos.Sonos object at 0x67230330>>: 'SoCo' object has no attribute '_build_album_art_full_uri'
    Traceback (most recent call last):
      File "/usr/local/smarthome/lib/item.py", line 1039, in __update
        method(self, caller, source, dest)
      File "/usr/local/smarthome/plugins/sonos/__init__.py", line 2629, in update_item
        volume, fade_in)
      File "/usr/local/smarthome/plugins/sonos/__init__.py", line 2242, in play_tts
        self._play_snippet(file_path, webservice_url, volume, fade_in)
      File "/usr/local/smarthome/plugins/sonos/__init__.py", line 2167, in _play_snippet
        snap.snapshot()
      File "/usr/local/smarthome/plugins/sonos/soco/snapshot.py", line 133, in snapshot
        track_info = self.device.get_current_track_info()
      File "/usr/local/smarthome/plugins/sonos/soco/core.py", line 1217, in get_current_track_info
        track['album_art'] = self._build_album_art_full_uri(
    AttributeError: 'SoCo' object has no attribute '_build_album_art_full_uri'
    2018-07-24  19:33:42 WARNING  Thread-357   Event contains illegal metadatafor 'enqueued_transport_uri_meta_data'.
    Error message: 'Unknown UPnP class: object.item.audioItem.musicTrack.sonos-favorite'
    The result will be a SoCoFault.
    VG

    Einen Kommentar schreiben:


  • aschwith
    antwortet
    Hallo @Smarcus,

    ah interessant. Bei mir war der 0.4 Offset dringend nötig (RasberryPi3).

    pfischi: Sollte man den Parameter konfigurierbar machen?

    VG
    Alex

    Einen Kommentar schreiben:


  • SMarcus
    antwortet
    Hallo,

    was die TTS Funktionalität betrifft (Beitrag #781): Anscheinend ist das Problem mit der Anpassung der Dauer der Sprachausgabe Hardware-Spezifisch. Mit der Anpassung im aktuellen Develop in Zeile 2158 "duration = int(round(tag.duration)) + 0.4" wurden bei mir immer die Sätze nochmal für einige Zehntelsekunden neu gestartet. Ich hab den Offset von 0.4 bei mir wieder rausgenommen, seitdem ist das Problem weg.

    Ich verwende SHNG 1.5.1 mit einem Mini Desktop-PC mit Intel Atom X5 Prozessor (1.92GHz).

    Gruss
    Marcus

    Einen Kommentar schreiben:


  • aschwith
    antwortet
    Hallo zusammen,

    eine Frage in die Runde: Gibt es eine Möglichkeit, mit dem Plugin direkt ein Album zu starten oder geht das nur über den Umweg einer Playlist?

    Viele Grüße
    Alex

    Einen Kommentar schreiben:


  • manu241
    antwortet
    Hallo,

    bei mir läuft es wieder. Ich habe nun eine Version benutzt, die mir Stefan mal zum testen geschickt hatte. (Eventuell aus dem Develop).
    Die Version die mit dem Master-Branch geliefert wird, läuft nicht.

    Gruß Manuel

    Einen Kommentar schreiben:


  • manu241
    antwortet
    Hallo Stefan,

    habe heute mein System auf 1.5 hochgezogen.

    Nun bekomme ich diese Fehlermeldungen.

    Code:
    2018-07-13  11:25:51 ERROR    Main         Plugin 'Sonos' exception during import of __init__.py: cannot import name 'config'
    Traceback (most recent call last):
      File "/usr/local/smarthome/lib/plugin.py", line 498, in __init__
        exec("import {0}".format(classpath))
      File "<string>", line 1, in <module>
      File "/usr/local/smarthome/plugins/sonos/__init__.py", line 42, in <module>
        from plugins.sonos.soco.exceptions import SoCoUPnPException
      File "/usr/local/smarthome/plugins/sonos/soco/__init__.py", line 14, in <module>
        from .core import SoCo
      File "/usr/local/smarthome/plugins/sonos/soco/core.py", line 18, in <module>
        from . import config
    ImportError: cannot import name 'config'
    Gruß Manuel

    Einen Kommentar schreiben:


  • ivande
    antwortet
    Zitat von pfischi Beitrag anzeigen
    Das ddtlabs-Widget kannst du so nicht nutzen. Welche Funktion brauchst du im Sonos-Plugin- spezifischen Widget? Dann kann ich das gezielt einbauen.
    > Playlisten und Radiosender hätten mich interessiert - ich hab das ddtlabs-Widget bisher noch nicht getestet...



    kleines Problem was ich mit dem Plugin habe: Nach dem Abspielen einer mp3-Datei und dem anschließendem Ausgeben eines gesprochenen Textes, kehrt das Plugin nicht mehr zum aktuellen Radiosender zurück..

    Code:
    sh.MySonos.Esszimmer.play_snippet.snippet_volume(40)
    sh.MySonos.Esszimmer.play_snippet("klingel_dg.mp3")
    #time.sleep(1)
    sh.MySonos.Esszimmer.play_tts.tts_volume(40)
    sh.MySonos.Esszimmer.play_tts(info_txt)

    Einen Kommentar schreiben:


  • pfischi
    antwortet
    Hi, ne ne kurze Rückmeldung von mir. Ich bin noch da, nur mein frischer Nachwuchs hält mich auf Trab
    Das Plugin wird natürlich weiterentwickelt und gepflegt.

    @livande:
    Das ddtlabs-Widget kannst du so nicht nutzen. Welche Funktion brauchst du im Sonos-Plugin- spezifischen Widget? Dann kann ich das gezielt einbauen.

    Gruss,

    Stefan

    Einen Kommentar schreiben:


  • ivande
    antwortet
    Hallo,

    ich bin dabei meinen ersten Sonos Play1 über SH bzw. SV zu steuern. Erst einmal ein Danke an allen welche am Plugin sowie an den Widget's mitgewirkt haben.

    *1 kann mir jemand seine SH-sonos-Items (.yaml oder .conf) zeigen, welche für dieses ddtlabs-widget benötigt werden?

    *2 RoyalTS
    sind die beiden Funkionen save_status und reload_status Teil des Plugins, oder müssen diese erst in der Klingel-Logik programmiert werden? #362

    Code:
    #Den Status des Sonos-Systems speichern (Playlists, Play-Status, Position, Gruppen, etc.)
    #bzw. nur den Status der gewünschten Lautsprecher und bei Bedarf der gruppenzugehörigen Lautsprecher
    sh.sonos.save_status([sh.sonos.Kueche, sh.sonos.GaesteWC, sh.sonos.Lounge, sh.sonos.Esszimmer, sh.sonos.Bad, sh.sonos.Schlafzimmer, sh.sonos.Kinderbad, sh.sonos.Buero])
    Code:
    #Zustand vor dem Klingel wiederherstellen
    sh.sonos.reload_status([sh.sonos.Kueche, sh.sonos.GaesteWC, sh.sonos.Lounge, sh.sonos.Esszimmer, sh.sonos.Bad, sh.sonos.Schlafzimmer, sh.sonos.Kinderbad, sh.sonos.Buero]    #Klingel-Lautsprecher-Play alter Zustand
    Gruß Ivan
    Zuletzt geändert von ivande; 29.04.2018, 14:07.

    Einen Kommentar schreiben:


  • Trebax
    antwortet
    In der Sonos-App geht beides, einzelne Lautsprecher oder die ganze Gruppe. Analog zur volume.

    Danke und Gruß
    Tobi

    Einen Kommentar schreiben:


  • pfischi
    antwortet
    Zitat von Trebax Beitrag anzeigen
    Hi Stefan,

    vorab erstmal vielen Dank für Deine Arbeit.

    Ich habe eine Frage zur Mute-Funktionsweise:
    Wenn die Lautsprecher in einer Gruppe sind, kann ich nur den Master (un)muten. Ist das so gewollt?
    Wenn ich versuche einen andern Lautsprecher in der Gruppe zu muten, wird der Befehl trotzdem nur an den Master geschickt. Der Befehl ist auch kein Gr. uppenkommando, sondern es wird nur der Master gemutet.

    Danke und Gruß
    Tobi
    Sollte eigentlich nicht so sein. Sonos selbst müsste eigentlich die Gruppe (un)muten. Hab das gerade nicht auf dem Schirm, wie die Sonos-App das regelt, wahrscheinlich werden alle getoggelt. Ich schau’s mir an.

    Gruss,

    Stefan

    Einen Kommentar schreiben:


  • Trebax
    antwortet
    Hi Stefan,

    vorab erstmal vielen Dank für Deine Arbeit.

    Ich habe eine Frage zur Mute-Funktionsweise:
    Wenn die Lautsprecher in einer Gruppe sind, kann ich nur den Master (un)muten. Ist das so gewollt?
    Wenn ich versuche einen andern Lautsprecher in der Gruppe zu muten, wird der Befehl trotzdem nur an den Master geschickt. Der Befehl ist auch kein Gruppenkommando, sondern es wird nur der Master gemutet.

    Danke und Gruß
    Tobi

    Einen Kommentar schreiben:


  • pfischi
    antwortet
    Zitat von manu241 Beitrag anzeigen
    Hallo Stefan,

    leider bin ich mit Wireshark nicht bewandert.

    Könntest du mir eine kleine Anleitung schreiben, wie ich das machen muss? Dann kann ich dir die Daten zur Verfügung stellen.

    Gruß Manuel
    Ist eigentlich einfach. Wireshark installieren und dann die Ethernetschnittstelle zum Capturen auswählen. Der Capture-Vorgang sollte dann starten. Dann einfach in der Windows-Sonos-App auf dem gleichen Rechner per TuneIn einen Radiosender starten (iregndein Lautsprecher). Danach kannst du in Wireshark das Captruen anhalten und das Ganze als pcap-Datei abspeichern. Die Datei brauch ich dann.

    Gruss,

    Stefan
    Zuletzt geändert von pfischi; 10.03.2018, 21:52.

    Einen Kommentar schreiben:


  • manu241
    antwortet
    Hallo Stefan,

    leider bin ich mit Wireshark nicht bewandert.

    Könntest du mir eine kleine Anleitung schreiben, wie ich das machen muss? Dann kann ich dir die Daten zur Verfügung stellen.

    Gruß Manuel

    Einen Kommentar schreiben:


  • pfischi
    antwortet
    Zitat von manu241 Beitrag anzeigen
    Hallo Stefan,

    kann ich dich bei der Fehlersuche noch weiter unterstützen?

    Gruß Manuel
    Erstmal danke fürs Testen.

    Ein Problem (das Event-Unsubscribe) habe ich gefixt und ist im aktuellen Dev-Branch eingecheckt (Plugin-Version 1.4.5).

    Das TuneIn-Problem ist schon schwieriger zu lösen. Leider ist es zur Zeit nicht möglich, die MusicService-IDs aus den Sonos-Boxen auszulesen. Ich habe per Wireshark die Service-ID für TuneIn herausgefriemelt (ID 254) und diese hardcodiert hinterlegt. Jetzt kann es sein, das bei dir die ID eine andere ist.
    Um deine ID herausfinden zu könne, müsstest du mal auf irgendeinen Rechner die Sonos-App installieren und dann per Wireshark den Traffic mitschneiden; und zwar dann, wenn du in der App per TuneIn einen Radiosender aussuchst und abspielst. Gerne kannst du mir die pcap-Datei schicken, dann suche ich dir die raus und versuche das mal als Parameter für das Plugin einzubauen.

    Gruss,

    Stefan

    Einen Kommentar schreiben:

Lädt...
X