Skip to main content

NetBox plugin for managing wireless and wired endpoints (badges, phones, IoT devices)

Project description

NetBox Endpoints Plugin

A NetBox plugin for managing wireless and wired endpoints (badges, phones, IoT devices) that don't fit the traditional Device model.

NetBox Version Python Version License PyPI

Overview

The Endpoints plugin provides dedicated models for mobile/endpoint devices that don't fit the traditional NetBox Device model:

  • Vocera badges - Wireless communication badges
  • Cisco IP phones - Desk phones, wireless phones
  • IoT devices - Sensors, controllers, etc.
  • Tablets/mobile devices - iPads, scanners, etc.

Unlike Devices, Endpoints:

  • Don't require rack locations
  • Have MAC address as primary identifier
  • Support wireless (SSID) and wired (switch port) connections
  • Track connection type and status independently

Features

  • Endpoint Types - Define endpoint models (like DeviceType but for endpoints)
  • Endpoints - Track individual endpoint devices with:
    • MAC address (required, unique)
    • Name, serial number, asset tag
    • Site and location
    • Primary IPv4/IPv6 (FK to IPAddress)
    • Connection type (wireless/wired)
    • SSID (wireless) or connected interface (wired)
    • Tenant, contact, platform
    • Status (active, offline, staged, decommissioned)
    • Full tag and custom field support
  • Plugin Integration - Other plugins can add tabs to endpoint detail pages
  • REST API - Full API access at /api/plugins/netbox-endpoints/
  • Dashboard Widget - Endpoints summary with configurable grouping

Screenshots

Dashboard Widget

Endpoints summary widget with grouping by status, connection type, or endpoint type.

Dashboard Widget

Requirements

  • NetBox 4.0 or higher
  • Python 3.10+

Installation

From PyPI (recommended)

pip install netbox-endpoints

From Source

git clone https://github.com/sieteunoseis/netbox-endpoints.git
cd netbox-endpoints
pip install -e .

Docker Installation

Add to your NetBox Docker requirements file:

# requirements-extra.txt
netbox-endpoints

Configuration

Add the plugin to your NetBox configuration:

# configuration.py or plugins.py

PLUGINS = [
    'netbox_endpoints',
]

PLUGINS_CONFIG = {
    'netbox_endpoints': {
        # No configuration required - endpoints are stored in NetBox
    }
}

Usage

Creating Endpoint Types

  1. Navigate to Plugins > Endpoints > Endpoint Types
  2. Click Add
  3. Select manufacturer and enter model name
  4. Optionally set default platform

Creating Endpoints

  1. Navigate to Plugins > Endpoints > Endpoints
  2. Click Add
  3. Enter MAC address (required)
  4. Select endpoint type, site, and other details
  5. Set connection type (wireless/wired)
  6. For wireless: enter SSID
  7. For wired: select connected interface

API Access

# List endpoints
curl -X GET "https://netbox.example.com/api/plugins/netbox-endpoints/endpoints/" \
  -H "Authorization: Token $TOKEN"

# Create endpoint
curl -X POST "https://netbox.example.com/api/plugins/netbox-endpoints/endpoints/" \
  -H "Authorization: Token $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"mac_address": "00:11:22:33:44:55", "endpoint_type": 1, "site": 1}'

Plugin Integration

Other plugins (like netbox-catalyst-center) can register tabs on Endpoint detail pages using the standard NetBox @register_model_view decorator.

Development

Setup

git clone https://github.com/sieteunoseis/netbox-endpoints.git
cd netbox-endpoints
pip install -e ".[dev]"

Code Style

black netbox_endpoints/
isort netbox_endpoints/
flake8 netbox_endpoints/

Changelog

See CHANGELOG.md for release history.

Support

If you find this plugin helpful, consider supporting development:

Buy Me A Coffee

License

Apache License 2.0 - See LICENSE for details.

Author

sieteunoseis

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

netbox_endpoints-0.2.2.tar.gz (20.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

netbox_endpoints-0.2.2-py3-none-any.whl (25.1 kB view details)

Uploaded Python 3

File details

Details for the file netbox_endpoints-0.2.2.tar.gz.

File metadata

  • Download URL: netbox_endpoints-0.2.2.tar.gz
  • Upload date:
  • Size: 20.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for netbox_endpoints-0.2.2.tar.gz
Algorithm Hash digest
SHA256 21c9e65f4548a0729cb9157ee6582157cc9a3f4492598c2897cdfb38b99e5bdf
MD5 b0ec92c4c72cf74b25562c2835a1b9d1
BLAKE2b-256 7402f9844bd8ce660778f6a375e26b10ae7533558cf4716c2c41a5f0d318f974

See more details on using hashes here.

Provenance

The following attestation bundles were made for netbox_endpoints-0.2.2.tar.gz:

Publisher: release.yml on sieteunoseis/netbox-endpoints

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file netbox_endpoints-0.2.2-py3-none-any.whl.

File metadata

File hashes

Hashes for netbox_endpoints-0.2.2-py3-none-any.whl
Algorithm Hash digest
SHA256 e8cb24ea57bb032d95df9d5d92825621f3c47e7d67b9cf013e831368e190ee43
MD5 46791962ef50d5a0bd9295121b3f65be
BLAKE2b-256 cfceb3b82b964feb7c32deb61fe2d1fd48128143911f9562a6e27db9d21ebe31

See more details on using hashes here.

Provenance

The following attestation bundles were made for netbox_endpoints-0.2.2-py3-none-any.whl:

Publisher: release.yml on sieteunoseis/netbox-endpoints

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page