Skip to content

Instantly share code, notes, and snippets.

@umarhussain15
Last active October 27, 2024 10:10
Show Gist options
  • Save umarhussain15/33855e10dd672e4ea28a2b4e0487d1e9 to your computer and use it in GitHub Desktop.
Save umarhussain15/33855e10dd672e4ea28a2b4e0487d1e9 to your computer and use it in GitHub Desktop.
Adhan-Test.yaml
blueprint:
name: 🔊 Adhan Announcement V2 - Test
description: Play the adhan on selected speakers while also pausing media players of your choice. You can also add islamic month sensor to play suhoor and iftar dua. You can also optionally disable specific adhans.
domain: automation
input:
play_media_player:
name: Media players to play
description: The Media players to play the Adhan on
selector:
target:
entity:
domain: media_player
wait_media_player:
name: Media player to wait for
description: The media player to wait for and check if adhan is finished and continue the automation. Pick any 1 media player you selected above.
selector:
entity:
domain: media_player
mute_tv:
name: Media player to mute
description: The Media player to mute when the Adhan plays
selector:
entity:
domain: media_player
pause_for_calendar_event:
name: Pause for calendar event
description: If this calendar has an event for me, then pause the Adhan play
selector:
entity:
domain: calendar
pause_media_player:
name: Media players to pause (Optional)
description: The Media players to pause when the Adhan plays. Such as TVs
default: {}
selector:
target:
entity:
domain: media_player
resume_media:
name: Resume paused media players after adhan?
description: Should it resume all paused media players after the adhan has played?
default: false
selector:
boolean:
fajr:
name: Play on fajr?
description: Should it play the adhan for fajr?
default: true
selector:
boolean:
dhuhr:
name: Play on dhuhr?
description: Should it play the adhan for dhuhr?
default: true
selector:
boolean:
asr:
name: Play on asr?
description: Should it play the adhan for asr?
default: true
selector:
boolean:
maghrib:
name: Play on maghrib?
description: Should it play the adhan for maghrib?
default: true
selector:
boolean:
isha:
name: Play on isha?
description: Should it play the adhan for isha?
default: true
selector:
boolean:
fajr_time:
name: Fajr Time Sensor
description: "Sensor providing Fajr time."
selector:
entity:
domain: sensor
dhuhr_time:
name: Dhuhr Time Sensor
description: "Sensor providing Dhuhr time."
selector:
entity:
domain: sensor
asr_time:
name: Asr Time Sensor
description: "Sensor providing Asr time."
selector:
entity:
domain: sensor
maghrib_time:
name: Maghrib Time Sensor
description: "Sensor providing Maghrib time."
selector:
entity:
domain: sensor
isha_time:
name: Isha Time Sensor
description: "Sensor providing Isha time."
selector:
entity:
domain: sensor
islamic_month_sensor:
name: Islamic month sensor (Optional)
description: The sensor to check what month it is in the islamic calendar
default: ""
selector:
entity:
islamic_month_sensor_value:
name: Islamic month sensor value (Optional)
description: The value to check from the sensor to see if it is Ramadan
default: Ramadan
selector:
text:
fajr_mp3:
name: Path to Fajr adhan MP3 (Optional)
description: Enter the path where your custom media player is stored. Examples, media-source://media_source/local/fajr_adhan.mp3 (local path is /media/fajr_adhan.mp3), or an address such as https://www.islamcan.com/audio/adhan/azan1.mp3. Defaults to my Github
default: https://github.com/AalianKhan/adhans/blob/master/adhan_fajr.mp3?raw=true
selector:
text:
adhan_mp3:
name: Path to adhan MP3 (Optional)
description: Enter the path where your custom media player is stored. Examples, media-source://media_source/local/adhan.mp3 (local path is /media/adhan.mp3), or an address such as https://www.islamcan.com/audio/adhan/azan1.mp3. Defaults to my Github
default: https://github.com/AalianKhan/adhans/blob/master/adhan.mp3?raw=true
selector:
text:
suhoor_mp3:
name: Path to Suhoor dua MP3 (Optional)
description: Enter the path where your custom media player is stored. Examples, media-source://media_source/local/suhoor_dua.mp3 (local path is /media/suhoor_dua.mp3), or an address such as https://www.islamcan.com/audio/adhan/azan1.mp3. Defaults to my Github
default: https://github.com/AalianKhan/adhans/blob/master/suhoor_dua.mp3?raw=true
selector:
text:
iftaar_mp3:
name: Path to Iftaar dua MP3 (Optional)
description: Enter the path where your custom media is stored. Examples, media-source://media_source/local/iftaar_dua.mp3 (local path is /media/iftar_dua.mp3), or an address such as https://www.islamcan.com/audio/adhan/azan1.mp3. Defaults to my Github
default: https://github.com/AalianKhan/adhans/blob/master/iftar_dua.mp3?raw=true
selector:
text:
variables:
wait_media_player: !input wait_media_player
play_fajr: !input fajr
play_dhuhr: !input dhuhr
play_asr: !input asr
play_maghrib: !input maghrib
play_isha: !input isha
media_resume: !input resume_media
calendar_event: !input pause_for_calendar_event
mute_tv: !input mute_tv
fajr_time: !input fajr_time
dhuhr_time: !input dhuhr_time
asr_time: !input asr_time
maghrib_time: !input maghrib_time
isha_time: !input isha_time
trigger:
- platform: template
value_template: "{{ states('fajr_time') == states('sensor.time') }}"
id: fajr_trigger
- platform: template
value_template: "{{ states('dhuhr_time') == states('sensor.time') }}"
id: dhuhr_trigger
- platform: template
value_template: "{{ states('asr_time') == states('sensor.time') }}"
id: asr_trigger
- platform: template
value_template: "{{ states('maghrib_time') == states('sensor.time') }}"
id: maghrib_trigger
- platform: template
value_template: "{{ states('isha_time') == states('sensor.time') }}"
id: isha_trigger
action:
- choose:
- conditions:
- condition: state
entity_id: !input islamic_month_sensor
state: !input islamic_month_sensor_value
sequence:
- choose:
- conditions:
- condition: and
conditions:
- condition: trigger
id: fajr_trigger
- condition: template
value_template: "{{ play_fajr == true }}"
# - condition: not
# conditions:
# - condition: state
# entity_id: !input pause_for_calendar_event
# state: 'on'
sequence:
- service: media_player.media_pause
target: !input pause_media_player
data: {}
- service: media_player.volume_mute
target:
entity_id: !input mute_tv
data:
is_volume_muted: true
- service: media_player.play_media
target: !input play_media_player
data:
media_content_id: !input suhoor_mp3
media_content_type: mp3
- delay:
hours: 0
minutes: 0
seconds: 2
milliseconds: 0
- wait_template: "{{ is_state(wait_media_player, 'idle') }}"
timeout: 00:05:00
- service: media_player.play_media
target: !input play_media_player
data:
media_content_id: !input fajr_mp3
media_content_type: mp3
- condition: template
value_template: "{{ media_resume }}"
- delay:
hours: 0
minutes: 0
seconds: 2
milliseconds: 0
- wait_template: "{{ is_state(wait_media_player, 'idle') }}"
timeout: 00:05:00
- service: media_player.media_play
target: !input pause_media_player
data: {}
- conditions:
- condition: and
conditions:
- condition: trigger
id: maghrib_trigger
- condition: template
value_template: "{{ play_maghrib == true }}"
# - condition: not
# conditions:
# - condition: state
# entity_id: !input pause_for_calendar_event
# state: 'on'
sequence:
- service: media_player.media_pause
target: !input pause_media_player
data: {}
- service: media_player.volume_mute
target:
entity_id: !input mute_tv
data:
is_volume_muted: true
- service: media_player.play_media
target: !input play_media_player
data:
media_content_id: !input iftaar_mp3
media_content_type: mp3
- delay:
hours: 0
minutes: 0
seconds: 2
milliseconds: 0
- wait_template: "{{ is_state(wait_media_player, 'idle') }}"
timeout: 00:05:00
- service: media_player.play_media
target: !input play_media_player
data:
media_content_id: !input adhan_mp3
media_content_type: mp3
- condition: template
value_template: "{{ media_resume }}"
- delay:
hours: 0
minutes: 0
seconds: 2
milliseconds: 0
- wait_template: "{{ is_state(wait_media_player, 'idle') }}"
timeout: 00:05:00
- service: media_player.media_play
target: !input pause_media_player
data: {}
- conditions:
# - condition: not
# conditions:
# - condition: state
# entity_id: !input pause_for_calendar_event
# state: 'on'
- condition: or
conditions:
- condition: and
conditions:
- condition: trigger
id: dhuhr_trigger
- condition: template
value_template: "{{ play_dhuhr == true }}"
- condition: and
conditions:
- condition: trigger
id: asr_trigger
- condition: template
value_template: "{{ play_asr == true }}"
- condition: and
conditions:
- condition: trigger
id: isha_trigger
- condition: template
value_template: "{{ play_isha == true }}"
sequence:
- service: media_player.media_pause
target: !input pause_media_player
data: {}
- service: media_player.volume_mute
target:
entity_id: !input mute_tv
data:
is_volume_muted: true
- service: media_player.play_media
target: !input play_media_player
data:
media_content_id: !input adhan_mp3
media_content_type: mp3
- condition: template
value_template: "{{ media_resume }}"
- delay:
hours: 0
minutes: 0
seconds: 2
milliseconds: 0
- wait_template: "{{ is_state(wait_media_player, 'idle') }}"
timeout: 00:05:00
- service: media_player.media_play
target: !input pause_media_player
data: {}
default:
- choose:
- conditions:
- condition: and
conditions:
- condition: trigger
id: fajr_trigger
- condition: template
value_template: "{{ play_fajr == true }}"
sequence:
- service: media_player.media_pause
target: !input pause_media_player
data: {}
- service: media_player.volume_mute
target:
entity_id: !input mute_tv
data:
is_volume_muted: true
- service: media_player.play_media
target: !input play_media_player
data:
media_content_id: !input fajr_mp3
media_content_type: mp3
- condition: template
value_template: "{{ media_resume }}"
- delay:
hours: 0
minutes: 0
seconds: 2
milliseconds: 0
- wait_template: "{{ is_state(wait_media_player, 'idle') }}"
timeout: 00:05:00
- service: media_player.media_play
target: !input pause_media_player
data: {}
- conditions:
# - condition: not
# conditions:
# - condition: state
# entity_id: !input pause_for_calendar_event
# state: 'on'
- condition: or
conditions:
- condition: and
conditions:
- condition: trigger
id: dhuhr_trigger
- condition: template
value_template: "{{ play_dhuhr == true }}"
- condition: and
conditions:
- condition: trigger
id: asr_trigger
- condition: template
value_template: "{{ play_asr == true }}"
- condition: and
conditions:
- condition: trigger
id: maghrib_trigger
- condition: template
value_template: "{{ play_maghrib == true }}"
- condition: and
conditions:
- condition: trigger
id: isha_trigger
- condition: template
value_template: "{{ play_isha == true }}"
sequence:
- service: media_player.media_pause
target: !input pause_media_player
data: {}
- service: media_player.volume_mute
target:
entity_id: !input mute_tv
data:
is_volume_muted: true
- service: media_player.play_media
target: !input play_media_player
data:
media_content_id: !input adhan_mp3
media_content_type: mp3
- condition: template
value_template: "{{ media_resume }}"
- delay:
hours: 0
minutes: 0
seconds: 2
milliseconds: 0
- wait_template: "{{ is_state(wait_media_player, 'idle') }}"
timeout: 00:05:00
- service: media_player.media_play
target: !input pause_media_player
data: {}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment