Skip to content

Instantly share code, notes, and snippets.

@Ante987
Last active September 28, 2023 18:40
Show Gist options
  • Save Ante987/168ae89711b1b289839e7bd2802dc047 to your computer and use it in GitHub Desktop.
Save Ante987/168ae89711b1b289839e7bd2802dc047 to your computer and use it in GitHub Desktop.
Reset mediaplayer when stop playing after X time.
blueprint:
name: Control speakers based on time when it stops playing
description: After speaker has been turned off its volume reset to x
domain: automation
input:
media_player:
name: Media Players
description: Select a media player or multiple media players
selector:
entity:
domain: 'media_player'
offtime:
name: Off time
description: Time off before reset the volume?
default: '00:01:00'
selector:
time:
off_delay:
name: Timer for off
description: Timer if U want a delay to shutdown
default: '00:00:01'
selector:
time:
daytime_starts:
name: Time of day
description: Change level depending of time of day, start
#default: '07:00:00'
selector:
time:
daytime_ends:
name: Time of night
description: Change level depending of time of day, end
#default: '20:00:00'
selector:
time:
reset_volume_day:
name: Reset volume day
description: The volume you want your media player to be reset to
default: '0.5'
selector:
number:
min: '0'
max: '1'
step: '0.1'
mode: slider
reset_volume_night:
name: Reset volume night
description: The volume you want your media player to be reset to
default: '0.1'
selector:
number:
min: '0'
max: '1'
step: '0.1'
mode: slider
shut_down_trigger:
name: Turn device off
description: Turn device off after volyme reset
default: false
selector:
boolean:
variables:
shut_down: !input 'shut_down_trigger'
#player: '{{ trigger.entity_id.state != "playing" }}'
trigger:
platform: state
entity_id: !input 'media_player'
from: 'playing'
for: !input 'offtime'
action:
- choose:
- conditions:
- after: !input 'daytime_ends'
before: !input 'daytime_starts'
condition: time
sequence:
- service: media_player.volume_set
data_template:
entity_id: '{{ trigger.entity_id }}'
volume_level: !input 'reset_volume_night'
- condition: template
value_template: "{{ shut_down }}"
- delay: !input 'off_delay'
- condition: template
value_template: '{{ not is_state(trigger.entity_id, "playing") }}'
- service: media_player.turn_off
data_template:
entity_id: '{{ trigger.entity_id }}'
- conditions:
- after: !input 'daytime_starts'
before: !input 'daytime_ends'
condition: time
sequence:
- service: media_player.volume_set
data_template:
entity_id: '{{ trigger.entity_id }}'
volume_level: !input 'reset_volume_day'
- condition: template
value_template: "{{ shut_down }}"
- delay: !input 'off_delay'
- condition: template
value_template: '{{ not is_state(trigger.entity_id, "playing") }}'
- service: media_player.turn_off
data_template:
entity_id: '{{ trigger.entity_id }}'
default:
- service: media_player.volume_set
data_template:
entity_id: '{{ trigger.entity_id }}'
volume_level: !input 'reset_volume_night'
- condition: template
value_template: "{{ shut_down }}"
- delay: !input 'off_delay'
- condition: template
value_template: '{{ not is_state(trigger.entity_id, "playing") }}'
- service: media_player.turn_off
data_template:
entity_id: '{{ trigger.entity_id }}'
mode: 'parallel'
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment