SEPIA-Framework / sepia-docs

Documentation and Wiki for SEPIA. Please post your questions and bug-reports here in the issues section! Thank you :-)
https://sepia-framework.github.io/
236 stars 16 forks source link

Spotify #223

Open tlrider99 opened 1 year ago

tlrider99 commented 1 year ago

Hallo Florian,

ich würde gerne Spotify als default music app nutzen. Der Api-Key ist hinterlegt, wenn ich Spotify Web in den Einstellungen auswähle, schliesst sich das Browserfenster immer gleich wieder und bei Spotify-Widget kommt nur der Hinweis "Sorry aber das ist nicht möglich, glaube ich." Muss ich noch etwas zusätzliches konfigurieren und muss dies für jeden Client getan werden?

Gruß Dirk

fquirin commented 1 year ago

Hi Dirk,

kriegst du im Chat denn einen Künstler angezeigt wenn du sowas sagst wie "suche Musik von XY auf Spotify"? Mit gültigem Spotify API Key sollte der Server das Musikangebot durchsuchen und generiert dann Sportify URLs. Was der Client damit macht ist unterschiedlich. So richtig happy war ich da bisher mit keiner der Möglichkeiten, denn Spotify benötigt immer eine weitere User Interaktion bevor die Musik gespielt werden kann :-/.

Bei "Spotify Web" versucht der Client eigentlich die Spotify App zu öffnen via Deeplink. Deswegen geht unter umständen kurz ein Tab auf, sollte dann aber weiterleiten an die App, falls eine installiert ist. Bei mir passiert da am Desktop PC gerade scheinbar gar nichts mehr, nur in Android. Eigenltich sollte sich auch alternativ die Spotify Web-App öffnen in einem neuen Tab. Vielleicht ist diese Funktion kaputt gegangen :-( Bei "Spotify-Widget" muss man in den Einstellungen noch bei "Experimental settings" den Widget Support aktivieren, dann sollte das Widget geladen werden. Ich hatte mich jetzt längere Zeit nicht mehr damit beschäftigt, weil Spotify selbst scheinbar nicht will, dass man die Musik innerhalb einer anderen App abruft und konsequent alle APIs und das Widget so designed, dass sie keinen Spaß machen :-|. Es gibt wahrscheinlich noch eine Möglichkeit einen externen Spotify Client zu steuern und ab und an entwerfe ich Konzepte dafür, bin da aber noch nicht wirklich weiter gekommen.

tlrider99 commented 1 year ago

In Openhab funktioniert es leider auch nicht richtig mit Spotify. Das bekomme ich wenn ich Musik aufrufe: image jetzt mit aktiviertem Widget funktioniert es. image

Eine andere Frage: Die Items aus Openhab spreche ich doch über den auf der Karte angezeigten Namen an, oder? image

Ich bekomme die Mitteilung, das Sepia nicht weiß was zu tun ist. Kann der Name angepasst werden? Wenn ich es über den Stift editiere wird es nicht besser :-(. Können Räume und Geräte erweitert werden? Ich habe Items mit Ereignissen z.B. Datum der Müllabfuhr. Dafür gibt es keinen Type, oder? Der Type etc. ist in Englisch, geht es auch in deutsch? So viele Fragen:-) Danke!

fquirin commented 1 year ago

jetzt mit aktiviertem Widget funktioniert es.

Wenn du dich vorher im Browser einloggst bei Spotify, kommt dann im Widget eigentlich immer noch nur die Vorschau? Ich werde mich in naher Zukunft auf jeden Fall noch mal dem Thema Musik-Streaming und Spotify widmen, vielleicht eröffnen sich ja noch neue Wege.

Die Items aus Openhab spreche ich doch über den auf der Karte angezeigten Namen an, oder?

Ja, bzw. eine beliebige Kombination aus Gerät, Name und Raum. Also entweder "Licht im Wohnzimmer an" oder "Deckenlampe an" (falls es nur eine Lampe mit dem Namen "Deckenlampe" gibt) oder "Lampe 1 im Wohnzimmer an" etc..

Kann der Name angepasst werden? Wenn ich es über den Stift editiere wird es nicht besser :-(

Ja, eigentlich ist der Stift dafür da. Verwaltest du openHAB über Item-Files? Dann müsstest du dort den "tag" "sepia-name" erstellen. Über die UI verwaltete Items müsstest du direkt über die SEPIA Cards schreiben können.

Können Räume und Geräte erweitert werden? Ich habe Items mit Ereignissen z.B. Datum der Müllabfuhr. Dafür gibt es keinen Type, oder?

Jein. Wenn du z.B. fragen willst "Wann kommt die Müllabfuhr" würde ich das Gerät als "sensor" definieren, den Namen als "Müllabfuhr" und dann über die Teach-UI den Satz "Status von Sensor Müllabfuhr" auf den neuen Satz "Wann kommt die Müllabfuhr" mappen.

Der Type etc. ist in Englisch, geht es auch in deutsch?

Englisch ist nur die verallgemeinerte Bezeichnung, die intern benutzt wird. Auf Deutsch kannst du alles mögliche sagen, also z.B. "Gerät" für "device", "Lampe", "Licht", "Deckenlampe", ... für "light", "Heizung" für "heater" usw.. Am Besten einfach mal ausprobieren was du intuitiv sagen würdest.

tlrider99 commented 1 year ago

Hi Florian,

noch eine Frage, ist es möglich die Spotify-Connect Geräte auch direkt anzusprechen, z.B. spiele "Lied xy im Esszimmer" ? Esszimmer wäre in dem Fall der Gerätename.

fquirin commented 1 year ago

Ich plane den Support für Spotify-Connect zeitnah in SEPIA einzubauen, da es wahrscheinlich die einzige (übrig gebliebene) Methode ist vernünftig mit Spotify zu arbeiten (bisher hatte ich immer versucht die Musik direkt in SEPIA abzuspielen). Bis es so weit ist geht es vermutlich nur, wenn du die Integration über openHAB nutzt und dir dafür einen direkten, eigenen Befehl im Teach-Interface erstellst. Ich habe das noch nie ausprobiert, aber wenn Spotify über openHAB registriert ist, müsste es vermutlich in irgendeiner Form in den Geräten auftauchen und mit der richtigen "sepia-set-cmds" Einstellung kann man vielleicht Titel Namen, Playlists o.ä. an das "Gerät" schicken. Hast du Spotify über openHAB laufen?

tlrider99 commented 1 year ago

Hi Florian,

ja ich habe das Spotify-Binding gestern mal installiert und werde am Wochenende mal ein bisschen rumprobieren.

Grüße

fquirin commented 1 year ago

👍. Irgendwo hier wurde auch mal diskutiert, wie man z.B. dem TV sagen könnte "Kanal auf Netflix umschalten", die Vorgehensweise ist wahrscheinlich ähnlich. Wenn man "Spotify" (sepia-name) als "device" (sepia-type) definieren kann und den "sepia-state-type" auf "text_raw" stellt, dann könnte man über das Teach-Interface sowas machen:

image

Das Problem ist nur, dass man der openHAB Integration irgendwie erklären müsste, wie es "Playlist 1; Wohnzimmer" verarbeitet. Oder man könnte für jedes Zimmer ein Spotify Gerät definieren und dann nur noch "Playlist 1" senden.

Alles etwas holprig, aber die nächst bessere Methode wäre einen eigenen smart-service zu schreiben (oder zu warten bis ich das mache ^^).

tlrider99 commented 1 year ago

(oder zu warten bis ich das mache ^^) definitiv die bessere Methode ;-)