Skip to content

v4.1.0 - Client + Server Branches

Latest

Choose a tag to compare

@benmac7 benmac7 released this 02 Nov 22:04
9d97985

[4.1.0]

Adds the Client Branch - a line coming off the bus, or off any Switch or Access Point,
with clients (and now Servers) stacked beside it instead of sitting in the Individual
Clients box - and a secondary Router and Core Switch that are drawn properly in both
views. The Tree (Hyperbolic) view now shows every redundant pair as one circle.

Added

Client Branches (Flat view)

  • Client Branch node. Choose + Client Branch on the Nodes page to hang one straight
    off the bus (the Router), or use the + Client Branch button under any Access Point or
    Switch. A branch can be named, reordered and deleted like any other node. It uses the
    Flow Line Color, with a short tick joining each client to the trunk, and always stops
    at its last client. Under an Access Point the whole branch is dotted; elsewhere it is
    solid. Under an Access Point or Switch that has a Connected Clients circle (or a Clients
    box) the parent drops onto a short bar: its own line down to the circle on the left, the
    branch on the right.
  • Two ways to put clients on a branch: from the branch's own page (+ Add Client, or
    Scan for Clients, which uses the same Auto-Discovery as the Clients page and lands
    whatever you select on that branch), or from a client's page with Attach to Client
    Branch
    (None, the default, leaves the client in the Clients box). The Clients list
    shows which branch a client is on.
  • Client Layout (per branch): Right side only (default), Left side only, or Dual
    sides
    , where clients hang off both sides in a staggered formation. Up/down arrows on each
    client set the order they hang down the branch.
  • Servers on a branch. + Add Server on a branch's page opens the full Server editor
    (colours, IP, PoE, custom badges, security badges, Containers / VMs). A server is drawn
    after the clients, exactly like a Server on the T bar (same size, default colours, offline
    test, pulse, icon size and label), without its IP badge in the Flat view since that would
    overlap the clients above. Scan for Servers finds Proxmox VE nodes (with their VMs and
    containers as badges) and NetAlertX servers not already on the card, and adds the ticked
    ones straight onto the branch. A branch's servers are a list (up / down, edit, remove)
    like its clients; Edit opens that server's own page, with Back returning to the branch.
    Servers can also be chosen as an "Assign to" target for monitored services.
  • PoE badge on clients. Each client's page has the same Power over Ethernet (PoE)
    section as an Access Point (Off / Auto / Manual, icon, colours, thresholds). Off by
    default. Use Manual to point it at the switch-port power sensor; Auto only finds
    PoE sensors on the client's own device. A client's PoE is not added to PoE Total.
  • Client Branches in the Tree view. A client on a branch hangs off the device the
    branch belongs to (the router for a branch off the bus). This takes priority over the
    Connected Device rule; a client with no branch falls to Unknown. Servers on a branch
    appear under the branch's parent device. Only applies when clients are attached to their
    devices, not in the grouped Clients layout.

Redundant devices

  • Secondary Router. The Router page has Primary / Secondary tabs, like Internet,
    with the same settings (entity, name, icon, colours, PoE, custom badges, speed,
    WAN / LAN address, and its own LAN Connected Clients circle; keys router_secondary /
    lan_secondary). Router discovery offers As Primary / As Secondary (and Remove
    Primary / Remove Secondary). When a Secondary Router exists the Secondary Internet
    connects to it: two Internet-to-Router columns, then onto the Nodes bus-line or a T-bar
    into the Core Switch / Primary AP. Adding one sets the Secondary Internet's Mode to
    Active/Active (solid lines); removing it restores Active/Standby (dashed). With no Mode
    set the default is Active/Standby with one Router and Active/Active with two. Downstream
    lines go offline only when BOTH routers are down.
  • Secondary Core Switch (switch_secondary). The Core Switch page has Primary /
    Secondary
    tabs with the same settings, and discovery offers As Primary / As
    Secondary
    . A redundant pair is drawn side by side: from one Router a stem splits over
    both switches; from two Routers each line joins a shared bar that feeds both. Below the
    pair each switch drops onto the Nodes bus-line, or joins a T-bar into the Primary AP /
    lone Node. Downstream lines go offline only when BOTH switches are down.

Router client counts

  • LAN Connected Clients has a Client Count option: "Total clients on the network" (the
    entity's value, as before) or "Router only", which takes the entity as the network total
    and subtracts each switch's / access point's Connected Clients count (never twice for
    nested devices, never below zero). The entity picker accepts any numeric entity, helpers
    included. The Tree view's router details follow the same option.
  • The router's details panel shows both Total clients (its Total Clients entity, else
    the LAN count plus every access point's and switch's) and Directly connected (the LAN
    Connected Clients entity, else the total less everything counted on other access points
    and switches). The Connected clients graph plots both.

Display and layout

  • Custom badges on every element. Internet, Router, Switches, Access Points, Servers
    and clients each have a Custom Badges list: + Add Custom Badge, then pick any
    entity, an icon, a corner (Location), and separate Icon / Background / Border colours
    for online and offline. A badge can show the entity's state (with an optional
    unit) or just its icon; Online when state is (a comma list) overrides the default
    "online unless unavailable, unknown or off". Badges sharing a corner stack in list order
    beside the built-in PoE / VPN / monitor badges. In the Tree view they are drawn on the
    nodes and listed as chips in the details panel.
  • Summary Left / Right in the Flat view on phones. Left and Right now work at any card
    width (a side summary starts level with the top of the Internet circle, below the External
    box if there is one, and never moves the diagram), and also with the details panel on
    when the card is stacked, instead of silently falling back to Top.
  • Summary badge sizes. Summary Badge Size (default 36px) and Summary Icon Size
    (default 20px, was 24px) sliders under Layout > Summary, for the Flat strip, the side
    summary and the Tree's summary card. The Layout item in the editor's main menu is drawn
    solid in the theme's accent colour, like Discover.
  • Summary Card options in the Flat view. Layout > Summary has the same Summary Card
    settings in Flat as in the Tree view: Show title ("Summary"), Card Background Color
    and Card Outline Color. With both colours blank the Flat summary has no card, as
    before.
  • Vertical Line Length slider (Layout > Sizing and Animation, Flat view): nudges every
    vertical drop shorter (down to -8px) or taller (up to +24px) together. 0 is the standard
    length, so existing cards are unchanged.
  • Horizontal Scroll opens a wide diagram centred on the Internet / Router column, keeps
    it centred when the card is resized, and lets you pan by dragging the empty background as
    well as with the scrollbar, wheel or trackpad. The scroll area has a thin visible
    scrollbar.
  • Reorder Containers / VMs with up/down arrows in a server's list, changing the order
    and stacking of their badges.

Auto-Discovery

  • NetAlertX (the Home Assistant add-on, via its MQTT publisher). Every device it
    publishes (a device_tracker carrying mac_address, last_ip, network_parent_name ...)
    is offered by the Clients, Router, Main Switch and Nodes scans. It publishes no device
    type, so routers, switches, access points and servers are recognised by name (router /
    gateway / firewall, switch, AP / access point / mesh, Proxmox / hypervisor ...), by its
    icon, and by what hangs off them: a device with others under it is a Switch, or an
    Access Point when most of them are Wi-Fi clients (they carry an ssid). Clients added
    from NetAlertX keep their icon. Group By "Connected Device" groups a client under its
    parent (network_parent_name), SSID and VLAN grouping use its ssid / vlan, and IP
    badges read its last_ip. In the Tree view a client attaches to its parent by
    network_parent_mac first, then by name.

Changed

Tree (Hyperbolic) view

  • Redundant devices are each drawn as ONE circle holding both side by side: the two
    Internets, the two Routers and the two Core Switches. Everything that hangs off "the
    router" (the Internet, LAN, Nodes, clients, Unknown / Monitored groups) hangs off the
    pair, so neither device looks like the sole parent. Each device inside keeps its own
    label, badges, details panel and tap; the Internet keeps its quota ring.
  • A standby backup keeps its dashed outline: the Secondary Internet, and now the
    Secondary Router when the Internet's Mode is Active/Standby. Both go solid once the
    primary Router or Internet is offline.
  • The secondary Router shows even when there is no Backup Internet. The view starts on the
    primary device rather than on the pair. Every node's offline "!" badge now sits top-right,
    and every PoE badge in the tree sits bottom-right, whatever corner it uses in Flat.

Flat view layout

  • Uniform vertical drops. Every device-to-device and device-to-T-bar line in the trunk
    is one length (the same as the Access Point drop, tall enough for an IP badge with room
    above and below), instead of a mix of 26/28/32/40/48px. It only grows where two IP badges
    share one vertical line.
  • An Access Point lifted level with a Switch no longer drops through an empty tier before
    its own T bar; the T bar and everything beneath it move up with it.
  • Level start on the T bar: when the bus carries a Switch or Server, a plain Access
    Point or Client Branch off the bus starts at the same height instead of one row lower.
  • PoE badges in a bottom corner sit 5px lower so they no longer overlap the circle's icon.
  • The download / upload strands on an Access Point's line are now the same distance apart
    as the pair between the Router and the Internet.
  • Client branch animations run the full length of the branch, down the trunk and along each
    tick to the last client.

Defaults

  • Server node: Show connection to Connected/Clients now defaults to off; Horizontal
    Scroll
    now defaults to on.

Fixed

  • Client branch flow. On a branch with Left or Dual-sides layout the dots on the
    left-hand ticks now flow right to left (out from the trunk to the client), and dots on
    client branches move about 1.7x slower.
  • Redundant pairs. The Flat view stopped rendering when a redundant Router / Internet /
    Core Switch pair was combined with the details panel; Flat taps on those circles select
    the right device again. In the Tree view a Secondary Internet with only some metric
    entities (a ping sensor, say) now shows, and the Secondary Router stays on screen when the
    Secondary Internet is removed. (The Flat view still draws the secondary router only
    alongside a Secondary Internet, since it sits in that backup WAN's column.)
  • Animations. With Animations on, every line now carries flow dots from the Internet
    down to the Clients box: the dotted lines under each Access Point, the mini T bars, the
    main bus and its horizontal runs, the dual-Internet T bar, and the connectors into and out
    of the External / Clients boxes.
  • TP-Link Deco. Wired clients that also name the unit they sit behind (connection_type: wired plus deco_device) stay grouped under that unit and carry a small Ethernet marker
    (and "(Wired)" in the tooltip). The Tree view matches a client's deco_device ("Living
    Room") to a node named "Living Room Deco" when exactly one node name starts or ends with
    it, so those clients no longer fall into Unknown.
  • Wired clients under Connected Device. A wired client whose integration doesn't say
    which switch it is on (anything but TP-Link Omada) now goes into "Wired" instead of
    "Unknown", as in every other grouping mode; Omada clients still group by their switch. In
    the Tree view such a client hangs off the router instead of the Unknown node. TP-Link
    Router clients also group under Connected Device by the mesh unit they are on (ap_name).
  • Summary speeds. Real-time Download / Upload fall back to the Primary Access Point's
    speed sensors when the Router has none (for example a Deco mesh whose "router" is just
    its main unit), instead of the whole Summary coming up empty.
  • External box width. The External monitored devices box now spans the full width of
    the diagram like the Clients box (it was squeezed in by padding when the Summary sat to
    the left or right, which also wrapped it onto two rows).
  • Horizontal Scroll can now be scrolled all the way back to the diagram's far-left edge.

Behaviour worth knowing

  • A client attached to a branch is drawn on the branch instead of in the Clients box. If
    every client is on a branch, the Clients box is not drawn.
  • Deleting a branch (or the Node, Switch or Access Point it hangs off) sends its clients back
    to the Clients box. No client is ever lost.
  • A branch with no clients yet shows a dashed placeholder circle so it can be seen.
  • A Switch with a Client Branch beneath it does not also draw its own Connected Clients
    circle, as with any Switch that feeds other devices.
  • If the device above a branch goes offline, its clients stay on screen, dimmed, with the
    line to them cut.
  • Client Branches are Flat view only; the Tree view places their clients as described
    above.

Compatibility

  • Existing configurations render exactly as before. A client's client_branch is blank by
    default, a client_branch naming a branch that no longer exists is treated as blank, and
    branches saved earlier read as Right side.
  • New configuration keys: client_branch on a Node ({ id, name, layout, servers }),
    client_branches on a Switch or Access Point (a list of the same), client_branch on a
    client (the id of its branch), router_secondary, lan_secondary and
    switch_secondary.