initial commit

This commit is contained in:
root
2026-06-28 14:27:20 -04:00
commit ae0f1f559e
115 changed files with 30411 additions and 0 deletions
@@ -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 (01)
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
@@ -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