{
  "schemaVersion": "1.0",
  "item": {
    "slug": "iot",
    "name": "IoT",
    "source": "tencent",
    "type": "skill",
    "category": "通讯协作",
    "sourceUrl": "https://clawhub.ai/ivangdavila/iot",
    "canonicalUrl": "https://clawhub.ai/ivangdavila/iot",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/iot",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=iot",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "SKILL.md"
    ],
    "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-23T16:43:11.935Z",
      "expiresAt": "2026-04-30T16:43:11.935Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=4claw-imageboard",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=4claw-imageboard",
        "contentDisposition": "attachment; filename=\"4claw-imageboard-1.0.1.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/iot"
    },
    "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/iot",
    "agentPageUrl": "https://openagent3.xyz/skills/iot/agent",
    "manifestUrl": "https://openagent3.xyz/skills/iot/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/iot/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": "Protocol Selection",
        "body": "MQTT for lightweight messaging — pub/sub, low bandwidth, ideal for sensors\nCoAP for constrained devices — UDP-based, REST-like, very low power\nHTTP/REST for capable devices — familiar but heavier, use when bandwidth allows\nWebSocket for real-time bidirectional — dashboards, live updates\nZigbee/Z-Wave for mesh networks — no WiFi needed, battery-friendly"
      },
      {
        "title": "MQTT Essentials",
        "body": "Broker is the central hub — Mosquitto most common self-hosted\nTopics are hierarchical — home/livingroom/temperature\nQoS levels: 0 (fire-forget), 1 (at least once), 2 (exactly once)\nRetain flag keeps last message — new subscribers get current state\nWill message announces disconnection — device offline detection"
      },
      {
        "title": "Security (Critical)",
        "body": "Never expose MQTT broker to internet without auth — bots scan constantly\nTLS mandatory for any external access — encrypt all traffic\nUnique credentials per device — revoke one without affecting others\nFirmware updates must be signed — prevent malicious updates\nSegment IoT on separate VLAN — isolate from main network"
      },
      {
        "title": "Common Vulnerabilities",
        "body": "Default credentials left unchanged — first thing attackers try\nUnencrypted protocols on network — credentials sniffable\nNo firmware update mechanism — stuck with known vulnerabilities\nCloud dependency without fallback — device useless when server down\nDebug ports left enabled — UART, JTAG exposed"
      },
      {
        "title": "Home Assistant Integration",
        "body": "MQTT discovery auto-configures devices — follow HA format\nESPHome for custom ESP devices — YAML config, OTA updates\nZigbee2MQTT bridges Zigbee to MQTT — hundreds of devices supported\nTasmota for off-the-shelf flashing — many WiFi devices supported"
      },
      {
        "title": "ESP32/ESP8266 Development",
        "body": "Arduino framework most accessible — huge library ecosystem\nESP-IDF for production — FreeRTOS, more control, steeper curve\nPlatformIO over Arduino IDE — better dependency management\nDeep sleep for battery life — microamps when sleeping\nOTA updates essential — don't require physical access"
      },
      {
        "title": "Power Management",
        "body": "Battery devices need deep sleep — wake on timer or interrupt\nCalculate power budget — mAh capacity vs average consumption\nSolar charging viable — small panel can sustain low-power sensors\nSupercapacitors for burst power — supplement weak batteries\nMonitor battery voltage — alert before device dies"
      },
      {
        "title": "Connectivity Patterns",
        "body": "WiFi: high bandwidth, high power — plugged devices\nZigbee/Z-Wave: mesh, low power — battery sensors\nLoRa: long range, low bandwidth — outdoor, agricultural\nBLE: short range, low power — wearables, beacons\nThread/Matter: new standard — Apple/Google/Amazon unified"
      },
      {
        "title": "Reliability",
        "body": "Watchdog timer prevents freezes — reset if loop stalls\nPersistent storage for state — survive power cycles\nHeartbeat/ping monitoring — detect silent failures\nGraceful degradation — work offline when cloud unavailable\nRedundant sensors for critical systems — don't trust single point"
      },
      {
        "title": "Data Considerations",
        "body": "Sample rate vs storage — don't over-collect\nLocal processing when possible — reduce bandwidth, latency\nTime synchronization critical — NTP for timestamps\nAggregate before sending — reduce message count\nRetain important data locally — survive connectivity loss"
      },
      {
        "title": "Debugging",
        "body": "Serial output for development — remove in production\nMQTT debug topics — publish diagnostics\nLED status indicators — quick visual feedback\nRemote logging carefully — don't flood network\nSimulate sensors for testing — don't wait for real conditions"
      },
      {
        "title": "Vendor Lock-in",
        "body": "Prefer local API devices — Tuya local, Shelly, Tasmota-compatible\nCloud-only devices risky — company shutdowns brick devices\nOpen protocols over proprietary — MQTT, Zigbee over custom\nCheck if flashable — many devices accept custom firmware\nMatter promises interoperability — but still maturing"
      }
    ],
    "body": "Protocol Selection\nMQTT for lightweight messaging — pub/sub, low bandwidth, ideal for sensors\nCoAP for constrained devices — UDP-based, REST-like, very low power\nHTTP/REST for capable devices — familiar but heavier, use when bandwidth allows\nWebSocket for real-time bidirectional — dashboards, live updates\nZigbee/Z-Wave for mesh networks — no WiFi needed, battery-friendly\nMQTT Essentials\nBroker is the central hub — Mosquitto most common self-hosted\nTopics are hierarchical — home/livingroom/temperature\nQoS levels: 0 (fire-forget), 1 (at least once), 2 (exactly once)\nRetain flag keeps last message — new subscribers get current state\nWill message announces disconnection — device offline detection\nSecurity (Critical)\nNever expose MQTT broker to internet without auth — bots scan constantly\nTLS mandatory for any external access — encrypt all traffic\nUnique credentials per device — revoke one without affecting others\nFirmware updates must be signed — prevent malicious updates\nSegment IoT on separate VLAN — isolate from main network\nCommon Vulnerabilities\nDefault credentials left unchanged — first thing attackers try\nUnencrypted protocols on network — credentials sniffable\nNo firmware update mechanism — stuck with known vulnerabilities\nCloud dependency without fallback — device useless when server down\nDebug ports left enabled — UART, JTAG exposed\nHome Assistant Integration\nMQTT discovery auto-configures devices — follow HA format\nESPHome for custom ESP devices — YAML config, OTA updates\nZigbee2MQTT bridges Zigbee to MQTT — hundreds of devices supported\nTasmota for off-the-shelf flashing — many WiFi devices supported\nESP32/ESP8266 Development\nArduino framework most accessible — huge library ecosystem\nESP-IDF for production — FreeRTOS, more control, steeper curve\nPlatformIO over Arduino IDE — better dependency management\nDeep sleep for battery life — microamps when sleeping\nOTA updates essential — don't require physical access\nPower Management\nBattery devices need deep sleep — wake on timer or interrupt\nCalculate power budget — mAh capacity vs average consumption\nSolar charging viable — small panel can sustain low-power sensors\nSupercapacitors for burst power — supplement weak batteries\nMonitor battery voltage — alert before device dies\nConnectivity Patterns\nWiFi: high bandwidth, high power — plugged devices\nZigbee/Z-Wave: mesh, low power — battery sensors\nLoRa: long range, low bandwidth — outdoor, agricultural\nBLE: short range, low power — wearables, beacons\nThread/Matter: new standard — Apple/Google/Amazon unified\nReliability\nWatchdog timer prevents freezes — reset if loop stalls\nPersistent storage for state — survive power cycles\nHeartbeat/ping monitoring — detect silent failures\nGraceful degradation — work offline when cloud unavailable\nRedundant sensors for critical systems — don't trust single point\nData Considerations\nSample rate vs storage — don't over-collect\nLocal processing when possible — reduce bandwidth, latency\nTime synchronization critical — NTP for timestamps\nAggregate before sending — reduce message count\nRetain important data locally — survive connectivity loss\nDebugging\nSerial output for development — remove in production\nMQTT debug topics — publish diagnostics\nLED status indicators — quick visual feedback\nRemote logging carefully — don't flood network\nSimulate sensors for testing — don't wait for real conditions\nVendor Lock-in\nPrefer local API devices — Tuya local, Shelly, Tasmota-compatible\nCloud-only devices risky — company shutdowns brick devices\nOpen protocols over proprietary — MQTT, Zigbee over custom\nCheck if flashable — many devices accept custom firmware\nMatter promises interoperability — but still maturing"
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/ivangdavila/iot",
    "publisherUrl": "https://clawhub.ai/ivangdavila/iot",
    "owner": "ivangdavila",
    "version": "1.0.0",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/iot",
    "downloadUrl": "https://openagent3.xyz/downloads/iot",
    "agentUrl": "https://openagent3.xyz/skills/iot/agent",
    "manifestUrl": "https://openagent3.xyz/skills/iot/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/iot/agent.md"
  }
}