English · Deutsch
Dashboard card for the Entity Watchguard integration — one row per watched domain, expandable into the entities that are actually missing, with the recovery actions right there.
Requires the Entity Watchguard integration. The card reads that integration's problem sensors; on its own it has nothing to show.
| Nothing wrong | An outage, expanded |
|---|---|
![]() |
![]() |
Left: every watched domain listed with a zero counter, the two action buttons at the bottom. Right: the sensor domain expanded after an outage — each entity with how long it has been gone and how many recovery attempts ran, and the button that applies the ignore label.
- HACS → Dashboard → search for Entity Watchguard Card → Download
- Reload the browser (Ctrl+F5 / Cmd+Shift+R)
HACS registers the Lovelace resource itself — no manual "Add resource" step.
If the card is not in the HACS catalogue yet: HACS → ⋮ → Custom repositories → URL https://github.com/LuckyTriple7/ha-entity-watchguard-card, category Dashboard.
- Copy
dist/entity-watchguard-card.jsintoconfig/www/entity-watchguard-card/ - Settings → Dashboards → ⋮ → Resources → Add resource
- URL:
/local/entity-watchguard-card/entity-watchguard-card.js - Type: JavaScript Module
- URL:
Add a card, search for Entity Watchguard, or write it in YAML:
type: custom:entity-watchguard-card
title: Entity Watchguard # optional
show_ok_domains: true # also list domains with nothing wrong
show_buttons: true # Check now / Recover now
allow_ignore: true # per-entity "ignore" action
ignore_label: offline # label applied by that action
language: auto # auto | de | en- One row per watched domain with a counter; click to expand the affected entities
- Each entity shows since when it has been gone, how many recovery attempts ran, and whether Watchguard gave up
- Click an entity for its more-info dialog
- The label button applies your ignore label to that entity — it is excluded from the next scan on, provided that label is listed under Configure → Exceptions. The label is created on first use
- German and English; follows the user's Home Assistant language, or set
language: de/enexplicitly - Has a visual editor
Through the entity registry, not through entity IDs: an entity belongs to the card when its registry platform is entity_watchguard. A per-domain sensor states its domain in a domain attribute, and the two buttons are matched on their registry translation_key (check_now, recover_now).
So renaming an entity, or renaming the Entity Watchguard device, does not break the card. Integration versions before 1.0.0 provide neither the domain attribute nor the translation keys; for those, the card falls back to the binary_sensor.entity_watchguard_<domain> ID shape they always produced.
Up to version 0.9.1 the card shipped inside the integration, which registered its own Lovelace resource pointing at /entity_watchguard_static/entity-watchguard-card.js. From Entity Watchguard 1.0.0 on it lives here instead.
Install this card first, then update the integration — that way the card is never missing:
- Install this card (see Installation above)
- Update the Entity Watchguard integration to 1.0.0 or later and restart Home Assistant — it removes its leftover Lovelace resource on that start
- Reload the browser (Ctrl+F5 / Cmd+Shift+R)
Between steps 1 and 2 both resources exist briefly. That is harmless: the card only defines its custom element if no other copy has already done so. The other order leaves your dashboards showing "Custom element doesn't exist" until this card is installed — nothing is damaged, the cards just render empty.
Your card configuration needs no changes: same card type, same options.
node --check dist/entity-watchguard-card.js
node tests/smoke.jsThe smoke test renders the card against DOM stubs and asserts on the produced HTML — no dependencies, no build step. It covers both entity-resolution paths: the registry one and the legacy ID shape. Both run in CI on every push.
MIT — see LICENSE.

