Also ich steuere meine Player entweder über Logiken oder mit der App "squeezer", in die Visu habe ich es nicht integriert.
Ankündigung
Einklappen
Keine Ankündigung bisher.
- √ - Neues Plugin: Logitech Squeezebox - Anregungen?
Einklappen
X
-
Ich ziehe meine unten stehende Frage zurück- die Antwort ist hier: https://knx-user-forum.de/forum/suppo...432#post561432
Frage:
Ist jemandem eine Möglichkeit bekannt die aktuelle url der Playlist auszulesen?
Ich würde gern Ansagen laufen lassen und dazu Status und aktuelle Playlist auslesen, die Ansage starten und danach wieder die alte Playlist laden. I.d.R läuft eh nur Internetradio, aber ich will den Sender nicht fest in die Logik einfrickeln.
Per Telnet hat ein "00:04:20:2d:d6:ab playlist url ?" leider keinen Erfolg - obwohl es so in der Doku steht.Zuletzt geändert von JuMi2006; 11.05.2015, 20:39.Umgezogen? Ja! ... Fertig? Nein!
Baustelle 2.0 !
Kommentar
-
Hi zusammen!
Manche Radiosender schicken offenbar die Info zum Programm so, dass das Plugin die Info auf die Titelzahl oder Dauer oder sowas legen möchte.. Siehe hier:
Code:2016-07-22 13:04:45 WARNING Main Item Squeezebox_KG.Duration: value MODERATION does not match type num. Via LMS 10.0.0.100:9090
Wäre cool. Danke!
Kommentar
-
Die Info die zum aktuell gespielten Song kommt wird halt in alle "Tags" geschrieben, weshalb dann Titel und Interpret auch nicht stimmen.
Gibt Schlimmeres, kein Thema
Code:2016-07-25 11:06:22 DEBUG Main Item Squeezebox_Wohnen.Current_Title = Adele - Set Fire To The Rain via LMS 10.0.0.100:9090 None 2016-07-25 11:06:22 DEBUG Main Item Squeezebox_Wohnen.Genre = Adele - Set Fire To The Rain via LMS 10.0.0.100:9090 None 2016-07-25 11:06:22 DEBUG Main Item Squeezebox_Wohnen.Artist = Adele - Set Fire To The Rain via LMS 10.0.0.100:9090 None 2016-07-25 11:06:22 DEBUG Main Item Squeezebox_Wohnen.Album = Adele - Set Fire To The Rain via LMS 10.0.0.100:9090 None 2016-07-25 11:06:22 WARNING Main Item Squeezebox_Wohnen.Duration: value Adele - Set Fire To The Rain does not match type num. Via LMS 10.0.0.100:9090
Kommentar
-
Das wäre ziemlich cool.. While you're at it.. Siehst du eine Chance, das Auslesen der PlayerID noch zu optimieren?
Bei mir ist es so, dass wenn ich ein Item hab wie dieses:
Code:[Squeezebox_Wohnen] squeezebox_playerid = b8:27:eb:29:ea:2d type = foo [[Power]] type = bool visu_acl = rw knx_dpt=1 squeezebox_send = <playerid> power {}
Code:[Squeezebox_Wohnen] [[Playlist_Andy]] type = bool [[[[multiclick]]]] type = bool enforce_updates = true visu_acl = rw knx_dpt = 1 squeezebox_send = b8:27:eb:29:ea:2d playlist index -1
Code:2016-07-25 16:38:31 WARNING Main squeezebox: could not resolve playerid for Squeezebox_Wohnen.Playlist_Andy.Load.multiclick from parent item Squeezebox_Wohnen.Playlist_Andy.Load
Thx!!
Kommentar
-
Mir ist gerade noch eine kleine Eigenheit vom Squeezebox Server aufgefallen - wenn man das im Plugin abfangen könnte, wäre das natürlich perfekt. Ist auch nicht sonderlich kompliziert behaupt ich mal
Folgende Situation:
Aktuell läuft keine Musik, Stop-Modus. Man lädt nun eine neue Playliste und lässt diese sofort abspielen (Klick auf den Playbutton neben der Playliste im Web-Interface, zB). Dann bleibt Play leider auf False und Pause auf True.
Ich fange das Problem nun ab, indem ich ein Query Item erstelle, das bei jeder Änderung des Titels aufgerufen wird. Nicht gerade nobel, aber funzt..
Code:[[Querymode]] type = bool visu_acl = rw enforce_updates = true squeezebox_send = <playerid> mode ? squeezebox_recv = <playerid> mode squeezebox_init = <playerid> mode
Obwohl ich versucht habe, das Stop-Item entsprechend anzupassen (nämlich eben playlist eingefügt), habe ich hier keine richtiges Update erhalten.
Problem kann durch Einfügen/Ändern des Codes ab Zeile 208 im Plugin gelöst werden:
Code:elif (data[1] == 'playlist'): if (data[2] == 'jump') and (len(data) == 4): self._update_items_with_data( [data[0], 'playlist index', data[3]]) elif (data[2] == 'stop'): self._update_items_with_data([data[0], 'play', '0']) self._update_items_with_data([data[0], 'stop', '1']) self._update_items_with_data([data[0], 'pause', '0'])
Zuletzt geändert von Onkelandy; 31.07.2016, 10:17.
Kommentar
-
Zitat von Onkelandy Beitrag anzeigenManche Radiosender schicken offenbar die Info zum Programm so, dass das Plugin die Info auf die Titelzahl oder Dauer oder sowas legen möchte.. Siehe hier:
Code:2016-07-22 13:04:45 WARNING Main Item Squeezebox_KG.Duration: value MODERATION does not match type num. Via LMS 10.0.0.100:9090
Zitat von Onkelandy Beitrag anzeigenDas wäre ziemlich cool.. While you're at it.. Siehst du eine Chance, das Auslesen der PlayerID noch zu optimieren?
Bei mir ist es so, dass wenn ich ein Item hab wie dieses:
[...]
Code:[Squeezebox_Wohnen] [[Playlist_Andy]] type = bool [[[[multiclick]]]] type = bool enforce_updates = true visu_acl = rw knx_dpt = 1 squeezebox_send = b8:27:eb:29:ea:2d playlist index -1
Zitat von Onkelandy Beitrag anzeigenMir ist gerade noch eine kleine Eigenheit vom Squeezebox Server aufgefallen - wenn man das im Plugin abfangen könnte, wäre das natürlich perfekt. Ist auch nicht sonderlich kompliziert behaupt ich mal
Folgende Situation:
Aktuell läuft keine Musik, Stop-Modus. Man lädt nun eine neue Playliste und lässt diese sofort abspielen (Klick auf den Playbutton neben der Playliste im Web-Interface, zB). Dann bleibt Play leider auf False und Pause auf True.
Ich fange das Problem nun ab, indem ich ein Query Item erstelle, das bei jeder Änderung des Titels aufgerufen wird. Nicht gerade nobel, aber funzt..
Code:[[Querymode]] type = bool visu_acl = rw enforce_updates = true squeezebox_send = <playerid> mode ? squeezebox_recv = <playerid> mode squeezebox_init = <playerid> mode
Zitat von Onkelandy Beitrag anzeigenDes weiteren wird am Ende einer Playliste folgender Befehl von Squeezebox empfangen: playlist_id playlist stop
Obwohl ich versucht habe, das Stop-Item entsprechend anzupassen (nämlich eben playlist eingefügt), habe ich hier keine richtiges Update erhalten.
Problem kann durch Einfügen/Ändern des Codes ab Zeile 208 im Plugin gelöst werden:
Code:elif (data[1] == 'playlist'): if (data[2] == 'jump') and (len(data) == 4): self._update_items_with_data( [data[0], 'playlist index', data[3]]) elif (data[2] == 'stop'): self._update_items_with_data([data[0], 'play', '0']) self._update_items_with_data([data[0], 'stop', '1']) self._update_items_with_data([data[0], 'pause', '0'])
Grüße
RobertZuletzt geändert von bmx; 07.08.2016, 09:42.
Kommentar
-
Hoi Robert !
Zitat von Robert Beitrag anzeigen
Vielleicht mal Radiosender (am besten mit URL) benennen! Bei mir funzt das alles...
http://opml.radiotime.com/Tune.ashx?...48a1cdef244da0
Zitat von Robert Beitrag anzeigenCode:[Squeezebox_Wohnen] [[Playlist_Andy]] type = bool [[[Play]]] [[[[multiclick]]]] type = bool enforce_updates = true visu_acl = rw knx_dpt = 1 squeezebox_send = b8:27:eb:29:ea:2d playlist index -1
Zitat von Robert Beitrag anzeigenDas Problem verstehe ich glaub ich noch, aber was das "Query Item" daran jetzt repariert verstehe ich nicht!?
Das Problem ist also, dass das Plugins zwar mitbekommt, wenn ich auf Play drücke, aber nicht, wenn ich eine Playliste lade und abspiele (bzw. eine Radiostation). Ich nutze das Webinterface der Squeezebox, by the way.
Zitat von Robert Beitrag anzeigenOk, verstehe ich grob. Das Ende einer Playliste wird nicht auf "Stop" propagiert? Verstehe ich das richtig, dass die Squeezebox aufhört zu spielen (und am Gerät "gestoppt" ist), das sh.py-Item "Stop" aber weiter "false" ist weil der Befehl "playlist_id playlist stop" nicht korrekt interpretiert wird?
Thanks!Zuletzt geändert von Onkelandy; 14.08.2016, 10:31.
Kommentar
-
Hi Robert
Konntest du dir die Sache schon mal ansehen? Wäre cool, wenn du das mit der Modusabfrage bzw. mit playlist play und playlist stop noch einbinden könntest. Alternativ kann ich das zusammen mit einem Umbau auf ein Smartplugin auch mal versuchen und dann als pull request hochladen.
Cool wäre aber va. wenn das Problem mit den Titeln bei einem Internetstream behoben werden könnte, da hab ich nicht wirklich einen Ansatz.
Danke!
Kommentar
-
Hi,
ich will das 2 Palyer Synronisiert werden.
Im Webfrontend vom LMS gibt es dazu bei der Playerauswahl den Meüpunkt Synchronize. Dann geht ein solcher Dialog auf wo man sagen kann mit was man Synchronisieren will.
VG
Jürgen
syncron.JPG
Kommentar
-
aus der Hilfe vom LMS:
<playerid> sync <playerindex|playerid|-|?>
The "sync" command specifies the player to synchronise with the given playerid. The command accepts only one playerindex or playerid. To unsync the player, use the "-" parameter.
Note that in both cases the first <playerid> is the player which is already a member of a sync group. When adding a player to a sync group, the second specified player will be added to the group which includes the first player, if necessary first removing the second player from its existing sync-group.
You may query which players are already synced with this player by passing in a "?" parameter. Multiple playerids are separated by a comma. If the player is not synced, "-" is returned.
Examples:Request: "04:20:00:12:23:45 sync 1<LF>"
Response: "04:20:00:12:23:45 sync 1<LF>"
Request: "04:20:00:12:23:45 sync ?<LF>"
Response: "04:20:00:12:23:45 sync 04:20:00:12:23:21<LF>"
Request: "04:20:00:12:23:45 sync -<LF>"
Response: "04:20:00:12:23:45 sync -<LF>"
syncgroups ?
The "syncgroups" query returns a comma separated list of sync groups members (IDs and names).
Examples:Request: "syncgroups ?<LF>"
Response: "syncgroups sync_members:04:20:00:12:23:45,04:20:00:12:34:56 sync_member_names:Living%20Room,Kitchen<LF>"
Kommentar
Kommentar