Network-Dashboard is a lightweight, cross-platform Network Operations Center (NOC) and environmental dashboard built with Python 3 and PySide6 (Qt). Designed for home labs, makers, and network enthusiasts, it transforms standard raw network diagnostics into a clean, real-time visual hub.

Beyond its core multi-threaded discovery engine, the dashboard integrates automated environmental tracking and persistent configuration state—making it ideal as a dedicated "always-on" monitoring panel for secondary displays or Raspberry Pi touchscreens.

Key Features

1. Multi-Threaded Network Discovery

  • Active Mapping: Utilizes Scapy-driven ARP pinging to dynamically discover and map all active IPv4 hosts on the local subnet.
  • Concurrent Scanning: Leverages Python threading to ensure the user interface remains completely fluid and responsive, even during heavy network discovery cycles.

2. Device Management & Persistent Logging

  • SQLite Data Layer: Logs first-seen and last-seen timestamps for every device discovered on the network.
  • Custom Nicknames: Allows users to assign friendly, permanent aliases to MAC addresses directly from the UI, replacing obscure vendor names with readable labels.
  • MAC Vendor Resolution: Automatically queries and maps OUI prefixes locally to identify device manufacturers out of the box.

3. Integrated Environmental Context

  • Zero-Key Weather Monitoring: Automatically resolves your local weather conditions and a 5-day forecast on boot using multi-provider public IP geolocation—no proprietary API keys or manual location tagging required. Auto updates every 30 minutes.
  • Dynamic Location Overrides: Allows users to manually force specific latitude/longitude coordinates via the UI when operating behind a VPN or custom proxy. Or can edit the config.ini file for location.

4. Smart UI & State Persistence

  • Config Preservation (config.ini): Seamlessly remembers your preferred window geometry, custom location configurations, and UI states across reboots.
  • Adaptive Scaling: Features a flexible, responsive layout that shifts elegantly from a default compact view to expansive full-screen monitoring setups.

    Possible smart automation add on :-
    Future-Proof / Extensible Architecture: While designed strictly as a local network visualizer and ambient weather panel, the clean, grid-based PySide6 UI layout can easily be adapted as a central dashboard for Home Assistant, MQTT listeners, or custom smart home automation hubs. You are very welcome to download and adapt for your smart home.

Technical Specifications

  • Language: Python 3.x
  • GUI Framework: PySide6 (Qt for Python)
  • Network Capabilities: Scapy, Socket, psutil
  • Data & Configuration: SQLite3 (Device History), ConfigParser (UI & System State)
  • External Services: Open-Meteo API, Public IP Geolocation APIs
  • OS Compatibility: Linux (requires sudo for raw ARP sockets), macOS, Windows