Skip to content

Say which silence it is when the dashboard goes quiet - #39

Merged
matuszeg merged 1 commit into
mainfrom
vendor-tile
Aug 25, 2026
Merged

matuszeg merged 1 commit into
mainfrom
vendor-tile

Conversation

@matuszeg

Copy link
Copy Markdown
Owner

A vendor outage and a broken redirect look identical on the dashboard: both end with every chip stale. binary_sensor.pumpspy_local_vendor_reachable has been able to tell them apart since #19, and the dashboard never read it.

Two changes, neither of which takes up space while things are working:

  • The liveness chip names the suspect when it goes stale. "No data, vendor down" when the vendor sensor is off, "No data, vendor was OK" when it's on, plain "No data" when nothing has been forwarded yet. The past tense is load-bearing: nothing is forwarded while the device is quiet, so the verdict freezes, and it's the last answer rather than a live one. It's still the useful one, since it was taken at about the moment the reports stopped.
  • A card that exists only while the vendor is unreachable, saying the sump is still being watched locally and it's the phone app that's gone deaf. Built-in markdown, not Mushroom, for the same reason as the alerts above it.

No permanent tile, which answers the issue's open question. Vendor reachability is on essentially all the time, and something that reads green for months is something you stop reading.

test_dashboard.py needed two adjustments. The vendor sensor belongs to the integration's own service device, so it has no device id in it and it isn't built from an entity description: the known-id set is rebuilt from descriptions only, and every referenced id had to contain the your_device_id placeholder. Both now allow the two service entities by name, listed one by one rather than exempting anything that lacks a device id, which would exempt a typo too. A new test pins the coupling, checking the raw text as well as the parsed YAML because one of the two references lives inside a Jinja template the entity walk can't see.

Verified on the live install, not just in tests:

  • All four branches of the chip template rendered through Home Assistant's own template API, the "Live" branch against real state and the three stale branches with the age forced.
  • binary_sensor.pumpspy_local_vendor_reachable confirmed present in /api/states, which is the failure this would otherwise hit silently: a wrong id means the card simply never appears.
  • Dashboard deployed and read back identical to what was sent, with every entity it names present on the instance.

One gap, stated plainly: the card itself hasn't been seen on screen, because that needs a real vendor outage and Chrome couldn't reach the instance to screenshot it. Its structure is identical to the three conditional alert cards already running in production.

Closes #28

A vendor outage and a broken redirect end the same way here: every chip
freezes and the display cannot tell you which one happened. The vendor
sensor from #19 is the only thing that separates them, and the dashboard
was not reading it.

The liveness chip now names the suspect when it goes stale, and a card
appears while the vendor is unreachable to say that the sump is still
being watched but the phone app is deaf. Neither takes up space while
things are working, which is deliberate: reachability is on nearly all
the time, and a tile that reads green for months is one you stop
reading.

The chip's wording keeps the past tense. Nothing is forwarded while the
device is quiet, so the verdict freezes with it, and what it reports is
the last answer we got rather than a live one. That answer was taken at
about the moment the reports stopped, which is the question being asked.

Closes #28
@matuszeg
matuszeg merged commit 12cb9e0 into main Aug 25, 2026
3 checks passed
@matuszeg
matuszeg deleted the vendor-tile branch August 25, 2026 02:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Dashboard shows whether the chain is alive, but not whether the vendor is

1 participant