[WIP] [Alpha release] ConnectControl for Spotify

  • sehr schön, danke! Jetzt hat es geklappt.

    Aber gleich mal noch ne andere Frage: Das Addon soll nur als Fernbedienung funktionieren? Oder ist es angedacht, dass es zukünftig auch als eigenes Device in den Spotify-Geräten auftaucht bzw die Musik in Kodi abspielt?

    kurz zur Erklärung: Mein RPi hängt an einem AVR (der Spotify Connect hat, was die Sache eh ziemlich redundant macht, ich weiß ) aber ich kann es jetzt leider nicht wirklich über das Addon steuern, weil sobald ich Play drücke, schaltet mein AVR auf das integrierte Spotify Connect und somit auch auf eine andere Bildquelle um

    Das ist normal, denn das Spotify Connect eines AVRs ist eine Art App, die als Netzwerkserver auf dem Receiver läuft. Diese Apps sind meist unter den Netzwerkdiensten in Receivern angelegt, welche wiederum die Eingangs-Quelle "Net / UPnP / Internetradio / Spotify / Deezer etc" haben. Meist also alle Internetservices unter dieser Quelle zusammengefasst.

    Wenn du einen AVR benutzt, wählst du ja die gerade gewünschte HDMI Quelle, damit der Ton aus dieser Quelle kommt. Während du also Kodi/LibreELEC auf dem Raspberry Pi als Eingangsquelle ausgewählt hast (da der RPi am AVR hängt), wird dessen Ton ausgegeben. Startest du nun den Spotify Service des Receivers, kann er ja nicht gleichzeitig den Spotify Ton und den RPi ausgeben (Bild und Ton sind in diesem Fall halt an den RPi HDMI Port gebunden). Der Receiver schaltet somit einfach auf sein integriertes Spotify. Ab da solltest du dann am besten aufs Handy als Steuerung zurückgreifen und ggf. den Fernseher und RPi auch einfach ausschalten.

    Wenn du alles über den RPi2 laufen lassen willst, dann muss der selbst die Audioausgabe übernehmen. Also einen eigenen Connect Server bereitstellen. Lies dazu mal meinen Post von hier durch: Spotify, Spotify Connect und AirPlay auf dem Pi

    Einfach das spotify Service Addon installieren und ab da kannst du dann alles in Kodi erledigen. Redundanz hin oder her... wenn man eh in Kodi grade unterwegs ist, kann man halt da schön spotify laufen lassen. Wenn man morgens oder zwischendurch ohne Glotze und ohne laufendem Kodi mal etwas Musik genießen möchte, nutzt man das im AVR integrierte Spotify Connect. So mache ich es bspw. und finde es auch eigentlich total ok. Zumal dann im AVR Display auch die Musikinfos angezeigt werden und man play/pause/vor/zurück bequem über die AVR Fernbedienung ohne Handy steuern kann.

  • Hallo,

    wo und was muss ich runterladen, damit die Addon läuft? Muss ich irgendwo den addon.xml-Text eingeben?

    Gruß

    Hey,
    hmm das steht doch eigentlich alles in der github readme (link im ersten Beitrag).
    Wie man ein addon direkt aus github installiert ist eigentlich auch überall zu finden und wie du darauf kommst, du müsstest die addon.xml bearbeiten ist mir ehrlich gesagt schleierhaft..

  • Also ich gehe auf den Link im ersten Post: https://github.com/NicolasHaeffne….connectcontrol
    drücke dann oben rechts auf den grünen button "clone or download" --> "download as zip" und installiere diese zip dann über die Kodi "addon aus zip installieren" option.

    @halbstark: Gibt es eine bessere Möglichkeit für Addons aus github? Klingt für mich in deinem Post so, als ginge es irgendwie direkt aus Github, ohne den "clone or download zip"-Umweg?

  • Also ich gehe auf den Link im ersten Post: https://github.com/NicolasHaeffne….connectcontrol
    drücke dann oben rechts auf den grünen button "clone or download" --> "download as zip" und installiere diese zip dann über die Kodi "addon aus zip installieren" option.

    Wenn ich ehrlich bin hab ich keine Ahnung ob das funktioniert :D (ich mache das nie so, ist mir viel zu umständlich..) sollte aber eigentlich gehen
    Edit: sorry hab irgendwie nicht richtig gelesen und nicht gesehen dass jemand anderes geantwortet hat :D ich glaube dir natürlich, dass das funktioniert ;)


    @halbstark: Gibt es eine bessere Möglichkeit für Addons aus github? Klingt für mich in deinem Post so, als ginge es irgendwie direkt aus Github, ohne den "clone or download zip"-Umweg?

    Am besten ist es du gehst im Terminal in dein addon Verzeichnis (unter ubuntu bspw. liegt das bei ~/.kodi/addons meine ich) und gibst git clone <github link>(der der oben bei clone or download angezeigt wird) ein. Dann ist auch alles was du tun musst wenn du direkt von github updaten willst wieder in den Addon ordner zu gehen und git pull einzutippen.

  • Am besten ist es du gehst im Terminal in dein addon Verzeichnis (unter ubuntu bspw. liegt das bei ~/.kodi/addons meine ich) und gibst git clone <github link>(der der oben bei clone or download angezeigt wird) ein. Dann ist auch alles was du tun musst wenn du direkt von github updaten willst wieder in den Addon ordner zu gehen und git pull einzutippen.

    Okay, diese Vorgehensweise ist mir völlig neu und nirgends gesehen bislang. Sollte auf LibreELEC/OpenELEC auch nicht möglich sein, glaube ich. Da kann man ja kein Git installieren, weil es ein read-only betriebssystem ist, wo man keine Programme nachinstallieren kann.

    Meine Vorgehensweise mit dem manuellen clone and download geht jedenfalls auch für systeme wie LibreELEC.

  • Okay, diese Vorgehensweise ist mir völlig neu und nirgends gesehen bislang. Sollte auf LibreELEC/OpenELEC auch nicht möglich sein, glaube ich. Da kann man ja kein Git installieren, weil es ein read-only betriebssystem ist, wo man keine Programme nachinstallieren kann.

    Meine Vorgehensweise mit dem manuellen clone and download geht jedenfalls auch für systeme wie LibreELEC.

    Ah das wusste ich nicht, hab bisher noch nie libreelec genutzt.. dann führt natürlich nichts dran vorbei das per zip zu machen


    Gesendet von iPhone mit Tapatalk

  • Jepp, ich nutze LibreElec auf dem R-Pi.

    Nächstes Problem für mich:
    Bei dem Punkt "kein Browser installiert" (2) habe ich den [definition=12,4][definition='1','3']Debug[/definition][/definition] [definition=12,9]logging[/definition] (i) aktiviert. Dann versuche ich das Addon zu starten (ii), aber es zeigt mir immer nur eine Fehlermeldung (für mehr Infos die Logdatei einsehen) und ich finde die [definition=9,3]Kodi.[definition='1','0']log[/definition][/definition] - Datei nicht bzw. weis nicht wie ich versteckte Dateien sichtbar machen soll.

  • Okay, diese Vorgehensweise ist mir völlig neu und nirgends gesehen bislang. Sollte auf LibreELEC/OpenELEC auch nicht möglich sein, glaube ich. Da kann man ja kein Git installieren, weil es ein read-only betriebssystem ist, wo man keine Programme nachinstallieren kann.
    Meine Vorgehensweise mit dem manuellen clone and download geht jedenfalls auch für systeme wie LibreELEC.

    Jepp, ich nutze LibreElec auf dem R-Pi.

    Nächstes Problem für mich:
    Bei dem Punkt "kein Browser installiert" (2) habe ich den [definition=12,4][definition='1','3']Debug[/definition][/definition] [definition=12,9]logging[/definition] (i) aktiviert. Dann versuche ich das Addon zu starten (ii), aber es zeigt mir immer nur eine Fehlermeldung (für mehr Infos die Logdatei einsehen) und ich finde die [definition=9,3]Kodi.[definition='1','0']log[/definition][/definition] - Datei nicht bzw. weis nicht wie ich versteckte Dateien sichtbar machen soll.


    ich würde mal Kodi neu starten und dann nur einmal(!) das Addon starten (dann sollte keine Fehlermeldung kommen). Diese kommt nämlich nur, wenn der Service schon läuft. An das Log kommst du entweder mit dem Addon Logviewer (aber da kann man halt nix rauskopieren) oder (ich gehe mal davon aus, dass du LibreELEC hast) per SSH mit dem Befehl:
    pastebinit /storage/.kodi/temp/[definition=9,2]kodi.[definition='1','0']log[/definition][/definition]
    das gibt nen Link zurück, wo du den Log abrufen kannst

  • Mhh, ich finde im Log keinen Hinweis auf "ConnectControl: Please navigate here:"
    Hier der Link: http://sprunge.us/KSjZ

    Wie kann man quasi die letzten und zudem auffällig langen Zeilen übersehen? :D :D

    Code
    12:56:21.341 T:1588757408   DEBUG: ConnectControl: the redirect uri is:http://localhost:12345/
    12:56:21.344 T:1588757408   DEBUG: Opened https://accounts.spotify.com/authorize?scope=playlist-modify-private+playlist-modify-public+playlist-read-collaborative+playlist-read-private+user-follow-modify+user-follow-read+user-library-modify+user-library-read+user-modify-playback-state+user-read-birthdate+user-read-email+user-read-playback-state+user-read-private+user-top-read&redirect_uri=http%3A%2F%2Flocalhost%3A12345%2F&response_type=code&client_id=76eae0fb0cf14d4d82cecd08302532fe in your browser

    Aber probiert habe ichs selbst noch nicht, weil mir leider das Konzept des Addons ein Widerspruch zum Connect Prinzip ist, da man ja an einen bestimmten Account gebunden ist und somit Freunde und andere Spotify User, die bei mir mit ihrem Spotify Gerät auf Connect abspielen, nichts davon haben.

  • Weil nicht der exakte Wortlaut vorhanden war. Ich habe die IP im Addon vergessen anzupassen. Jetzt kommt auch "ConnectControl: Please navigate here:".
    Wenn ich jetzt den Link in den Browser eingebe, zeigt er mir, dass ich den Browser schließen kann, aber dann folgt sofort die Fehlermeldung bei Kodi/LibreElec.

    http://sprunge.us/bHhZ

  • Wie kann man quasi die letzten und zudem auffällig langen Zeilen übersehen? :D :D

    Code
    12:56:21.341 T:1588757408   DEBUG: ConnectControl: the redirect uri is:http://localhost:12345/
    12:56:21.344 T:1588757408   DEBUG: Opened https://accounts.spotify.com/authorize?scope=playlist-modify-private+playlist-modify-public+playlist-read-collaborative+playlist-read-private+user-follow-modify+user-follow-read+user-library-modify+user-library-read+user-modify-playback-state+user-read-birthdate+user-read-email+user-read-playback-state+user-read-private+user-top-read&redirect_uri=http%3A%2F%2Flocalhost%3A12345%2F&response_type=code&client_id=76eae0fb0cf14d4d82cecd08302532fe in your browser

    Aber probiert habe ichs selbst noch nicht, weil mir leider das Konzept des Addons ein Widerspruch zum Connect Prinzip ist, da man ja an einen bestimmten Account gebunden ist und somit Freunde und andere Spotify User, die bei mir mit ihrem Spotify Gerät auf Connect abspielen, nichts davon haben.

    Da wäre ich mir gar nicht mal so sicher. Hab es zwar noch nicht ausprobiert, aber das Addon zeigt ja erstmal nur an, was über das ausgewählte Device abgespielt wird. Wenn dann z.B. jemand mit anderem Spotify Account z.B. über Librespot was abspielt, sollte das Addon das nach meinem Verständnis dann trotzdem angezeigen.

  • @effe.rnr
    Ah okay, ich muss mich da auch mal ransetzen.

    @Deadpool
    Hast du der Anleitung nach im ersten Schritt unter dem folgenden Link auch die lokale IP deines LibreELEC systems eingetippt und geadded?: https://developer.spotify.com/my-applications/#!/applications

    Also wenn du diesen Link nun aufrufst, steht da dann auch diese IP aufgelistet?

    EDIT
    So ich teste das auch gerade. Bei mir lädt er diesen link unendlich lange und Chrome auf dem Laptop zeigt auch unten an, dass er auf eine Antwort der IP 192.168.... wartet. Nun ist das ja eine lokale IP. Und könnte das Problem nicht sein, dass man diese ja vom Internet aus nicht erreichen kann? schließlich ist der LibreELEC Raspberry ja hinter dem Router, der eine ganz andere Internet-IP hat. Wobei, eigentlich hätte ich jetzt gedacht, dass der versucht im LAN die 192.168... zu erreichen.... ich verstehe davon eigentlich zu wenig.

  • Ja, die IP habe ich gespeichert. Beim Port habe ich auch einmal meinen und diese 12345 angeben...nur beim letzten funktioniert es.

    Was meinst du mit "deinem" port? es muss halt einer sein der frei ist auf dem gerät


    EDIT
    So ich teste das auch gerade. Bei mir lädt er diesen link unendlich lange und Chrome auf dem Laptop zeigt auch unten an, dass er auf eine Antwort der IP 192.168.... wartet. Nun ist das ja eine lokale IP. Und könnte das Problem nicht sein, dass man diese ja vom Internet aus nicht erreichen kann? schließlich ist der LibreELEC Raspberry ja hinter dem Router, der eine ganz andere Internet-IP hat. Wobei, eigentlich hätte ich jetzt gedacht, dass der versucht im LAN die 192.168... zu erreichen.... ich verstehe davon eigentlich zu wenig.

    Also um das nochmal verständlich zu erklären:
    Man gibt bei spotify eine redirect uri an. Diese ist die IP, auf die umgeleitet wird nachdem man sich auf der spotify website authentifiziert hat. Das ganze wird mit einem PUT Request aufgerufen (das nach dem ?) der das Token enthält. Sprich die Info über das Token ist in der URL erhalten die von Spotify zurückgegeben wird.
    Jetzt muss das ganze aber irgendwie an Kodi übergeben werden. Also wird vom Addon ein Webserver aufgespannt, der auf eben diesen Request hört. Du wirst also weitergeleitet auf den Webserver, der von dem Kodi aufgespannt wird und somit gelangt das Security Token zum Addon.

    Aus dem Grund ist es auch wichtig einen Port zu vergeben, der von sonst nichts belegt ist. Sonst gibts nämlich ne Fehlermeldung von dem HTTP Server, dass die Adresse nicht frei ist. Das ganze passiert lokal (deswegen auch die lokale IP von kodi) sollte also mit irgendwelchen portfreigaben vom Router nichts zu tun haben

    So ich hoffe das war verständlich genug :D

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!