{
  "schemaVersion": "1.0",
  "item": {
    "slug": "living-room-smoke-detector",
    "name": "Living Room Smoke Detector",
    "source": "tencent",
    "type": "skill",
    "category": "AI 智能",
    "sourceUrl": "https://clawhub.ai/maverick-2/living-room-smoke-detector",
    "canonicalUrl": "https://clawhub.ai/maverick-2/living-room-smoke-detector",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/living-room-smoke-detector",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=living-room-smoke-detector",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "SKILL.md",
      "data/detector_state.json",
      "scripts/smoke_detector.py"
    ],
    "primaryDoc": "SKILL.md",
    "quickSetup": [
      "Download the package from Yavira.",
      "Extract the archive and review SKILL.md first.",
      "Import or place the package into your OpenClaw setup."
    ],
    "agentAssist": {
      "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
      "steps": [
        "Download the package from Yavira.",
        "Extract it into a folder your agent can access.",
        "Paste one of the prompts below and point your agent at the extracted folder."
      ],
      "prompts": [
        {
          "label": "New install",
          "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete."
        },
        {
          "label": "Upgrade existing",
          "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run."
        }
      ]
    },
    "sourceHealth": {
      "source": "tencent",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-04-30T16:55:25.780Z",
      "expiresAt": "2026-05-07T16:55:25.780Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=network",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=network",
        "contentDisposition": "attachment; filename=\"network-1.0.0.zip\"",
        "redirectLocation": null,
        "bodySnippet": null
      },
      "scope": "source",
      "summary": "Source download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this source.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/living-room-smoke-detector"
    },
    "validation": {
      "installChecklist": [
        "Use the Yavira download entry.",
        "Review SKILL.md after the package is downloaded.",
        "Confirm the extracted package contains the expected setup assets."
      ],
      "postInstallChecks": [
        "Confirm the extracted package includes the expected docs or setup files.",
        "Validate the skill or prompts are available in your target agent workspace.",
        "Capture any manual follow-up steps the agent could not complete."
      ]
    },
    "downloadPageUrl": "https://openagent3.xyz/downloads/living-room-smoke-detector",
    "agentPageUrl": "https://openagent3.xyz/skills/living-room-smoke-detector/agent",
    "manifestUrl": "https://openagent3.xyz/skills/living-room-smoke-detector/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/living-room-smoke-detector/agent.md"
  },
  "agentAssist": {
    "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
    "steps": [
      "Download the package from Yavira.",
      "Extract it into a folder your agent can access.",
      "Paste one of the prompts below and point your agent at the extracted folder."
    ],
    "prompts": [
      {
        "label": "New install",
        "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete."
      },
      {
        "label": "Upgrade existing",
        "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run."
      }
    ]
  },
  "documentation": {
    "source": "clawhub",
    "primaryDoc": "SKILL.md",
    "sections": [
      {
        "title": "Living Room Smoke Detector",
        "body": "A simple, focused smoke and fire detection system that monitors the living room ALPSTUGA air sensor via the Dirigera hub."
      },
      {
        "title": "What It Does",
        "body": "Queries Dirigera directly every 5 minutes (not from database)\nSimple state only - keeps just the latest reading, no history\nDetects danger: PM2.5 > 250 µg/m³ OR CO2 > 2000 ppm\nContinuous alert - plays \"Attention! Abnormal smoke level detected\" on Mac speaker\nLoops until cleared - keeps playing every 5 seconds until air quality normalizes\nBackup smoke alarm - works alongside your regular smoke detector"
      },
      {
        "title": "1. Copy Alert Sound (optional)",
        "body": "If you already have the alert sound from the air monitor skill:\n\ncp ~/.openclaw/workspace/skills/living-room-air-monitor/data/smoke_alert_message.mp3 \\\n   ~/.openclaw/workspace/skills/living-room-smoke-detector/data/alert.mp3\n\nOtherwise it will auto-generate on first run."
      },
      {
        "title": "2. Cron Setup",
        "body": "Add to crontab to check every 5 minutes:\n\n*/5 * * * * /opt/homebrew/bin/python3 /Users/macmini/.openclaw/workspace/skills/living-room-smoke-detector/scripts/smoke_detector.py >> /tmp/smoke_detector.log 2>&1"
      },
      {
        "title": "Manual Check",
        "body": "python3 ~/.openclaw/workspace/skills/living-room-smoke-detector/scripts/smoke_detector.py"
      },
      {
        "title": "View Status",
        "body": "# Latest reading\ncat ~/.openclaw/workspace/skills/living-room-smoke-detector/data/detector_state.json\n\n# Log\ntail -f /tmp/smoke_detector.log"
      },
      {
        "title": "How It Works",
        "body": "Cron triggers every 5 minutes\nFetches data directly from Dirigera hub\nChecks thresholds:\n\nPM2.5 > 250 µg/m³ (smoke particles)\nCO2 > 2000 ppm (combustion byproduct)\n\n\nIf danger detected:\n\nSaves state (alert_active = true)\nEnters alert loop\nPlays alert sound every 5 seconds\nRe-checks sensor between plays\nExits loop when air clears\n\n\nIf normal: Updates state and exits"
      },
      {
        "title": "State File",
        "body": "data/detector_state.json:\n\n{\n  \"latest_reading\": {\n    \"pm25\": 3,\n    \"co2\": 525,\n    \"time\": \"2026-02-25T20:30:00\"\n  },\n  \"alert_active\": false,\n  \"last_check\": \"2026-02-25T20:30:00\"\n}"
      },
      {
        "title": "Alert Behavior",
        "body": "When danger is detected:\n\nMac speaker plays: \"Attention! Abnormal smoke level detected\"\nWaits 5 seconds\nChecks sensor again\nRepeats until PM2.5 ≤ 250 AND CO2 ≤ 2000\nPress Ctrl+C to stop manually if needed"
      },
      {
        "title": "Files",
        "body": "FilePurposescripts/smoke_detector.pyMain detection scriptdata/alert.mp3Alert sound filedata/detector_state.jsonLatest reading and status"
      },
      {
        "title": "Dependencies",
        "body": "Python 3.x\nDirigera hub access (192.168.1.100)\nAuth token at ~/.openclaw/workspace/.dirigera_token\nmacOS afplay (built-in)\nsay and ffmpeg (for alert generation)"
      },
      {
        "title": "Differences from Air Monitor Skill",
        "body": "FeatureAir MonitorSmoke DetectorData storageFull SQLite databaseLatest reading onlyQuery sourceDatabaseDirigera directlyFrequencyEvery 2 minEvery 5 minPurposeHistory + chartsImmediate alertingAlertSingle playContinuous loopComplexityMulti-featureSingle-purpose\n\nUse both for complete coverage: air monitor for data logging, smoke detector for focused alerting."
      }
    ],
    "body": "Living Room Smoke Detector\n\nA simple, focused smoke and fire detection system that monitors the living room ALPSTUGA air sensor via the Dirigera hub.\n\nWhat It Does\nQueries Dirigera directly every 5 minutes (not from database)\nSimple state only - keeps just the latest reading, no history\nDetects danger: PM2.5 > 250 µg/m³ OR CO2 > 2000 ppm\nContinuous alert - plays \"Attention! Abnormal smoke level detected\" on Mac speaker\nLoops until cleared - keeps playing every 5 seconds until air quality normalizes\nBackup smoke alarm - works alongside your regular smoke detector\nSetup\n1. Copy Alert Sound (optional)\n\nIf you already have the alert sound from the air monitor skill:\n\ncp ~/.openclaw/workspace/skills/living-room-air-monitor/data/smoke_alert_message.mp3 \\\n   ~/.openclaw/workspace/skills/living-room-smoke-detector/data/alert.mp3\n\n\nOtherwise it will auto-generate on first run.\n\n2. Cron Setup\n\nAdd to crontab to check every 5 minutes:\n\n*/5 * * * * /opt/homebrew/bin/python3 /Users/macmini/.openclaw/workspace/skills/living-room-smoke-detector/scripts/smoke_detector.py >> /tmp/smoke_detector.log 2>&1\n\nUsage\nManual Check\npython3 ~/.openclaw/workspace/skills/living-room-smoke-detector/scripts/smoke_detector.py\n\nView Status\n# Latest reading\ncat ~/.openclaw/workspace/skills/living-room-smoke-detector/data/detector_state.json\n\n# Log\ntail -f /tmp/smoke_detector.log\n\nHow It Works\nCron triggers every 5 minutes\nFetches data directly from Dirigera hub\nChecks thresholds:\nPM2.5 > 250 µg/m³ (smoke particles)\nCO2 > 2000 ppm (combustion byproduct)\nIf danger detected:\nSaves state (alert_active = true)\nEnters alert loop\nPlays alert sound every 5 seconds\nRe-checks sensor between plays\nExits loop when air clears\nIf normal: Updates state and exits\nState File\n\ndata/detector_state.json:\n\n{\n  \"latest_reading\": {\n    \"pm25\": 3,\n    \"co2\": 525,\n    \"time\": \"2026-02-25T20:30:00\"\n  },\n  \"alert_active\": false,\n  \"last_check\": \"2026-02-25T20:30:00\"\n}\n\nAlert Behavior\n\nWhen danger is detected:\n\nMac speaker plays: \"Attention! Abnormal smoke level detected\"\nWaits 5 seconds\nChecks sensor again\nRepeats until PM2.5 ≤ 250 AND CO2 ≤ 2000\nPress Ctrl+C to stop manually if needed\nFiles\nFile\tPurpose\nscripts/smoke_detector.py\tMain detection script\ndata/alert.mp3\tAlert sound file\ndata/detector_state.json\tLatest reading and status\nDependencies\nPython 3.x\nDirigera hub access (192.168.1.100)\nAuth token at ~/.openclaw/workspace/.dirigera_token\nmacOS afplay (built-in)\nsay and ffmpeg (for alert generation)\nDifferences from Air Monitor Skill\nFeature\tAir Monitor\tSmoke Detector\nData storage\tFull SQLite database\tLatest reading only\nQuery source\tDatabase\tDirigera directly\nFrequency\tEvery 2 min\tEvery 5 min\nPurpose\tHistory + charts\tImmediate alerting\nAlert\tSingle play\tContinuous loop\nComplexity\tMulti-feature\tSingle-purpose\n\nUse both for complete coverage: air monitor for data logging, smoke detector for focused alerting."
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/maverick-2/living-room-smoke-detector",
    "publisherUrl": "https://clawhub.ai/maverick-2/living-room-smoke-detector",
    "owner": "maverick-2",
    "version": "1.0.0",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/living-room-smoke-detector",
    "downloadUrl": "https://openagent3.xyz/downloads/living-room-smoke-detector",
    "agentUrl": "https://openagent3.xyz/skills/living-room-smoke-detector/agent",
    "manifestUrl": "https://openagent3.xyz/skills/living-room-smoke-detector/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/living-room-smoke-detector/agent.md"
  }
}