[Neues Modul] Spotify

Begonnen von neumann, 28 Mai 2017, 15:58:19

Vorheriges Thema - Nächstes Thema

Anjo1979

Hallo KlausT,

da hast du es doch schon fast geschafft. Nach der Weiterleitung auf die im redirect_uri angegebene Page versteckt sich der Anmeldecode in der URL in der Adressleiste deines Browsers. Es gibt kein popup oder ähnliches.


Grüße

Anjo

KlausT

Danke, hat funktioniert!

Crazy IT: Zum Ausschalten muss man Start drücken, den Antwort steht in der Adresszeile.

Ich geb zu, dass ich den Hinweis in der Online-Doku überlesen hab!

Klaus

masl

Zitat von: mi.ke am 01 Juli 2021, 01:43:33

Ich verstehe die Frage nicht?!
Wenn ich auf "play" klicke oder eine Playliste auswähle, startet Spotify auf der FHEM-Instanz ohne APP.
Und natürlich über notify oder DOIF, auch ohne APP.


Ich habe folgendes Problem:
Raspotify läuft auf dem PI und Lautsprecher sind dort angeschlossen. Aus FHEM heraus möchte ich diesen Steuern. Aber bei jedem Neustart verliert Spotify die Verbindung zum Raspotify und baut sie nicht automatisch auf. Ich muss dann erst die Handy App öffnen, Raspotify auswählen und dann kann ich es erst per FHEM steuern.

Trotz der Default Einstellungen im FHEM kommt der Fehler: error_description
Player command failed: No active device found


Ich suche nach einer Lösung, dass dieser Connect automatisch stattfinden kann. Unter dem Wiki von Raspotify habe ich noch nichts gelesen...

KlausT

Das Problem liegt, soweit ich es sehe, an der WEB-API von Spotify. Es werden nur Geräte erkannt, auf denen Spotify aktuell gestartet ist. Auch die WEB-Oberfläche (https://open.spotify.com) zeigt dieses Verhalten.

Im Gegensatz dazu zeigt die Spotify-App (Android, Linux, Windows) auch Geräte an die Spotify-fähig sind, wie meinen AV-Receiver, selbst wenn er ausgeschaltet ist. Auf dem AVR läuft eben kein Spotify, er ist lediglich ein externer Lautsprecher für Spotify!
Bisher hab ich vergeblich versucht Spotify über FHEM dazu zu bewegen, meine  AVR einzuschalten, den Input auf OnlineMusic-Spotify zu setzen und meine Playlists abzuspielen, wie es auch die Apps machen. Wenn Spotify auf dem AVR läuft, kann ich Spotify steuern, auch wenn mir noch einige Funktionen, wie die Auswahl-Liste meiner Playlists fehlen.

Ich denke, dass nur Spotify das Problem lösen kann, indem sie in der WEB-Api die selbe Funktion zur Identifikation der möglichen Zielgeräte zur Verfügung stellt, die sie auch in den Apps nutzen.

Superposchi

Woher bekomme ich denn den Code?

Wenn ich die Authorization_url aufrufe lande ich immer auf der Webseite von Oskar Neumann ohne irgendeine Angabe eines Codes.

Anjo1979

Zitat von: Superposchi am 08 September 2021, 09:41:47
Woher bekomme ich denn den Code?

Wenn ich die Authorization_url aufrufe lande ich immer auf der Webseite von Oskar Neumann ohne irgendeine Angabe eines Codes.

Guten Morgen,

siehe meinen Post #256 vom 2. August.

Grüße

Superposchi

Danke, habs gefunden.
Ist nur dof weil im Post #1 extra gesagt wird, dass die Website den Code in Klartext ausgibt. Darum fängt man an zu suchen.

Funktioniert soweit alles ganz gut, einziges Hinderniss ist, dass ich die Musik nicht meinem Google-Nest-Lautsprecher zuweisen kann, weil dieser nicht erkannt wird.
Wird er aber auf allen Webplayern nicht. Am Handy tauchen beide auf und wenn ich dort einen Stream aktiviere, kann ich über das Device auch den Webplayer steuern. Doch wenn ich bspw. den Speak-Befehl aus dem Googlecast nutze, ist die Verbindung wieder weg und läst sich auch nicht neu zuweisen.

adrian

#262
Hallo zusammen,
bei mir wird die Fehlermeldung angezeigt, dass das Modul nicht geladen werden kann.

Die Api habe ich selbstverständlich nach Anleitung erstellt und die Reurl auch eingetragen. Beide Schlüssel vor dem Erstellen ausgelesen und entsprechend ins define eingefügt.

Im Log steht folgendes:

2021.09.29 19:29:55 1: reload: Error:Modul 37_Spotify deactivated:
Too many arguments for Cpanel::JSON::XS::encode_json at ./FHEM/37_Spotify.pm line 368, near "0)"
Not enough arguments for main::Spotify_apiRequest at ./FHEM/37_Spotify.pm line 368, near "0)"
Too many arguments for Cpanel::JSON::XS::encode_json at ./FHEM/37_Spotify.pm line 376, near "0)"
Not enough arguments for main::Spotify_apiRequest at ./FHEM/37_Spotify.pm line 376, near "0)"

2021.09.29 19:29:55 0: Too many arguments for Cpanel::JSON::XS::encode_json at ./FHEM/37_Spotify.pm line 368, near "0)"
Not enough arguments for main::Spotify_apiRequest at ./FHEM/37_Spotify.pm line 368, near "0)"
Too many arguments for Cpanel::JSON::XS::encode_json at ./FHEM/37_Spotify.pm line 376, near "0)"
Not enough arguments for main::Spotify_apiRequest at ./FHEM/37_Spotify.pm line 376, near "0)"


Habt Ihr irgendeine Idee woran das liegt?
muß eventuell auf Raspiseite noch etwas nach installiert werden?

danke und schönen Abend noch
Adrian

Superposchi

Den Fehler hatte ich auch.
Es mussten Werte in der pm-Datei geändert werden. Die Lösung stand irgendwo auf den Seiten vorher. Schau mal einfach die Seiten durch.

Pumba9876

Hallo , grosses Lob und Danke für dieses Modul.
Kann einer mir behilflich sein ,ich würde gerne meine Devices in einem Dropdown Menü auswählen und abspielen auf dem Ausgewählten Gerät,  und 2. Würde ich noch das Cover mir anzeigen lassen,. Wie kann ich das Realisieren.
1x FB7590 1x RPI3B 4xShelly 2.5 2x Shelly1Philips Hue ,Teufel Soundbar ,Ones, foscam Kamera

Superposchi

#265
Hallo und erstmal vielen Dank für das geile Modul.
Eigentlich funktioniert alles super, bis auf den Set-Punkt "TransferPLAYBACK"

Es werden in den Readings 3 Geräte angezeigt, meine beiden Echo Dots und ein "Überall".

Doch komischerweise kann ich nicht zwischen den Wiedergabequellen wechseln - oder verstehe ich da was falsch.
Wenn ich den Set mit der ID eines Echos ausführe, ändert sich auch der Wert des Readings "device_active_id" nicht. Dort steht immer die ID drin, die ich mit "defaultPlaybackDeviceID" voreingestellt habe.

Hier noch das List des Spotify-Device:
Internals:
   CLIENT_ID  XXXXX
   CLIENT_SECRET XXXXX
   DEF        XXXXX https://oskar.pw/
   FUUID      61386d0d-f33f-6c14-a9a7-d487a085540a295b
   FVERSION   37_Spotify.pm:0.169670/2018-07-09
   NAME       spotify_player
   NR         217
   NTFY_ORDER 50-spotify_player
   REDIRECT_URI https://oskar.pw/
   STATE      Everybody Needs Somebody to Love (From Mayans MC) (00:01:17 / 00:03:52)
   TYPE       Spotify
   OLDREADINGS:
   READINGS:
     2022-06-05 12:32:45   device_1_id     XXXXX
     2022-06-05 12:32:45   device_1_name   Überall
     2022-06-05 12:32:45   device_1_type   Speaker
     2022-06-05 13:50:01   device_1_volume 30
     2022-06-05 14:13:41   device_2_id     XXXXX
     2022-06-05 14:13:41   device_2_name   Schlafzimmer Echo
     2022-06-05 11:28:35   device_2_type   Speaker
     2022-06-05 14:13:41   device_2_volume 50
     2022-06-05 14:13:41   device_3_id     XXXXX
     2022-06-05 14:13:41   device_3_name   Wohnzimmer Echo
     2022-06-05 11:28:35   device_3_type   Speaker
     2022-06-05 14:13:41   device_3_volume 49
     2022-06-05 13:47:13   device_active_id XXXXX
     2022-06-05 13:47:13   device_active_name Überall
     2022-06-05 13:47:13   device_active_type Speaker
     2022-06-05 13:50:01   device_active_volume 30
     2022-06-05 12:32:45   devices_cnt     3
     2022-06-05 13:48:50   error_code      404
     2022-06-05 13:48:50   error_description Not found.
     2022-06-05 14:09:23   is_playing      1
     2022-06-05 14:16:22   progress        00:01:17
     2022-06-05 14:16:22   progress_ms     77161
     2022-06-05 13:06:46   repeat          off
     2022-06-05 13:20:14   search_artist_follower_cnt 1893767
     2022-06-05 13:20:14   search_artist_name Jon Bon Jovi
     2022-06-05 13:20:14   search_artist_popularity 55
     2022-06-05 13:20:14   search_artist_profile_pic_url https://i.scdn.co/image/ab6772690000c46c652c8f38646034a24f043d9b
     2022-06-05 13:20:14   search_artist_uri spotify:artist:6h2bWHWTJL38N8dqocVaif
     2022-06-05 11:57:36   search_track_album_cover_large https://i.scdn.co/image/ab67616d0000b2731336b31b6a1799f0de5807ac
     2022-06-05 11:57:36   search_track_album_cover_medium https://i.scdn.co/image/ab67616d00001e021336b31b6a1799f0de5807ac
     2022-06-05 11:57:36   search_track_album_cover_small https://i.scdn.co/image/ab67616d000048511336b31b6a1799f0de5807ac
     2022-06-05 11:57:36   search_track_album_name Slippery When Wet
     2022-06-05 11:57:36   search_track_album_uri spotify:album:0kBfgEilUFCMIQY5IOjG4t
     2022-06-05 11:57:36   search_track_artist_name Bon Jovi
     2022-06-05 11:57:36   search_track_artist_uri spotify:artist:58lV9VcRSjABbAbfWS6skp
     2022-06-05 11:57:36   search_track_duration 00:04:09
     2022-06-05 11:57:36   search_track_duration_ms 249293
     2022-06-05 11:57:36   search_track_name Livin' On A Prayer
     2022-06-05 11:57:36   search_track_popularity 83
     2022-06-05 11:57:36   search_track_uri spotify:track:37ZJ0p5Jm13JPevGcx4SkF
     2022-06-05 13:06:48   shuffle         off
     2022-06-05 14:15:05   track_album_cover_large https://i.scdn.co/image/ab67616d0000b273dccaf1715422e8aedfee9248
     2022-06-05 14:15:05   track_album_cover_medium https://i.scdn.co/image/ab67616d00001e02dccaf1715422e8aedfee9248
     2022-06-05 14:15:05   track_album_cover_small https://i.scdn.co/image/ab67616d00004851dccaf1715422e8aedfee9248
     2022-06-05 14:15:05   track_album_name Everybody Needs Somebody to Love (From Mayans MC)
     2022-06-05 14:15:05   track_album_uri spotify:album:3x3FjlkoFFP00D5VYz5z1Z
     2022-06-05 14:15:05   track_artist_name Little Willie G.
     2022-06-05 14:15:05   track_artist_uri spotify:artist:63G2tqAKVwoFjiqU7Im2pb
     2022-06-05 14:15:05   track_duration  00:03:52
     2022-06-05 14:15:05   track_duration_ms 232552
     2022-06-05 14:15:05   track_name      Everybody Needs Somebody to Love (From Mayans MC)
     2022-06-05 14:11:36   track_popularity 0
     2022-06-05 14:15:05   track_uri       spotify:track:7DQHe6s9c9TaiKMO79CXzW
     2022-06-05 11:28:35   user_country    DE
     2022-06-05 11:28:35   user_display_name Marko Poschen
     2022-06-05 11:28:35   user_follower_cnt 0
     2022-06-05 11:28:35   user_id         21bs6evtise2r3ptt6xocp53a
     2022-06-05 11:28:35   user_profile_pic_url https://platform-lookaside.fbsbx.com/platform/profilepic/?asid=930783740312614&height=300&width=300&ext=1657012529&hash=AeRNGGJRhlIStVF7V2E
     2022-06-05 13:50:01   volume          30
   helper:
     access_token BQAl3NId1jsh04tU9Cgp2GlyDEmXX9b_RH3cp4Bo9xsfTz_u7pJqGEh7N90Kc8sMuykHUcs88p-EOtJL7_SokSBphblsJI-TDHOzsoMl7GRz86sfGk-0WDkOxqc9pH7ff2OnIgviVLT3huIzT58xLmNIVqygZXLlx92-sBVpb3dE2ildV0ZBZisXdsOB8nBLUYsujb1ICA_Lp7EzKmX6
     authorization_url https://XXXXX
     custom_redirect 1
     expires    1654432121.86669
     nextSongTimer 1654431538.48331
     progress_ms 77161
     refresh_token AQCvJ8UIICmlUXwqonP32VXSJOLT83rSg-oRSiw7MO8-k4s-y5cKGYZSpOnTwXgUOWDPt60c_4KmBwHeKqITIOwEywn-vP0nqVVF_gol83uFTBhGzkRCHcfqosFsRRZ6wgI
     repeat     off
     scope      playlist-read-private playlist-read-collaborative streaming user-library-read user-read-playback-state user-read-private
     subscription premium
     updatePlaybackTimer_next 1654431392.20083
     uri        spotify:user:XXXXX
     user_id    XXXXX
     device_active:
       id         XXXXX
       name       Überall
       type       Speaker
       volume_percent 30
     device_default:
       id         XXXXX
       name       Überall
       type       Speaker
       volume_percent 30
     devices:
       HASH(0x558b64a55dc8)
       HASH(0x558b64514690)
       HASH(0x558b64b36e28)
     dispatch:
       json:
         currently_playing_type track
         progress_ms 77161
         repeat_state off
         timestamp  1654431365231
         actions:
           disallows:
         context:
           href       https://api.spotify.com/v1/playlists/66HITn0wVsd7YpQoCashvN
           type       playlist
           uri        spotify:playlist:66HITn0wVsd7YpQoCashvN
           external_urls:
             spotify    https://open.spotify.com/playlist/66HITn0wVsd7YpQoCashvN
         device:
           id         XXXXX
           name       Überall
           type       Speaker
           volume_percent 30
         item:
           disc_number 1
           duration_ms 232552
           href       https://api.spotify.com/v1/tracks/7DQHe6s9c9TaiKMO79CXzW
           id         7DQHe6s9c9TaiKMO79CXzW
           name       Everybody Needs Somebody to Love (From Mayans MC)
           popularity 0
           preview_url
           track_number 1
           type       track
           uri        spotify:track:7DQHe6s9c9TaiKMO79CXzW
           album:
             album_type single
             href       https://api.spotify.com/v1/albums/3x3FjlkoFFP00D5VYz5z1Z
             id         3x3FjlkoFFP00D5VYz5z1Z
             name       Everybody Needs Somebody to Love (From Mayans MC)
             release_date 2018-11-09
             release_date_precision day
             total_tracks 1
             type       album
             uri        spotify:album:3x3FjlkoFFP00D5VYz5z1Z
             artists:
               HASH(0x558b64121320)
               HASH(0x558b645657d0)
             available_markets:
             external_urls:
               spotify    https://open.spotify.com/album/3x3FjlkoFFP00D5VYz5z1Z
             images:
               HASH(0x558b644f1a38)
               HASH(0x558b6475a260)
               HASH(0x558b6485d688)
           artists:
             HASH(0x558b638e67c8)
             HASH(0x558b64a57af8)
           available_markets:
           external_ids:
             isrc       USFM91800665
           external_urls:
             spotify    https://open.spotify.com/track/7DQHe6s9c9TaiKMO79CXzW
     searchResult:
       href       https://api.spotify.com/v1/artists/6h2bWHWTJL38N8dqocVaif
       id         6h2bWHWTJL38N8dqocVaif
       name       Jon Bon Jovi
       popularity 55
       type       artist
       uri        spotify:artist:6h2bWHWTJL38N8dqocVaif
       external_urls:
         spotify    https://open.spotify.com/artist/6h2bWHWTJL38N8dqocVaif
       followers:
         href       
         total      1893767
       genres:
         hard rock
       images:
         HASH(0x558b644876a8)
         HASH(0x558b64358a28)
         HASH(0x558b647d1258)
         HASH(0x558b64646cd0)
     track:
       disc_number 1
       duration_ms 232552
       href       https://api.spotify.com/v1/tracks/7DQHe6s9c9TaiKMO79CXzW
       id         7DQHe6s9c9TaiKMO79CXzW
       name       Everybody Needs Somebody to Love (From Mayans MC)
       popularity 0
       preview_url
       track_number 1
       type       track
       uri        spotify:track:7DQHe6s9c9TaiKMO79CXzW
       album:
         album_type single
         href       https://api.spotify.com/v1/albums/3x3FjlkoFFP00D5VYz5z1Z
         id         3x3FjlkoFFP00D5VYz5z1Z
         name       Everybody Needs Somebody to Love (From Mayans MC)
         release_date 2018-11-09
         release_date_precision day
         total_tracks 1
         type       album
         uri        spotify:album:3x3FjlkoFFP00D5VYz5z1Z
         artists:
           HASH(0x558b64121320)
           HASH(0x558b645657d0)
         available_markets:
         external_urls:
           spotify    https://open.spotify.com/album/3x3FjlkoFFP00D5VYz5z1Z
         images:
           HASH(0x558b644f1a38)
           HASH(0x558b6475a260)
           HASH(0x558b6485d688)
       artists:
         HASH(0x558b638e67c8)
         HASH(0x558b64a57af8)
       available_markets:
       external_ids:
         isrc       USFM91800665
       external_urls:
         spotify    https://open.spotify.com/track/XXXXXX
Attributes:
   alwaysStartOnDefaultDevice 1
   cmdIcon    togglePlayback:rc_PLAY pause:rc_PAUSE play:rc_PLAY stop:rc_STOP next:rc_NEXT prev:rc_PREVIOUS volumeUp:rc_VOLUP volumeDown:rc_VOLDOWN
   defaultPlaybackDeviceID 859e5db85d1c8cee109ddd62d12cb61e8cafe389
   group      Bridges
   icon       audio_loudness
   room       System
   stateFormat track_name (progress / track_duration)
   volumeStep 5
   webCmd     prev:togglePlayback:pause:next:volumeDown:volumeUp


Außerdem verstehe ich den Sinn von "togglePLAYBACK" noch nicht ganz, Was soll man dahinter eingeben?

onkel-tobi

Zitat von: Superposchi am 05 Juni 2022, 14:14:41
Hallo und erstmal vielen Dank für das geile Modul.
Eigentlich funktioniert alles super, bis auf den Set-Punkt "TransferPLAYBACK"
Zitat
Hi,

also ich mache das mit transferplayback und dem active name.
Funktioniert ohne Probleme, außer dass es einen kurzen Aussetzer gibt was etwas unschön ist, wenn man nur einen speaker dazunehmen will.

Gruß,
Tobi

Superposchi

Keine Ahnung was du damit sagen willst

onkel-tobi

mit set spotify transferPlayback Überall müsste er bei dir entsprechend auf die Gruppe Überall abspielen.
Oder hab ich dich falsch verstanden?

maddhin

Beim Installieren bekomme ich ein "Cannot load module Spotify".

Zitat von: Superposchi am 02 Januar 2021, 10:50:21
Also ich habe jetzt ein Device für das Spotify-Modul angelegt bekommen nachdem ich deinen RAW-Text in die 37_Spotify.pm gegen den alten Text getauscht und die zwei Zeilen ersetzt habe.

Ich habe im Thread von Jan'21 diese RAW copy & paste Lösung gefunden, die scheinbar funktioniert.

ABER "lebt" das Modul noch? :) Wäre es nicht einfacher für alle das Problem über ein Update zu lösen? ;)