Repository navigation
v3.3.0 - More integrations, more internet, more ways to display
[3.3.0]
A major release built around Monitoring: bring Uptime Kuma, Ping,
Gatus, and UptimeRobot straight into the diagram as their own badges
and circles, not just router-brand integrations. Also adds a
Secondary Internet entity for a backup or genuine second
connection, real-time Download/Upload summary items sourced from the
Router itself, a Card Size control (Compact, Fit to Width, or a
manual Scaled percentage) aimed at fitting large networks on a phone
screen, keyword search across every Auto-Discovery list, and
support for additional integrations.
Added
- Monitoring - a new main menu, and a new way of drawing a service's
status directly on the diagram rather than only on the device that
runs it. Auto-discovery covers four integrations, each confirmed
against home-assistant/core's own test suite where one exists:
Uptime Kuma, Gatus, and UptimeRobot (all three checked
directly against their real entity/snapshot test fixtures), and
Ping (from its documentedround_trip_time_avgattribute). Each
discovered or hand-added service gets its own entity, name override,
icon, and border/icon colors (with separate colors while it's down),
plus a Type of Auto, External, or Internal:- External services draw in a new dashed box above Internet,
joined to it by dotted lines - one per circle when a Secondary
Internet is configured. - Internal services can be assigned to Clients (their own
"Monitored" sub-group) or to any device or client already
configured anywhere on the card, not just Router and Servers -
Internet, LAN, the Core Switch, any Switch or Access Point at any
depth, any Server, or any individual Client. A device with several
services shows the worst state among them. - Auto resolves live, from the monitor's own data: its tags,
then the address it checks (a public address is External; a
private range, single-word host, or.local/.lanname is
Internal). Gatus exposes neither, so Auto falls back to checking
its name for a keyword like "External" or "Internal" (Gatus puts
its group name into the entity name); UptimeRobot, with nothing to
go on, defaults to External, since a cloud checker can only be
watching something reachable from the internet. The discovery list
and the service editor both flag a service Auto can't classify. - An optional response-time badge, per service (Show Response
Time Badge), at the bottom of its own circle (not on a device
badge) - from its Response Time entity, or a status entity's own
round_trip_time_avgattribute - colored globally by the same
single-color-or-threshold choice PoE badges use. - A down badge flashes, following the card's own Enable Animations
switch like every other animation on the card. - Global settings: badge colors and icons by state (up/down/pending/
maintenance), badge location, the icon shown when several services
share one device badge, how an unavailable entity is treated
(Pending by default, or Down), Box Border Color/Radius for the
External box, and Show Monitored Names - independent of the
Clients page's own Show Names, so either can be on without the
other. - Both the auto-discovery list and the list of services already
added can be filtered by integration, each showing how many of
each it found; filtering the already-added list also turns "Delete
All" into "Delete Shown".
- External services draw in a new dashed box above Internet,
- Real-time Download / Upload summary items, sourced from two new
entity pickers on the Router page (Download Speed Entity,
Upload Speed Entity). With no Router configured, they fall back
to the Primary Access Point's own Download/Upload entities instead;
a Router that is configured but has no speed entity for a direction
shows nothing for that direction rather than borrowing the Primary
AP's. Router discovery for FRITZ!Box, pfSense, ASUSWRT,
and AsusRouter (already supported for the router entity itself)
now also fills these in automatically where each integration exposes
live throughput: FRITZ!Box's and pfSense's own WAN rate sensors
(pfSense from the default gateway's interface specifically, both
directions from the same WAN), and ASUSWRT's and AsusRouter's
"Download/Upload speed" sensors - both confirmed against
home-assistant/core's own test fixtures, including which sensors are
enabled by default and which are only created for interfaces
selected in AsusRouter's own options. ASUSWRT's speed sensors carry
a caution in the discovery list, since they're reported to read 0 or
identical values on some routers. They're now the default Summary
Item 1 and 2, ahead of the plain Speedtest-sourced Download/Upload. - Secondary WAN IP Address, a new Router-page field shown only once
a Secondary Internet exists, displayed under the secondary circle the
same way the primary's WAN Address already is. AsusRouter fills it in
automatically - confirmed against its own official change log
(wan_ip/wan_ip_secondarysensors, added in integration0.24.0
alongside its secondary-WAN support). Checked as well against UniFi
and TP-Link (Omada, Deco, Router): neither exposes a distinct
secondary WAN address in any integration this card already supports,
so there's nothing to auto-fill there yet. - Card Size (Advanced → Layout) - one choice replacing the size
sliders as the way to fit more on a small screen:- Normal - no change; the size sliders below work as set.
- Compact - every circle, badge, and icon shrinks to its
slider's own minimum, the column gap tightens to its minimum, and
every name on the card - client, monitored-service, and the label
inside a Router/Switch/AP/LAN/Server circle alike - hides, all
without touching the size sliders themselves, so switching back to
Normal is instant. - Fit to Width - automatically zooms the whole diagram down just
enough to fit the card's width, recalculating whenever the card
resizes or the network changes, down to a 40% floor. - Scaled - a manual zoom percentage (40-100%), remembered on its
own even when switching to another Card Size and back. - A separate Horizontal Scroll toggle applies to every Card Size
except Fit to Width (already sized not to need it) - lets a
diagram wider than the card pan sideways, in both directions, to
reach content that overflows on either side, instead of it being
clipped by the card's own edge, which it previously always was,
silently, with no way to see the rest. - A separate Hide Names toggle (Advanced → Layout) is a global
override independent of Card Size or either page's own Show Names:
on, it hides every name on the card at once, everywhere Compact
does, without switching the rest of Compact's sizing on too.
- Secondary Internet: a second
internet_secondaryentity draws
alongside the primary, with the same fields (bandwidth, quota,
colors) and its own dashed circle outline, for a backup line or a
genuine second connection - always the same Circle and Icon Size as
the primary, so the one pair of sliders governs both. Edited from
inside the Internet page itself (Primary/Secondary tabs) rather than
a separate menu entry, and Speedtest discovery adds or removes it
with the same plain buttons as the primary, acting on whichever tab
is open. A Mode choice - Active/Active or Active/Standby,
defaulting to Active/Standby - decides whether the secondary is drawn
solid and animated (carrying its own traffic) or dashed and still (a
backup, showing no flow at all while idle); in Active/Standby, it
switches to solid and starts animating automatically the moment the
primary actually goes down and the secondary is the one carrying
traffic, then back to dashed and still once the primary recovers.
Every line in the assembly - both drop lines, the T-bar, and the stem
into whatever sits below it - uses the one global Flow Line Color
rather than the Internet's own Download/Upload colors, at the same
tighter spacing a typical Access Point's own dual line uses, and the
T-bar reaches the true outer edge of a paired download/upload line
rather than stopping short of it. Where the Primary AP itself sits
directly under Internet with no Router or Switch between them, its
line uses the normal line color and its own Download/Upload entities
to decide a single or double line, rather than Internet's. - Keyword search, alongside the integration filter, on every
Auto-Discovery list on the card - Speedtest, ISP, pfSense, AdGuard,
Routers, Main Switches, Nodes, Clients, Containers, and Monitoring -
matching a candidate by its name or its entity id. Where a list
already has an integration filter, search narrows within it rather
than replacing it. - ASUSWRT Auto-Discovery - experimental (the built-in
asuswrt
integration, confirmed against home-assistant/core's own source; not
the same as the community AsusRouter integration already supported,
and the two can be installed side by side). Router: uses the
integration's own "Devices connected" sensor, which is enabled by
default, tied to the router's own device, and goes unavailable
whenever the router can't be polled - so it's a genuine router-status
entity, and also fills in the Router's LAN Connected Devices count.
Only if that sensor has been disabled does it fall back to a client
tracker as a best-effort proxy. Every configured ASUSWRT router is
offered as its own candidate. Clients: every tracked device - by
default only devices that report a name, unless "Track unknown
devices" is turned on in the integration itself. Nothing is offered
as a Switch/AP node; for AiMesh satellites, use AsusRouter. - UniFi Network Map and UniFi Device Info Auto-Discovery -
experimental. Two HACS integrations, checked against their own
source. UniFi Network Map (unifi_network_map) labels every gateway,
switch, and AP explicitly, so no model guessing is needed; its
tracked-client sensors appear under Clients. UniFi Device Info
(unifi_mqtt, whose entities arrive through MQTT discovery) reports
uptime as its state and online/offline in astatusattribute - the
card now reads that attribute for offline detection on those entities
only. Both feed the Router, Core Switch, and Nodes scans. - UniFi devices now default to "Add as: under " when UniFi
reports which switch/AP they're plugged into (core UniFi's "Device
Uplink MAC" sensor, or UniFi Network Map'suplink_device) and that
parent is already in your tree. It's only a default in the dropdown. - ha-openwrt Auto-Discovery (FaserF/ha-openwrt, domain
openwrt) -
a separate, far more capable community integration from Home
Assistant's own built-inluciintegration (a bare device-tracker
proxy with no router-status entities at all), confirmed against
ha-openwrt's own source (sensor.py,binary_sensor.py,
device_tracker.py). Router: prefers the WAN interface's own
connectivity sensor, falling back to the integration's always-on
"device reachable" sensor when a device has no separate WAN interface
sensor of its own; Real-time Download/Upload from the WAN interface's
live rate sensors; WAN Address from the router's externally-checked
public IP, falling back to the WAN interface's own configured address.
A device with no WAN interface at all - the "extra Access Point on a
LAN cable" setup ha-openwrt's own FAQ describes - is offered as a Node
(Access Point) candidate instead of a Router candidate, detected from
that absence alone, since nothing WAN-related exists for it in that
case; a device with one is only ever offered as a Router, never both.
Clients: every tracked device, the same device_tracker pattern this
card already uses for TP-Link, UniFi, and everything else. - Synology SRM and Netgear now also offer their Router candidate as a
Node (Access Point) candidate, matching how TP-Link Deco's master
unit already works: both run on hardware that genuinely supports an
Access Point mode, but - unlike ha-openwrt - neither integration
exposes anything beyond a single device_tracker per device, so there's
no signal to tell which mode is active. Offering the same entity both
ways lets the person choose, rather than only ever seeing it as a
Router candidate regardless of how it's actually configured.
Changed
- The Internet page's "Download Speed Entity" and "Upload Speed
Entity" are now "Download Speed Test Entity" and "Upload Speed Test
Entity", to read clearly alongside the Router page's own Real-time
speed fields, with default icons ofmdi:progress-downloadand
mdi:progress-uploadin place of the plain download/upload arrows.
Neither icon is in this card's small hand-picked icon set, so both
render through Home Assistant's own icon component instead - anyone
who already set a different icon here keeps it. - Summary badges: Download/Upload and Real-time Download/Upload now
show different second-line information, each better suited to what
actually feeds it. Download and Upload - sourced from the Internet
page's speed-test entities - now name whichever integration is
providing that reading (e.g. "Speedtest.net", "Aussie Broadband")
instead of the lifetime total. Real-time Download and Real-time
Upload now show the Total Downloaded/Uploaded entity instead of the
Router or Access Point's name; with no Total entity configured, the
line is simply blank rather than falling back to the old text. A
fresh card's Summary now defaults to Real-time Download and Real-time
Upload in the first two slots, Latency third - the Speedtest-based
Download/Upload badges are still there to choose, just no longer
selected automatically. Summary also grew from 3 badge slots to 5;
the two new ones are empty by default. - "Connected AP" is now "Connected Device", and groups wired clients
by their switch as well as wireless ones by their AP. Only TP-Link
Omada exposes which switch a wired client is on (switch_name,
falling back toswitch_mac, confirmed from its own
device_tracker.py source) - no other integration supported here
reports this for any client, wired or not, so a wired client on
anything else still falls to "Unknown", the same as before this
existed. The config value is unchanged (individual_devices_group_by: ap), so no existing config needs to change - only the editor's label
and what the mode covers. - Show IP Addressing (Advanced → Layout) now defaults to on.
Anyone who had already turned it off keeps that setting.