Spotify - Como integrar e comandar entre dispositivos (Requer Premium)

spotify

(Bruno Ribeiro) #1

:bookmark_tabs: Spotify - Como integrar e comandar entre dispositivos (Requer Premium)
(Rodolfo) #2

Muito bom tutorial 5 estrelas para os amantes do spotify :wink:


:bookmark_tabs: Spotify - Como integrar e comandar entre dispositivos (Requer Premium)
(Antonio Fontinha) #3

Boa Tarde,

Tentei seguir este tutorial que esta excelente, mas tenho umas duvidas:

Tenho que criar o ficheiro spotify.yaml certo?

fiz isso mas da-me o erro: “Component not found: spotify”

Outra situaçao, no exemplo que colocou tenho que alterar as options, spotify source e tambem o link das playlists. onde tem “name: ‘Playlist:’” tambem é para alterar o nome Playlist ou fica assim?

Obrigado


(Antonio Fontinha) #4

sera que tenho que criar o arquivo component.yaml? ou o arquivo spotify.yaml tem que ser colocado noutra pasta?


(Rodolfo) #5

@fontes31 essa configuração está em Packages, tens que configurar primeiro o teu home assistant para receber packages…


(Antonio Fontinha) #6

certo, e inclui o seguinte no ficheiro configuration.yaml:

spotify: !include spotify.yaml

Mas continua igual. Estranho


(Rodolfo) #7

@fontes31 o ficheiro spotify.yaml tu tens que por dentro da pasta packages não é para chamares dentro do teu configuration.yaml


(Antonio Fontinha) #8

ok, tenho que criar uma pasta package dentro da pasta config, isto é, subpasta package. Estou com o homeassistant em raspberry pi3


(Rodolfo) #9

No teu configuration.yaml tens que colocar:

homeassistant:
  packages: !include_dir_named packages/

Depois crias uma pasta chamada packages dentro da tua pasta config
Ficará config/packages

E dentro da pasta packages colocas o ficheiro spotify.yaml como toda a configuração que está no tutorial.


(Antonio Fontinha) #10

Obrigado pela ajuda. Vou por maos a obra


(Antonio Fontinha) #11

Excelente. Obrigado, ja funciona perfeito. O controlo do volume é que so funciona “dentro do spotify”. No spotify controls nao funciona, mas nao ha crise. Seguimos para bingo, mais configuraçoes.
O homeaasistant control panel vale a pena?
Tenho um tablet que comprei na gearbest alldocule, para utilizar o control panel


(Rodolfo) #12

Isso já são perguntas para colocares em outro tópico, que seja adequado a essa conversa, este tópico é para falar de spotify.


(Rui Duarte ) #13

estou a tentar a configurar o spotify

Já criei o spotify.yaml e já coloquei na pasta.
Já adicionei ao group
adicionei o client id e o secret id tambem

Aquilo que me aparece é isto na imagem.

O que poderá ser ??


(Rodolfo) #14

Certamente é algum problema com espaços , coloca aqui os ficheiros da tua configuração


(Rui Duarte ) #15

Olá Rodolfo. Estava aqui a tentar ir um pouco pela forma mais dificil, mas mais segura incluindo o secrets, por causa das passwords, mas a verdade é que ou era alguma coisa no servidor de lá, ou então , depois de tanto mexer, a coisa começou a funcionar,não totalmente da forma como aqui está explicado, mas com um mix disto com a do Jorge .


(Rui Duarte ) #16

Já consigo colocar no telemovel e escolher e aparece no ecra do HA e consigo de algma forma controlar, mas não consigo ouvir e selecionar rádio ??
Uma ajudinha por favor !!


(Antonio Fontinha) #17

Bom Dia,

depois de criar o ficheiro spotify.yaml tenho o seguinte erro:

Configuração inválida
Error loading /config/configuration.yaml: while scanning a simple key
in “/config/packages/spotify.yaml”, line 89, column 1
could not find expected ‘:’
in “/config/packages/spotify.yaml”, line 91, column 1

Segui o tutorial e fiz copy paste do exemplo


(Jorge Assunção) #18

Podes colocar aqui como ficou o teu ficheiro spotify.yaml e como estás a chamar os packages no configuration.yaml?


(Antonio Fontinha) #19

o configuration.yaml:

media_player:

  • platform: spotify
    client_id: xxxxxxxxxxxxxxx
    client_secret: xxxxxxxxxxx

o spotify.yaml:

edia_player:

  • platform: spotify
    client_id: xxxxxxxxxx
    client_secret: xxxxxxxxxx

group:
home_spotify_player:
name: Spotify Player
entities:
- media_player.spotify

home_spotify_controls:
name: Spotify Controls
control: hidden
entities:
- input_select.spotify_playlist
- input_select.spotify_source
- script.spotify_music
- input_number.spotify_volume
- input_boolean.spotify_shuffle

homeassistant:
customize:
script.spotify_music:
friendly_name: ‘Play’
icon: mdi:play

sensor:

  • platform: template
    sensors:
    spotify_volume:
    friendly_name: “Spotify Volume”
    value_template: “{{
    states.media_player.spotify.attributes.volume_level }}”
  • platform: template
    sensors:
    spotify_shuffle:
    friendly_name: “Spotify Shuffle”
    value_template: “{{
    states.media_player.spotify.attributes.shuffle }}”
  • platform: template
    sensors:
    spotify_source:
    friendly_name: “Spotify Source”
    value_template: “{{
    states.media_player.spotify.attributes.source }}”

input_number:
spotify_volume:
name: Volume
icon: mdi:volume-high
initial: 100
min: 0
max: 100
step: 1

input_select:
spotify_playlist:
name: ‘Playlist:’
options:
- Lista1
- Lista2
- Lista3
- Lista4
icon: mdi:spotify
spotify_source:
name: ‘Source:’
options:
- Sala de Jantar
- Sala de TV
initial: Sala de Jantar
icon: mdi:speaker-wireless

input_boolean:
spotify_shuffle:
name: Shuffle
icon: mdi:shuffle-variant

script:
spotify_music:
alias: “Play selected spotify playlist”
sequence:
- service: media_player.select_source
data_template:
entity_id: media_player.spotify
source: >
{% if is_state(“input_select.spotify_source”, “Sala de
Jantar”) %} Sala de Jantar
{% elif is_state(“input_select.spotify_source”, “Sala de
TV”) %} Sala de TV
{% endif %}
- service: media_player.play_media
data_template:
entity_id: media_player.spotify
media_content_type: playlist
media_content_id: >
{% if is_state(“input_select.spotify_playlist”, “Lista1”) %}
spotify:user:fontes31:playlist:1VsA8GVgcK3BzQyOhY4Ypf
{% elif is_state(“input_select.spotify_playlist”, “Lista2”)
%} spotify:user:fontes31:playlist:0WoCdqAGxeaAH5K3VNJYaK
{% endif %}

automation:

  • alias: ‘Spotify Volume (Set)’
    trigger:
    platform: state
    entity_id: input_number.spotify_volume
    action:
    service: media_player.volume_set
    data_template:
    entity_id: media_player.spotify
    volume_level: ‘{{ states.input_number.spotify_volume.state |
    int / 100 }}’

  • alias: ‘Spotify Volume (Sync)’
    trigger:

    • platform: homeassistant
      event: start
    • platform: state
      entity_id: sensor.spotify_volume
      action:
    • delay:
      seconds: 5
    • service: input_number.set_value
      data_template:
      entity_id: input_number.spotify_volume
      value: ‘{{ states.sensor.spotify_volume.state | float |
      round(2) * 100 }}’
  • alias: ‘Spotify Shuffle (Set)’
    trigger:
    platform: state
    entity_id: input_boolean.spotify_shuffle
    action:
    service: media_player.shuffle_set
    data_template:
    entity_id: media_player.spotify
    shuffle: >
    {% if is_state(‘input_boolean.spotify_shuffle’, ‘off’) %}
    false
    {% elif is_state(‘input_boolean.spotify_shuffle’, ‘on’) %}
    true
    {% endif %}

  • alias: ‘Spotify Shuffle (Sync)’
    trigger:

    • platform: homeassistant
      event: start
    • platform: state
      entity_id: sensor.spotify_shuffle
      action:
    • delay:
      seconds: 5
    • service_template: >
      {% if states.sensor.spotify_shuffle.state == ‘False’ %}
      input_boolean.turn_off
      {% else %}
      input_boolean.turn_on
      {% endif %}
      data:
      entity_id: input_boolean.spotify_shuffle
  • alias: ‘Spotify Source (Sync)’
    trigger:

    • platform: homeassistant
      event: start
    • platform: state
      entity_id: sensor.spotify_source
      action:
      service: input_select.select_option
      entity_id: input_select.spotify_source
      data_template:
      option: ‘{{ states.sensor.spotify_source.state }}’

(Antonio Fontinha) #20

como tenho 2 sonos, a ideia era ter a opçao desses sonos no source do spotify do home assistant, so que apenas me da o pc.