Ankündigung

Einklappen
Keine Ankündigung bisher.

- √ - Neues Plugin: Logitech Squeezebox - Anregungen?

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

  • Onkelandy
    antwortet
    Zitat von Morg Beitrag anzeigen


    Wenn du die Items anlegst, ist die Warnung weg, und sonst hat das keine messbaren Konsequenzen
    Würde ich auch so empfehlen. Alternativ wie erwähnt mit Logfiltern arbeiten, das sollte doch auch klappen. Wäre schon gut, wenn das Plugin nicht nur von mir getestet wird

    Einen Kommentar schreiben:


  • Morg
    antwortet
    Zitat von Cannon Beitrag anzeigen
    Das ist auch der Fall. Für bestimmte "Player" brauche ich keine Items und wenn die nicht gesetzt sind, brauchen die ja auch nicht asugewertet werden. Es macht aus meiner Sicht keinen Sinn Daten für Player in Items zu schreiben, die ich mit Items nicht ansprechen werde. Deshalb einfach unnütze Player-Daten verwerfen.
    Das mag bei dir so der Fall sein, ist aber in Gesamtschau sicher eher die Ausnahme. Und wenn es nicht die Ausnahme sein soll, dann ist aus meiner Sicht "Warning" schon die richtige Stufe, um darauf hinzuweisen, dass hier Daten vom "Gerät" kommen, die einfach so verworfen werden.

    Achso, bitte dabei nicht vergessen, dass das alles in der smartdeviceplugin-Klasse passiert, nicht im sdp-squeezebox-Plugin. Das könnte (!) man ggf. konfigurierbar machen, aber nicht trivial abschalten.

    Wenn du die Items anlegst, ist die Warnung weg, und sonst hat das keine messbaren Konsequenzen

    Einen Kommentar schreiben:


  • Cannon
    antwortet
    Zitat von Onkelandy Beitrag anzeigen
    Hast du das Loglevel auf INFO
    Log-Level ist auf WARNING bei allen undefinierten Plugins.

    Zitat von Morg Beitrag anzeigen
    Ich habe zwar keine Ahnung, was dynamische Player sind
    Ich meine damit Player, die nicht immer an sind, beispielsweise SqueezeLite-X in Windows, Spotify Connect usw.

    Zitat von Morg Beitrag anzeigen
    oder die Item-Definitionen / Structs sind nicht vollständig, weil für das jeweilige Command kein Item gesetzt ist.
    Das ist auch der Fall. Für bestimmte "Player" brauche ich keine Items und wenn die nicht gesetzt sind, brauchen die ja auch nicht asugewertet werden. Es macht aus meiner Sicht keinen Sinn Daten für Player in Items zu schreiben, die ich mit Items nicht ansprechen werde. Deshalb einfach unnütze Player-Daten verwerfen.

    Einen Kommentar schreiben:


  • Morg
    antwortet
    Ich habe zwar keine Ahnung, was dynamische Player sind, und außer einem testweisen SqueezeLite, der nur so la la funktioniert hat, kann ich das hier auch nicht testen, aber...

    Code:
    2022-09-29 22:31:02 WARNING plugins.sdp_squeezebox Command player.control.volume yielded value 53, not assigned to any item, discarding data
    2022-09-29 22:31:02 WARNING plugins.sdp_squeezebox Command player.control.volume yielded value 53, not assigned to any item, discarding data
    2022-09-29 22:34:10 WARNING plugins.sdp_squeezebox Command player.info.connected yielded value False, not assigned to any item, discarding data
    2022-09-29 22:39:09 WARNING plugins.sdp_squeezebox Command player.control.set_alarm yielded value _cmd, not assigned to any item, discarding data​
    Diese Meldungen weisen darauf hin, dass auf die genannten Commands eine Antwort kommt - er kann die Antwort aber nicht verwerten, weil es kein Item gibt (zugewiesen ist), in das er den Wert schreiben kann. Entweder ist die commands.py nicht sauber (vollständig) gestrickt, oder die Item-Definitionen / Structs sind nicht vollständig, weil für das jeweilige Command kein Item gesetzt ist.

    Ziel (und Begründung) der Meldung ist, dass das meistens ein Resultat von Fehlkonfiguration (meistens command.py) ist, und die sollte er nicht einfach verschlucken.

    Einen Kommentar schreiben:


  • Onkelandy
    antwortet
    Ich hab bei mir auch "dynamische" Player integriert und eigentlich keine Probleme. Hast du das Loglevel auf INFO? Mach doch bitte mal ein gist mit dem Log.

    Einen Kommentar schreiben:


  • Cannon
    antwortet
    Zitat von Onkelandy Beitrag anzeigen
    Nicht integrierte Player ignorieren geht nicht so wirklich, da der Server ja trotzdem die Infos dazu versendet, diese also im Plugin ankommen. Wenn du sie nicht im Log haben willst, musst du Filter nutzen -> siehe Doku.
    Ich habe das neue sdp_plugin jetzt erst mal deaktiviert, nachdem ich wirklich Megabytes von Log-Dateien an einem Tag hatte. Wenn man Squeezebox allumfänglich umsetzt, hat man immer wieder (dynnamische) Player die dazu kommen oder verschwinden und selbst wenn es nur die Windows-PC ist, wo SqueezeLite-X läuft. Nur die festen Player will ich einbinden.

    Ich fände es sinnvoller, wenn man die Infos einfach auf ein anderes Levels setzt oder ganz weg lässt. Man braucht ja nicht den gesamten Netzwerktraffic auszuwerden, wenn die Plyer in SmartHomeNG gar nicht registriert sind.

    Einen Kommentar schreiben:


  • Onkelandy
    antwortet
    Nicht integrierte Player ignorieren geht nicht so wirklich, da der Server ja trotzdem die Infos dazu versendet, diese also im Plugin ankommen. Wenn du sie nicht im Log haben willst, musst du Filter nutzen -> siehe Doku.

    Ad Spotify: OK, das ist fies

    Einen Kommentar schreiben:


  • Cannon
    antwortet
    Zitat von Onkelandy Beitrag anzeigen
    Die Meldungen können eigentlich nur kommen, wenn du nicht alle deine Squeezebox Players integriert hast. So sollte die items.yaml aussehen. Wenn nicht für alle Player ein Eintrag drin ist, wird es die obigen Meldungen geben.
    Ich habe auch nicht alle Player integriert, weil es nicht für alle Player Sinn macht, weil die zum Teil auch keine richtigen Player sind. Es wäre aber sinnvoll die nicht integrierten Player einfach zu ignorieren.

    Zitat von Onkelandy Beitrag anzeigen
    ie machst du denn das mitwandern?
    Ih wollte erst mal nur testen, ob das sinnvoll ist. Die Idee war, dass ich als erstes auf die PM in einer logik triggere. Dann schaue ich ob und wo der Player an ist. Schalte auf den Player an, wo die PM ausgelöst wurde und synchronisiere dann mit den ersten Player, schalte ihn ein und starte die Wiedergabe.

    Aber wie gesagt geht das zumindest mit Spotify nicht so recht. Denn Spotify stoppt beim synchronisieren die Wiedergabe. Auch eine Wiedergabe ist mit Play/Pause nicht möglich. Nur mit der Spotify App kann man dann die Wiedergabe erneut starten.

    Einen Kommentar schreiben:


  • Onkelandy
    antwortet
    Na gut, da könntest dann ja über die Logik den Play-Klick triggern, damit es weiterläuft oder nicht..? Wie machst du denn das mitwandern?
    Die Meldungen können eigentlich nur kommen, wenn du nicht alle deine Squeezebox Players integriert hast. So sollte die items.yaml aussehen. Wenn nicht für alle Player ein Eintrag drin ist, wird es die obigen Meldungen geben.

    Code:
    squeezebox:
      struct:
        - sdp_squeezebox.database
        - sdp_squeezebox.server
    
    squeezebox_1:
        sqb_custom1: MAC
    
        struct: sdp_squeezebox.player​

    Einen Kommentar schreiben:


  • Cannon
    antwortet
    Zitat von Onkelandy Beitrag anzeigen
    Wie sind die bisherigen Erfahrungen
    Ich habs installiert, wollte dann gleich mal ne Logik bauen, die dann die Musik "mitwandern" lässt, indem ich die Präsenzmelder nutze und war dann erst mal frustiert, dass das nicht geht. Das liegt aber sicherlich nicht an dem plugin, sondern an dem Squeezebox-System an sich. Wenn man den Player woanders startet und dann woanders wieder beendet, dann stoppt die Wiedergabe - zumindest mit Spotify habe ich das so getestet.

    ABER: Meine Logs sind voll mit lauter Fehlermeldungen:

    Code:
    2022-09-29  22:31:02 WARNING  plugins.sdp_squeezebox Command player.control.volume yielded value 53, not assigned to any item, discarding data
    2022-09-29  22:31:02 WARNING  plugins.sdp_squeezebox Command player.control.volume yielded value 53, not assigned to any item, discarding data
    2022-09-29  22:34:10 WARNING  plugins.sdp_squeezebox Command player.info.connected yielded value False, not assigned to any item, discarding data
    2022-09-29  22:39:09 WARNING  plugins.sdp_squeezebox Command player.control.set_alarm yielded value _cmd, not assigned to any item, discarding data​

    Einen Kommentar schreiben:


  • Onkelandy
    antwortet
    Wie sind die bisherigen Erfahrungen Cannon ?

    Einen Kommentar schreiben:


  • Cannon
    antwortet
    Zitat von Onkelandy Beitrag anzeigen
    Ist noch nicht komplett durch, aber Tester sind herzlich willkommen! Gib mir Bescheid, was nicht klappt und was dir noch fehlt..
    Hier ist das plugin von Morg:
    Ich habe das jetzt zumindest erst einmal installiert und gestartet. Der Server wird erkannt und dessen Daten auch geladen. Aber ich weiß nicht, wie ich den Player konfigiguriere, squeezebox_playerid gibt es ja nicht mehr. Wie teile ich dem itemstruct "sdp_squeezebox.player" mit, welcher Player angesteuert werden soll?

    Nachtrag: Gefunden! Etwas kryptisch "sqb_custom1". :-)
    Zuletzt geändert von Cannon; 11.09.2022, 09:15.

    Einen Kommentar schreiben:


  • Onkelandy
    antwortet
    nur hinzufügen sollte reichen

    Einen Kommentar schreiben:


  • Cannon
    antwortet
    Zitat von Onkelandy Beitrag anzeigen
    Dann brauchst du noch von smartdeviceplugin.py und den sdp Ordner von hier:
    Klingt ja erst mal spannend. Muss ich die Original-Dateien von SmartHomenNG überschreiben oder nur den Ordner SDP und smartdeviceplugin.py hinzufügen?

    Einen Kommentar schreiben:


  • Onkelandy
    antwortet
    Ist noch nicht komplett durch, aber Tester sind herzlich willkommen! Gib mir Bescheid, was nicht klappt und was dir noch fehlt..
    Hier ist das plugin von Morg:
    https://github.com/Morg42/plugins/tr...sdp_squeezebox

    Dann brauchst du noch von smartdeviceplugin.py und den sdp Ordner von hier:
    https://github.com/Morg42/smarthome/tree/sdp/lib/model

    So bindest du das Plugin ein:
    Code:
    squeezebox:
        plugin_name: sdp_squeezebox
        host: 10.0.0.100
        port: 9090
        web_port: 9002
        plugin_enabled: true
    Idee wäre, zukünftig nicht über das CLI zu gehen, sondern json. Das ist aber noch ganz in den Anfängen:
    https://github.com/Morg42/plugins/tr...echmediaserver

    Einen Kommentar schreiben:

Lädt...
X