Skip to content

Add MAWAQIT integration#167919

Open
moha-tah wants to merge 163 commits into
home-assistant:devfrom
mawaqit:mawaqit-integration
Open

Add MAWAQIT integration#167919
moha-tah wants to merge 163 commits into
home-assistant:devfrom
mawaqit:mawaqit-integration

Conversation

@moha-tah

Copy link
Copy Markdown

Breaking change

Proposed change

Type of change

  • Dependency upgrade
  • Bugfix (non-breaking change which fixes an issue)
  • New integration (thank you!)
  • New feature (which adds functionality to an existing integration)
  • Deprecation (breaking change to happen in the future)
  • Breaking change (fix/feature causing existing functionality to break)
  • Code quality improvements to existing code or addition of tests

Additional information

Checklist

  • I understand the code I am submitting and can explain how it works.
  • The code change is tested and works locally.
  • Local tests pass. Your PR cannot be merged unless tests pass
  • There is no commented out code in this PR.
  • I have followed the development checklist
  • I have followed the perfect PR recommendations
  • The code has been formatted using Ruff (ruff format homeassistant tests)
  • Tests have been added to verify that the new code works.
  • Any generated code has been carefully reviewed for correctness and compliance with project standards.

If user exposed functionality or configuration variables are added/changed:

If the code communicates with devices, web services, or third-party tools:

  • The manifest file has all fields filled out correctly.
    Updated and included derived files by running: python3 -m script.hassfest.
  • New or updated dependencies have been added to requirements_all.txt.
    Updated by running python3 -m script.gen_requirements_all.
  • For the updated dependencies a diff between library versions and ideally a link to the changelog/release notes is added to the PR description.

To help with the load of incoming pull requests:

This commit refactors the storage handling in the mawaqit component. It introduces a new function, cleare_storage_entry. The previous code that used write_one_element is replaced with calls to cleare_storage_entry. Additionally, some docstrings where updated
…d test data saving approach, achieved 100% test coverage for config_flow.py, and removed obsolete tests
… 100% coverage in config_flow, addressing feature in issue home-assistant#38
…ded translations and descriptions for user navigation
…Added error translations for ar, fr, de, du, en, and tr
@moha-tah moha-tah marked this pull request as ready for review May 28, 2026 14:52
moha-tah and others added 11 commits June 27, 2026 19:01
…eys for exceptions and updating quality scale status in YAML. Add new strings for authentication and network errors.
* Updating methods to accept session parameter.

* Update Mawaqit integration requirements to version 1.0.13

* Update inject-websession status to 'done' in quality_scale.yaml for Mawaqit integration

* Verify injected session is forwarded in wrapper tests

Update the mawaqit_wrapper client-creation tests to pass an explicit
session and assert it is forwarded to AsyncMawaqitClient, keeping the
inject-websession code paths fully covered.

* Cover remaining mawaqit sensor and types branches

Add a direct unit test for NextPrayerSensor.native_value with an
unhandled description key and a display_name test exercising each
branch, bringing the integration to full statement coverage.

* Regenerate requirements_all.txt for mawaqit 1.0.13

* Update quality scale for Mawaqit integration from gold to platinum and mark strict-typing as done in quality_scale.yaml

* change lat-long type from str to float

* Regenerate mypy.ini for mawaqit strict-typing

* Add missing type annotations for mawaqit strict-typing

Annotate previously untyped functions in utils, mawaqit_wrapper,
config_flow, sensor and types so the integration passes the strict
mypy profile now enabled for platinum quality scale.

* Rename date params to avoid shadowing datetime.date

pylint redefined-outer-name: the date parameters in time_with_timezone
and compute_islamic_midnight shadowed the imported datetime.date.

---------
@moha-tah moha-tah force-pushed the mawaqit-integration branch from d99ef36 to 336678e Compare June 30, 2026 22:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants