One Error I was able to find was the naming of entity (entity_id: media_player.**dining_room_speakerr**
) was wrong for Fajr prayers resulting not in playing this. I will wait for Dhuhur prayers to see if it works and update the thread.
JazzakAllah
Update:
Alhamdulillah, I was able to play Asr Adhan … There was change in sensor naming convention in automation that caused the issue, I have corrected it as it was advised in the comments. Following is the correct automations.yaml file
automations.yaml
- id: '1517693010922'
alias: Adhan
trigger:
- platform: template
value_template: '{{ as_timestamp(strptime(states("sensor.time_date"), "%H:%M,
%Y-%m-%d")) == as_timestamp(strptime(states("sensor.dhuhr_prayer"), "%Y-%m-%dT%H:%M:%S"))
}}'
- platform: template
value_template: '{{ as_timestamp(strptime(states("sensor.time_date"), "%H:%M,
%Y-%m-%d")) == as_timestamp(strptime(states("sensor.asr_prayer"), "%Y-%m-%dT%H:%M:%S"))
}}'
- platform: template
value_template: '{{ as_timestamp(strptime(states("sensor.time_date"), "%H:%M,
%Y-%m-%d")) == as_timestamp(strptime(states("sensor.maghrib_prayer"), "%Y-%m-%dT%H:%M:%S"))
}}'
- platform: template
value_template: '{{ as_timestamp(strptime(states("sensor.time_date"), "%H:%M,
%Y-%m-%d")) == as_timestamp(strptime(states("sensor.isha_prayer"), "%Y-%m-%dT%H:%M:%S"))
}}'
condition: []
action:
- alias: ''
data:
entity_id: media_player.dining_room_speaker
media_content_id: https://www.islamcan.com/audio/adhan/azan2.mp3
media_content_type: audio/mp3
service: media_extractor.play_media
- data:
volume_level: 0.4
service: media_player.volume_set
target:
entity_id: media_player.dining_room_speaker
mode: single
- id: '1517693034922'
alias: Fajar Azaan
trigger:
- platform: template
value_template: '{{ as_timestamp(strptime(states("sensor.time_date"), "%H:%M,
%Y-%m-%d")) == as_timestamp(strptime(states("sensor.fajr_prayer"), "%Y-%m-%dT%H:%M:%S"))
}}'
condition: []
action:
- alias: Fajar
data:
entity_id: media_player.dining_room_speaker
media_content_id: https://www.islamcan.com/audio/adhan/azan3.mp3
media_content_type: audio/mp3
service: media_extractor.play_media
- data:
volume_level: 0.4
service: media_player.volume_set
target:
area_id: living_room
device_id: 83982c1f80fda986dd93cfbee8f335d7
entity_id: media_player.dining_room_speaker
mode: single
- alias: Restart HA
trigger:
platform: time
at: 02:00:00
action:
- service: homeassistant.restart
JazzakAllah
123
(Taras)
July 29, 2021, 1:16pm
369
The information presented in the first post of this thread is almost 3 years old. Some of it is outdated and there are now simpler, easier ways to do the same things.
For example, I posted a revised version of the automation here and it demonstrates that the original Template Triggers can be replaced with a far more compact Time Trigger :
trigger:
- platform: time
at:
- sensor.fajr_prayer
- sensor.dhuhr_prayer
- sensor.asr_prayer
- sensor.maghrib_prayer
- sensor.isha_prayer
If we apply this enhancement to your two automations, we get this:
- id: '1517693010922'
alias: Adhan
trigger:
- platform: time
at:
- sensor.dhuhr_prayer
- sensor.asr_prayer
- sensor.maghrib_prayer
- sensor.isha_prayer
condition: []
action:
- service: media_extractor.play_media
target:
entity_id: media_player.dining_room_speaker
data:
media_content_id: https://www.islamcan.com/audio/adhan/azan2.mp3
media_content_type: audio/mp3
- service: media_player.volume_set
target:
entity_id: media_player.dining_room_speaker
data:
volume_level: 0.4
mode: single
- id: '1517693034922'
alias: Fajar Azaan
trigger:
- platform: time
at: sensor.fajr_prayer
condition: []
action:
- service: media_extractor.play_media
target:
entity_id: media_player.dining_room_speaker
data:
media_content_id: https://www.islamcan.com/audio/adhan/azan3.mp3
media_content_type: audio/mp3
- service: media_player.volume_set
target:
area_id: living_room
device_id: 83982c1f80fda986dd93cfbee8f335d7
entity_id: media_player.dining_room_speaker
data:
volume_level: 0.4
mode: single
In addition, the Islamic Prayer integration can now be configured via the UI:
Therefore it is no longer necessary to configure it via configuration.yaml
# This is not needed because it can now be done via the UI
islamic_prayer_times:
calculation_method: karachi
The optional five Template Sensors, showing the current day’s prayer times, can be reduced to this:
- platform: template
sensors:
salah_fajr:
friendly_name: "Salah Fajr"
value_template: "{{ states('sensor.fajr_prayer') | as_timestamp | timestamp_custom('%H:%M') }}"
salah_dhuhr:
friendly_name: "Salah Dhuhr"
value_template: "{{ states('sensor.dhuhr_prayer') | as_timestamp | timestamp_custom('%H:%M') }}"
salah_asr:
friendly_name: "Salah Asr"
value_template: "{{ states('sensor.asr_prayer') | as_timestamp | timestamp_custom('%H:%M') }}"
salah_maghrib:
friendly_name: "Salah Maghrib"
value_template: "{{ states('sensor.maghrib_prayer') | as_timestamp | timestamp_custom('%H:%M') }}"
salah_isha:
friendly_name: "Salah Isha"
value_template: "{{ states('sensor.isha_prayer') | as_timestamp | timestamp_custom('%H:%M') }}"
1 Like
Issam2204
(Issam)
November 27, 2021, 2:44pm
371
Thank you a lot for the updated information! I was wondering if it was possible to only show the highlighted information instead of all of that data:
Issam2204
(Issam)
December 6, 2021, 12:07am
372
@123
Could you please help me out configuring the configuration.yaml? I’m using the version you posted above. I now get this error:
2021-12-06 01:05:20 WARNING (MainThread) [homeassistant.helpers.template] Template warning: 'as_timestamp' got invalid input 'unknown' when rendering template '{{ states('sensor.fajr_prayer') | as_timestamp | timestamp_custom('%H:%M') }}' but no default was specified. Currently 'as_timestamp' will return 'None', however this template will fail to render in Home Assistant core 2022.1
Any help is very welcome! Thank you!
123
(Taras)
December 6, 2021, 1:20am
373
It’s not an error, it’s a warning.
WARNING (MainThread) [homeassistant.helpers.template]
The message clearly explains why:
‘as_timestamp’ got invalid input ‘unknown’
The result of this:
states('sensor.fajr_prayer')
was unknown
.
That means the value of sensor.fajr_prayer
is unknown
. Did you install the Islamic Prayer Times integration? Do you see five sensors in Configuration > Entities related to the Prayer Times integration?
1 Like
Issam2204
(Issam)
December 6, 2021, 9:08am
374
Thank you a lot! That was indeed the problem: I did not have the Islamic Prayer Times installed. Thanks again!
Himdola
December 24, 2021, 12:00pm
375
Guys, the times which is gives to me is not really correct, some of 10 minutes after or before. How can i setup some + or - to let me see the correct times on lovelace?
type: glance
entities:
- entity: sensor.fajr_prayer
format: time
- entity: sensor.dhuhr_prayer
format: time
- entity: sensor.asr_prayer
format: time
- entity: sensor.maghrib_prayer
format: time
- entity: sensor.isha_prayer
format: time
Himdola
December 24, 2021, 12:08pm
376
Same problem did you just find the problem? See my question up maybe a workaround if that is possible to let see the lovelace the time with some +10 min -10 min as example.
aasimenator
(Aasimenator)
December 30, 2021, 5:15pm
377
Can someone post an updated version of this, I cannot get this working correctly. the original post is outdated as of today and does not function correctly.
Currently, I am getting the following error in the logs, It does execute when I run the automation manually but does not execute on its own or on the correct time.
Thank you
123
(Taras)
December 30, 2021, 5:35pm
378
Scroll up about 7 posts and you’ll find an updated version posted on July 29. That post also contains a link to the following simplified version:
https://community.home-assistant.io/t/adhan-automation-using-home-assistant-and-google-home-mini/135622/290?u=123
aasimenator
(Aasimenator)
December 30, 2021, 6:58pm
379
Still not working below is the error
123
(Taras)
December 30, 2021, 7:00pm
380
That’s not one of the simplified versions I suggested.
aasimenator
(Aasimenator)
December 31, 2021, 7:25am
381
@123
Thank you, after I reapplied the automation using your simplified version, everything worked as expected.
Below is my configuration for anyone who wishes to use it.
Configuration.yaml
homeassistant:
latitude: xxxx
longitude: xxxxx
elevation: xx
unit_system: metric
time_zone: Asia/Kolkata
# Configure a default setup of Home Assistant (frontend, api, etc)
default_config:
discovery:
media_extractor:
sun:
updater:
# Text to speech
tts:
- platform: google_translate
group: !include groups.yaml
automation: !include automations.yaml
script: !include scripts.yaml
scene: !include scenes.yaml
mqtt:
discovery: true
discovery_prefix: homeassistant
broker: 192.168.xxx.xxx
port: 18xx
client_id: xxxxxxx
keepalive: 60
username: xxxxxxxxx
password:xxxxxxxxxx
http:
use_x_forwarded_for: true
trusted_proxies:
- xxx
sensor:
- platform: time_date
display_options:
- "time"
- "date"
- "date_time"
- "date_time_iso"
- "time_date"
- "time_utc"
- "beat"
Automations.yaml
- id: "1517693010922"
alias: Adhan
trigger:
- platform: time
at:
- sensor.fajr_prayer
- sensor.dhuhr_prayer
- sensor.asr_prayer
- sensor.maghrib_prayer
- sensor.isha_prayer
condition: []
action:
- service: media_extractor.play_media
target:
entity_id: media_player.living_room_speaker
data:
media_content_id: https://www.islamcan.com/audio/adhan/azan2.mp3
media_content_type: audio/mp3
- service: media_player.volume_set
target:
entity_id: media_player.living_room_speaker
data:
volume_level: 1.0
mode: single
Sensors.yaml
sensors:
salah_fajr:
friendly_name: "Salah Fajr"
value_template: "{{ states('sensor.fajr_prayer') | as_timestamp | timestamp_custom('%H:%M') }}"
salah_dhuhr:
friendly_name: "Salah Dhuhr"
value_template: "{{ states('sensor.dhuhr_prayer') | as_timestamp | timestamp_custom('%H:%M') }}"
salah_asr:
friendly_name: "Salah Asr"
value_template: "{{ states('sensor.asr_prayer') | as_timestamp | timestamp_custom('%H:%M') }}"
salah_maghrib:
friendly_name: "Salah Maghrib"
value_template: "{{ states('sensor.maghrib_prayer') | as_timestamp | timestamp_custom('%H:%M') }}"
salah_isha:
friendly_name: "Salah Isha"
value_template: "{{ states('sensor.isha_prayer') | as_timestamp | timestamp_custom('%H:%M') }}"
123
(Taras)
December 31, 2021, 2:16pm
382
Glad to hear it works for you but why did you feel the need to re-post the example that I had already posted?
This thread is already exceedingly long and filled with duplications; it’s preferable to just link to a post.
Because you don’t have everything in a single place, plus it’s not user-friendly because you don’t mention what goes in which file. If I had to guess these things from your post, I am sure others who are new would also have to guess the same, therefore I mentioned the complete information in 1 single post instead of going back and forth to different posts.
Salerg
January 3, 2022, 1:06pm
384
@Himdola and others looking for Diyanet times:
I’ve managed to make this work using scrape. Go to the diyanet website and change the location based on your current location. My example below is set to Rotterdam, The Netherlands: Diyanet İşleri Başkanlığı | Rotterdam İçin Namaz Vakti
You should change the URL in below and copy paste this in your configuration.yaml
sensor:
- platform: time_date
display_options:
- 'time'
- 'date'
- 'date_time'
- 'date_time_utc'
- 'date_time_iso'
- 'time_date'
- 'time_utc'
- 'beat'
- platform: scrape
resource: https://namazvakitleri.diyanet.gov.tr/tr-TR/13980/rotterdam-icin-namaz-vakti
select: "#today-pray-times-row > div:nth-child(1) > div > div.tpt-time"
name: İmsak
- platform: scrape
resource: https://namazvakitleri.diyanet.gov.tr/tr-TR/13980/rotterdam-icin-namaz-vakti
name: Güneş
select: "#today-pray-times-row > div:nth-child(2) > div > div.tpt-time"
- platform: scrape
resource: https://namazvakitleri.diyanet.gov.tr/tr-TR/13980/rotterdam-icin-namaz-vakti
name: Öğle
select: "#today-pray-times-row > div:nth-child(3) > div > div.tpt-time"
- platform: scrape
resource: https://namazvakitleri.diyanet.gov.tr/tr-TR/13980/rotterdam-icin-namaz-vakti
name: İkindi
select: "#today-pray-times-row > div:nth-child(4) > div > div.tpt-time"
- platform: scrape
resource: https://namazvakitleri.diyanet.gov.tr/tr-TR/13980/rotterdam-icin-namaz-vakti
name: Akşam
select: "#today-pray-times-row > div:nth-child(5) > div > div.tpt-time"
- platform: scrape
resource: https://namazvakitleri.diyanet.gov.tr/tr-TR/13980/rotterdam-icin-namaz-vakti
name: Yatsı
select: "#today-pray-times-row > div:nth-child(6) > div > div.tpt-time"
- platform: template
sensors:
imsak_vakti:
friendly_name: "İmsak Vakti"
value_template: "{{ states('sensor.imsak') == states('sensor.time') }}"
- platform: template
sensors:
gunes_vakti:
friendly_name: "Güneş Vakti"
value_template: "{{ states('sensor.gunes') == states('sensor.time') }}"
- platform: template
sensors:
ogle_namazi:
friendly_name: "Öğle Vakti"
value_template: "{{ states('sensor.ogle') == states('sensor.time') }}"
- platform: template
sensors:
ikindi_namazi:
friendly_name: "İkindi Vakti"
value_template: "{{ states('sensor.ikindi') == states('sensor.time') }}"
- platform: template
sensors:
aksam_namazi:
friendly_name: "Akşam Vakti"
value_template: "{{ states('sensor.aksam') == states('sensor.time') }}"
- platform: template
sensors:
yatsi_namazi:
friendly_name: "Yatsı Vakti"
value_template: "{{ states('sensor.yatsi') == states('sensor.time') }}"
Go to your automations.yaml and add this:
- alias: Namaz
trigger:
- platform: state
entity_id:
- sensor.imsak_vakti
- sensor.ogle_namazi
- sensor.ikindi_namazi
- sensor.aksam_namazi
- sensor.yatsi_namazi
to: "True"
action:
- service: media_player.play_media
data:
entity_id: media_player.home_group
media_content_id: https://www.naataudio.com/downloads/IslamicRingtones/bismillah_ir_rahman.mp3
media_content_type: music
- service: media_player.volume_set
data:
entity_id: media_player.home_group
volume_level: '0.2'
Lovelace would look like this:
type: glance
entities:
- entity: sensor.imsak
icon: mdi:clock-time-five-outline
- entity: sensor.ogle
icon: mdi:clock-time-five-outline
- entity: sensor.ikindi
icon: mdi:clock-time-five-outline
- entity: sensor.aksam
icon: mdi:clock-time-five-outline
- entity: sensor.yatsi
icon: mdi:clock-time-five-outline
state_color: false
show_state: true
show_icon: true
show_name: true
columns: 5
4 Likes
123
(Taras)
January 3, 2022, 2:33pm
385
aasimenator:
Because you don’t have everything in a single place, plus it’s not user-friendly because you don’t mention what goes in which file. If I had to guess these things from your post, I am sure others who are new would also have to guess the same, therefore I mentioned the complete information in 1 single post instead of going back and forth to different posts.
It’s this kind of attitude that makes me regret having providing assistance in this topic.
Given that my contributions have been so terribly difficult to comprehend, I have decided to cease participation to avoid confusing anyone else.
From now on, you can answer any questions about my examples you have re-posted. Good luck.
Salerg
January 3, 2022, 2:48pm
386
@123 Just ignore that guy. I found your contribution very valuable! Thanks.
Himdola
January 3, 2022, 3:43pm
387
Thank you so many many much. It is so simple and working like a charm, i was looking so long time a long as 2 years a solution to get that information from diyanet site. But my developer skills are so bad. Thank you thank you…