Add 4 new packages implementing unified device intelligence and DNS provider API management: - secubox-app-dns-provider: dnsctl CLI with OVH, Gandi, Cloudflare adapters for DNS record CRUD, HAProxy vhost sync, propagation verification, and ACME DNS-01 wildcard certificate issuance - luci-app-dns-provider: RPCD handler + LuCI views for provider settings and DNS record management - secubox-app-device-intel: Aggregation layer merging mac-guardian, client-guardian, DHCP, P2P mesh, and exposure data with heuristic classification engine and USB/MQTT/Zigbee emulator modules - luci-app-device-intel: RPCD handler + 5 LuCI views (dashboard, devices, emulators, mesh, settings) with shared API and CSS Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
77 lines
3.0 KiB
Markdown
77 lines
3.0 KiB
Markdown
# luci-app-device-intel
|
|
|
|
LuCI web interface for SecuBox Device Intelligence.
|
|
|
|
## Overview
|
|
|
|
Unified device dashboard aggregating data from all SecuBox subsystems. Five views: Dashboard, Devices, Emulators, Mesh, Settings.
|
|
|
|
## Views
|
|
|
|
### Dashboard (`device-intel/dashboard`)
|
|
- Summary stat cards: Total, Online, Mesh Peers, At Risk
|
|
- Data source status chips: MAC Guardian, Client Guardian, DHCP, P2P
|
|
- Emulator status chips: USB, MQTT, Zigbee
|
|
- Device type distribution grid (cards with count and color)
|
|
- Zone distribution bar
|
|
- Recent devices table (last 5 by last_seen)
|
|
|
|
### Devices (`device-intel/devices`)
|
|
- Filter bar: text search, type dropdown, online/offline status
|
|
- Full device table: status dot, name, MAC, IP, vendor, type, zone, source, actions
|
|
- Edit modal: change label and device type override
|
|
- Detail modal: full device attributes
|
|
- Real-time filter updates without page reload
|
|
|
|
### Emulators (`device-intel/emulators`)
|
|
- USB card: system device count, discovered peripherals, mini table
|
|
- MQTT card: broker host/port, running status, discovered clients
|
|
- Zigbee card: adapter type, dongle path, dongle present, paired devices
|
|
- Link to settings for configuration
|
|
|
|
### Mesh (`device-intel/mesh`)
|
|
- Peer cards: name, IP, online/offline status
|
|
- Remote devices table: devices reported by mesh peers
|
|
- Source node column for cross-mesh attribution
|
|
|
|
### Settings (`device-intel/settings`)
|
|
- General: enable, cache TTL, auto-classify, classify interval, mesh timeout
|
|
- Display: default view, group by, show offline, show mesh peers, auto-refresh
|
|
- USB emulator: enable, scan interval, track storage, track serial
|
|
- MQTT emulator: enable, broker host/port, discovery topic, scan interval
|
|
- Zigbee emulator: enable, coordinator device, adapter type, API port, bridge topic
|
|
|
|
## RPCD Methods
|
|
|
|
| Method | Params | Description |
|
|
|---|---|---|
|
|
| `get_devices` | — | Full device inventory (cached) |
|
|
| `get_device` | mac | Single device details |
|
|
| `get_summary` | — | Stats + source/emulator status |
|
|
| `get_mesh_devices` | — | Mesh peers and remote devices |
|
|
| `get_emulators` | — | Emulator module status |
|
|
| `get_device_types` | — | Registered device type definitions |
|
|
| `classify_device` | mac | Run classification (single or all) |
|
|
| `set_device_meta` | mac, type, label | Update device override |
|
|
| `refresh` | — | Invalidate cache |
|
|
|
|
## Files
|
|
|
|
```
|
|
root/usr/libexec/rpcd/luci.device-intel RPCD handler
|
|
root/usr/share/luci/menu.d/luci-app-device-intel.json Menu (5 tabs)
|
|
root/usr/share/rpcd/acl.d/luci-app-device-intel.json ACL
|
|
htdocs/.../resources/device-intel/api.js Shared RPC API
|
|
htdocs/.../resources/device-intel/common.css Dashboard CSS
|
|
htdocs/.../resources/view/device-intel/dashboard.js Dashboard view
|
|
htdocs/.../resources/view/device-intel/devices.js Device table
|
|
htdocs/.../resources/view/device-intel/emulators.js Emulator cards
|
|
htdocs/.../resources/view/device-intel/mesh.js Mesh peers
|
|
htdocs/.../resources/view/device-intel/settings.js Settings form
|
|
```
|
|
|
|
## Dependencies
|
|
|
|
- `luci-base`
|
|
- `secubox-app-device-intel`
|