From 28abc0f4239e2ec6d72a50c89d28c2bcac33d420 Mon Sep 17 00:00:00 2001 From: Armilar <102996011+Armilar@users.noreply.github.com> Date: Sat, 10 Feb 2024 20:14:43 +0100 Subject: [PATCH] =?UTF-8?q?Updated=20NSPanel=20=E2=80=90=20cardMedia=20?= =?UTF-8?q?=E2=80=90=20Der=20Spotify=E2=80=90Premium=20Player=20(markdown)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...-cardMedia-‐-Der-Spotify‐Premium-Player.md | 192 ++++-------------- 1 file changed, 39 insertions(+), 153 deletions(-) diff --git a/NSPanel-‐-cardMedia-‐-Der-Spotify‐Premium-Player.md b/NSPanel-‐-cardMedia-‐-Der-Spotify‐Premium-Player.md index bc4938d..5f7af4b 100644 --- a/NSPanel-‐-cardMedia-‐-Der-Spotify‐Premium-Player.md +++ b/NSPanel-‐-cardMedia-‐-Der-Spotify‐Premium-Player.md @@ -41,161 +41,97 @@ https://github.com/iobroker-community-adapters/ioBroker.spotify-premium/issues/1 ## Bedienungselemente / Anzeigen ### 1. Seitentitel -Der Seitentitel steht auf: -* der dem Parameter "heading" aus der Seitenvariable der cardMedia (z.B. Spotify-Premium), wenn keine Wiedergabe erfolgt. Wenn das Wiedergabegerät über die Spotify-Premium-Adapterinstanz (z.B. spotiy-premium.0.) im ALIAS `.CONTEXT_DESCRIPTION` auf: + +Der dem Parameter "heading" aus der Seitenvariable der cardMedia (z.B. Spotify-Premium) wird visualisiert, wenn keine Wiedergabe erfolgt. + +Wenn folgender Inhalt: * Playlist: This Is * Playlist: * Album: * Track: * Artist: -steht, wird dieser Content-Typ visualisiert +enthalten ist, wird dieser Content-Typ bereinigt visualisiert ### 2. Navigation zur nächsten Seite * siehe [Navigation](ioBroker-Navigation) ### 3. Track (Elapsed|Duration) -Zeigt die folgenden Datenpunkte der aktiven Sonos Adapterinstanz wenn der Wert des Datenpunktes `sonos.0.root..current_type` auf track(0) steht: -* Titel --> sonos.0.root..current_title -* Verstrichene Zeit (Minuten/Sekunden) des aktuell abgespielten Titels (nicht bei Radio) --> `sonos.0.root..current_elapsed_s` -* Gesamtlänge (Minuten/Sekunden) des aktuell abgespielten Titels (nicht bei Radio) --> `sonos.0.root..current_duration_s` -> [!IMPORTANT] -> Die Aktualisierung in Sekunden steht in Abhängigkeit zur Sonos Adapterinstanz `Aktualisierung des Lied-Timers` und steht per Default auf 2000ms. -> ![image](https://github.com/joBr99/nspanel-lovelace-ui/assets/102996011/6770fd4c-271f-499e-a935-7e2217631ea9) +* Titel +* Verstrichene Zeit (Minuten/Sekunden) des aktuell abgespielten Titels +* Gesamtlänge (Minuten/Sekunden) des aktuell abgespielten Titels + +> Die Aktualisierung in Sekunden steht in Abhängigkeit zur Spotify-Premium Adapterinstanz und steht per Default auf 10 Sekunden. +Das führt zu unschönen Ergebnissen in Verbindung mit einem bekannten Fehler des Adapters. Die Zeit sollte demnach auf 1 Sekunde reduziert werden. + ### 4. Interpret | Album -Folgende Datenpunkte der Sonos Adapterinstanz werden berücksichtigt: -* Interpret --> `sonos.0.root..current_artist` (beim Abspielen von Radiosendern abweichende Informationen zum Sender) -* Album --> `sonos.0.root..current_album` (beim Abspielen von Radiosendern abweichende Informationen zum Sender) +Folgende Datenpunkte der Spotfiy-Premium Adapterinstanz werden berücksichtigt: +* Interpret +* Album ### 5. Player An/Aus (Stop) -* Stop (Icon blau) --> `sonos.0.root..stop` (beim Abspielen weiß) +* Stopp (Icon blau) ### 6. Volume lauter -* Die Feinjustierung der aktuellen Lautstärke in Einerschritten (+1) --> Datenpunkt: `sonos.0.root..volume` +* Die Feinjustierung der aktuellen Lautstärke in Einerschritten (+1) ### 7. Volume zwischen 0% und 100% -* Die Feinjustierung der aktuellen Lautstärke erfolgt stufenlos zwischen 0% und 100% --> Datenpunkt: `sonos.0.root..volume` +* Die Feinjustierung der aktuellen Lautstärke erfolgt stufenlos zwischen 0% und 100% > [!NOTE] -> Volume zieht das Volumen einer Gruppe beim Einsatz einer Sonos-Box mit. Wenn das Group-Volume (`sonos.0.root..group_volume`) benötigt wird, so ist der Datenpunkt nach Erstellung des Auto-Alias entsprechend zu ändern. -> ![image](https://github.com/joBr99/nspanel-lovelace-ui/assets/102996011/27165f31-9d25-4921-98b9-1c3a7e46cf82) -> ![image](https://github.com/joBr99/nspanel-lovelace-ui/assets/102996011/ca9c5cd2-1fa0-467e-ae01-5dc968b26e63) ### 8. Repeat-Funktion -* Es sind keine weiteren Einstellungen zu berücksichtigen. Der Datenpunkt `sonos.0.root..repeat` wird genutzt und inkrementiert die Werte `none(0)`, `all(1)` und `one(2)` +* Es sind keine weiteren Einstellungen zu berücksichtigen. -### 9. SONOS Favoriten (Alternativ Equalizer) +### 9. Equalizer > [!NOTE] -> Dieses Steuerelement kann unterschiedliche Eigenschaften annehmen -#### Steuerelement als SONOS Favoriten: -![image](https://github.com/joBr99/nspanel-lovelace-ui/assets/102996011/2cedade5-89ca-46bf-a8d8-5e4e4c2c3573) +> Dieses Steuerelement wird nicht über die Spotify-Premium Instanz gesteuert -Das PageItem enthält keinen equalizerString --> Die Favoriten werden automatisch aus dem Datenpunkt: `sonos.0.root..favorites_list_array` extrahiert: -> [!CAUTION] -> ```typescript ->let SpotifyPremium: PageType = ->{ -> 'type': 'cardMedia', -> 'heading': 'Spotify-Premium', -> 'items': [{ -> id: AliasPath + 'Media.PlayerSpotifyPremium', -> adapterPlayerInstance: "spotify-premium.0.", -> speakerList: [], -> playList: [], -> equalizerList: ['Bassboost','Klassik','Dance', 'Deep', 'Electronic', 'Flat', 'Hip-Hop', 'Rock', -> 'Metal', 'Jazz', 'Latin', 'Tonstärke', 'Lounge', 'Piano'], -> colorMediaIcon: colorSpotify, -> colorMediaArtist: Yellow, -> colorMediaTitle: Yellow, -> alwaysOnDisplay: true, -> autoCreateALias: true -> }] ->}; -> ``` #### Steuerelement als Equalizer: ![image](https://github.com/joBr99/nspanel-lovelace-ui/assets/102996011/66ef5685-e7de-43e5-a574-84e15779799f) -* Innerhalb des `PageItem` wird der `Equalizer` und in diesem Beispiel ebenfalls der Parameter `crossfade` definiert: -> [!CAUTION] -> ```typescript -> let Sonos: PageType = -> { -> 'type': 'cardMedia', -> 'heading': 'Sonos', -> 'useColor': true, -> 'items': [{ -> id: AliasPath + 'Media.PlayerSonos', -> adapterPlayerInstance: 'sonos.0.', -> mediaDevice: '192_168_1_212', -> speakerList: ['Terrasse'], -> playList: ['Hartmann','Armilars Playlist'], -> equalizerList: ['Bassboost','Klassik','Dance', 'Deep', 'Electronic', 'Flat', 'Hip-Hop', 'Rock', -> 'Metal', 'Jazz', 'Latin', 'Tonstärke', 'Lounge', 'Piano'], -> colorMediaIcon: colorSonos, -> colorMediaArtist: Yellow, -> colorMediaTitle: Yellow, -> crossfade: true, -> alwaysOnDisplay: true, -> autoCreateALias: true -> }] -> }; -> ``` - > [!IMPORTANT] -> Die Sonos Adapterinstanz verfügt nicht über Klangsteuerungs-Datenpunkte. Es kann jedoch die SONOS HTTP API https://github.com/jishi/node-sonos-http-api#usage genutzt werden. +> Die Spotify-Premium Adapterinstanz verfügt nicht über Klangsteuerungs-Datenpunkte. Es kann jedoch bei SONOS die HTTP API https://github.com/jishi/node-sonos-http-api#usage genutzt werden oder alternativ bei z.B. Alexa die 3-Punkt Klangsteuerung. > -> Für den Fall, dass der Equalizer zum Einsatz kommt, bitte weiteren Link befolgen: https://github.com/joBr99/nspanel-lovelace-ui/wiki/ioBroker---FAQ-&-Anleitungen#12-equalizer-f%C3%BCr-cardmedia - -> [!Note] -> siehe auch [Erstellung der Sonos Favoriten](#favoriten-liste) +> Für den Fall, dass der Equalizer aktiv genutzt werden soll, bitte weiteren Link befolgen: https://github.com/joBr99/nspanel-lovelace-ui/wiki/ioBroker---FAQ-&-Anleitungen#12-equalizer-f%C3%BCr-cardmedia ### 10. Track Liste -* Sofern der Datenpunkt `sonos.0.root..queue` Daten enthält und die abspielbaren Medien eine Trackliste enthalten, so wird diese automatisch geladen. -![image](https://github.com/joBr99/nspanel-lovelace-ui/assets/102996011/44c5b0b6-7bbd-4372-ad8e-244f5e9bb729) -> [!NOTE] +* Sofern eine Playlist abgespielt wird die eine Trackliste enthält, so wird diese automatisch geladen. + > Sollten weitere Tracks vorhanden sein, so können diese über den rechtsangeordneten Pfeil erreicht werden -### 11. SONOS Playlist -* Das Array playList im PageItem wird genutzt. Die Playlists sind dort manuell einzutragen -![image](https://github.com/joBr99/nspanel-lovelace-ui/assets/102996011/7a544d32-7fe1-45f8-b9fb-50ad5a259628) +### 11. Spotify-Premium Playlist +* Das Array playList im PageItem wird genutzt. -> [!NOTE] -> siehe auch [Erstellung einer Sonos Playlist](#individuelle-wiedergabe-liste-array-playlist) +Wenn das Array leer ist [], dann werden die Playlisten automatisch aus dem Adapter geladen. -### 12. SONOS Speaker Liste +Andernfalls können die bevorzugten Playlists dort manuell eingetragen werden + +### 12. Spotify-Premium Speaker Liste +2 Varianten +* Ist das Array leer [], dann werden die Wiedergabegeräte automatisch importiert * Das Array speakerList im PageItem wird genutzt. Die Wiedergabegeräte sind dort manuell einzutragen -![image](https://github.com/joBr99/nspanel-lovelace-ui/assets/102996011/da4e95e3-9091-43da-9712-744e85a30c0c) -> [!NOTE] -> siehe auch [Erstellung einer speakerList](#speaker-liste-array-speakerlist) ### 13. Nächster Track -* Sofern ein weiterer Titel in der Track Liste verfügbar ist, so wird dieser ausgewählt --> `sonos.0.root..next` +* Sofern ein weiterer Titel in der Track Liste verfügbar ist, so wird dieser ausgewählt ### 14. Play / Pause -* Umschaltung zwischen den Datenpunkten `sonos.0.root..play` und `sonos.0.root..pause` +* Umschaltung zwischen Play und Pause ### 15. Volume leiser -* Die Feinjustierung der aktuellen Lautstärke in Einerschritten (-1) --> Datenpunkt: `sonos.0.root..volume` +* Die Feinjustierung der aktuellen Lautstärke in Einerschritten (-1) ### 16. Shuffle -* Umschaltung zwischen den Datenpunkten `sonos.0.root..shuffle` als wahr/falsch (true/false) -> [!NOTE] -> Diese Funktion ist nicht steuerbar, wenn Radiosender abgespielt werden +* Umschaltung zwischen Shule an/aus, soffern das Wiedergabemedium dieses unterstützt ### 17. Vorheriger Track -* Sofern ein weiterer Track vor dem aktuell abgespielten Titel in der Track Liste verfügbar ist, so wird dieser ausgewählt --> `sonos.0.root..prev` +* Sofern ein weiterer Track vor dem aktuell abgespielten Titel in der Track Liste verfügbar ist, so wird dieser ausgewählt -### 18. Player Logo / Seek Funktion (Alternativ Crossfade) +### 18. Player Logo / Seek Funktion Per Standard ist der Seek-Modus aktiv. Dieser wird mit Klick auf das Logo des Players aufgerufen: ![image](https://github.com/joBr99/nspanel-lovelace-ui/assets/102996011/f78a8093-351f-4a5f-b58b-415f78bf4e2d) Jetzt ist es möglich eine Position des Tracks (Titels) in 10% Schritten zu erreichen (vor- und zurückspulen). ![image](https://github.com/joBr99/nspanel-lovelace-ui/assets/102996011/ee9ce338-5c0e-465d-935c-df55adf8642c) -> [!NOTE] -> Wird im PageItem der Parameter -> `crossfade: true` -> verwendet, dann wird statt der Seek-Funktion Crossfade zur Auswahl aktiv -![image](https://github.com/joBr99/nspanel-lovelace-ui/assets/102996011/7d2387fa-b943-4540-ae7e-efbb2c98b763) - ### 19. Navigation zur vorherigen Seite * siehe [Navigation](ioBroker-Navigation) @@ -203,56 +139,6 @@ Jetzt ist es möglich eine Position des Tracks (Titels) in 10% Schritten zu erre ![image](https://github.com/joBr99/nspanel-lovelace-ui/assets/102996011/c3e5ffba-70a5-4630-8fe4-1cf09952bdeb) -## Variablen Beispiele: -### Standard Beispielvorlage für AlwaysOnDisplay -In diesem Beispiel wird der Screensaver nach eingestellter nicht aufgeschaltet. Der Player bleibt geöffnet bis zu einer Seite ohne alwaysOnDisplay navigiert wird. -```typescript -let Sonos: PageType = -{ - 'type': 'cardMedia', - 'heading': 'Sonos Player', - 'useColor': true, - 'items': [{ - id: AliasPath + 'Media.PlayerSonos', - adapterPlayerInstance: 'sonos.0.', - mediaDevice: '192_168_1_212', - speakerList: ['Wohnzimmer', 'Küche', Büro], - playList: ['Hartmann','Armilars Playlist'], - colorMediaIcon: colorSonos, - colorMediaArtist: Yellow, - colorMediaTitle: Yellow, - alwaysOnDisplay: true, - autoCreateALias: true - }] -}; -``` - -### Standard Beispielvorlage ohne AlwaysOnDisplay -In diesem Beispiel wird der Screensaver nach eingestellter Zeit aufgerufen. Der Player wird geschlossen. -```typescript -let Sonos: PageType = -{ - 'type': 'cardMedia', - 'heading': 'Sonos Player', - 'useColor': true, - 'items': [{ - id: AliasPath + 'Media.PlayerSonos', - adapterPlayerInstance: 'sonos.0.', - mediaDevice: '192_168_1_212', - speakerList: ['Wohnzimmer', 'Küche', Büro], - playList: ['Hartmann','Armilars Playlist'], - colorMediaIcon: colorSonos, - colorMediaArtist: Yellow, - colorMediaTitle: Yellow, - autoCreateALias: true - }] -}; -``` - -mediaDevice ist hierbei die mit '_' getrennte IP des primären Wiedergabegerätes und muss angepasst werden. Der Inhalt ist analog des Datenpunktes `sonos.0.root..coordinator` -![image](https://github.com/joBr99/nspanel-lovelace-ui/assets/102996011/6de74a6c-0aed-480e-9a07-196148d01a25) - > [!CAUTION] > Nicht zu empfehlen!!!: Der Parameter autoCreateALias kann ebenfalls entfernt werden, jedoch muss ein korrekter Media-Alias mit dem Channel "media" und den vom NSPanelTs.ts - Skript erwarteten Datenpunkten dann "per Hand" erstellt werden. Da es nahezu unmöglich ist unter ioBroker einen korrekten und vollständigen Media-Alias zu erstellen, übernimmt das Skript mit diesem Parameter diese Aufgabe. -