Autor Thema: [Neues Modul] Spotify  (Gelesen 4916 mal)

Offline neumann

  • Developer
  • New Member
  • ****
  • Beiträge: 41
[Neues Modul] Spotify
« am: 28 Mai 2017, 15:58:19 »
Hallo liebe FHEM Community,

bei dem Vorhaben, mir einen "Radio"-Wecker zu bauen, ist mir aufgefallen, dass es bisher noch keine Möglichkeit gibt, die Wiedergabe mit Spotify (auf anderen Geräten) zu steuern.
Deswegen habe ich nun ein umfangreiches Spotify-Modul geschrieben, welches einen großen Teil der Spotify WEB API abbildet. Aktuell werden entsprechend nur Geräte unterstützt, die über den Web Player auffindbar sind.

Gerne würde ich das Modul in die Repo einchecken, auf die ich bereits Zugriff habe, vorher würde ich aber gerne um Feedback von euch bitten. Vielen Dank!
Edit: Das Modul ist nun eingecheckt - ich bitte weiterhin um Feedback und helfe gerne bei potentiellen Problemen.

Folgende Funktionen sind implementiert (fast alle benötigen einen Premium Account):
- aktuelle Wiedergabe steuern: pause, play, next, previous, shuffle, repeat, volume, seek
- neue Wiedergabe starten: Song, Playlist, Künstler, Album, gespeicherte Titel mit Angabe eines Zielgeräts
- aktuelle Wiedergabe auf ein anderes Gerät übertragen
- Suche von Titeln, Alben und Künstlern
- zahlreiche Readings über den aktuellen Zustand

Damit das Modul funktioniert, benötigt es eine eigene Spotify API application, die hier erstellt werden kann: https://developer.spotify.com/my-applications/#!/applications/create
Da Spotify OAuth verwendet, muss während der Erstellung eine redirect_uri angegeben werden (wichtig: auf add und save drücken, damit die Änderungen übernommen werden), dort kann jede beliebige URL verwendet werden, ich stelle jedoch meine Website https://oskar.pw/ bereit, die den Authorisierungs-Code leserlich ausgibt. Ihr könnt diese bedenkenlos als redirect_uri verwenden, da der Code ohne client_secret nutzlos ist und nur wenige Minuten gültig ist. Ansonsten muss dieser nach der Anmeldung aus der URL kopiert werden.

Bei der Erstellung des Devices gilt folgender Syntax:
define <name> Spotify <client_id> <client_secret> [ <redirect_uri> ]
Sobald das Gerät erstellt wurde, kann die AUTHORIZATION_URL aufgerufen werden und nach erfolgreicher Anmeldung der Code wie folgt gesetzt werden:
set <name> code <code>
Der Status sollte nun auf "connected" wechseln und das Modul ist von jetzt an dauerhaft einsatzbereit.
Die Dokumentation des Codes und Syntax der Befehle findet ihr in der commandref: https://fhem.de/commandref_DE.html#Spotify

Ich freue mich bereits auf euer Feedback!

Euer Oskar
« Letzte Änderung: 03 Juni 2017, 13:38:05 von neumann »
Gefällt mir Gefällt mir x 12 Hilfreich Hilfreich x 2 Liste anzeigen

Offline Loredo

  • Developer
  • Hero Member
  • ****
  • Beiträge: 2808
  • ~ Challenging Innovation ~
Antw:[Neues Modul] Spotify
« Antwort #1 am: 28 Mai 2017, 16:33:08 »
Hi Oskar,


cool, funktioniert auf anhieb!  8)


Es wäre super, wenn du vor dem einchecken noch einen Blick in die Dev-Guidelines für AV Geräte werfen könntest:
https://wiki.fhem.de/wiki/DevelopmentGuidelinesAV


Wenn du die Namen und Values einiger Readings und Setter entsprechend umbenennst, ist das neue Modul eine super Ergänzung fürs bestehende Ökosystem 👍🏼




Gruß
Julian
FHEM-Module: ENIGMA2, GEOFANCY, ONKYO_AVR, PHTV, RESIDENTS, ROOMMATE, GUEST, HP1000, powerMap, Pushover, THINKINGCLEANER, Wunderground | FHEM-Befehl: msg

FHEM 5.9dev auf Intel NUC mit Proxmox VE
Homematic via HMCCU, Hue Color Bulbs
ONKYO TX-NR626, Philips 55" PFL8008S, Sonos 1xS1, 1xS3, 2xS5

Offline tterrafan

  • New Member
  • *
  • Beiträge: 13
Antw:[Neues Modul] Spotify
« Antwort #2 am: 28 Mai 2017, 18:16:24 »
Kann auch bestätigen, dass alles funktioniert!

Vielen Dank fürs Schreiben des Moduls!

Offline neumann

  • Developer
  • New Member
  • ****
  • Beiträge: 41
Antw:[Neues Modul] Spotify
« Antwort #3 am: 29 Mai 2017, 15:31:53 »
Lieber Julian, lieber tterrafan, danke für euer Feedback!
Ich habe das Modul mit entsprechenden Änderungen nun mal eingecheckt und freue mich auf weitere Rückmeldungen!

Liebe Grüße
Oskar
« Letzte Änderung: 29 Mai 2017, 15:35:44 von neumann »

Offline Chaos

  • New Member
  • *
  • Beiträge: 49
Antw:[Neues Modul] Spotify
« Antwort #4 am: 30 Mai 2017, 08:40:22 »
Ahoi,

vielen Dank für das Modul. Liest sich schon mal sehr gut :-)

Nur mal als Tipp bei der Einrichtung der Spotify API (weil ich zu dumm war):
Bei Redirect URL (https://oskar.pw/) muss man nach eintragen der URL noch den ADD Button rechts daneben klicken. Abschließend unten auf SAVE.

MfG
Manuel

Offline l2r

  • Full Member
  • ***
  • Beiträge: 484
Antw:[Neues Modul] Spotify
« Antwort #5 am: 30 Mai 2017, 09:03:44 »
danke! Läuft 8)

folgende Meldung hatte ich noch im Log:
PERL WARNING: main::Spotify_volumeFadeStep() called too early to check prototype at ./FHEM/37_Spotify.pm line 699
Gruß Michael
« Letzte Änderung: 30 Mai 2017, 09:40:02 von l2r »
Wissen ist Macht.
Ich weiß nix.
Macht nix.

Offline neumann

  • Developer
  • New Member
  • ****
  • Beiträge: 41
Antw:[Neues Modul] Spotify
« Antwort #6 am: 30 Mai 2017, 09:07:18 »
Lieber Manuel, lieber l2r,

danke für euer Feedback!
Manuel, da hast du völlig Recht, das ist sehr unintuitiv von denen gemacht - ich werde den Hinweis in die Dokumentation mit aufnehmen! Danke!

Liebe Grüße
Oskar

Offline neumann

  • Developer
  • New Member
  • ****
  • Beiträge: 41
Antw:[Neues Modul] Spotify
« Antwort #7 am: 30 Mai 2017, 10:46:09 »
Danke Michael, nichts dramatisches, ich reiche ein Update ein ;-)

Offline n0bbi

  • Full Member
  • ***
  • Beiträge: 123
Antw:[Neues Modul] Spotify
« Antwort #8 am: 30 Mai 2017, 10:58:08 »
Wie geil, wird am Wochenende direkt ausprobiert! Vielen Dank, das habe ich bisher schmerzlich vermisst :)

Offline accessburn

  • Sr. Member
  • ****
  • Beiträge: 645
  • Lecker Raspberry-Cocktail!
    • TRcoding
Antw:[Neues Modul] Spotify
« Antwort #9 am: 30 Mai 2017, 12:13:12 »
Läuft super... 
Jetzt muss ich nur noch was für die FTUI schneidern. Dann kann die Pseudoschaltung über AMAD->Tablet->BT->Alexa endlich gekillt werden :-)

Danke Oskar!
Wezzy Rpi2b> FHEM, Elro, Intenso, FTUI, Jeelink v3, Max!Cube, Fire5, Foscam, NAS, Fritz!Box + Fon, Max!Wandthermostat, Amazon Echo
Wezzy Rpi2> Kettenfahrzeug
Jessie Rp3b> UPNP, NAS, Pi-Hole, ownCloud

Offline ralf-ms

  • New Member
  • *
  • Beiträge: 8
Antw:[Neues Modul] Spotify
« Antwort #10 am: 30 Mai 2017, 14:57:17 »
Vielen Dank Oskar!
Genau das hatte mir noch gefehlt!
Funktioniert wunderbar!

Jetzt noch mit Lametric Time verwursten und die Sache ist für mich perfekt! :D

Grüße
Ralf

Offline Bischemer

  • New Member
  • *
  • Beiträge: 12
Antw:[Neues Modul] Spotify
« Antwort #11 am: 30 Mai 2017, 15:06:55 »
TOP ... vielen vielen Dank .. eine geniale Ergänzung im AV Bereich. Die Installation war sehr gut beschrieben und hat auf Anhieb funktioniert. Als bekennender Spotify Junkie werde ich die Tage mal testen und berichten. 

Offline Ma_Bo

  • Sr. Member
  • ****
  • Beiträge: 839
Antw:[Neues Modul] Spotify
« Antwort #12 am: 30 Mai 2017, 15:54:12 »
Danke für das geniale Modul, hat auf Anhieb geklappt.

Grüße Marcel
NUC mit FHEM, HM Heizungsthermostate, HM Wandthermostate, Intertechno Funksteckdosen, 10" Tablet als Wanddisplay, KeyMatic, Fensterkontakte, Fensterkontakte umgebaut als Wassermelder und Briefkastenmelder, Aussenthermostat, Anwesenheitssteuerung über Fritz Box, usw. usw.

Offline ralf-ms

  • New Member
  • *
  • Beiträge: 8
Antw:[Neues Modul] Spotify
« Antwort #13 am: 30 Mai 2017, 17:17:38 »
Hallo Oskar,

beim Wechsel eines Tracks (also z.B. beim Beginn eines neuen Tracks) werden keine Events der track_.*  Readings erzeugt (auch bei den Readings progess_ms oder is_playing nicht).
Ist das Absicht?
Es wäre super, wenn du das ev. noch ändern könntest, dann könnte man hier mit notify arbeiten...

Grüße
Ralf

Hilfreich Hilfreich x 1 Liste anzeigen

Offline neumann

  • Developer
  • New Member
  • ****
  • Beiträge: 41
Antw:[Neues Modul] Spotify
« Antwort #14 am: 30 Mai 2017, 17:20:07 »
Vielen Dank für das zahlreiche Feedback! Es freut mich, dass das Modul so gut ankommt und gut zu funktionieren scheint.
Ich werde den Thread weiterhin verfolgen und stehe bei Problemen und Fragen gerne bereit :)
Viel Erfolg mit euren Projekten, berichtet gerne von euren Einsatzzwecken - ich verwende das Modul beispielsweise in Kombination mit einem Echo-Dot als Musikwecker.

Ralf, das kann gut sein, dass ich das vergessen habe - schaue ich an und reiche gegebenenfalls ein Update nach. Edit: Ich habe dafür ein Update eingereicht, ist dann ab morgen drin - danke für den Hinweis!

Liebe Grüße
Oskar
« Letzte Änderung: 30 Mai 2017, 17:31:56 von neumann »

Offline minias

  • New Member
  • *
  • Beiträge: 4
Antw:[Neues Modul] Spotify
« Antwort #15 am: 30 Mai 2017, 17:42:32 »
Hallo Oskar,

vielen Dank für das Modul, so was hab ich schon lange gesucht  ;)
Sehr gut beschrieben und die Einrichtung ist sehr einfach.

Was mir aufgefallen ist:
- Das Reading "is_playing" aktualisiert sich manchmal nicht richtig und ändert sich von 1 auf 0 (Dann verschwindet mir das Interface auf dem Tablet UI da ich dies mit is_playing triggere)
- 1 : PERL WARNING: Use of uninitialized value in subroutine entry at ./FHEM/37_Spotify.pm line 721.2017-05-30 17:40:27 Spotify g_spotify is_playing: 1

Ich freue mich auf die Möglichkeiten die sich nun auftun!

LG
Flo

Offline Ma_Bo

  • Sr. Member
  • ****
  • Beiträge: 839
Antw:[Neues Modul] Spotify
« Antwort #16 am: 30 Mai 2017, 18:09:37 »
@Oskar: Könntest du die Fehlerausgabe (in meinem Testfall habe ich versucht eine device_id anzugeben, die im moment offline ist) in ein Reading ausgeben.
Z.Z. steht es nur im Log:

2017.05.30 18:05:33.473 3: Spotify_spotify_account_alexa: request failed: Device not found
NUC mit FHEM, HM Heizungsthermostate, HM Wandthermostate, Intertechno Funksteckdosen, 10" Tablet als Wanddisplay, KeyMatic, Fensterkontakte, Fensterkontakte umgebaut als Wassermelder und Briefkastenmelder, Aussenthermostat, Anwesenheitssteuerung über Fritz Box, usw. usw.

Offline neumann

  • Developer
  • New Member
  • ****
  • Beiträge: 41
Antw:[Neues Modul] Spotify
« Antwort #17 am: 30 Mai 2017, 18:33:15 »
Danke für euer Feedback!

An minias: danke für den Hinweis, tatsächlich hat ein "end update" gefehlt, sodass das reading zeitversetzt geupdatet wurde, das habe ich nun behoben!
Ma_Bo: ich habe die entsprechenden readings angelegt!

Zusätzlich werden nun auch Bild-URLs zum Album-Cover in verschiedenen Größen in den Readings abgelegt und das Update-Intervall während der Wiedergabe kann angepasst werden.

Liebe Grüße
Oskar

Offline Ma_Bo

  • Sr. Member
  • ****
  • Beiträge: 839
Antw:[Neues Modul] Spotify
« Antwort #18 am: 30 Mai 2017, 18:50:24 »
Danke für die schnellen Umsetzungen !!!
NUC mit FHEM, HM Heizungsthermostate, HM Wandthermostate, Intertechno Funksteckdosen, 10" Tablet als Wanddisplay, KeyMatic, Fensterkontakte, Fensterkontakte umgebaut als Wassermelder und Briefkastenmelder, Aussenthermostat, Anwesenheitssteuerung über Fritz Box, usw. usw.

Offline Ma_Bo

  • Sr. Member
  • ****
  • Beiträge: 839
Antw:[Neues Modul] Spotify
« Antwort #19 am: 30 Mai 2017, 19:00:47 »
@Oskar: Gibt es die Möglichkeit, das man in einem Reading erkennt, auf welcher device_id, gerade die Musik abgespielt wird ?

Edit: habs gefunden, wer lesen kann ist klar im Vorteil
NUC mit FHEM, HM Heizungsthermostate, HM Wandthermostate, Intertechno Funksteckdosen, 10" Tablet als Wanddisplay, KeyMatic, Fensterkontakte, Fensterkontakte umgebaut als Wassermelder und Briefkastenmelder, Aussenthermostat, Anwesenheitssteuerung über Fritz Box, usw. usw.

Offline neumann

  • Developer
  • New Member
  • ****
  • Beiträge: 41
Antw:[Neues Modul] Spotify
« Antwort #20 am: 30 Mai 2017, 19:02:54 »
Gerne!
Ja gibt es, im Reading device_active.* ist das aktuelle aktive Gerät hinterlegt - falls es kein aktives Gerät gibt, wird das Reading gelöscht.

Online JoWiemann

  • Tester
  • Hero Member
  • ****
  • Beiträge: 1811
Antw:[Neues Modul] Spotify
« Antwort #21 am: 30 Mai 2017, 19:13:41 »
Hallo,

so stirbt Fhem:
2017.05.30 19:10:48 3: mySpoti: pause
<h1>Software error:</h1>
<pre>Operation &quot;ne&quot;: no method found,
left argument in overloaded package JSON::PP::Boolean,
right argument has no overloaded magic at /opt/fhem/FHEM/37_Spotify.pm line 801.
</pre>
<p>
For help, please send mail to this site's webmaster, giving this error message
and the time and date of the error.

</p>
[Tue May 30 19:10:49 2017] fhem.pl: Operation "ne": no method found,
[Tue May 30 19:10:49 2017] fhem.pl: left argument in overloaded package JSON::PP::Boolean,
[Tue May 30 19:10:49 2017] fhem.pl: right argument has no overloaded magic at /opt/fhem/FHEM/37_Spotify.pm line 801.

Grüße Jörg

PS: Aktuelle Version aus dem trunc.
Jörg Wiemann

Slave: RPi B+ mit 512 MB, COC (868 MHz), CUL V3 (493.92MHz SlowRF); FHEMduino, Aktuelles FHEM

Master: CubieTruck; Debian; Aktuelles FHEM

Offline CoolTux

  • Developer
  • Hero Member
  • ****
  • Beiträge: 9028
Antw:[Neues Modul] Spotify
« Antwort #22 am: 30 Mai 2017, 19:20:25 »
Gerne!
Ja gibt es, im Reading device_active.* ist das aktuelle aktive Gerät hinterlegt - falls es kein aktives Gerät gibt, wird das Reading gelöscht.

Hallo,

Das löschen von Readings sollte eher eine Ausnahme sein. Vielleicht wäre es möglich stattdessen​ als value ein none oder halt gar nichts zu nehmen.


Grüße
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.me/MOldenburg
Mein GitHub: https://github.com/LeonGaultier

Offline Ma_Bo

  • Sr. Member
  • ****
  • Beiträge: 839
Antw:[Neues Modul] Spotify
« Antwort #23 am: 30 Mai 2017, 19:32:51 »
@Oskar: Könntest du noch das attr disable einbauen.
Ich würde gerne mit

attr <spotifydevice> disable 1

das Gerät deaktivieren und mit

attr <spotifydevice> disable 0
wieder aktivieren können.
NUC mit FHEM, HM Heizungsthermostate, HM Wandthermostate, Intertechno Funksteckdosen, 10" Tablet als Wanddisplay, KeyMatic, Fensterkontakte, Fensterkontakte umgebaut als Wassermelder und Briefkastenmelder, Aussenthermostat, Anwesenheitssteuerung über Fritz Box, usw. usw.

Offline Ma_Bo

  • Sr. Member
  • ****
  • Beiträge: 839
Antw:[Neues Modul] Spotify
« Antwort #24 am: 30 Mai 2017, 19:37:41 »
Folgende Fehlermeldung habe ich gerade gehabt:

2017.05.30 19:28:43.491 1: PERL WARNING: Use of uninitialized value in string eq at ./FHEM/37_Spotify.pm line 632.
2017.05.30 19:28:43.491 1: PERL WARNING: Use of uninitialized value in lc at ./FHEM/37_Spotify.pm line 632.
2017.05.30 19:28:43.736 3: Spotify_spotify_account_tabletwohn: track spotify:track:5DJw9VKepj0TAS9y8QLmyQ

Der Track wurde auch nicht abgespielt.
NUC mit FHEM, HM Heizungsthermostate, HM Wandthermostate, Intertechno Funksteckdosen, 10" Tablet als Wanddisplay, KeyMatic, Fensterkontakte, Fensterkontakte umgebaut als Wassermelder und Briefkastenmelder, Aussenthermostat, Anwesenheitssteuerung über Fritz Box, usw. usw.

Offline accessburn

  • Sr. Member
  • ****
  • Beiträge: 645
  • Lecker Raspberry-Cocktail!
    • TRcoding
Antw:[Neues Modul] Spotify
« Antwort #25 am: 30 Mai 2017, 19:46:36 »
Wie komme ich denn an meine Playlists ran?
Wezzy Rpi2b> FHEM, Elro, Intenso, FTUI, Jeelink v3, Max!Cube, Fire5, Foscam, NAS, Fritz!Box + Fon, Max!Wandthermostat, Amazon Echo
Wezzy Rpi2> Kettenfahrzeug
Jessie Rp3b> UPNP, NAS, Pi-Hole, ownCloud

Offline neumann

  • Developer
  • New Member
  • ****
  • Beiträge: 41
Antw:[Neues Modul] Spotify
« Antwort #26 am: 30 Mai 2017, 19:47:10 »
Danke für die vielen Meldungen!

Jörg: sehr merkwürdig, dass der Fehler bei mir nicht geflogen ist - sollte nun behoben sein, kannst du mal den aktuellen Trunk checken?
CoolTux: danke für den Hinweis, ich setze nun auf none / none / -1 für ID / Name / Volume.
Ma_Bo: Disable ist nun drin und die Warnings sind behoben.

Vielen Dank für eure Mitarbeit!

Grüße
Oskar

Offline neumann

  • Developer
  • New Member
  • ****
  • Beiträge: 41
Antw:[Neues Modul] Spotify
« Antwort #27 am: 30 Mai 2017, 19:48:27 »
accessburn: In Spotify gehst du auf teilen, kopierst dir die URI und kannst es dann über playContextByURI abspielen.

LG

Offline accessburn

  • Sr. Member
  • ****
  • Beiträge: 645
  • Lecker Raspberry-Cocktail!
    • TRcoding
Antw:[Neues Modul] Spotify
« Antwort #28 am: 30 Mai 2017, 20:00:52 »
accessburn: In Spotify gehst du auf teilen, kopierst dir die URI und kannst es dann über playContextByURI abspielen.

LG

Gefunden  :-*
Wezzy Rpi2b> FHEM, Elro, Intenso, FTUI, Jeelink v3, Max!Cube, Fire5, Foscam, NAS, Fritz!Box + Fon, Max!Wandthermostat, Amazon Echo
Wezzy Rpi2> Kettenfahrzeug
Jessie Rp3b> UPNP, NAS, Pi-Hole, ownCloud

Offline Ma_Bo

  • Sr. Member
  • ****
  • Beiträge: 839
Antw:[Neues Modul] Spotify
« Antwort #29 am: 30 Mai 2017, 20:04:06 »
accessburn: In Spotify gehst du auf teilen, kopierst dir die URI und kannst es dann über playContextByURI abspielen.

LG

Funktioniert bei mir nur auf der device_id die zuletzt etwas abgespielt hat, ich kann zwar die device_id oder name hinten anhängen, aber er spielt es nicht auf dem gerät ab, wo er soll.
NUC mit FHEM, HM Heizungsthermostate, HM Wandthermostate, Intertechno Funksteckdosen, 10" Tablet als Wanddisplay, KeyMatic, Fensterkontakte, Fensterkontakte umgebaut als Wassermelder und Briefkastenmelder, Aussenthermostat, Anwesenheitssteuerung über Fritz Box, usw. usw.

Online JoWiemann

  • Tester
  • Hero Member
  • ****
  • Beiträge: 1811
Antw:[Neues Modul] Spotify
« Antwort #30 am: 30 Mai 2017, 20:22:42 »
Jörg: sehr merkwürdig, dass der Fehler bei mir nicht geflogen ist - sollte nun behoben sein, kannst du mal den aktuellen Trunk checken?

Hallo Oskar,

ich hatte das Modul renamed um Fhem wieder starten zu können. Mit der neuen Version aus dem Trunk nun folgendes:

- Fhem mit neuem Modul neu gestartet
- Device neu angelegt und alten Code benutzt -> geht natürlich nicht
- neuen Code generiert und eingegeben
- Fhem wieder gestorben

[Tue May 30 20:15:30 2017] fhem.pl: Use of uninitialized value $value in string eq at fhem.pl line 4317.
[Tue May 30 20:15:30 2017] fhem.pl: Use of uninitialized value $value in string eq at fhem.pl line 4317.
[Tue May 30 20:15:30 2017] fhem.pl: Use of uninitialized value $value in string eq at fhem.pl line 4317.
<h1>Software error:</h1>
<pre>Operation &quot;ne&quot;: no method found,
left argument in overloaded package JSON::PP::Boolean,
right argument has no overloaded magic at /opt/fhem/FHEM/37_Spotify.pm line 830.
</pre>
<p>
For help, please send mail to this site's webmaster, giving this error message
and the time and date of the error.

</p>
[Tue May 30 20:15:30 2017] fhem.pl: Operation "ne": no method found,
[Tue May 30 20:15:30 2017] fhem.pl: left argument in overloaded package JSON::PP::Boolean,
[Tue May 30 20:15:30 2017] fhem.pl: right argument has no overloaded magic at /opt/fhem/FHEM/37_Spotify.pm line 830.

Grüße Jörg
Jörg Wiemann

Slave: RPi B+ mit 512 MB, COC (868 MHz), CUL V3 (493.92MHz SlowRF); FHEMduino, Aktuelles FHEM

Master: CubieTruck; Debian; Aktuelles FHEM

Offline neumann

  • Developer
  • New Member
  • ****
  • Beiträge: 41
Antw:[Neues Modul] Spotify
« Antwort #31 am: 30 Mai 2017, 20:28:43 »
Ma_Bo: Danke für den Hinweis, der Befehl erwartet als zweiten Parameter die Nummer des Tracks, mit der diese starten soll, das habe ich falsch dokumentiert und er sollte eigentlich optional sein. Habe ich beides behoben.

Jörg: entschuldige, es gab eine zweite Stelle, an der das gleiche Problem war. Nun müsste es aber wirklich klappen - sorry!

Danke an alle für's kräftige Testen!

LG
« Letzte Änderung: 30 Mai 2017, 20:36:41 von neumann »

Online JoWiemann

  • Tester
  • Hero Member
  • ****
  • Beiträge: 1811
Antw:[Neues Modul] Spotify
« Antwort #32 am: 30 Mai 2017, 20:37:02 »
Jo: entschuldige, es gab eine zweite Stelle, an der das gleiche Problem war. Nun müsste es aber wirklich klappen - sorry!

Oh, musst Dich nicht entschuldigen und passt jetzt. Jetzt wird weiter gespielt und meine Frau ermahnt mich schon :-)

Danke für das Modul und Grüße

Jörg
Jörg Wiemann

Slave: RPi B+ mit 512 MB, COC (868 MHz), CUL V3 (493.92MHz SlowRF); FHEMduino, Aktuelles FHEM

Master: CubieTruck; Debian; Aktuelles FHEM
Gefällt mir Gefällt mir x 2 Liste anzeigen

Online JoWiemann

  • Tester
  • Hero Member
  • ****
  • Beiträge: 1811
Antw:[Neues Modul] Spotify
« Antwort #33 am: 30 Mai 2017, 20:56:25 »
Hallo Oskar,

gefunden werden meine Amazon Devices. Müssten nicht auch die Sonos gefunden werden?

Grüße Jörg
Jörg Wiemann

Slave: RPi B+ mit 512 MB, COC (868 MHz), CUL V3 (493.92MHz SlowRF); FHEMduino, Aktuelles FHEM

Master: CubieTruck; Debian; Aktuelles FHEM

Offline neumann

  • Developer
  • New Member
  • ****
  • Beiträge: 41
Antw:[Neues Modul] Spotify
« Antwort #34 am: 30 Mai 2017, 20:59:15 »
Jörg, bei mir zeigt er alle Spotify-Connect fähigen Geräte an sowie alle, die die App offen haben... Die Geräte werden als Array von der API übergeben, du kannst mal ein set <name> update versuchen.
Edit: Kannst du deine Sonos Lautsprecher ansteuern, wenn du dich nicht im gleichen WLAN befindest? Damit man die Geräte über die API steuern kann, müssen sie sich auf deinem Account einloggen. In der Regel machen das Connect fähige Geräte automatisch, sobald man etwas über sie abspielt.
« Letzte Änderung: 30 Mai 2017, 21:04:09 von neumann »

Online JoWiemann

  • Tester
  • Hero Member
  • ****
  • Beiträge: 1811
Antw:[Neues Modul] Spotify
« Antwort #35 am: 30 Mai 2017, 21:10:16 »
Hallo Oskar,

die Sonos können nur im gleichen WLAN erreicht werden. Hier habe ich sie mit Spotify über mein Konto verbunden. Ich kann so auch, nur in meinem WLAN, über die Spotify App Lieder auf den Sonos abspielen.

Grüße Jörg
Jörg Wiemann

Slave: RPi B+ mit 512 MB, COC (868 MHz), CUL V3 (493.92MHz SlowRF); FHEMduino, Aktuelles FHEM

Master: CubieTruck; Debian; Aktuelles FHEM

Offline neumann

  • Developer
  • New Member
  • ****
  • Beiträge: 41
Antw:[Neues Modul] Spotify
« Antwort #36 am: 30 Mai 2017, 21:15:06 »
Hey Jörg,
daran wird es wohl liegen... Die Web API hat den gleichen Funktionsumfang wie der Spotify Web Player - wenn deine Geräte dort nicht auftauchen, dann auch nicht im Modul.
Kann man die Sonos nicht irgendwie von außerhalb zugänglich machen / dauerhaft in Spotify einloggen?

LG

Offline AmunRe

  • Full Member
  • ***
  • Beiträge: 194
Antw:[Neues Modul] Spotify
« Antwort #37 am: 30 Mai 2017, 21:26:38 »
Hallo zusammen,




Erst mal, mega Modul! Läuft auch auf Anhieb.


Ich würde mir wünschen, das ich bei playPlaylistbyName auch ein Device mit angeben kann, bisher geht das leider nicht. Daher spielt er auf dem Default ab. Es gibt aber Playlist die ich nur auf einem bestimmten anderen Gerät abspiel.


FHEm 5.8 , 3 x Echo Dot, 1x Echo, HMLAN Gateway, und diverse HM Komponenten, Philips Hue, Osram Lightify Gateway + Plugs

Offline neumann

  • Developer
  • New Member
  • ****
  • Beiträge: 41
Antw:[Neues Modul] Spotify
« Antwort #38 am: 30 Mai 2017, 21:33:23 »
Hallo AmunRe,

danke für dein Feedback, das stimmt, bei dem Command hat die Angabe eines Zielgeräts noch gefehlt - habe ich nun hinzugefügt!
Ist im Update morgen mit dabei (oder jetzt schon im Trunk).

Edit: Ich habe nun auch die volumeUp/volumeDown Funktion gemäß AV-Spezifikation eingebaut.

LG
Oskar
« Letzte Änderung: 30 Mai 2017, 22:03:17 von neumann »
Gefällt mir Gefällt mir x 1 Liste anzeigen

Offline AmunRe

  • Full Member
  • ***
  • Beiträge: 194
Antw:[Neues Modul] Spotify
« Antwort #39 am: 30 Mai 2017, 22:40:57 »
Hallo AmunRe,

danke für dein Feedback, das stimmt, bei dem Command hat die Angabe eines Zielgeräts noch gefehlt - habe ich nun hinzugefügt!
Ist im Update morgen mit dabei (oder jetzt schon im Trunk).

Edit: Ich habe nun auch die volumeUp/volumeDown Funktion gemäß AV-Spezifikation eingebaut.

LG
Oskar


Ich bedanke mich, das funktioniert jetzt auch mit der DeviceID! Super!


Ich hab grad mal "volumeUp" getestet. im normalfall ist dahinter dann kein Feld und erhöt um einen bestimmten Wert. Bei mir hab ich dswegen auch nichts eingetragen, was bei volumeUp zur Maxlautstärke führte.
FHEm 5.8 , 3 x Echo Dot, 1x Echo, HMLAN Gateway, und diverse HM Komponenten, Philips Hue, Osram Lightify Gateway + Plugs

Offline neumann

  • Developer
  • New Member
  • ****
  • Beiträge: 41
Antw:[Neues Modul] Spotify
« Antwort #40 am: 30 Mai 2017, 22:43:24 »
Hey, sehr gerne!
Ja, das Feld ist optional, es wird standardmäßig immer um 5% erhöht.
Das kann man über das Attribut volumeStep einstellen oder eben als Parameter eingeben.
Wenn du ein spezielles device mit dem Befehl ansprechen willst musst du dir nochmal die aktuelle Version ziehen, das habe ich eben erst eingebaut.

LG
Gefällt mir Gefällt mir x 1 Liste anzeigen

Offline Ma_Bo

  • Sr. Member
  • ****
  • Beiträge: 839
Antw:[Neues Modul] Spotify
« Antwort #41 am: 31 Mai 2017, 15:15:37 »
@Oskar: Bei mir funktioniert folgendes nicht richtig : playContextByURI <context_uri> [ <nr_of_start_track> ] [ <device_id / device_name> ]

Ob ich die [ <nr_of_start_track> ] eingebe oder nicht, es wird immer das erste Lied abgespielt.

####Edit: das war auch noch im LOG

2017.05.31 15:12:05.429 1: PERL WARNING: Odd number of elements in anonymous hash at ./FHEM/37_Spotify.pm line 577.
Ich habe nur das Modul aktualisiert und ein relaod gemacht, muss ggfs. ein FHEM Neustart sein?


Gruß Marcel
« Letzte Änderung: 31 Mai 2017, 15:19:52 von Ma_Bo »
NUC mit FHEM, HM Heizungsthermostate, HM Wandthermostate, Intertechno Funksteckdosen, 10" Tablet als Wanddisplay, KeyMatic, Fensterkontakte, Fensterkontakte umgebaut als Wassermelder und Briefkastenmelder, Aussenthermostat, Anwesenheitssteuerung über Fritz Box, usw. usw.
Gefällt mir Gefällt mir x 1 Liste anzeigen

Offline neumann

  • Developer
  • New Member
  • ****
  • Beiträge: 41
Antw:[Neues Modul] Spotify
« Antwort #42 am: 31 Mai 2017, 15:41:15 »
Ma_Bo, danke für den Hinweis, ist behoben!

LG

Offline AmunRe

  • Full Member
  • ***
  • Beiträge: 194
Antw:[Neues Modul] Spotify
« Antwort #43 am: 31 Mai 2017, 18:40:52 »
Zitat
playRandomTrackFromPlaylistByURI <track_uri> [ <limit> ] [ <device_id / device_name> ]


Hi Oskar,
In der Commandref ist es so angegeben. Müsste es nicht heißten PlaylistUri? Es gibt leider noch kein Reading für die playlisturi wie bekomme ich diese, versuche mich morgens nämlich ebenfalls vom Echo wecken zu lassen, nur bei der playPlaylistbyName startet er immer mit dem gleichen, daher würde ich das gern random lösen.


Lieben Gruß


Torsten
FHEm 5.8 , 3 x Echo Dot, 1x Echo, HMLAN Gateway, und diverse HM Komponenten, Philips Hue, Osram Lightify Gateway + Plugs

Offline neumann

  • Developer
  • New Member
  • ****
  • Beiträge: 41
Antw:[Neues Modul] Spotify
« Antwort #44 am: 31 Mai 2017, 18:46:57 »
Hey Torsten,
ja stimmt, da gehört playlist_uri hin, habe ich geändert.
Du bekommst die URIs über die (Desktop) App, wenn du auf den Teilen-Knopf drückst.

LG
« Letzte Änderung: 01 Juni 2017, 12:08:21 von neumann »

Offline AmunRe

  • Full Member
  • ***
  • Beiträge: 194
Antw:[Neues Modul] Spotify
« Antwort #45 am: 31 Mai 2017, 19:01:03 »
Hey Thorsten,
ja stimmt, da gehört playlist_uri hin, habe ich geändert.
Du bekommst die URIs über die (Desktop) App, wenn du auf den Teilen-Knopf drückst.

LG


hey cool danke für die Info.


Mit der Uri klappt es auch fast, ich hab jetzt noch das problem das ich ihm 5 Tracks als Limit vorgebe, er übernimmt aber dennoch nur einen in die playlist und nicht 5.


Edit: Ich seh grad, das ich ihm damit nur sage, wie groß der Zufall ist, also wie viel Tracks berücksichtigt werden. Sorry, das hab ich falsch verstanden. Dachte ich könnte sagen er soll 5 Tracks übernehmen :(
« Letzte Änderung: 31 Mai 2017, 19:03:47 von AmunRe »
FHEm 5.8 , 3 x Echo Dot, 1x Echo, HMLAN Gateway, und diverse HM Komponenten, Philips Hue, Osram Lightify Gateway + Plugs

Offline neumann

  • Developer
  • New Member
  • ****
  • Beiträge: 41
Antw:[Neues Modul] Spotify
« Antwort #46 am: 31 Mai 2017, 19:06:37 »
Das Limit bezieht sich ja auf die ersten X Songs der Playlist, aus denen ein zufälliger Song ausgewählt werden soll (um so z.B. bei Chart-Playlists alte Songs auszufiltern etc).
Und du meinst, da kommt immer der gleiche Song? Führ das Command mal mehrfach nacheinander aus.

LG

Offline AmunRe

  • Full Member
  • ***
  • Beiträge: 194
Antw:[Neues Modul] Spotify
« Antwort #47 am: 31 Mai 2017, 19:43:32 »
Das Limit bezieht sich ja auf die ersten X Songs der Playlist, aus denen ein zufälliger Song ausgewählt werden soll (um so z.B. bei Chart-Playlists alte Songs auszufiltern etc).
Und du meinst, da kommt immer der gleiche Song? Führ das Command mal mehrfach nacheinander aus.

LG


Nein, da kommt nicht der gleiche.


Mein Problem ist, ich würde gern eine Playlist abspielen, dabei soll aber nicht immer der selbe song abspielen. Ab dem zweiten song wäre es kein Problem weil ich ja shuffle auf on setzen kann. Damit ist aber immer der erste Song der gleiche. Deswegen dachte ich randomPlaylist sorgt dafür das eine randomplaylist abgespielt wird und zwar mit der Anzahl an Tracks die in Limit hinterlegt sind. Dem ist aber leider nicht so. Jetzt muss ich mir was anderes überlegen um nicht immer den selben Song zu haben morgens.
FHEm 5.8 , 3 x Echo Dot, 1x Echo, HMLAN Gateway, und diverse HM Komponenten, Philips Hue, Osram Lightify Gateway + Plugs

Offline neumann

  • Developer
  • New Member
  • ****
  • Beiträge: 41
Antw:[Neues Modul] Spotify
« Antwort #48 am: 31 Mai 2017, 19:45:43 »
Es wird bei dem Command nicht immer der gleiche Song abgespielt sondern ein zufälliger aus einer Playlist ausgewählt, damit nicht immer der gleiche kommt.
Ich verstehe nicht so richtig, woran es hängt.

LG

Offline n0bbi

  • Full Member
  • ***
  • Beiträge: 123
Antw:[Neues Modul] Spotify
« Antwort #49 am: 31 Mai 2017, 19:48:03 »
Innerhalb weniger Minuten installiert und funktioniert, vielen vielen Dank!

Eine Frage habe ich aber noch und ich glaube das Problem hatte hier schon mal jemand mit seinen Sonos-Boxen: Der Webplayer und das Modul hier erkennen deutlich weniger Geräte im Netzwerk als die Handy-App. Mir fehlen im FHEM-Modul zum Beispiel mein Chromecast, die FireTVs und mein Receiver. Gefunden werden lediglich die Amazon Echos.

Jemand eine Idee wie man das Problem noch lösen könnte?

Offline AmunRe

  • Full Member
  • ***
  • Beiträge: 194
Antw:[Neues Modul] Spotify
« Antwort #50 am: 31 Mai 2017, 20:08:40 »
Es wird bei dem Command nicht immer der gleiche Song abgespielt sondern ein zufälliger aus einer Playlist ausgewählt, damit nicht immer der gleiche kommt.
Ich verstehe nicht so richtig, woran es hängt.

LG


Ich würde gern mehrals nur einen Song in der Playlist haben ;)
FHEm 5.8 , 3 x Echo Dot, 1x Echo, HMLAN Gateway, und diverse HM Komponenten, Philips Hue, Osram Lightify Gateway + Plugs

Offline neumann

  • Developer
  • New Member
  • ****
  • Beiträge: 41
Antw:[Neues Modul] Spotify
« Antwort #51 am: 31 Mai 2017, 21:13:19 »
n00bi - gerne, ich glaube das wird schwerer. Man müsste die Geräte lokal im Netzwerk erkennen und ansteuern, wie genau das Protokoll funktioniert weiß ich leider nicht. Im Vergleich dazu ist die Web API wahrscheinlich sehr einfach :D

Torsten, ich verstehe leider immer noch nicht, was genau du meinst.
« Letzte Änderung: 01 Juni 2017, 12:08:00 von neumann »

Offline AmunRe

  • Full Member
  • ***
  • Beiträge: 194
Antw:[Neues Modul] Spotify
« Antwort #52 am: 31 Mai 2017, 23:22:23 »

Thorsten, ich verstehe leider immer noch nicht, was genau du meinst.


Bisher spielt playRandomTrackFromPlaylistByUrl genau EINEN Song ab. Ich hätte gern, das ich mehr als nur einen aus der Playlist übernehmen kann. Also quasi die erste 5 zufällig ausgewählten.
FHEm 5.8 , 3 x Echo Dot, 1x Echo, HMLAN Gateway, und diverse HM Komponenten, Philips Hue, Osram Lightify Gateway + Plugs

Offline neumann

  • Developer
  • New Member
  • ****
  • Beiträge: 41
Antw:[Neues Modul] Spotify
« Antwort #53 am: 01 Juni 2017, 23:25:30 »
Ah, ich verstehe. Man könnte es darüber lösen eine Playlist zu starten, shuffle zu aktivieren und dann entsprechend zum nächsten Track zu skippen... Würde das funktionieren?

Offline moonsorrox

  • Hero Member
  • *****
  • Beiträge: 2631
Antw:[Neues Modul] Spotify
« Antwort #54 am: 02 Juni 2017, 00:37:32 »
Hallo Super Modul, einrichten hat alles prima geklappt, aber ich kann z.B. den Webplayer den er mir anzeigt nicht abspielen.
In den readings steht bei
device_active_name Spotify Web Player
device_active_type Computer

error_code 403
error_description Not available for the current user
aber die "user_id" ist richtig

Log Fehler:
2017.06.02 00:31:29 3: Spotify: request failed: Not available for the current user
2017.06.02 00:31:28 3: Spotify: request failed: Not available for the current user

Weiterhin zeigt er mir in den Readings auch alles an was ich direkt gerade im WebPlayer abgespielt habe, Künstler, Titel welche Platte usw.
Was muss ich noch beachten.? Geht das evtl. nur mit einem Premium Account.?
« Letzte Änderung: 02 Juni 2017, 00:48:32 von moonsorrox »
Intel-NUC i3: FHEM-Server 5.8 :: Perl v5.18.2

Homematic: HM-USB-CFG2,HM-CFG-LAN Adapter, HM-LC-BL1-FM, HM-LC-Sw1PBU-FM, HM-LC-Sw1-PI-2, HM-WDS10-TH-O, HM-CC-TC, HM-LC-SW2-FM

Offline Haecksler

  • Full Member
  • ***
  • Beiträge: 163
Antw:[Neues Modul] Spotify
« Antwort #55 am: 02 Juni 2017, 10:53:25 »
Weiterhin zeigt er mir in den Readings auch alles an was ich direkt gerade im WebPlayer abgespielt habe, Künstler, Titel welche Platte usw.
Was muss ich noch beachten.? Geht das evtl. nur mit einem Premium Account.?
Ja, kann nicht alles umsonst sein. 8)

Offline neumann

  • Developer
  • New Member
  • ****
  • Beiträge: 41
Antw:[Neues Modul] Spotify
« Antwort #56 am: 02 Juni 2017, 13:01:43 »
Ja, leider stehen manche Funktionen nur Premium-Nutzern zur Verfügung.

LG
Oskar

Offline moonsorrox

  • Hero Member
  • *****
  • Beiträge: 2631
Antw:[Neues Modul] Spotify
« Antwort #57 am: 02 Juni 2017, 15:09:13 »
OK, vllt. sollte man dann auf der 1.Seite eine kleine Information dazu schreiben, dass es einem Premium Account voraus setzt.
Ich höre nicht oft am PC Musik, aber eben ab und an... und dann nehme ich Spotify und lebe mit der kurzen Werbung...!

O.T.
Man muss nicht alles kaufen, möchte hier aber deshalb keine Diskussion auslösen... ob nun alles umsonst oder nicht umsonst sein sollte. Wäre ich ein Spotify extrem Hörer würde ich auch den Premium Account vorziehen  ;) :D ;)
Intel-NUC i3: FHEM-Server 5.8 :: Perl v5.18.2

Homematic: HM-USB-CFG2,HM-CFG-LAN Adapter, HM-LC-BL1-FM, HM-LC-Sw1PBU-FM, HM-LC-Sw1-PI-2, HM-WDS10-TH-O, HM-CC-TC, HM-LC-SW2-FM

Offline Tobias

  • Developer
  • Hero Member
  • ****
  • Beiträge: 3259
Antw:[Neues Modul] Spotify
« Antwort #58 am: 02 Juni 2017, 16:10:19 »
Hi,
ich habe hier Sonos - und MPD Player. Wie kann ich diese mit diesem Spotify Modul hier verknüpfen bzw die Musik dort abspielen?
FHEM auf Cubitruck mit Homematic, MAX, PCA301, Panstamp-Sensoren, RPi mit 2x 1wire, RPi mit Text2Speech.
Maintainer der Module: DbLog, Text2Speech, SprinkleControl, Sprinkle, TrashCal, MediaList

Offline neumann

  • Developer
  • New Member
  • ****
  • Beiträge: 41
Antw:[Neues Modul] Spotify
« Antwort #59 am: 02 Juni 2017, 16:15:22 »
OK, vllt. sollte man dann auf der 1.Seite eine kleine Information dazu schreiben, dass es einem Premium Account voraus setzt.
Da hast du natürlich völlig Recht, mir war das auch nicht bewusst, in welchem Umfang ein Premium Account benötigt wird, oder nicht - das konnte ich auch nicht testen, weil ich selbst eben Premium verwende.

Hi,
ich habe hier Sonos - und MPD Player. Wie kann ich diese mit diesem Spotify Modul hier verknüpfen bzw die Musik dort abspielen?
Tobias, wenn die Geräte über den Web Player nicht ansteuerbar sind, ist das Starten einer initialen neuen Wiedergabe wahrscheinlich vorerst schwierig.
Allerdings sollte es ohne Probleme möglich sein, sobald die Wiedergabe auf dem Zielgerät aktiv ist, diese zu steuern / zu verändern.

LG
Oskar

Offline AmunRe

  • Full Member
  • ***
  • Beiträge: 194
Antw:[Neues Modul] Spotify
« Antwort #60 am: 02 Juni 2017, 17:05:40 »
Ah, ich verstehe. Man könnte es darüber lösen eine Playlist zu starten, shuffle zu aktivieren und dann entsprechend zum nächsten Track zu skippen... Würde das funktionieren?


Sag ich dir morgen früh, aber danke für die Idee!
FHEm 5.8 , 3 x Echo Dot, 1x Echo, HMLAN Gateway, und diverse HM Komponenten, Philips Hue, Osram Lightify Gateway + Plugs

Offline Ma_Bo

  • Sr. Member
  • ****
  • Beiträge: 839
Antw:[Neues Modul] Spotify
« Antwort #61 am: 02 Juni 2017, 17:55:54 »
@Oskar: diese Meldung hatte ich gerade nach einem Neustart von FHEM

2017.06.02 17:50:00.189 1: PERL WARNING: main::Spotify_getTargetDeviceID() called too early to check prototype at ./FHEM/37_Spotify.pm line 674, <$fh> line 13067.
NUC mit FHEM, HM Heizungsthermostate, HM Wandthermostate, Intertechno Funksteckdosen, 10" Tablet als Wanddisplay, KeyMatic, Fensterkontakte, Fensterkontakte umgebaut als Wassermelder und Briefkastenmelder, Aussenthermostat, Anwesenheitssteuerung über Fritz Box, usw. usw.

Offline neumann

  • Developer
  • New Member
  • ****
  • Beiträge: 41
Antw:[Neues Modul] Spotify
« Antwort #62 am: 02 Juni 2017, 18:04:52 »
@Oskar: diese Meldung hatte ich gerade nach einem Neustart von FHEM

2017.06.02 17:50:00.189 1: PERL WARNING: main::Spotify_getTargetDeviceID() called too early to check prototype at ./FHEM/37_Spotify.pm line 674, <$fh> line 13067.

Dankeschön, sollte nun behoben sein :)
LG Oskar

Offline enrikb

  • New Member
  • *
  • Beiträge: 26
Antw:[Neues Modul] Spotify
« Antwort #63 am: 02 Juni 2017, 22:33:45 »
Ich habe mir hier lokal mal angesehen, wie die Spotify Windows Anwendung wohl mein lokales Connect-Gerät, ein ASUS Clique R100, findet. Das R100 sendet - neben den üblichen UPnP / SSDP Media-Gedöns Announcements auch Bonjour. Der PTR RR sieht so aus:

_spotify-connect._tcp.local: type PTR, class IN, Wohnzimmer._spotify-connect._tcp.local

("Wohnzimmer" ist natürlich der Gerätename).

Der Name löst zu einem TXT und SRV RR auf (Auszüge aus dem Wireshark-Dump):

Wohnzimmer._spotify-connect._tcp.local: type SRV, class IN, cache flush, priority 0, weight 0, port 8080, target Qualcomm-Atheros-CUS227-047d43.local
Wohnzimmer._spotify-connect._tcp.local: type TXT, class IN, cache flush
  TXT: VERSION=1.0
  TXT: CPath=/zeroConf

Die Spotify-Anwendung macht dann eine Verbindung auf Port 8080 (vgl. SRV RR) und setzt einen HTTP GET-Request auf /zeroConf?action=getInfo (vgl. TXT RR) ab:

GET /zeroConf?action=getInfo HTTP/1.1
Host: 192.168.128.56:8080
User-Agent: Spotify/105500487 Win32/0 (PC laptop)
Keep-Alive: 0
Connection: keep-alive
Accept-Encoding: gzip
Content-Type: application/x-www-form-urlencoded


Zurück kommt ein JSON-Objekt:

{
  "status": 101,
  "statusString": "OK",
  "spotifyError": 0,
  "version": "2.1.0",
  "deviceID": "255720ef-e852-419f-a2f5-6443905b8cfd",
  "remoteName": "Wohnzimmer",
  "publicKey": "bTBzujQi9/JfWvZZIlhMnFy7MHwzTrHH1DC2B7Xtl3VJhFgZTywLD26VlsrqSv5jO5f6sLgZ01wrotShQpNPJ7varaZ9VJ/7Ch/tHegbeObCCAMMOAQkpWIp0/aPlI/g",
  "activeUser": "enrik.berkhan",
  "accountReq": "PREMIUM",
  "deviceType": "SPEAKER",
  "brandDisplayName": "ASUS",
  "modelDisplayName": "Clique_R100",
  "libraryVersion": "1.20.0-g594175d4"
}

Die interessanten Member sind vermutlich "deviceID" und "publicKey". Keine Ahnung, ob man das im WebAPI irgendwie verwenden kann, aber vielleicht kommt damit jemand weiter. Da mein Account der aktuelle 'activeUser' ist, sehe ich das Gerät zurzeit wohl auch im FHEM Modul. Das ist nicht immer der Fall.

Viel Erfolg,
Enrik
Gefällt mir Gefällt mir x 1 Liste anzeigen

Offline neumann

  • Developer
  • New Member
  • ****
  • Beiträge: 41
Antw:[Neues Modul] Spotify
« Antwort #64 am: 02 Juni 2017, 22:42:29 »
Hallo Enrik,

vielen Dank für deine Analyse!
Mir ist es auch bereits gelungen, lokale Geräte zu entdecken - man müsste es nur schaffen, das Gerät zu "aktivieren", danach wäre es über die Web API steuerbar.
Dazu benötigt es allerdings blobs & co, von denen ich noch nicht weiß, wie ich sie generieren kann.
Das ganze wurde bereits in go implementiert, man müsste es entsprechend noch in das Modul portieren: https://github.com/badfortrains/spotcontrol

Falls jemand eine Idee hat und helfen mag, sehr gerne!

LG
Oskar
Gefällt mir Gefällt mir x 2 Liste anzeigen

Offline moonsorrox

  • Hero Member
  • *****
  • Beiträge: 2631
Antw:[Neues Modul] Spotify
« Antwort #65 am: 03 Juni 2017, 13:33:30 »
Interessehalber möchte ich noch mal nachfragen
Folgende Funktionen sind implementiert (manche benötigen einen Premium Account):
welche benötigen denn keinen Premium Account oder sind damit nur readings gemeint (die ja fast alle erscheinen)

Diese Funktionen hier sind mit webCMD angelegt und es funktioniert keiner davon.
paused toggle next prev volumeUp volumeDown
Ich glaube ich werde mir mal den 3monatigen Testaccount zulegen  ;)
Intel-NUC i3: FHEM-Server 5.8 :: Perl v5.18.2

Homematic: HM-USB-CFG2,HM-CFG-LAN Adapter, HM-LC-BL1-FM, HM-LC-Sw1PBU-FM, HM-LC-Sw1-PI-2, HM-WDS10-TH-O, HM-CC-TC, HM-LC-SW2-FM

Offline neumann

  • Developer
  • New Member
  • ****
  • Beiträge: 41
Antw:[Neues Modul] Spotify
« Antwort #66 am: 03 Juni 2017, 13:37:45 »
Interessehalber möchte ich noch mal nachfragenwelche benötigen denn keinen Premium Account oder sind damit nur readings gemeint (die ja fast alle erscheinen)

Diese Funktionen hier sind mit webCMD angelegt und es funktioniert keiner davon.
paused toggle next prev volumeUp volumeDown
Ich glaube ich werde mir mal den 3monatigen Testaccount zulegen  ;)

Ich habe gerade noch mal nachgelesen, anscheinend sind leider alle steuernden Aktionen Premium only: https://developer.spotify.com/web-api/working-with-connect/

LG
Zustimmung Zustimmung x 1 Liste anzeigen

Offline moonsorrox

  • Hero Member
  • *****
  • Beiträge: 2631
Antw:[Neues Modul] Spotify
« Antwort #67 am: 03 Juni 2017, 13:47:36 »
OK, vielen Dank
Intel-NUC i3: FHEM-Server 5.8 :: Perl v5.18.2

Homematic: HM-USB-CFG2,HM-CFG-LAN Adapter, HM-LC-BL1-FM, HM-LC-Sw1PBU-FM, HM-LC-Sw1-PI-2, HM-WDS10-TH-O, HM-CC-TC, HM-LC-SW2-FM

Offline enrikb

  • New Member
  • *
  • Beiträge: 26
Antw:[Neues Modul] Spotify
« Antwort #68 am: 04 Juni 2017, 00:15:57 »
Hallo Oskar,

danke für den Hinweis auf spotcontrol. Bin schon am Go lesenlernen.

Viele Grüße,
Enrik

Offline accessburn

  • Sr. Member
  • ****
  • Beiträge: 645
  • Lecker Raspberry-Cocktail!
    • TRcoding
Antw:[Neues Modul] Spotify
« Antwort #69 am: 10 Juni 2017, 09:57:59 »
Hat schon jemand etwas interessantes für FTUI zusammen geschustert?
Wezzy Rpi2b> FHEM, Elro, Intenso, FTUI, Jeelink v3, Max!Cube, Fire5, Foscam, NAS, Fritz!Box + Fon, Max!Wandthermostat, Amazon Echo
Wezzy Rpi2> Kettenfahrzeug
Jessie Rp3b> UPNP, NAS, Pi-Hole, ownCloud

Offline Haecksler

  • Full Member
  • ***
  • Beiträge: 163
Antw:[Neues Modul] Spotify
« Antwort #70 am: 11 Juni 2017, 12:59:44 »
Tolles Modul! Funktioniert soweit einwandfrei.
Das einzige was komisch ist, ist dass wenn man mit "playPlaylistByName" ein Mixtape z.B. "Dein Mixtape 1" abspielen will, kommt zwar das Mixtape 1, dass was gespielt wird hat aber nichts mit dem Mixtape, welches in der Spotify App angezeigt wird zutun.
Kann das sonst noch jemand bestätigen?

Gruß,
Stefan

Offline neumann

  • Developer
  • New Member
  • ****
  • Beiträge: 41
Antw:[Neues Modul] Spotify
« Antwort #71 am: 11 Juni 2017, 13:02:11 »
Hey Stefan!

playPlaylistByName bezieht sich auf alle öffentlichen Spotify Playlists wie z.B. "Top Hits Deutschland" etc.
Generell empfiehlt es sich, immer wenn es möglich ist, alles über die contextURI anzusprechen, da du dann garantiert die richtige Playlist abspielst.

Liebe Grüße
Oskar

Offline Tomatenjoghurt

  • New Member
  • *
  • Beiträge: 18
Antw:[Neues Modul] Spotify
« Antwort #72 am: 12 Juni 2017, 21:36:42 »
Hi!

Erstmal danke für das Modul - es funktioniert wirklich auf Anhieb super!  ;D

Eine Frage...gibt es evtl eine Möglichkeit bestimmte Playlists zu speichern?
Ich hatte mir überlegt Playlists in einem dummy (playlist) als STATE zu speichern...aber dann krieg ichs irgendwie noch nicht hin, den STATE des dummys, der die URi der Playlist enthält, abzuspielen...
Gibt es da irgendeine Möglichkeit?
Quasi...
set Spotify playContextByURI playlist.STATE
...was ja leider nicht geht, da er so nicht den Inhalt der Variable abspielt, sondern den String an sich interpresiert...  ::)

Offline neumann

  • Developer
  • New Member
  • ****
  • Beiträge: 41
Antw:[Neues Modul] Spotify
« Antwort #73 am: 12 Juni 2017, 21:40:52 »
Hey!
Gerne :)

Klar, das sollte mit Perl Syntax kein Problem sein:
{ fhem("set Spotify playContextByURI ". Value("playlistXY")) }
Meinst du das?

LG
Oskar
« Letzte Änderung: 12 Juni 2017, 22:02:52 von neumann »
Gefällt mir Gefällt mir x 1 Liste anzeigen

Offline CoolTux

  • Developer
  • Hero Member
  • ****
  • Beiträge: 9028
Antw:[Neues Modul] Spotify
« Antwort #74 am: 12 Juni 2017, 21:48:18 »
Hi!

Erstmal danke für das Modul - es funktioniert wirklich auf Anhieb super!  ;D

Eine Frage...gibt es evtl eine Möglichkeit bestimmte Playlists zu speichern?
Ich hatte mir überlegt Playlists in einem dummy (playlist) als STATE zu speichern...aber dann krieg ichs irgendwie noch nicht hin, den STATE des dummys, der die URi der Playlist enthält, abzuspielen...
Gibt es da irgendeine Möglichkeit?
Quasi...
set Spotify playContextByURI playlist.STATE
...was ja leider nicht geht, da er so nicht den Inhalt der Variable abspielt, sondern den String an sich interpresiert...  ::)

Wenn Du einen Dummy anlegst und mit den Attributen setList und readingList arbeitest kannst Du eine spätere Abfrage ganz einfach mit
set Spotify playContextByURI [playlistDummy:playListXY]

das ganze abspielen.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.me/MOldenburg
Mein GitHub: https://github.com/LeonGaultier
Gefällt mir Gefällt mir x 1 Liste anzeigen

Offline Tomatenjoghurt

  • New Member
  • *
  • Beiträge: 18
Antw:[Neues Modul] Spotify
« Antwort #75 am: 13 Juni 2017, 21:14:40 »
Perfekt, hab mich für die Variante von CoolTux entschieden, funktioniert super! :)

Falls es wen interessiert...ich setze mir via FTUI über eine select-box eine playlist, die dann im state von besagtem dummy gespeichert wird. Ein klick auf den play button mit dem befehl von CoolTux spielt dann die ausgewählte playlist ab.
Wirklich super, danke!  ;D

Offline enrikb

  • New Member
  • *
  • Beiträge: 26
Antw:[Neues Modul] Spotify
« Antwort #76 am: 13 Juni 2017, 23:33:41 »
[Spotify Connect]

Falls jemand eine Idee hat und helfen mag, sehr gerne!

Also, ich habe mal ein bisschen weiter gespielt und die Informationen von spotcontrol und librespot in einen perl proof-of-concept übersetzt, um etwas Licht ins Dunkel zu bringen. Damit sich ein spotify-connect client mit einem Account verbindet, schickt man ihm offenbar einen 'addUser'-Request, der mehrfach verschlüsselte und verschleierte wiederverwendbare Logininformationen enthält. Wenn man die Spotify-Anwendung dazu bringt, ein nachgebautes connect device zu akzeptieren und das dann als Ziel auswählt, schenkt einem die Anwendung diese Logininformationen als 'blob'. Möglicherweise kann man in diesem 'blob' auch ein OAuth-Token verwenden. Was man von der Spotify-Anwendung bekommt, scheint aber ein volles, nicht ablaufendes Äquivalent von Nutzername/Passwort zu sein.

Hier ist ein kleiner in perl heruntergeschriebener Server, der die entsprechenden Anfragen von der Spotify-Anwendung verarbeitet und nach einem addUser die Daten auf STDERR ausgibt:

#!/usr/bin/perl -w

use Math::BigInt;
use Data::UUID;

$priv_key = Math::BigInt->from_hex(
  'cafebabe_cafebabe_cafebabe_cafebabe_cafebabe_cafebabe'.
  'cafebabe_cafebabe_cafebabe_cafebabe_cafebabe_cafebabe'.
  'cafebabe_cafebabe_cafebabe_cafebabe_cafebabe_cafebabe'.
  'cafebabe_cafebabe_cafebabe_cafebabe_cafebabe_cafebabe'
);

$local_id = Data::UUID->new->create_from_name_str(Data::UUID::NameSpace_URL, "cafebabe.fake.spotify.com");

{
  package MyConnect;

  use HTTP::Server::Simple::CGI;
  use base qw(HTTP::Server::Simple::CGI);

  use MIME::Base64;
  use JSON::PP;
  use Crypt::DH;
  use Crypt::Rijndael;
  use Crypt::PBKDF2;
  use Digest::SHA qw(sha1);
  use Digest::HMAC_SHA1 qw(hmac_sha1);

  my $dh = Crypt::DH->new;

  my %dispatch = (
    '/' => \&resp_conf,
    # ...
  );

  sub post_setup_hook {
    my $self = shift;
    # First Oakley Default Group
    $dh->p(Math::BigInt->from_hex(
        'FFFFFFFF_FFFFFFFF_C90FDAA2_2168C234_C4C6628B_80DC1CD1'.
        '29024E08_8A67CC740_20BBEA6_3B139B22_514A0879_8E3404DD'.
        'EF9519B3_CD3A431B_302B0A6D_F25F1437_4FE1356D_6D51C245'.
        'E485B576_625E7EC6_F44C42E9_A63A3620_FFFFFFFF_FFFFFFFF'
      ));
    $dh->g(2);
    $dh->priv_key($main::priv_key);
    $dh->generate_keys;
    $self->SUPER::post_setup_hook();
  }

  sub handle_request {
    my $self = shift;
    my $cgi  = shift;

    my $path = $cgi->path_info();
    my $handler = $dispatch{$path};

    if (ref($handler) eq "CODE") {
      $handler->($cgi);

    } else {
      print "HTTP/1.0 404 Not found\r\n";
      print $cgi->header,
      $cgi->start_html('Not found'),
      $cgi->h1('Not found'),
      $cgi->end_html;
    }
  }

  sub resp_conf {
    my $cgi  = shift;   # CGI.pm object
    return if !ref $cgi;

    my $action = $cgi->param('action');
    my $pub_key = "blurb";

    if ($action eq "getInfo") {
      print "HTTP/1.0 200 OK\r\n";
      print $cgi->header("application/json"),

      encode_json({
          status => 101,
          statusString => "OK",
          spotifyError => 0,
          version => "2.1.0",
          deviceID => $main::local_id,
          remoteName => "Da Fake Speaker",
          activeUser => "",
          publicKey => encode_base64(pack('H*', substr($dh->pub_key->as_hex, 2)), ''),
          deviceType => "SPEAKER",
          libraryVersion => "1.20.0-g594175d4",
          accountReq => "PREMIUM",
          brandDisplayName => "MyConnector",
          modelDisplayName => "HAL 9000",
        });
      print "\n";
    } elsif ($action eq "addUser") {

      decode_and_dump($cgi);

      print "HTTP/1.0 200 OK\r\n";
      print $cgi->header("application/json"),

      encode_json({
          status => "101",
          statusString => "ERROR-OK",
          spotifyError => 0,
        });
      print "\n";
    } else {
      print "HTTP/1.0 404 Not found\r\n";
      print $cgi->header,
      $cgi->start_html('Not found'),
      $cgi->h1('Not found'),
      $cgi->end_html;
    }
  }

  sub decode_and_dump {
    my $cgi = shift;

    my $local_id = $main::local_id;
    my $username = $cgi->param('userName');
    my $client_key = Math::BigInt->from_hex(unpack('H*', decode_base64($cgi->param('clientKey'))));
    my $encrypted_blob = decode_base64($cgi->param('blob'));

    my $shared_key = $dh->compute_secret($client_key);
    my $base_key       = substr(sha1(pack('H*', substr($shared_key->as_hex, 2))), 0, 16);
    my $checksum_key   = hmac_sha1("checksum",   $base_key);
    my $encryption_key = substr(hmac_sha1("encryption", $base_key),0 , 16);

    my $iv        = substr($encrypted_blob, 0, 16);
    my $encrypted = substr($encrypted_blob, 16, -20);
    my $cksum     = substr($encrypted_blob, -20);

    my $mac = hmac_sha1($encrypted, $checksum_key);

    #die "Bad checksum!" unless ($mac eq $cksum);
    return unless ($mac eq $cksum);

    # outer decryption
    my $aes = new Crypt::Rijndael($encryption_key, Crypt::Rijndael::MODE_CTR());
    $aes->set_iv($iv);
    my $decrypted = $aes->decrypt($encrypted);
    $decrypted = decode_base64($decrypted);

    # inner decryption
    my $pbkdf2 = Crypt::PBKDF2->new(
      hash_class => 'HMACSHA1',
      iterations => 0x100,
      output_len => 20,
      salt_len => length($username),
    );

    my $blob_key = $pbkdf2->PBKDF2($username, sha1($local_id));
    $blob_key  = sha1($blob_key);
    $blob_key .= pack('N', length($blob_key));

    $aes = new Crypt::Rijndael($blob_key, Crypt::Rijndael::MODE_ECB());
    $decrypted = $aes->decrypt($decrypted);

    # inner obfuscation
    my @decrypted = split('', $decrypted);
    my $l = length($decrypted);
    for (my $i = 0; $i < $l - 16; $i++) {
      $decrypted[$l - $i - 1] ^= $decrypted[$l - $i - 17];
    }

    print STDERR encode_json(
      {
        Username => $username,
        DecodedBlob => encode_base64(join('', @decrypted), ''),
      }
    ), "\n";

  }
}

MyConnect->new(8080, Socket::AF_INET6)->run();

Damit der gefunden wird, muss man ihn noch per Bonjour ankündigen. Der Einfachheit halber habe ich das mit avahi gemacht:

$ avahi-publish-service -v FakeSpeaker _spotify-connect._tcp 8080 VERSION=1.0 CPath=/
Server version: avahi 0.6.32-rc; Host name: chekov.local
Established under name 'FakeSpeaker'

Wenn man diese Daten erstmal hat, kann man sie umgekehrt für sein Wunschdevice wieder verschlüsseln und per addUser dorthin schicken. Das habe ich noch nicht implementiert oder gar getestet. Allerdings hat spotcontrol die Ausgabe des mini-Servers, abgespeichert als blob-Datei dafür, akzeptiert und erfolgreich verwendet.

Offline LeoSum

  • Jr. Member
  • **
  • Beiträge: 89
Antw:[Neues Modul] Spotify
« Antwort #77 am: 14 Juni 2017, 20:14:01 »
Heyho,
erstmal vielen Dank für das tolle Modul!
Bislang hatte ich spotifyd-http (https://github.com/Spotifyd/spotifyd-http) eingesetzt und curl commands von FHEM aus gesendet um librespot fernzusteuern.
Das ist nun mit deinem Modul viel einfacher und ich spare mir eine Softwarekomponente.

Allerdings habe ich ein Problem:

Ich möchte auf Knopfdruck die Wiedergabe fortsetzen wenn sie pausiert ist und gleichzeitig auf meinen librespot player übertragen, falls das nicht schon der aktive ist.
Dazu führe ich folgende Aktion durch ein Notify aus:

(set SpotifyWeb resume ; set SpotifyWeb transferPlayback Librespot)Allerdings wird hier scheinbar zufällig stets nur einer der beiden Befehle ausgeführt.

Ist das vielleicht ein Timing-Problem durch meinen schwachbrüstigen Raspberry Pi 2? Könnte man im Modul mehrere Commands irgendwie queuen und verzögert rausschicken?

EDIT: Ich habe jetzt erstmal ein "sleep 1" zwischen die beiden Kommandos geklemmt, damit werden alle Kommandos sicher ausgeführt.


Einen Wunsch hätte ich noch @neumann:

librespot unterstützt aktuell kein shuffle, und das wird sich wohl mittelfristig auch nicht ändern.
Siehst du eine Möglichkeit, bei der Funktion "playRandomTrackFromPlaylistByURI" noch eine Zahl als weiteren Parameter anzuhängen um so beispielsweise 20 random tracks aus einer Playlist in die Warteschlange zu packen? So könnte man diesen Mangel in librespot umschiffen.
« Letzte Änderung: 14 Juni 2017, 22:12:18 von LeoSum »

Offline neumann

  • Developer
  • New Member
  • ****
  • Beiträge: 41
Antw:[Neues Modul] Spotify
« Antwort #78 am: 15 Juni 2017, 09:14:33 »
Hey LeoSum,

danke für das Feedback!
Der Einfachheit halber habe ich nun einfach das resume command um die Möglichkeit zur Angabe eines Zielgeräts erweitert, damit sollte dein Problem in jedem Fall behoben sein. Das Update ist im SVN und wird dann morgen via "update" zur Verfügung stehen.

Die Erweiterung für die random Playlist habe ich mir mal für die Zukunft aufgeschrieben :)

Liebe Grüße
Oskar

Offline neumann

  • Developer
  • New Member
  • ****
  • Beiträge: 41
Antw:[Neues Modul] Spotify
« Antwort #79 am: 15 Juni 2017, 09:16:34 »
Hey enrikb,

sehr cool, da hast du ja echt schon einiges geschafft.
Damit es praktikabel ist und in das Modul rein kann müssten geklärt sein wie man den Blob bekommt und die Wiedergabe startet.
Ich bin gespannt was du noch rausfindest, danke für deine Arbeit!

LG
Oskar

Offline AmunRe

  • Full Member
  • ***
  • Beiträge: 194
Antw:[Neues Modul] Spotify
« Antwort #80 am: 15 Juni 2017, 13:45:52 »


librespot unterstützt aktuell kein shuffle, und das wird sich wohl mittelfristig auch nicht ändern.
Siehst du eine Möglichkeit, bei der Funktion "playRandomTrackFromPlaylistByURI" noch eine Zahl als weiteren Parameter anzuhängen um so beispielsweise 20 random tracks aus einer Playlist in die Warteschlange zu packen? So könnte man diesen Mangel in librespot umschiffen.


Das wäre das, was ich mir auch wünsche, der trick play, shuffle und next track klappt nämlich nicht.
FHEm 5.8 , 3 x Echo Dot, 1x Echo, HMLAN Gateway, und diverse HM Komponenten, Philips Hue, Osram Lightify Gateway + Plugs

Offline LeoSum

  • Jr. Member
  • **
  • Beiträge: 89
Antw:[Neues Modul] Spotify
« Antwort #81 am: 15 Juni 2017, 16:24:32 »
@neumann: schön zu hören, danke!

@AmunRe: ich hatte zuvor, als ich noch mit spotifyd-httpd gesteuert habe, eine python script gehabt, welches alle Song URIs einer Playlist URI in zufälliger Reihenfolge ausgegeben hat. Diese SongURI-Liste konnte man dann per spotifyd-httpd auf librespot ausgeben lassen. Das war dann wie shuffle.

@neumann: wäre es möglich dein Modul eine beliebig lange liste an SongURIs annehmen zu lassen? Dann könnte ich mein Skript weiterverwenden.

Offline neumann

  • Developer
  • New Member
  • ****
  • Beiträge: 41
Antw:[Neues Modul] Spotify
« Antwort #82 am: 15 Juni 2017, 17:36:48 »
LeoSum, ja das ist möglich, du kannst bei playTrackByURI mehrere URIs nacheinander angeben (und ganz am Ende das Zielgerät falls gewünscht).
Ich werde das Feature auch demnächst genauso wie du beschrieben hast implementieren, gebt mir noch ein bisschen Zeit.
Gefällt mir Gefällt mir x 1 Liste anzeigen

Offline LeoSum

  • Jr. Member
  • **
  • Beiträge: 89
Antw:[Neues Modul] Spotify
« Antwort #83 am: 16 Juni 2017, 06:50:07 »
Klingt super! Ich freue mich drauf

Offline jove01

  • Full Member
  • ***
  • Beiträge: 160
Antw:[Neues Modul] Spotify
« Antwort #84 am: 24 Juni 2017, 20:17:00 »
Hallo

Leider habe ich dieses Modul nicht wirklich geschnallt. :-[

Ich habe mir gerade einen kostenlosen Account geholt, wohlwissend, dass damit viele Funktionen nicht funktionieren.

Die Definition des Spotify-Devices gelang relativ problemlos. Die Spotify-App habe ich auf einem Laptop und auf ein Tablet installiert.

Eine Url konnte ich kopieren . Aber mit den verschieden Playfunktionen im FHEM-Device startet nichts. STATE bleibt auf paused.

Auch mit transferPlayback komme ich nicht weiter, um eines der beiden Spotfy-Devices anzusprechen.

Wo ist mein Denkfehler, auch wenn alle anderen das schnallen ?

Auf eine Soundtouch 10 kann ich mit dem kostenlosen Spotfy nichts übertragen, obwohl es in der App gesehen wird.

Das ist aber sicher alles in den Griff zu kriegen, wenn ich hier den entscheidenden Tip bekomme. Aber mein eigentliches Ansinnen scheint wohl generell nicht zu funktionieren.:

Über den DLNA-Renderer spiele ich Radiostreams auf meinen Marantz-AV. Hier hoffte ich, Spotify irgendwie reinzubekommen. Seht Ihr da eine Chance ?

Danke
Jürgen

Aktuelles FHEM auf Raspi B und dbLog
CUL für FHT, FS20
JeeLink für Termometer
HMLan Rolladensteuerung
EM1000 WZ und GZ

Offline neumann

  • Developer
  • New Member
  • ****
  • Beiträge: 41
Antw:[Neues Modul] Spotify
« Antwort #85 am: 25 Juni 2017, 13:04:44 »
Hey Jürgen,

leider funktionieren die meisten Funktionen tatsächlich nur mit einem Spotify Premium Account...
Fast die gesamte API ist darauf beschränkt.

Liebe Grüße
Oskar

Offline jove01

  • Full Member
  • ***
  • Beiträge: 160
Antw:[Neues Modul] Spotify
« Antwort #86 am: 25 Juni 2017, 14:55:34 »
Hallo Oskar

Danke für deine Antwort.
Aber selbst mit dem kostenlosen Spotify müsste ich doch mit deinem Modul eine Wiedergabe auf eines meiner geräte mit Spotify starten können, oder verstehe ich alles falsch.
Aktuelles FHEM auf Raspi B und dbLog
CUL für FHT, FS20
JeeLink für Termometer
HMLan Rolladensteuerung
EM1000 WZ und GZ

Offline neumann

  • Developer
  • New Member
  • ****
  • Beiträge: 41
Antw:[Neues Modul] Spotify
« Antwort #87 am: 25 Juni 2017, 14:58:08 »
Ich glaube, dass sich die Funktionen der API bei einem kostenlosen Account auf den lesenden Zugriff beschränkt (d.h. Readings über die aktuelle Wiedergabe).
Ich selbst habe nur einen Premium-Account (ist bei einem Familien-Abo mit 2,50€ p.P. ja vertretbar), kann also nicht sagen, welche Funktionen klappen und welche nicht.

LG

Offline jove01

  • Full Member
  • ***
  • Beiträge: 160
Antw:[Neues Modul] Spotify
« Antwort #88 am: 25 Juni 2017, 15:54:49 »
O.k.
Das mit dem lesenden Zugriff könnte dann mit dem was ich sehe zutreffen.

Vielen Dank
Jürgen
Aktuelles FHEM auf Raspi B und dbLog
CUL für FHT, FS20
JeeLink für Termometer
HMLan Rolladensteuerung
EM1000 WZ und GZ

Offline swilalaa

  • Newbie
  • Beiträge: 2
Antw:[Neues Modul] Spotify
« Antwort #89 am: 08 Juli 2017, 15:25:18 »
Danke für das super Plugin, die Einbindung von Spotify funktioniert ruck zuck!

Nun würde ich gerne homebridge / Siri eine fixe Playlist starten / pausieren. Die Lautstärke spielt nicht wirklich eine Rolle, wäre nur ein nice to have.

Ich habe bisher nur Lichter via Homebridge eingebunden, bin aber zu doof die Brücke zu schlagen wie ich die attribute ordentlich setze.

Könnte hier eventuell jemand unterstützen?

Danke im voraus!

Offline Esjay

  • Full Member
  • ***
  • Beiträge: 384
Antw:[Neues Modul] Spotify
« Antwort #90 am: 08 Juli 2017, 17:14:57 »
Danke für das super Plugin, die Einbindung von Spotify funktioniert ruck zuck!

Nun würde ich gerne homebridge / Siri eine fixe Playlist starten / pausieren. Die Lautstärke spielt nicht wirklich eine Rolle, wäre nur ein nice to have.

Ich habe bisher nur Lichter via Homebridge eingebunden, bin aber zu doof die Brücke zu schlagen wie ich die attribute ordentlich setze.

Könnte hier eventuell jemand unterstützen?

Danke im voraus!

Schau mal in den ersten Post von homekit/homebridge, da ist ausführlich erklärt,wie homebridgeMapping funktioniert.Das wird sonst eine never ending story.

Offline swilalaa

  • Newbie
  • Beiträge: 2
Antw:[Neues Modul] Spotify
« Antwort #91 am: 11 Juli 2017, 22:47:49 »
Schau mal in den ersten Post von homekit/homebridge, da ist ausführlich erklärt,wie homebridgeMapping funktioniert.Das wird sonst eine never ending story.

Das habe ich gemacht, leider werd ich wie gesagt nicht ganz schlau daraus die Brücke zu schlagen, on / off bekomme ich zwar hin, aber das war's dann leider auch.

Offline AmunRe

  • Full Member
  • ***
  • Beiträge: 194
Antw:[Neues Modul] Spotify
« Antwort #92 am: 12 Juli 2017, 17:32:34 »
Hey Oskar,


wochenlang lief dein Modul super, seit heute :
Zitat

error_code 502
error_description Bad gateway.


erkennt keine Device mehr und nix.
FHEm 5.8 , 3 x Echo Dot, 1x Echo, HMLAN Gateway, und diverse HM Komponenten, Philips Hue, Osram Lightify Gateway + Plugs

Offline DerBaer

  • Jr. Member
  • **
  • Beiträge: 70
Antw:[Neues Modul] Spotify
« Antwort #93 am: 15 Juli 2017, 12:45:42 »
Hi,

super Sache!
Hab das ganze auch schon ins FTUI eingebaut mit Wiedergabe an meinem AV-Receiver.
Jetzt fehlt eigentlich nur noch eine aktive Playlist die ich im FTUI darstellen kann.
Wirds sowas geben?

Ich würde halt ganz gern die aktive Playlist im FTUI darstellen und im zweifel sogar zwischen den vorhandenen Playlisten switchen, bzw zwischen den angzeigten Titeln.

Es gibt zwar schon so eine Möglichkeit mit Mopidy, allerdings hab ich festgestellt das mein Raspy damit sehr laggy wird und rumzickt.
Außerdem ist der Response ziemlich schlecht, mal gehts mal ned.

Außerdem würd ich gern die laufende Zeit des Tracks darstellen, das bekomm ich aber mit den Millisekunden ned so ganz hin, zufällig eine Idee wie ich das umsetzen kann?^^

Danke schonmal :)