62 lines
2.2 KiB
YAML
62 lines
2.2 KiB
YAML
- id: 8f59d1bc-33a5-467b-9909-487d1a534452
|
|
alias: Media players - Event - Backup volume at shutdown
|
|
triggers:
|
|
- trigger: homeassistant
|
|
event: shutdown
|
|
actions:
|
|
- repeat:
|
|
for_each: '{{ states.media_player | selectattr(''attributes.volume_level'',
|
|
''defined'') | map(attribute=''entity_id'') | list }}
|
|
|
|
'
|
|
sequence:
|
|
- alias: Entity volume backup
|
|
action: saver.set_variable
|
|
data:
|
|
name: '{{ repeat.item }}.volume_level'
|
|
value: '{{ state_attr(repeat.item, ''volume_level'') }}'
|
|
- id: 21318363-635e-4850-bc4b-1389c76f8df8
|
|
alias: Media players - Event - Restore volume at startup
|
|
triggers:
|
|
- trigger: homeassistant
|
|
event: start
|
|
actions:
|
|
- repeat:
|
|
for_each: '{{ states.media_player | rejectattr(''attributes.volume_level'',
|
|
''defined'') | map(attribute=''entity_id'') | list }}
|
|
|
|
'
|
|
sequence:
|
|
- variables:
|
|
saver_name: '{{repeat.item}}.volume_level'
|
|
- if: '{{ states.saver.saver.state is defined and saver_name in state_attr(''saver.saver'',
|
|
''variables'')}}'
|
|
then:
|
|
- alias: Entity volume restore
|
|
action: python_script.set_state
|
|
data:
|
|
entity_id: '{{repeat.item}}'
|
|
volume_level: "{% if states.saver.saver.state is defined and saver_name\
|
|
\ in state_attr(\"saver.saver\", \"variables\") %}\n {{state_attr(\"\
|
|
saver.saver\", \"variables\")[saver_name] | float(0.6) | round(2)}}\n\
|
|
{% else %}\n 0.6\n{% endif %}\n"
|
|
- id: f6845dff-4f8c-462c-b439-8db9ea67dc10
|
|
alias: Media players - Event - Backup volume_level
|
|
mode: queued
|
|
triggers:
|
|
- trigger: event
|
|
event_type: state_changed
|
|
conditions:
|
|
- '{{ trigger.event.data.entity_id.startswith(''media_player.'') }}'
|
|
- '{{ ''volume_level'' in trigger.event.data.new_state.attributes }}'
|
|
variables:
|
|
entity_id: '{{ trigger.event.data.entity_id }}'
|
|
actions:
|
|
- variables:
|
|
volume_level: '{{ trigger.event.data.new_state.attributes[''volume_level'']
|
|
| float(0.6) | round(2) }}'
|
|
- action: saver.set_variable
|
|
data:
|
|
name: '{{ entity_id }}.volume_level'
|
|
value: '{{ volume_level }}'
|