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

Offline neumann

  • Developer
  • New Member
  • ****
  • Beiträge: 43
[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: 43
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

  • Jr. Member
  • **
  • Beiträge: 51
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: 43
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: 43
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 :)

Online accessburn

  • Sr. Member
  • ****
  • Beiträge: 664
  • 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. 

Online Ma_Bo

  • Sr. Member
  • ****
  • Beiträge: 852
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: 43
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 »