Living Room Smoke Detector
by @maverick-2
Simple smoke/fire detector for living room. Queries Dirigera air sensor every 5 minutes, detects dangerous PM2.5 over 250 or CO2 over 2000 levels, and broadc...
clawhub install living-room-smoke-detectorπ About This Skill
name: living-room-smoke-detector description: Simple smoke/fire detector for living room. Queries Dirigera air sensor every 5 minutes, detects dangerous PM2.5 over 250 or CO2 over 2000 levels, and broadcasts emergency alert on Mac speaker continuously until air quality normalizes. Acts as backup to regular smoke alarms.
Living Room Smoke Detector
A simple, focused smoke and fire detection system that monitors the living room ALPSTUGA air sensor via the Dirigera hub.
What It Does
Setup
1. Copy Alert Sound (optional)
If you already have the alert sound from the air monitor skill:
cp ~/.openclaw/workspace/skills/living-room-air-monitor/data/smoke_alert_message.mp3 \
~/.openclaw/workspace/skills/living-room-smoke-detector/data/alert.mp3
Otherwise it will auto-generate on first run.
2. Cron Setup
Add to crontab to check every 5 minutes:
*/5 * * * * /opt/homebrew/bin/python3 /Users/macmini/.openclaw/workspace/skills/living-room-smoke-detector/scripts/smoke_detector.py >> /tmp/smoke_detector.log 2>&1
Usage
Manual Check
python3 ~/.openclaw/workspace/skills/living-room-smoke-detector/scripts/smoke_detector.py
View Status
# Latest reading
cat ~/.openclaw/workspace/skills/living-room-smoke-detector/data/detector_state.jsonLog
tail -f /tmp/smoke_detector.log
How It Works
1. Cron triggers every 5 minutes 2. Fetches data directly from Dirigera hub 3. Checks thresholds: - PM2.5 > 250 Β΅g/mΒ³ (smoke particles) - CO2 > 2000 ppm (combustion byproduct) 4. If danger detected: - Saves state (alert_active = true) - Enters alert loop - Plays alert sound every 5 seconds - Re-checks sensor between plays - Exits loop when air clears 5. If normal: Updates state and exits
State File
data/detector_state.json:
{
"latest_reading": {
"pm25": 3,
"co2": 525,
"time": "2026-02-25T20:30:00"
},
"alert_active": false,
"last_check": "2026-02-25T20:30:00"
}
Alert Behavior
When danger is detected:
Files
| File | Purpose |
|------|---------|
| scripts/smoke_detector.py | Main detection script |
| data/alert.mp3 | Alert sound file |
| data/detector_state.json | Latest reading and status |
Dependencies
~/.openclaw/workspace/.dirigera_tokenafplay (built-in)say and ffmpeg (for alert generation)Differences from Air Monitor Skill
| Feature | Air Monitor | Smoke Detector | |---------|-------------|----------------| | Data storage | Full SQLite database | Latest reading only | | Query source | Database | Dirigera directly | | Frequency | Every 2 min | Every 5 min | | Purpose | History + charts | Immediate alerting | | Alert | Single play | Continuous loop | | Complexity | Multi-feature | Single-purpose |
Use both for complete coverage: air monitor for data logging, smoke detector for focused alerting.
π‘ Examples
Manual Check
python3 ~/.openclaw/workspace/skills/living-room-smoke-detector/scripts/smoke_detector.py
View Status
# Latest reading
cat ~/.openclaw/workspace/skills/living-room-smoke-detector/data/detector_state.jsonLog
tail -f /tmp/smoke_detector.log
βοΈ Configuration
1. Copy Alert Sound (optional)
If you already have the alert sound from the air monitor skill:
cp ~/.openclaw/workspace/skills/living-room-air-monitor/data/smoke_alert_message.mp3 \
~/.openclaw/workspace/skills/living-room-smoke-detector/data/alert.mp3
Otherwise it will auto-generate on first run.
2. Cron Setup
Add to crontab to check every 5 minutes:
*/5 * * * * /opt/homebrew/bin/python3 /Users/macmini/.openclaw/workspace/skills/living-room-smoke-detector/scripts/smoke_detector.py >> /tmp/smoke_detector.log 2>&1