batoulapps / adhan-js

High precision Islamic prayer time library for JavaScript

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Prayer times are wrong(?)

sami155 opened this issue · comments

Hello, so im using the app "Al-Azan" from @meypod. Great app. And it also uses your libary for getting its Prayer times. But what I noticed is, that your calculated prayer times for the Turkish Diyanet are wrong.

When compared with their App or website, you can see that the times are mostly wrong. Sometimes just a few minutes, sometimes like 20+ minutes. (Screenshots below) Its the same for every German city.

d0dbc80b-0442-438f-ace9-957220a195c2.png

ec519021-312a-43d9-bd28-0ecb0926d7f8.png

Also when I visited other websites, not from Diyanet and compared their times with other calculation methods from your libary, it was also different.

Maybe its an issue with your libary, maybe from the app im using, but I'm thanking for any help

I have noticed this as well. In the Philadelphia, USA area the Isha time is off by about 9 minutes in May/June.

I notice that the Turkey calculation method uses manual adjustments, and Isha doesn't have a manual adjustment.

commented

@sami155 please take screenshots from your calculation settings page with advanced section open (to see what are your calculation settings)
because for me there is only 1 minute difference on Diyanet tmethod (which is probably rounding) (checked on here)

@sami155 please take screenshots from your calculation settings page with advanced section open (to see what are your calculation settings)
because for me there is only 1 minute difference on Diyanet tmethod (which is probably rounding) (checked on here)

The settings are unchanged.
For Istanbul the times are, as you said, right with only minor differences in time.

But for German cities (e.g Berlin, Frankfurt, Munich) the differences are huge.
Especially on Fajr, and Isha

6a30cae4-96b2-474c-a05a-b0a4e32c7cb4.png

16c23575-e228-4ac5-847b-fcebfca2196e.png

fedccadd-f4ac-46ed-8b24-03af71d370eb.png

a706f2f5-03de-43fe-83a0-b907fad368a0.png

Ok, the difference is big, but a few days ago (the time that I posted the issue, the difference was massive) It is pretty unreliable rn.

(Btw, the search for changing my location is incredibly slow in the newest beta version. It takes 2-5 minutes for the Cities to pop up)

commented

@sami155 please send screenshot of your calculation settings (with advanced section visible)

also the slowness is because of Geonames website, I'm working on alternatives as we speak :)

@sami155 please send screenshot of your calculation settings (with advanced section visible)

also the slowness is because of Geonames website, I'm working on alternatives as we speak :)

Oh sorry I forgot to attach the settings screenshot.
3daf4242-3321-4abb-b9de-325112b7ff48.jpg

commented

It seems the issue has been long around. see these links:
batoulapps/adhan-swift#62
achaudhry/adhan#2 (comment)

It seems the issue has been long around. see these links:
batoulapps/adhan-swift#62
achaudhry/adhan#2 (comment)

Hmmm. Ok that is not good. What can we do about it? Maybe we could try to contact the "devs" behind the Dinanet website?

For now idk what I will be doing. Maybe I will be using another calculaton method whose times are most similar to Dianet and reliable....

commented

Can you ask here to see what method and angle they exactly use? https://www.iisev.de/wissensportal/artikel/die-zeit-des-morgengebets-und-des-imsks-in-deutschland/

their times match diyanet times, and they say they use angle 13 but it doesn't give correct results

commented

this is the info I have found so far, thanks to the info and link @meezaan has given me on discord: https://web.archive.org/web/20201127204050/https://fetva.diyanet.gov.tr/Cevap-Ara/4093/45--enlemin-otesinde-namaz-vakitleri?enc=QisAbR4bAkZg1HImMxXRn2t8ij%2beDtMkJdRGirgyeb8%3d

a) 45. Enlemin ötesinde Yatsı namazı vaktinin sona ermesiken 31.05.2007 tarih ve 48 sayılı Din İşleri Yüksek Kurulu kararında giderek şer'î gecenin(Güneşin batışı ile fecri sadık arasındaki sürenin) üçüncü biri ile yatsı vadesinin belirlenmeye devam edecek oybirliği ile, ancak;

b) 45. Enlemden sonra, Şer'î gecenin üçüncü büyük 1 saat 20 dakikadan sonraya kaldı geldikleri ve yaşadıkları yatsı namazı vaktinin başlangıcının akşam namazı vaktinden itibaren 1 saat 20 dakikayı geçmeyecek şekilde kabul alacağı oy çokluğu ile,

c) İmsak vaktinin, Mart-Eylül ayları arasında zaruret ve ihtiyaca binaen günün (a ve b bileşenlerinin artması) takdir edilmiş akşam-yatsı aralığına derece farkı gözlemler 10 dakika eklenerek bu sürenin çoğul doğuş saatinden çıkarılmak suretiyle takdirle belirlenmesine, takdire geçişin de tedrici olarak sağlanmasına oy birliği ile,

d) 62. Enlemin eşiği 62. Enlemin vakitlerinin kullanılmasına oy birliği ile,

e) İlmi yeterliliği bulunan şahıs ve kurulların bu alanlar için farklı değerlendirme yöntemleri kullanılarak farklı vakitler belirlemeleriyle, buna göre ibadetlerinin yanlış ve hatalı görülmeyeceğine oy birliği ile,
karar verdi.

This information seems like it is enough to make modifications to the calculations when method is "Turkey" and the longitude criteria is met.

So finally I found the official API from Diyanet. Idk why it took so long to find it:

https://github.com/DinIsleriYuksekKurulu/AwqatSalah

And here is the website for it: https://awqatsalah.diyanet.gov.tr/index.html

I hope you can integrate the API into the project

Apparently (if i understood it correctly) the API has a limit of 5 requests for public users, and 100 if you register.

Because on how limited this is, a solution could maybe be, to ask the dev directly.

commented

Using an online api is not an option for me, it has to be completely offline
adhan js has to update the method, which seems unlikely as maintainers seem to be inactive/busy with other things at the moment

I'll look into implementing it if there's no activity in a month or so on adhan js

commented

I tried adding the rules a, b and c from https://kurul.diyanet.gov.tr/Karar-Mutalaa-Cevap/4093/45-enlemin-otesinde-namaz-vakitleri
for rule c, I assumed its only for latitudes over 45, and used this:
Fajr = Sunrise - (Isha - Maghreb) - (10 minutes if inside march till September)

for latitudes over 62, I ignored the number and used 62 (rule d)

though one strange thing I noticed is that it seems they didn't take into account the -62 < and < -45 latitudes (not sure if this is even correct, but worth mentioning)

even though I got closer to the times on Diyanet on locations other than turkey, there were still 3-10 minutes difference between the new times and the times on Diyanet website

some places that had different Isha times benefitted from setting Isha angle to 16.2, but couldn't find why it would on some cases and not on others

this is as far as I could get to getting close to the Diyanet website

someone sent me this via pdf via email, may be useful:
DİYANET İŞLERİ BAKANLIĞI AVRUPA TAKVİMLERİNDEKİ İMSAK VE YATSI VAKİTLERİNE İLİŞKİN AÇIKLAMA.pdf

it seems the content of the pdf can be found online here: https://www.ditiblyon.fr/avrupa-takvimlerindeki-imsak-yatsi-vakitlerine-iliskin-aciklama/

edit: the link in previous comment seems to be more useful than this

well it seems diyanet website itself does not use rules a b c (for frankfurt at least, that I'm checking),
so I'm removing the rules again.