11# 🛡️ OpenSentry Command Center
22
3- ** View and control all your security cameras from one dashboard.**
3+ ** View and control all your security cameras from one dashboard with real-time motion detection .**
44
5- ** 🔒 Fully Encrypted:** HTTPS web UI, RTSPS video streams, MQTT over TLS
5+ ** 🔒 Fully Encrypted:** HTTPS web UI, RTSPS video streams, MQTT over TLS
6+ ** 🎯 Motion Detection:** Real-time alerts, motion history, and smart notifications
67
78![ Dashboard] ( docs/images/dashboard.png )
89
@@ -112,19 +113,60 @@ Cameras auto-discover within 30 seconds.
112113
113114---
114115
116+ ## 🎯 Motion Detection Features
117+
118+ OpenSentry automatically detects and responds to motion from compatible camera nodes:
119+
120+ ### Real-Time Motion Alerts
121+ - ** Visual Indicators:** Red badge appears on camera feed when motion detected
122+ - ** Toast Notifications:** Pop-up alerts for motion events
123+ - ** Animation Effects:** Camera cards pulse when motion is active
124+
125+ ### Motion History
126+ - Click ** 📜 Motion History** on any camera to view recent events
127+ - Stores last 100 motion events per camera
128+ - Shows timestamp and duration for each event
129+
130+ ### Notification Settings
131+ Configure motion alerts in ** Settings → Notifications** :
132+ - ** Motion Detection Alerts:** Toggle motion notifications on/off
133+ - ** Toast Notifications:** Enable/disable pop-up alerts
134+ - Preferences saved locally in your browser
135+
136+ ### Supported Motion Nodes
137+ - [ OpenSentry-MotionNode] ( https://github.com/SourceBox-LLC/OpenSentry-MotionNode ) - Motion detection with OpenCV
138+ - Basic nodes show as "📷 Basic Camera Node"
139+ - Motion nodes show as "🎯 Motion Detection Node"
140+
141+ ---
142+
115143## 🎮 Dashboard Controls
116144
145+ ### Camera Controls
146+
117147| Button | Action |
118148| --------| --------|
119149| ** ▶ Start** | Start video stream |
120150| ** ⏸ Pause** | Pause stream |
121151| ** ⏻ Shutdown** | Turn off camera |
152+ | ** 📜 Motion History** | View recent motion events |
153+ | ** ❌ Forget** | Remove camera from system |
154+
155+ ### Status Indicators
122156
123157| Status | Meaning |
124158| --------| ---------|
125159| 🟢 Streaming | Camera active |
126160| 🟡 Idle | Paused |
127161| 🔴 Offline | Not responding |
162+ | 🔴 MOTION DETECTED! | Motion currently active |
163+
164+ ### Node Types
165+
166+ | Icon | Type | Features |
167+ | ------| ------| ----------|
168+ | 📷 | Basic Camera Node | Live streaming only |
169+ | 🎯 | Motion Detection Node | Live streaming + motion detection |
128170
129171---
130172
@@ -189,6 +231,42 @@ Access your Command Center from anywhere using [Tailscale](https://tailscale.com
189231
190232---
191233
234+ ## 🔌 API Endpoints
235+
236+ The Command Center provides REST API endpoints for integration:
237+
238+ | Endpoint | Method | Description |
239+ | ----------| --------| -------------|
240+ | ` /api/cameras ` | GET | List all cameras with status and motion data |
241+ | ` /api/camera/<id>/status ` | GET | Get specific camera status |
242+ | ` /api/camera/<id>/command ` | POST | Send command (start/stop/shutdown) |
243+ | ` /api/camera/<id>/forget ` | DELETE | Remove camera from system |
244+ | ` /api/regenerate-secret ` | POST | Generate new security secret |
245+
246+ ### Camera Data Response
247+ ``` json
248+ {
249+ "camera-id" : {
250+ "name" : " motion-cam-test" ,
251+ "status" : " streaming" ,
252+ "node_type" : " motion" ,
253+ "capabilities" : " streaming,motion_detection" ,
254+ "motion_active" : false ,
255+ "motion_events" : [
256+ {
257+ "event" : " motion_start" ,
258+ "timestamp" : 1234567890 ,
259+ "area_x" : 100 ,
260+ "area_y" : 200
261+ }
262+ ],
263+ "last_seen" : 1234567890
264+ }
265+ }
266+ ```
267+
268+ ---
269+
192270## ❓ Troubleshooting
193271
194272| Problem | Solution |
@@ -197,6 +275,8 @@ Access your Command Center from anywhere using [Tailscale](https://tailscale.com
197275| ** Can't log in** | Default: ` admin ` / ` opensentry ` . Check ` .env ` file. |
198276| ** Account locked** | Wait 5 minutes. |
199277| ** Port 5000 in use** | Stop other app or edit port in ` docker-compose.yml ` |
278+ | ** Motion not detected** | Ensure using motion-capable node. Check MQTT connection. |
279+ | ** No motion alerts** | Check notification settings in dashboard. |
200280
201281** Still stuck?** Run ` docker compose logs -f ` and check for errors.
202282
0 commit comments