initial commit
This commit is contained in:
@@ -0,0 +1,66 @@
|
||||
blueprint:
|
||||
name: Duck area players volume while assist in progress
|
||||
description: 'Temporarily lowers the volume of media players in the same area when
|
||||
any selected Assist Satellite starts listening, then restores their volume after
|
||||
the interaction ends.
|
||||
|
||||
'
|
||||
domain: automation
|
||||
input:
|
||||
satellites:
|
||||
name: Assist Satellites
|
||||
description: List of Assist Satellite entities to monitor.
|
||||
selector:
|
||||
entity:
|
||||
domain:
|
||||
- assist_satellite
|
||||
multiple: true
|
||||
reorder: false
|
||||
duck_volume:
|
||||
name: Duck Volume Level
|
||||
description: Volume level to set while assist is listening (e.g. 0.2 = 20%).
|
||||
default: 0.2
|
||||
selector:
|
||||
number:
|
||||
min: 0.0
|
||||
max: 1.0
|
||||
step: 0.01
|
||||
unit_of_measurement: fraction (0–1)
|
||||
mode: slider
|
||||
source_url: https://raw.githubusercontent.com/formatBCE/Respeaker-Lite-ESPHome-integration/refs/heads/main/blueprints/automation/formatbce/duck_players_on_satellite_working.yaml
|
||||
trigger:
|
||||
- platform: state
|
||||
entity_id: !input satellites
|
||||
to: listening
|
||||
variables:
|
||||
v_duck_volume: !input duck_volume
|
||||
v_players: "{{ states.media_player\n | selectattr('state', 'equalto', 'playing')\n
|
||||
\ | selectattr('attributes.volume_level', 'defined')\n | selectattr('entity_id',
|
||||
'in', area_entities(area_id(trigger.entity_id)))\n | rejectattr('entity_id',
|
||||
'in', device_entities(device_id(trigger.entity_id)))\n | rejectattr('attributes.active_queue',
|
||||
'in', device_entities(device_id(trigger.entity_id)))\n | map(attribute='entity_id')\n
|
||||
\ | list\n}}"
|
||||
v_volumes: "{% set vol = namespace(umes = []) %} {% for i in v_players %}\n {%
|
||||
set vol.umes = vol.umes + [{'id': i, 'volume_diff': state_attr(i, 'volume_level')
|
||||
- v_duck_volume }] %}\n{% endfor %} {{ vol.umes }}"
|
||||
action:
|
||||
- service: media_player.volume_set
|
||||
data:
|
||||
volume_level: '{{ v_duck_volume }}'
|
||||
target:
|
||||
entity_id: '{{ v_players }}'
|
||||
- wait_for_trigger:
|
||||
- platform: template
|
||||
value_template: '{{ is_state(trigger.entity_id, ''idle'') }}'
|
||||
timeout: 00:03:00
|
||||
- repeat:
|
||||
for_each: '{{ v_volumes }}'
|
||||
sequence:
|
||||
- service: media_player.volume_set
|
||||
data:
|
||||
volume_level: '{{ state_attr(repeat.item.id, ''volume_level'') + repeat.item.volume_diff
|
||||
}}'
|
||||
target:
|
||||
entity_id: '{{ repeat.item.id }}'
|
||||
mode: parallel
|
||||
max: 10
|
||||
@@ -0,0 +1,44 @@
|
||||
blueprint:
|
||||
name: Play TTS URI via Media Player
|
||||
description: Listen for a TTS URI event from an ESPHome device and play it using
|
||||
a selected media player.
|
||||
domain: automation
|
||||
input:
|
||||
tts_device:
|
||||
name: ESPHome TTS Device
|
||||
description: Select the ESPHome device that sends the TTS URI event.
|
||||
selector:
|
||||
device:
|
||||
entity:
|
||||
- domain:
|
||||
- assist_satellite
|
||||
filter:
|
||||
- manufacturer: formatbce
|
||||
model: Respeaker Lite Satellite
|
||||
- manufacturer: formatbce
|
||||
model: Koala Satellite
|
||||
multiple: false
|
||||
target_media_player:
|
||||
name: Target Media Player
|
||||
description: Media player entity that should play the TTS URI.
|
||||
selector:
|
||||
entity:
|
||||
domain:
|
||||
- media_player
|
||||
multiple: false
|
||||
reorder: false
|
||||
source_url: https://raw.githubusercontent.com/formatBCE/Respeaker-Lite-ESPHome-integration/refs/heads/main/blueprints/automation/formatbce/redirect_respeaker_tts.yaml
|
||||
trigger:
|
||||
- platform: event
|
||||
event_type: esphome.tts_uri
|
||||
event_data:
|
||||
device_id: !input tts_device
|
||||
action:
|
||||
- service: media_player.play_media
|
||||
target:
|
||||
entity_id: !input target_media_player
|
||||
data:
|
||||
announce: true
|
||||
media_content_type: music
|
||||
media_content_id: '{{ trigger.event.data.uri }}'
|
||||
mode: single
|
||||
+43
@@ -0,0 +1,43 @@
|
||||
blueprint:
|
||||
name: Set Respeaker Alarm Time from Time Helper
|
||||
domain: automation
|
||||
input:
|
||||
datetime_helper:
|
||||
name: Datetime Helper
|
||||
description: The input_datetime helper that triggers the alarm time update.
|
||||
Must have time.
|
||||
selector:
|
||||
entity:
|
||||
filter:
|
||||
- domain:
|
||||
- input_datetime
|
||||
multiple: false
|
||||
reorder: false
|
||||
esphome_device:
|
||||
name: Respeaker Device
|
||||
description: The ESPHome device with set_alarm_time service
|
||||
selector:
|
||||
device:
|
||||
entity:
|
||||
- domain:
|
||||
- assist_satellite
|
||||
filter:
|
||||
- manufacturer: formatbce
|
||||
model: Respeaker Lite Satellite
|
||||
- manufacturer: formatbce
|
||||
model: Koala Satellite
|
||||
- manufacturer: formatbce
|
||||
model: Respeaker XVF3800 Satellite
|
||||
multiple: false
|
||||
source_url: https://raw.githubusercontent.com/formatBCE/Respeaker-Lite-ESPHome-integration/refs/heads/main/blueprints/automation/formatbce/set_respeaker_alarm_time_from_input_datetime_helper.yaml
|
||||
variables:
|
||||
esphome_device: !input esphome_device
|
||||
triggers:
|
||||
- trigger: state
|
||||
entity_id: !input datetime_helper
|
||||
actions:
|
||||
- action: esphome.{{ device_attr(esphome_device, 'name') | slugify }}_set_alarm_time
|
||||
data:
|
||||
alarm_time_hh_mm: '{{ trigger.to_state.attributes.hour }}:{{ trigger.to_state.attributes.minute
|
||||
}}'
|
||||
mode: single
|
||||
Reference in New Issue
Block a user