Last active
May 21, 2021 13:57
-
-
Save Ante987/80c376901fa5f2bd9d2197734ec49e80 to your computer and use it in GitHub Desktop.
Change/reset speaker volume
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
blueprint: | |
name: Set volyme of speakers based of time of day | |
description: Set volyme to different level on different times a day | |
domain: automation | |
input: | |
daytime_starts: | |
name: Time of day | |
description: Change level depending of time of day, Daytime level | |
default: '07:00:00' | |
selector: | |
time: | |
daytime_ends: | |
name: Time of night | |
description: Change level depending of time of day, Nighttime level | |
default: '20:00:00' | |
selector: | |
time: | |
volume_day: | |
name: Set volume day | |
description: The volume you want your media player to be reset to | |
default: '0.50' | |
selector: | |
number: | |
min: '0.00' | |
max: '1.00' | |
step: '0.10' | |
mode: slider | |
volume_night: | |
name: Set volume night | |
description: The volume you want your media player to be reset to | |
default: '0.10' | |
selector: | |
number: | |
min: '0.00' | |
max: '1.00' | |
step: '0.10' | |
mode: slider | |
filter: | |
name: Filter players | |
description: Players to be reset or not. Only | |
entities are supported, devices must be expanded! | |
default: | |
entity_id: [] | |
selector: | |
target: | |
entity: | |
domain: media_player | |
include_exclude: | |
name: Filter invert | |
description: Turn off to reset choosen and on to choose all other | |
default: true | |
selector: | |
boolean: {} | |
variables: | |
filter: !input 'filter' | |
player: > | |
{% set result = namespace(player=[]) %} | |
{% for state in states.media_player %} | |
{% if include_exclude == 'true' %} | |
{% if not state.state == 'playing' and not state.entity_id in filter.entity_id %} | |
{% set result.player = result.player + [state.entity_id] %} | |
{% endif %} | |
{% else %} | |
{% if not state.state == 'playing' and state.entity_id in filter.entity_id %} | |
{% set result.player = result.player + [state.entity_id] %} | |
{% endif %} | |
{% endif %} | |
{% endfor %} | |
{{result.player|join(',')}} | |
trigger: | |
- platform: time | |
at: !input 'daytime_starts' | |
- platform: time | |
at: !input 'daytime_ends' | |
action: | |
- choose: | |
- conditions: | |
- after: !input 'daytime_starts' | |
before: !input 'daytime_ends' | |
condition: time | |
sequence: | |
- service: media_player.volume_set | |
data_template: | |
entity_id: '{{ player }}' | |
volume_level: !input 'volume_day' | |
default: | |
- service: media_player.volume_set | |
data_template: | |
entity_id: '{{ player }}' | |
volume_level: !input 'volume_night' | |
mode: 'single' |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
It's a typo I've missed. Changing it now. Thanks