{# plugins/unifi/templates/unifi/inventory.html #}
{# Networks / VLANs #} {% if networks %}
Networks / VLANs
{% for net in networks %} {% endfor %}
Name VLAN Subnet
{{ net.name }} {% if net.is_guest %} guest{% endif %} {{ net.vlan or "—" }} {{ net.ip_subnet or "—" }}
{% endif %} {# Port forwards #} {% if port_forwards %}
Port Forwards
{% for pf in port_forwards %} {% endfor %}
{{ pf.name or "—" }} {% if not pf.enabled %} disabled{% endif %} {{ pf.proto }}:{{ pf.dst_port }} → {{ pf.fwd_ip }}:{{ pf.fwd_port }}
{% endif %} {# Firewall rules, grouped by ruleset #} {% if fw_rules %} {% set ns = namespace(current_rs=None) %}
Firewall Rules
{% for rule in fw_rules %} {% if rule.ruleset != ns.current_rs %} {% set ns.current_rs = rule.ruleset %} {% endif %} {% endfor %}
{{ rule.ruleset }}
{{ rule.name }} {{ rule.action }} {% if rule.protocol %}{{ rule.protocol }}{% endif %} {% if rule.src_address %} src:{{ rule.src_address }}{% endif %} {% if rule.dst_address %} dst:{{ rule.dst_address }}{% endif %}
{% endif %} {# Known clients #} {% if known_clients %}
Known Clients {{ known_clients|length }} total
{% for kc in known_clients[:50] %} {% endfor %} {% if known_clients|length > 50 %} {% endif %}
Name / MAC IP Last Seen
{{ kc.name or kc.hostname or kc.mac }} {% if kc.is_blocked %} blocked{% endif %}
{% if kc.name or kc.hostname %}
{{ kc.mac }}
{% endif %} {% if kc.mac_vendor %}
{{ kc.mac_vendor }}
{% endif %}
{{ kc.ip or "—" }} {% if kc.last_seen %}{{ kc.last_seen.strftime("%m-%d %H:%M") }}{% else %}—{% endif %}
+{{ known_clients|length - 50 }} more
{% endif %} {% if not networks and not port_forwards and not fw_rules and not known_clients %}

No inventory data yet. This populates on the next poll cycle.

{% endif %}