# Spotify - Como integrar e comandar entre dispositivos (versão Premium)

**URL:** <https://forum.cpha.pt/t/spotify-como-integrar-e-comandar-entre-dispositivos-versao-premium/455>\
**Category:** Tutoriais\
**Tags:** spotify\
**Created:** [22 Maio , 2018 10:13 UTC](https://forum.cpha.pt/t/spotify-como-integrar-e-comandar-entre-dispositivos-versao-premium/455 "2018-05-22T10:13:42Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![mlg](https://forum.cpha.pt/letter_avatar_proxy/v4/letter/m/439d5e/32.png) [@mlg](https://forum.cpha.pt/u/mlg)\
**Post date:** [22 Maio , 2018 10:13 UTC](https://forum.cpha.pt/t/spotify-como-integrar-e-comandar-entre-dispositivos-versao-premium/455/1 "2018-05-22T10:13:42Z")

</div>

**Spotify**

Segue o tutorial para a configuração do Spotify no Home Assistant que permite controlar via HA o Spotify em diversos dispositivos , tambem é possivel configurar em contas gratuitas no entanto não existe a possibilidade de controlo ( mudar musica , selecionar fonte, play , stop.. etc)

**Pré requisitos**  
[Configuração de packages](https://forum.cpha.pt/t/como-utilizar-ficheiros-package/98)  
Conta Premium Spotify

**Passos necessários para cirar a API do Spotify.**

[Login Spotify Developer](https://beta.developer.spotify.com/dashboard/)

1. Selecionar “Create Client ID”

 ![](https://forum.cpha.pt/uploads/default/original/2X/9/9527ece795b5f76c838fa908878b39e398d15c3a.jpeg)

1. Colocar nome e descrição, preencher os restantes campos obrigatórios e submeter.

 ![](https://forum.cpha.pt/uploads/default/original/2X/5/51aa70f12a51c60ca8a44c2593aaad067e68fe36.jpeg)

1. Depois da aplicação estar criada é necessario copiar os seguintes campos Client ID e Client Secret ( no meu caso para o ficheiro secrets.yaml)

 ![](https://forum.cpha.pt/uploads/default/original/2X/d/d7079242e6fdcbd8a475c8e57ef013a882a83d27.jpeg)

1. Selecionar Edit Settings e adicionar o Redirect Uri

 ![](https://forum.cpha.pt/uploads/default/original/2X/e/e4d29a9ca16729fa102829a0ad820018589a89e2.jpeg)

```
 Sem SSL: http://<your_home_assistant_url_or_local_ip>:<port>/api/spotify
 SSL: https://<your_home_assistant_url_or_local_ip>:<port>/api/spotify

```

1. Clicar em Save depois de adicionar os/o endereço URI, poderá ser em alguns casos necessário adicionar o base\_url no componte HTTP existente no configuration.yaml.

**Colocar o ficheiro de configuração em packages**

**Spotify.yaml**

```
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 }}'

```

1. Reiniciar o HA
2. Após o Reboot irá surgir as seguinte opçao no HA que é necessário configurar/Autorizar, após esta ação estará pronto a ser utilizado o Spotify.

 ![](https://forum.cpha.pt/uploads/default/original/2X/9/9a8c04ebabda5e1c504d5d3962ed7ff8bb368a22.jpeg)

 ![](https://forum.cpha.pt/uploads/default/original/2X/1/1112400161e4b1f416ae233e9689359b97dcca44.jpeg)

 ![](https://forum.cpha.pt/uploads/default/original/2X/7/70d8b930da0bd8bffefae6f0b37b92d7f84bc767.jpeg)

Os seguintes campos devem ser editados

```
name: 'Playlist:'
    options:
      - Lista1

spotify_source:
    name: 'Source:'
    options:
      - Web Player (Chrome)
      - Mi Phone

```

**Para obter o nome das Sources**  
O mais simples será aceder ao Dev State , com todos os devices ligados ao Spotify vão aparcer neste campo.

 ![](https://forum.cpha.pt/uploads/default/original/2X/3/3764b488994dbd3d240c8d5bf973cd6316b14ef3.jpeg)

**Como obter o URI**  
É necessario instalar o Cliente do Spotify selecionar a Playlist conforme a imagem

 ![](https://forum.cpha.pt/uploads/default/original/2X/3/3c5c6d4893b2ce42a2558b436833ba6fbe0c8093.jpeg)

O mesmo deverá ser substiuido no spotify.yaml  
` {% elif is_state("input_select.spotify_playlist", "Lista4") %} spotify:user:spotify:playlist:6IjDl5eRczFdgZkKYXhu`HZ

[https://community-home-assistant-assets.s3-us-west-2.amazonaws.com/optimized/3X/a/2/a2a8ea2b4994af019ccd8cf563c98d236c62573a\_1\_262x500.jpg](https://community-home-assistant-assets.s3-us-west-2.amazonaws.com/optimized/3X/a/2/a2a8ea2b4994af019ccd8cf563c98d236c62573a_1_262x500.jpg)

---

<div class="post-metadata">

**Author:** ![RodolfoVieira](https://forum.cpha.pt/user_avatar/forum.cpha.pt/rodolfovieira/32/14633_2.png) [@RodolfoVieira](https://forum.cpha.pt/u/RodolfoVieira)\
**Post date:** [26 Maio , 2018 22:41 UTC](https://forum.cpha.pt/t/spotify-como-integrar-e-comandar-entre-dispositivos-versao-premium/455/2 "2018-05-26T22:41:01Z")

</div>

Uma mensagem foi unida em um tópico existente: [Spotify - Como integrar e comandar entre dispositivos (Requer Premium)](https://forum.cpha.pt/t/spotify-como-integrar-e-comandar-entre-dispositivos-requer-premium/483/2)

---

<div class="post-metadata">

**Author:** ![RodolfoVieira](https://forum.cpha.pt/user_avatar/forum.cpha.pt/rodolfovieira/32/14633_2.png) [@RodolfoVieira](https://forum.cpha.pt/u/RodolfoVieira)\
**Post date:** [26 Maio , 2018 22:41 UTC](https://forum.cpha.pt/t/spotify-como-integrar-e-comandar-entre-dispositivos-versao-premium/455/3 "2018-05-26T22:41:40Z")

</div>



---

<div class="post-metadata">

**Author:** ![system](https://forum.cpha.pt/user_avatar/forum.cpha.pt/system/32/2_2.png) [@system](https://forum.cpha.pt/u/system)\
**Post date:** [26 Maio , 2018 22:42 UTC](https://forum.cpha.pt/t/spotify-como-integrar-e-comandar-entre-dispositivos-versao-premium/455/4 "2018-05-26T22:42:27Z")

</div>

Para comentar este tópico, por favor utilizem o tópico abaixo.

> [@Spotify - Como integrar e comandar entre dispositivos (Requer Premium)](https://forum.cpha.pt/t/spotify-como-integrar-e-comandar-entre-dispositivos-requer-premium/483):
>
> [https://forum.cpha.pt/t/spotify-como-integrar-e-comandar-entre-dispositivos-requer-premium/455](https://forum.cpha.pt/t/spotify-como-integrar-e-comandar-entre-dispositivos-requer-premium/455)
