What it is
Website Health fetches the pages and files you list on a schedule, confirms each returns success and contains the text or JSON keys you require, and turns the result into Home Assistant entities. It catches the page that loads while the part that matters is missing.
When checks fail, it first asks two unrelated hosts whether your own internet works. If they cannot be reached either, the status reads My internet is down instead of Down. It sends GET requests only, plus an optional heartbeat ping, and changes nothing on the site.
My Setup
I use Website Health to monitor a website I operate.
Page and JSON checks
It checks pages for expected text and validates a JSON response.
Internet check
A separate internet-connectivity check helps prevent a home internet outage from being misreported as a website failure.
Phone notifications
The blueprint sends phone notifications when a check changes state.
Why I use it this way
A site that answers is not always a site that works. Checking for the content that matters, and ruling out my own connection first, makes an alert worth acting on.
What it can do
Page checks
Success code plus required text in the HTML the server sends.
JSON checks
Success code, valid JSON and required top-level keys.
Internet check first
Failures are blamed on the site only after unrelated control hosts answer.
Build info and heartbeat
Optionally shows which build is live from a JSON file, and pings a dead-man's switch so you hear when Home Assistant stops checking.
Notification blueprint
Down, recovered, internet down and a daily summary.
Install and connect
Before you start
- A website reachable from Home Assistant, with pages or JSON files that contain stable text or keys to check.
- Home Assistant 2026.10.2 or newer.
Install from the Marketplace
In Settings > Marketplace, search for Website Health and select Install. If the integration can load right away, its setup opens; otherwise a repair asks you to restart Home Assistant. Before Home Assistant 2026.11, search for it in HACS, download it and restart.
Add a website
In Settings > Devices & services, add Website Health with the site's address and a first check: a name, a path and its type, then the required text or keys.
Choose control hosts carefully
The internet check only works if the control hosts share nothing with the site: not its host, CDN or DNS provider. Avoid DNS-over-HTTPS resolvers, which many home firewalls block.
Add notifications
Import the blueprint and create an automation from it. To test it, set the status sensor by hand in Developer tools; editing a check so it fails does not notify.
Limits and caveats
- It does not run JavaScript, so pages built entirely in the browser need text from the HTML shell, a server-rendered page or a JSON endpoint.
- No logins, custom headers, POST checks, regular expressions, link crawling or checks from more than one location.
- Restarts and option saves reload the entities, so a site that goes down during a restart is not reported until it recovers and fails again; the heartbeat ping covers this from outside.
- Every check is a real page view and shows up in most analytics tools unless its user agent is filtered.
