Certamente é algum problema com espaços , coloca aqui os ficheiros da tua configuração
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 .
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 !!
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
Podes colocar aqui como ficou o teu ficheiro spotify.yaml
e como estás a chamar os packages no configuration.yaml
?
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 }}’
- platform: homeassistant
-
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
- platform: homeassistant
-
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 }}’
- platform: homeassistant
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.
@fontes31 quando publicares código deves sublinhar o texto que queres transformar em código e clicar no icone </>
. Deverá existir um espaço antes e outro depois do bloco de código para que funcione correctamente. O código em Yaml é muito sensível aos espaçamentos e sem o código devidamente formatado não te poderemos ajudar.
eu fiz copy paste do spotify.yaml que foi publicado, penso que o erro esta nesta parte:
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 %}
ja editei o spotify.yaml so que agora tenho este erro - “extra keys not allowed @ data[‘group’]”
@fontes31 peço que que edites o post como disse anteriormente, pois assim não conseguimos detectar o que possa estar errado.
Boa tarde.
Em relação ao erro “extra keys not allowed @ data[‘group’]”, aconteceu-me exactamente o mesmo. Bastou mudar o S maiúsculo para minúsculo, em vez de Spotify.yaml mudar para spotify.yaml. Não sei se foi a solução. O que é certo é que o erro deixou de dar.
Agora surge-me outro problema. Na janela de configuração do Spotify, quando tento clicar o link ( [Link Spotify account) dá o seguinte erro: INVALID_CLIENT: Invalid redirect URI.
Tenho o Spotify premium e por via das dúvidas faço logout e depois login.
Cumprimentos
Sebastião
Isso pode ter a ver com o link que introduziste quando fizeste os passos relativos ao Spotify. O URL de redirect tem de ser um link válido.
Boa noite.
Já funciona.
O problema estava no base_url do componte HTTP do configuration.yaml. Tinha
base_url: https://xxxx.duckdns.org
em vez de
base_url: https://xxxx.duckdns.org:8123
Cumprimentos
Sebastião
tenho um erro e não consigo reproduzir o spotify. Conseguem me ajudar?
Error executing service <ServiceCall script.spotify_music (c:f1191e54fbdc4c039242cff9e6f2eecf)>
Traceback (most recent call last):
File “/usr/local/lib/python3.7/site-packages/homeassistant/core.py”, line 1150, in _safe_execute
await self._execute_service(handler, service_call)
File “/usr/local/lib/python3.7/site-packages/homeassistant/core.py”, line 1163, in _execute_service
await handler.func(service_call)
File “/usr/local/lib/python3.7/site-packages/homeassistant/components/script/init.py”, line 114, in service_handler
context=service.context)
File “/usr/local/lib/python3.7/site-packages/homeassistant/components/script/init.py”, line 172, in async_turn_on
kwargs.get(ATTR_VARIABLES), context)
File “/usr/local/lib/python3.7/site-packages/homeassistant/helpers/script.py”, line 131, in async_run
await self._handle_action(action, variables, context)
File “/usr/local/lib/python3.7/site-packages/homeassistant/helpers/script.py”, line 210, in _handle_action
action, variables, context)
File “/usr/local/lib/python3.7/site-packages/homeassistant/helpers/script.py”, line 299, in _async_call_service
context=context
File “/usr/local/lib/python3.7/site-packages/homeassistant/helpers/service.py”, line 89, in async_call_from_config
domain, service_name, service_data, blocking=blocking, context=context)
File “/usr/local/lib/python3.7/site-packages/homeassistant/core.py”, line 1141, in async_call
self._execute_service(handler, service_call))
File “/usr/local/lib/python3.7/site-packages/homeassistant/core.py”, line 1163, in _execute_service
await handler.func(service_call)
File “/usr/local/lib/python3.7/site-packages/homeassistant/helpers/entity_component.py”, line 194, in handle_service
required_features
File “/usr/local/lib/python3.7/site-packages/homeassistant/helpers/service.py”, line 316, in entity_service_call
future.result() # pop exception if have
File “/usr/local/lib/python3.7/site-packages/homeassistant/helpers/service.py”, line 337, in _handle_service_platform_call
await getattr(entity, func)(**data)
File “/usr/local/lib/python3.7/concurrent/futures/thread.py”, line 57, in run
result = self.fn(*self.args, **self.kwargs)
File “/usr/local/lib/python3.7/site-packages/homeassistant/components/spotify/media_player.py”, line 238, in select_source
self._player.transfer_playback(self._devices[source],
KeyError: ‘’
Caros Amigos,
Gostava da vossa ajuda neste ponto.
Depois de configurar, bem acho eu, esta integração obtive este erro:
2019-08-08 16:14:46 ERROR (MainThread) [homeassistant.components.hassio] Integration not found: packages
Coloquei este parâmetros no configuration.yaml
- platform: spotify
client_id: !secret spotify_client_id
client_secret: !secret spotify_client_secret
packages: !include_dir_named packages/
E adicionei o ficheiro spotify.yaml na pasta confi/packages com o seguinte código:
media_player:
- platform: spotify
client_id: !secret spotify_client_id
client_secret: !secret spotify_client_secret
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:
- Web Player (Chrome)
- Mi Phone
- DESKTOP-922IFR3
initial: Web Player (Chrome)
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", "Web Player (Chrome)") %} Web Player (Chrome)
{% elif is_state("input_select.spotify_source", "Mi Phone") %} Mi Phone
{% elif is_state("input_select.spotify_source", "DESKTOP-922IFR3") %} DESKTOP-922IFR3
{% 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:spotify:playlist:37i9dQZF1DXakWdSZ8mUMO
{% elif is_state("input_select.spotify_playlist", "Lista2") %} spotify:user:spotify:playlist:5dfbLgeesT8gixq1GTWBoU
{% elif is_state("input_select.spotify_playlist", "Lista3") %} spotify:user:spotify:playlist:37i9dQZF1DX4WYpdgoIcn6
{% elif is_state("input_select.spotify_playlist", "Lista4") %} spotify:user:spotify:playlist:6IjDl5eRczFdgZkKYXhuHZ
{% 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 }}'
Este código que coloquei no spotify.yaml copiei na integra do posto " Spotify - Como integrar e comandar entre dispositivos (Requer Premium)"
Desde já obrigado pela vossa ajuda
Abraço
olhando para o código que tens ai, tas a chamar duas vezes a mesma coisa
media_player:
- platform: spotify
client_id: !secret spotify_client_id
client_secret: !secret spotify_client_secret
tens no configuration.yaml
e no spotify.yaml
tira do configuration.yaml porque ja tens no spotify.yaml
Olá Hugo,
Obrigado pela resposta.
Testei, removendo da configuration.yaml
ou do spotify.yaml
mas o erro mantém-se.
Ab