mirror of
https://github.com/joBr99/nspanel-lovelace-ui.git
synced 2026-02-23 13:02:14 +01:00
Updated NSPanel ‐ cardMedia ‐ Der Spotify‐Premium Player (markdown)
@@ -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.<DEVICE_IP>.current_type` auf track(0) steht:
|
||||
* Titel --> sonos.0.root.<DEVICE_IP>.current_title
|
||||
* Verstrichene Zeit (Minuten/Sekunden) des aktuell abgespielten Titels (nicht bei Radio) --> `sonos.0.root.<DEVICE_IP>.current_elapsed_s`
|
||||
* Gesamtlänge (Minuten/Sekunden) des aktuell abgespielten Titels (nicht bei Radio) --> `sonos.0.root.<DEVICE_IP>.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.
|
||||
> 
|
||||
* 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.<DEVICE_IP>.current_artist` (beim Abspielen von Radiosendern abweichende Informationen zum Sender)
|
||||
* Album --> `sonos.0.root.<DEVICE_IP>.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.<DEVICE_IP>.stop` (beim Abspielen weiß)
|
||||
* Stopp (Icon blau)
|
||||
|
||||
### 6. Volume lauter
|
||||
* Die Feinjustierung der aktuellen Lautstärke in Einerschritten (+1) --> Datenpunkt: `sonos.0.root.<DEVICE_IP>.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.<DEVICE_IP>.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.<DEVICE_IP>.group_volume`) benötigt wird, so ist der Datenpunkt nach Erstellung des Auto-Alias entsprechend zu ändern.
|
||||
> 
|
||||
> 
|
||||
|
||||
### 8. Repeat-Funktion
|
||||
* Es sind keine weiteren Einstellungen zu berücksichtigen. Der Datenpunkt `sonos.0.root.<DEVICE_IP>.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:
|
||||

|
||||
> 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.<DEVICE_IP>.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:
|
||||

|
||||
|
||||
* 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.<DEVICE_IP>.queue` Daten enthält und die abspielbaren Medien eine Trackliste enthalten, so wird diese automatisch geladen.
|
||||

|
||||
> [!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
|
||||

|
||||
### 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
|
||||

|
||||
> [!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.<DEVICE_IP>.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.<DEVICE_IP>.play` und `sonos.0.root.<DEVICE_IP>.pause`
|
||||
* Umschaltung zwischen Play und Pause
|
||||
|
||||
### 15. Volume leiser
|
||||
* Die Feinjustierung der aktuellen Lautstärke in Einerschritten (-1) --> Datenpunkt: `sonos.0.root.<DEVICE_IP>.volume`
|
||||
* Die Feinjustierung der aktuellen Lautstärke in Einerschritten (-1)
|
||||
|
||||
### 16. Shuffle
|
||||
* Umschaltung zwischen den Datenpunkten `sonos.0.root.<DEVICE_IP>.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.<DEVICE_IP>.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:
|
||||

|
||||
|
||||
Jetzt ist es möglich eine Position des Tracks (Titels) in 10% Schritten zu erreichen (vor- und zurückspulen).
|
||||

|
||||
|
||||
> [!NOTE]
|
||||
> Wird im PageItem der Parameter
|
||||
> `crossfade: true`
|
||||
> verwendet, dann wird statt der Seek-Funktion Crossfade zur Auswahl aktiv
|
||||

|
||||
|
||||
### 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
|
||||
|
||||

|
||||
|
||||
## 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.<DEVICE_IP>.coordinator`
|
||||

|
||||
|
||||
> [!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.
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user