NEWS
[Vorlage] Spotify Skript
-
Ich stehe auf dem Schlauch… Wie kann Alexa diese Variable steuern? Die muss doch den Befehl, z.B. spiele Spotify auf Onkyo ab, irgendwie interpretieren!? `
Das machst du doch über Cloud-adapter
-
Aber den möchte ich ja nicht nutzen Versuche es aber gerade mit Node Red, scheint auch irgendwie zu gehen.
-
Aber den möchte ich ja nicht nutzen Versuche es aber gerade mit Node Red, scheint auch irgendwie zu gehen. `
Oder halt mit Node Red, das ist jetzt nicht prinzipiell.
-
kannn mir hier jemand bei der folgenden Fehlermeldung weiterhelfen?
! 21:08:16.942 [error] Caught by controller[0]: at CreatePlaybackInfo (script.js.common.Spotify:258:13)
! 21:08:16.942 [error] Caught by controller[0]: at script.js.common.Spotify:781:31
! 21:08:16.942 [error] Caught by controller[0]: at Request._callback (script.js.common.Spotify:185:24)
! 21:08:56.099 [info] javascript.0 Start javascript script.js.common.Spotify
! 21:08:56.099 [info] javascript.0 script.js.common.Spotify: registered 21 subscriptions and 1 schedule
! 21:08:56.199 [info] javascript.0 script.js.common.Spotify: Spotify Token aus Datei gelesen !
! 21:09:01.739 [error] javascript.0 TypeError: Cannot read property 'hasOwnProperty' of null at CreatePlaybackInfo (script.js.common.Spotify:258:13) at script.js.common.Spotify:781:31 at Request._callback (script.js.common.Spotify:185:24) at Request.self.callback (/opt/iobroker/node_modules/request/request.js:185:22) at emitTwo (events.js:126:13) at Request.emit (events.js:214:7) at Request. (/opt/iobroker/node_modules/request/request.js:1161:10) at emitOne (events.js:116:13) at Request.emit (events.js:211:7) at IncomingMessage. (/opt/iobroker/node_modules/request/request.js:1083:12)
! 21:09:02.552 [error] Caught by controller[0]: at CreatePlaybackInfo (script.js.common.Spotify:258:13)
! 21:09:02.552 [error] Caught by controller[0]: at script.js.common.Spotify:781:31
! 21:09:02.552 [error] Caught by controller[0]: at Request._callback (script.js.common.Spotify:185:24) -
Hallo in die Runde,
ich finde leider nichts - aber ihr habt doch bestimmt coole Spotify Widgets, oder? Gibt es hierzu im Forum etwas, das ich nicht finde?
VG
-
Hallo,
Ich habe das Problem, dass wenn ich die Funktion shuffleOn im Szenen-Adapter integrieren will, diese Funktion ohne Reaktion bleibt. Wie muss ich diese genau integrieren?
MfG
-
Guten Tag,
gibt es inzwischen eigentlich eine Möglichkeit wenn keine Geräte in der Liste der verfügbaren Geräte sind trotzdem ein bestimmtes Gerät anzusprechen? Ich habe einen Google Home Mini und einen Chromecast (Video), welche ich beide aus der Spotify App heraus anwählen kann, aber sie tauchen nur in der Liste der verfügbaren Geräte auf, solange ich Spotify auf dem Gerät offen habe. Besteht eine Möglichkeit lokal den "Starte Spotify" Befehl an den Google Home Mini bzw den Chromecast zu senden? Die App scheint ja irgendeine Möglichkeit zu haben lokal zu prüfen, welche Geräte verfügbar sind ohne, dass Spotify auf den Geräten aktiv sein muss.
-
Hallo irgendwie klappt das bei mir nicht bekomme immer folgenden Fehler nachdem ich die Return URI eingetragen habe:
javascript.0 2018-09-18 20:15:39.227 info script.js.Skripte.Spotify: Fehler beim Token Speichern
-
Das ist richtig, jedoch "müllt" es den Log zu und macht ihn unübersichtlich. Schön wäre es wenn man diesen Log nur sieht wenn man auf Debug stellt `
Mache eventuell auch ausschalten?
Script für Adapter zum Ein/Ausschalten aus VIS
! ````
/* Spritpreis Spotify adapter neu starten
! erzeugt Objekt, das in VIS geschaltet werden kann
Schaltung triggert Neustart eines Adapters
! 28.03.2018 erstellt von pix
! */
const logging = true; // (true;false) Logausgabe zentral schalten, da 5minütlich ein Mehrzeiler geloggt wird.
const instanz = "javascript." + instance;
const fC = false; // force Create
const idSchalter = instanz + ".Spotify.Adapter.Schalter";
const adapter = "spotify-premium.0"; // Name und Instanz des Adapters
! // Ab hier nix mehr ändern
if (logging) log("Skript " + name + " in der Instanz " + instance + " gestartet");
! var idAdapter = "system.adapter." + adapter;
! createState(idSchalter, false, fC, {
name: adapter + " Adapter neu starten",
type: "boolean",
desc: "Schaltet den <" + adapter + "> Adapter per Skript zB aus VIS",
role: "switch"
});
! // Neustart triggern
on({
id: idSchalter,
change: "ne",
from: "system.adapter.web.0" // Schaltung nur aus VIS möglich
}, function (dpobj) {
var obj = getObject(idAdapter);
if (dpobj.state.val) {
obj.common.enabled = true; // Adapter einschalten
} else if (!dpobj.state.val) {
obj.common.enabled = false; // Adapter ausschalten
}
setObject(idAdapter, obj);
if (logging) log("Adapter <" + adapter + "> wurde " + ((obj.common.enabled) ? "ein" : "aus") + "geschaltet");
});Und ich hänge noch ein Indikator mit dazu, dann ist auch wirklich klar ob Adapter An oder Aus ist system.adapter.spotify-premium.0.alive `
Danke Hab das Skript mal implementiert `
Ich habe nicht verstanden was das Script mit den log-Einträgenspotify-premium.0 2018-09-20 08:38:01.724 warn no playback content spotify-premium.0 2018-09-20 08:37:56.543 warn no playback content spotify-premium.0 2018-09-20 08:37:51.431 warn no playback content spotify-premium.0 2018-09-20 08:37:46.310 warn no playback content
zu tun hat?
Ich habe nun in vis einen Schalter mit dem ich den Spotify-Adapter neustarten kann. Und dann geht der log genauso weiter wie vorher :roll:
Ich kann beim Adapter nur die Log-Stufe auf Error stellen. Dann ist Ruhe.
-
Guten Tag,
gibt es inzwischen eigentlich eine Möglichkeit wenn keine Geräte in der Liste der verfügbaren Geräte sind trotzdem ein bestimmtes Gerät anzusprechen? Ich habe einen Google Home Mini und einen Chromecast (Video), welche ich beide aus der Spotify App heraus anwählen kann, aber sie tauchen nur in der Liste der verfügbaren Geräte auf, solange ich Spotify auf dem Gerät offen habe. Besteht eine Möglichkeit lokal den "Starte Spotify" Befehl an den Google Home Mini bzw den Chromecast zu senden? Die App scheint ja irgendeine Möglichkeit zu haben lokal zu prüfen, welche Geräte verfügbar sind ohne, dass Spotify auf den Geräten aktiv sein muss. `
Ich habe auch das Problem das sämtliche Geräte nicht in der Liste verfügbar sind, falls jemand eine Möglichkeit hat die Geräte trotzdem anzusprechen wäre ich sehr dankbar.
-
@schubi82: Hier habe ich dir ein Skript zusammen gebastelt womit du das lösen kannst. Das Design musst du natürlich an deine Bedürfnisse anpassen. `
Genial, sowas habe ich gesucht, Danke
Ich möchte das view nach und nach optisch an Spotify ranrücken. Dafür möchte ich die Playliste genau wie die Trackliste einer Playliste als Tabelle darstellen (siehe Screenshot). Ich möchte das nicht über DropDown Auswahl regeln.
Leider habe ich es nicht geschafft das Javascript anzupassen. Da fehlen mir leider Kenntnisse.
Könnte mir da jemand helfen?
Vielen Dank
4249_spotify_playlist_002.png -
Hallo zusammen,
bei mir in der Log läuft auch dauernd der "Fehler", wenn keine Musik läuft:
spotify-premium.0 2018-09-20 08:38:01.724 warn no playback content spotify-premium.0 2018-09-20 08:37:56.543 warn no playback content spotify-premium.0 2018-09-20 08:37:51.431 warn no playback content spotify-premium.0 2018-09-20 08:37:46.310 warn no playback content
Außerdem habe ich das Problem, dass sich meine Connect Geräte dauernd mehrfach im Adapter anlegen und dann nicht mehr über Skripte steuerbar sind.
(Siehe Screenshot).
Vll kann man dagegen auch was tun?
Danke und Gruß
Chris
3950_unbenannt.png -
Keiner eine Idee wie das Script umgebaut werden kann, damit die Playlisten als Links in einer Tabelle dargestellt werden können, sie wie es das Script von twonky für die Tracks einer Playliste tut?
`createState('javascript.0.spotify-premium.trackListHtml', '', false); function refreshTrackList() { var current = getState('spotify-premium.0.playbackInfo.playlist.trackList').val; var source = getState('spotify-premium.0.playbackInfo.playlist.trackListArray').val; var html = ''; for (var i = 0; i < source.length; i++) { html += ''; html += ''; html += ''; html += ''; } html += ' | '; if(current == i) html += '**'; html += source[i].artist; if(current == i) html += '**'; html += ' | '; if(current == i) html += '**'; html += source[i].title; if(current == i) html += '**'; html += ' | '; setState('javascript.0.spotify-premium.trackListHtml', html, true); } on('spotify-premium.0.playbackInfo.playlist.trackList', refreshTrackList); on('spotify-premium.0.playbackInfo.playlist.trackListArray', refreshTrackList); refreshTrackList();` Ich bekomme es trotz vielen Versuchen einfach nicht hin :oops:[/i][/i]
-
Skript erstellt: https://github.com/twonky4/ioBroker.spo … l-Playlist
-
Skript erstellt: https://github.com/twonky4/ioBroker.spo … l-Playlist `
Wie ich Dir schon geschrieben habe, ich bin schwer beeindruckt! Und ich bin Dir sehr dankbar für die schnelle Hilfe.
Ist auch schon eingebaut, siehe Screenshot. Habe noch kurz die Scrollbars an mein Design angepasst. Kommt echt gut jetzt zusammen. Daher einfach mal Danke sagen!
Klasse Arbeit twonky!
4249_spotify_playlist_004.1.png -
Gibt es eigentlich mittlerweile ein Lösung um die Lautstärke zu regeln, je nach dem Device, auf der die Wiedergabe gerade läuft?
https://forum.iobroker.net/viewtopic.php?f=21&t=8173&start=280#p131088 funktioniert bei mir nicht (angepasst an den neuen Adapter).
Das View nimmt auch langsam Formen an.
Klasse wäre es, auch noch die Anzahl der Titel pro Playliste anzeigen zulassen, wie es auch bei Spotify der Fall ist. Hier = 13 Songs. Der Adapter gibt das ja her, aber wie regel ich das pro Playliste dynamisch?
4249_spotify_playlist_006.png
4249_spotify_playlist_005.png -
Es gibt bereits einen Datenpunkt hierzu
"spotify-premium.0.playbackInfo.playlist.tracksTotal"
Auch welcher bereits abgespielt wird
"spotify-premium.0.playbackInfo.playlist.trackNo"
-
Es gibt bereits einen Datenpunkt hierzu
"spotify-premium.0.playbackInfo.playlist.tracksTotal"
Auch welcher bereits abgespielt wird
"spotify-premium.0.playbackInfo.playlist.trackNo" `
Danke mikiline, da habe ich gestern den Wald vor lauter Bäumen nicht mehr gesehen.
-
@AxelF1977 stellst du deine View zur Verfügung wenn sie fertig ist? Sieht wirklich gut aus und sollte durch leichte Änderung der Widgetgrößen (oder hast du die schon prozentual?) ja auf nahezu jedem Tablet laufen können
-
@AxelF1977 stellst du deine View zur Verfügung wenn sie fertig ist? Sieht wirklich gut aus und sollte durch leichte Änderung der Widgetgrößen (oder hast du die schon prozentual?) ja auf nahezu jedem Tablet laufen können `
Hi,
ja, das kann ich gerne machen. Aktuell ist es noch im groben Entstehen, und nur auf mein Tablet angepasst. Sobald es funktioniert wie ich möchte, kann ich es so anpassen, das es universell nutzbar ist