Add Gatus Integration - #175085
Conversation
|
Please take a look at the requested changes, and use the Ready for review button when you are done, thanks 👍 |
There was a problem hiding this comment.
Pull request overview
This PR adds a new "Gatus" integration for Home Assistant that polls a Gatus uptime-monitoring instance and exposes its monitored endpoints as connectivity binary sensors. It introduces the standard integration scaffolding (manifest, config flow, coordinator, binary sensor platform, strings, quality scale, CODEOWNERS, and generated registries) plus config-flow tests, matching how new service integrations are typically registered in the codebase.
Changes:
- New
gatusintegration: config flow (URL entry + validation), 30s polling coordinator, and connectivity binary sensors per endpoint. - Config-flow test suite plus bronze quality-scale declaration.
- Generated registry updates (
integrations.json,config_flows.py) and CODEOWNERS entry.
Reviewed changes
Copilot reviewed 12 out of 14 changed files in this pull request and generated 5 comments.
Show a summary per file
| File | Description |
|---|---|
| homeassistant/components/gatus/init.py | Setup/unload of the config entry and runtime coordinator |
| homeassistant/components/gatus/config_flow.py | User config flow validating the Gatus URL |
| homeassistant/components/gatus/coordinator.py | Polls Gatus statuses API every 30s |
| homeassistant/components/gatus/binary_sensor.py | Connectivity sensors; unique IDs not entry-scoped |
| homeassistant/components/gatus/manifest.json | Manifest carries several unused empty keys |
| homeassistant/components/gatus/quality_scale.yaml | Marks non-applicable rules done instead of exempt |
| homeassistant/components/gatus/const.py / strings.json | Domain constant and UI strings |
| tests/components/gatus/* | Config-flow tests; no platform/coordinator tests |
| homeassistant/generated/* , CODEOWNERS | Registry and ownership entries |
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
|
Thanks again for the review @joostlek. Test failures again appear to not be related to my code, is the CI really buggy at the moment or is it just me? |
| """Return the most recent monitoring result (Gatus appends newest last).""" | ||
| results = self.endpoint_data.results | ||
| if not results: | ||
| return None | ||
| return results[-1] |
Check requirementsChecked at commit
📦 gatus-api: 1.0.3
|
|
Please send me a message on Discord |
Proposed change
This PR is adding an integration to support Gatus Uptime Monitoring. Initial support is limited to binary sensors representing the monitored endpoints. https://github.com/TwiN/gatus
Type of change
Additional information
Checklist
ruff format homeassistant tests)If user exposed functionality or configuration variables are added/changed:
If the code communicates with devices, web services, or third-party tools:
Updated and included derived files by running:
python3 -m script.hassfest.requirements_all.txt.Updated by running
python3 -m script.gen_requirements_all.To help with the load of incoming pull requests: