Skip to content

Sonos does not restore /resume playback #13398

Description

@Coolie1101

Home Assistant release (hass --version):
0.65.6

Python release (python3 --version):
3.5.3

Component/platform:
Sonos

Description of problem:
After TTS Script runs, Sonos Speaker does not resume previous playback.

Expected:
Sonos Speaker to resume playback of media previous to script.

Problem-relevant configuration.yaml entries and steps to reproduce:
Script:

alias: Sonos TTS
sequence:
  - service: media_player.sonos_snapshot
    data_template:
      entity_id: "{{ 'media_player.' ~ where }}"
      with_group: yes
  
  - service: media_player.sonos_unjoin
    data_template:
      entity_id: "{{ 'media_player.' ~ where }}"
  
  - service: media_player.volume_set
    data_template:
      entity_id: "{{ 'media_player.' ~ where }}"
      volume_level: 0
  
  - service: media_player.volume_set
    data_template:
      entity_id: "{{ 'media_player.' ~ where }}"
      volume_level: 0.6
  
  - service: media_player.play_media
    data_template:
      entity_id: "{{ 'media_player.' ~ where }}"
      media_content_id: http://192.168.200.210:8123/local/sounds/notifications/two_tone_chime1.mp3
      media_content_type: audio/mp3

  - delay:
      seconds: 1

  - delay: >-
      {% set duration = states.media_player[where].attributes.media_duration %}
      {% if duration > 0 %}
        {% set duration = duration - 1 %}
      {% endif %}
      {% set seconds = duration % 60 %}
      {% set minutes = (duration / 60)|int % 60 %}
      {% set hours = (duration / 3600)|int %}
      {{ "%02i:%02i:%02i"|format(hours, minutes, seconds)}}

  - service: tts.amazon_polly_say
    data_template:
      entity_id: "{{ 'media_player.' ~ where }}"
      message: "{{ what }}"

  - delay:
      seconds: 2

  - delay: >-
      {% set duration = states.media_player[where].attributes.media_duration %}
      {% if duration > 0 %}
        {% set duration = duration - 1 %}
      {% endif %}
      {% set seconds = duration % 60 %}
      {% set minutes = (duration / 60)|int % 60 %}
      {% set hours = (duration / 3600)|int %}
      {{ "%02i:%02i:%02i"|format(hours, minutes, seconds)}}

  - service: media_player.play_media
    data_template:
      entity_id: "{{ 'media_player.' ~ where }}"
      media_content_id: http://192.168.200.210:8123/local/sounds/notifications/one_tone_chime1.mp3
      media_content_type: audio/mp3

  - wait_template: >-
      {{ is_state('media_player.' ~ where , 'playing') }}
    timeout: '00:00:15'

  - wait_template: >-
      {{ not is_state('media_player.' ~ where , 'playing') }}
    timeout: '00:01:00'
      
  - delay:
      seconds: 2
  
  - delay: >-
      {% set duration = states.media_player[where].attributes.media_duration %}
      {% if duration > 0 %}
        {% set duration = duration - 1 %}
      {% endif %}
      {% set seconds = duration % 60 %}
      {% set minutes = (duration / 60)|int % 60 %}
      {% set hours = (duration / 3600)|int %}
      {{ "%02i:%02i:%02i"|format(hours, minutes, seconds)}}
  
  - service: media_player.sonos_restore
    data_template:
      entity_id: "{{ 'media_player.' ~ where }}"
      with_group: yes

Additional info:
Automation calls script with

      entity_id: "{{ 'media_player.' ~ where }}"
      message: "{{ what }}"

Script runs as expected without any errors.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Fields

Priority

None yet

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions