Releases: ummeco/praycalc-ha
Release list
PrayCalc for Home Assistant 0.8.0
Addresses the review on hacs/default#9123, plus three runtime bugs found while verifying it.
Home Assistant 2026.3.0 or newer is now required.
Fixed — entities had no names
There was no translations/ directory. Home Assistant loads runtime translations only from translations/<lang>.json; strings.json is a build-time source file a custom integration never reads. All nine entities fell back to empty names and collided into _2.._9 suffixes, and every config-flow label rendered as a raw key.
Fixed — prayer times were wrong by your UTC offset
The API returns UTC wall-clock times with no date attached. The integration read them as local wall-clock, so every timestamp was off by the local offset. Times are now anchored to real instants, rolled forward across UTC midnight, and re-anchored so Dhuhr lands on the correct local date. Verified across eight cities from UTC-8 to UTC+14.
Fixed — the Hijri sensor was throwing
hijriDate arrives as a formatted string, but the code called .get() on it as if it were a mapping, raising AttributeError on every state update.
Fixed — Fajr and Sunrise were missing east of Greenwich
A formatter bug in the backing API returned --:-- for any time falling before 00:00 UTC, which is where Fajr and Sunrise land across Indonesia, Malaysia, Japan, Australia and New Zealand. A separate rounding bug could emit an invalid 01:60. Both fixed.
Changed
- Version floor raised to 2026.3.0. The config flow uses APIs added in 2024.4, and the brand icons are only served from 2026.3.
- Polling reduced from every 60 seconds to every 30 minutes — 1440 requests a day per install down to 48. The countdown still updates every minute, recomputed locally with no network traffic.
- Settings are editable in place. Use Configure for calculation method, madhab and API URL; use Reconfigure to move an entry to a new location. Neither requires deleting and re-adding.
- Removed dead code in the next-prayer sensor and a redundant per-entity refresh on startup.
Breaking — entity IDs
Now that names resolve, entity IDs changed. Verified against Home Assistant 2026.9.0b1:
| Sensor | Entity ID (no city set) |
|---|---|
| Next prayer | sensor.praycalc_next_prayer |
| Prayer times | sensor.praycalc_fajr … sensor.praycalc_isha |
| Qibla | sensor.praycalc_qibla_direction |
| Hijri date | sensor.praycalc_hijri_date |
If you set a city, it is part of the ID — entering "Detroit" gives sensor.praycalc_detroit_fajr. Check Settings > Devices & Services > PrayCalc > entities for yours.
The next-prayer state is now a lowercase key (fajr, dhuhr, asr, maghrib, isha) with the label translated for display, so automations should compare against the key. Sunrise is no longer reported as a "next prayer".
Testing
62 tests, 12 of them booting a real Home Assistant and asserting the exact entity IDs the README documents. CI gains a translations-parity gate and a pytest job — hassfest does not validate custom-integration translations, which is why 0.7.1 shipped green with none.
PrayCalc for Home Assistant 0.7.1
Prayer-time sensors (Fajr, Dhuhr, Asr, Maghrib, Isha, next-prayer countdown) backed by the PrayCalc API, with config-flow setup. Adds in-repo brand assets; validation (hassfest + HACS action) green: https://github.com/ummeco/praycalc-ha/actions/runs/29174915617
PrayCalc for Home Assistant 0.7.0
Initial public release. Prayer-time sensors (Fajr, Dhuhr, Asr, Maghrib, Isha, next-prayer countdown) backed by the PrayCalc API, with config-flow setup. Install via HACS.