{% for manufacturer in manufacturers %} {% set count_devices = items|selectattr("preferred_mfg", "equalto", manufacturer)|selectattr("is_iot", "equalto", is_iot)|list|length %}
{{ manufacturer or "Unknown Manufacturer" }}: {% set device_names = items|selectattr("preferred_mfg", "equalto", manufacturer)|selectattr("is_iot", "equalto", is_iot)|map(attribute="preferred_name")|list %} {% if device_names %} {{ device_names | natural_join("and", "device", dedup=False, count_noun="devices") }} {% endif %} {% if (manufacturer|casefold) in iot_manufacturers and "altnames" in iot_manufacturers[manufacturer|casefold] %}

{{manufacturer}} devices may also be branded as {{iot_manufacturers[manufacturer|casefold].altnames | natural_join("or") }}.

{% endif %} {% if (manufacturer|casefold) in iot_manufacturers and "owner" in iot_manufacturers[manufacturer|casefold] %}

{{manufacturer}} is owned by {{iot_manufacturers[manufacturer|casefold].owner}}.

{% endif %}
{% for item in items %} {% if item.is_iot == is_iot and item.preferred_mfg == manufacturer %}
{{ item.preferred_name or item.preferred_model or "" }} {% if not item.preferred_name and not item.preferred_model %} Name Unknown {% endif %} {% if item.preferred_name and item.preferred_model and item.preferred_name != item.preferred_model and item.preferred_model != "None" %} ({{ item.preferred_model }}) {% endif %} edit

{{item.ip_addr}} {{item.mac_addr}}

{% if is_iot %}

{% if item.policy_available %}

Privacy Policy: Available
{% endif %} {% if item.is_arp_spoofed %}
Network Monitoring: On{% if item.latest_flow_activity %}, active {{ item.latest_flow_activity | format_datetime }}{% endif %}
{% endif %}

{% endif %} {% if is_iot %}

View details

{% endif %}
{% endif %} {% endfor %}
{% if not loop.last %}
{% endif %} {% endfor %}