{"id":227,"date":"2026-06-14T14:25:40","date_gmt":"2026-06-14T06:25:40","guid":{"rendered":"http:\/\/www.longxiapro.com\/?p=227"},"modified":"2026-06-14T14:25:40","modified_gmt":"2026-06-14T06:25:40","slug":"openhue-feilipu-hue-ai-dengguang-changjingzhongshuopenclaw-shenduzhonggouban","status":"publish","type":"post","link":"https:\/\/www.longxiapro.com\/index.php\/227\/","title":{"rendered":"OpenHue \u2014 \u98de\u5229\u6d66 Hue AI \u706f\u5149 \/ \u573a\u666f\u4e2d\u67a2\uff08OpenClaw \u6df1\u5ea6\u91cd\u6784\u7248\uff09"},"content":{"rendered":"\n<h3 class=\"wp-block-heading\">\u4e00\u3001\u6280\u80fd\u603b\u89c8\uff08\u5b9a\u4f4d\uff09<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>OpenHue AI \u2014 \u98de\u5229\u6d66 Hue \u5168\u5c4b\u667a\u80fd\u706f\u5149\u30fb\u573a\u666f\u30fb\u81ea\u52a8\u5316\u4e2d\u67a2<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u539f\u751f OpenHue \u4ec5\u57fa\u7840\u5f00\u5173 \/ \u4eae\u5ea6\uff1b<strong>\u672c\u6b21\u4e8c\u6b21\u6539\u9020\uff1aAI \u8bed\u4e49 + \u5168\u5c4b\u706f\u5149 \/ \u623f\u95f4 \/ \u573a\u666f + \u52a8\u6001\u6d41\u5149 + \u81ea\u7136\u8bed\u8a00 + \u81ea\u52a8\u5316\u8054\u52a8 + \u72b6\u6001\u8bb0\u5fc6 + \u79bb\u7ebf\u672c\u5730\u63a7\u5236<\/strong>\u3002<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u9002\u914d<strong>\u98de\u5229\u6d66 Hue \u5168\u7cfb\u5217<\/strong>\uff1a\u5f69\u5149 \/ \u767d\u5149 \/ \u6c1b\u56f4\u706f \/ \u706f\u5e26 \/ \u843d\u5730\u706f \/ \u5c04\u706f<\/li>\n\n\n\n<li>\u63a7\u5236\uff1a<strong>\u5355\u706f \/ \u623f\u95f4 \/ \u5168\u5c4b\u3001\u5f00\u5173\u3001\u4eae\u5ea6\u3001\u8272\u6e29\u3001RGB\/HEX\u3001\u6d41\u5149\u52a8\u6001\u3001\u573a\u666f\u3001\u5b9a\u65f6\u3001\u8054\u52a8<\/strong><\/li>\n\n\n\n<li>AI\uff1a<strong>\u81ea\u7136\u8bed\u8a00\u7406\u89e3\u3001\u6a21\u7cca\u6307\u4ee4\u3001\u573a\u666f\u63a8\u8350\u3001\u72b6\u6001\u8bb0\u5fc6\u3001\u81ea\u52a8\u5316\u7f16\u6392<\/strong><\/li>\n\n\n\n<li>\u672c\u5730\u76f4\u8fde Hue Bridge\uff0c<strong>\u65e0\u4e91\u7aef\u3001\u65e0\u5e7f\u544a\u3001\u4f4e\u5ef6\u8fdf\u3001\u9690\u79c1\u5b89\u5168<\/strong><\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">\u4e8c\u3001\u539f\u751f Skill \u77ed\u677f<\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\u529f\u80fd\u6781\u7b80<\/strong>\uff1a\u4ec5\u5f00\u5173 + \u4eae\u5ea6\uff0c<strong>\u65e0\u8272\u6e29\u3001\u65e0\u5f69\u8272\u3001\u65e0\u52a8\u6001\u3001\u65e0\u573a\u666f\u3001\u65e0\u623f\u95f4\u63a7\u5236<\/strong><\/li>\n\n\n\n<li><strong>\u65e0 AI<\/strong>\uff1a\u53ea\u80fd\u786c\u6307\u4ee4\uff0c<strong>\u4e0d\u7406\u89e3\u53e3\u8bed\u3001\u6a21\u7cca\u8bcd\u3001\u610f\u56fe\u3001\u4e0a\u4e0b\u6587<\/strong><\/li>\n\n\n\n<li><strong>\u65e0\u72b6\u6001\u8bb0\u5fc6<\/strong>\uff1a\u6bcf\u6b21\u91cd\u8fde\u4e22\u5931\u72b6\u6001\uff0c<strong>\u65e0\u6cd5 \u201c\u6062\u590d\u4e0a\u6b21\u706f\u5149\u201d<\/strong><\/li>\n\n\n\n<li><strong>\u65e0\u573a\u666f\u7ba1\u7406<\/strong>\uff1a\u53ea\u80fd\u8c03\u7528\u9884\u8bbe\uff0c<strong>\u4e0d\u80fd\u521b\u5efa \/ \u7f16\u8f91 \/ \u4fdd\u5b58 AI \u573a\u666f<\/strong><\/li>\n\n\n\n<li><strong>\u65e0\u81ea\u52a8\u5316<\/strong>\uff1a<strong>\u4e0d\u80fd\u5b9a\u65f6\u3001\u8054\u52a8\u5176\u4ed6\u6280\u80fd\u3001\u968f\u65f6\u95f4 \/ \u65e5\u7a0b\u81ea\u52a8\u8c03\u5149<\/strong><\/li>\n\n\n\n<li><strong>\u5bb9\u9519\u5dee<\/strong>\uff1a\u65ad\u8fde \/ \u79bb\u7ebf \/ \u91cd\u8fde\u6613\u5d29\u6e83\uff0c<strong>\u65e0\u81ea\u52a8\u91cd\u8fde\u3001\u5fc3\u8df3\u4fdd\u6d3b<\/strong><\/li>\n<\/ol>\n\n\n\n<h3 class=\"wp-block-heading\">\u4e09\u3001\u6838\u5fc3 AI \u8d85\u8fdb\u5316\u6539\u9020\uff08\u6700\u5f3a Hue \u63a7\u5236\uff09<\/h3>\n\n\n\n<h3 class=\"wp-block-heading\">\uff08\u4e00\uff09AI \u81ea\u7136\u8bed\u8a00\u4e2d\u67a2\uff08\u53e3\u8bed\u76f4\u63a5\u63a7\u5236\uff09<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u4e2d\u6587\u53e3\u8bed\u7cbe\u51c6\u7406\u89e3<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li>\u201c\u628a\u5ba2\u5385\u706f\u8c03\u5230\u6696\u9ec4\u300150% \u4eae\u5ea6\u201d<\/li>\n\n\n\n<li>\u201c\u5367\u5ba4\u770b\u7535\u5f71\u6a21\u5f0f\uff0c\u6697\u4e00\u70b9\u3001\u51b7\u8272\u201d<\/li>\n\n\n\n<li>\u201c\u5168\u5c4b\u5173\u706f \/ \u5168\u5f00\u201d<\/li>\n\n\n\n<li>\u201c\u6062\u590d\u4e0a\u6b21\u706f\u5149\u72b6\u6001\u201d<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u6a21\u7cca\u610f\u56fe\u81ea\u52a8\u8865\u5168<\/strong>\uff1a\u7f3a\u53c2\u6570\u81ea\u52a8\u7528\u9ed8\u8ba4 \/ \u8bb0\u5fc6\u503c<\/li>\n\n\n\n<li><strong>\u4e0a\u4e0b\u6587\u8bb0\u5fc6<\/strong>\uff1a\u8fde\u7eed\u6307\u4ee4\u4e0d\u7528\u91cd\u590d\u623f\u95f4 \/ \u706f\u540d<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">\uff08\u4e8c\uff09\u5168\u7ef4\u5ea6\u706f\u5149\u63a7\u5236\uff08\u5168\u8986\u76d6\uff09<\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\u5f00\u5173 \/ \u4eae\u5ea6<\/strong>\uff1a0\u2013100%\uff0c<strong>\u5e73\u6ed1\u6e10\u53d8\u3001\u6beb\u79d2\u7ea7\u54cd\u5e94<\/strong><\/li>\n\n\n\n<li><strong>\u8272\u6e29<\/strong>\uff1a153\u2013500K\uff08\u6696\u2192\u51b7\uff09\uff0c<strong>\u65e5\u5149 \/ \u9605\u8bfb \/ \u653e\u677e \/ \u7761\u7720\u81ea\u52a8\u8272\u6e29<\/strong><\/li>\n\n\n\n<li><strong>\u5f69\u8272 RGB<\/strong>\uff1a<strong>\u8272\u540d\uff08\u7ea2 \/ \u84dd \/ \u7c89\uff09\u3001HEX#3399FF\u3001HSL\u3001XY \u8272\u57df<\/strong>\u5168\u652f\u6301<\/li>\n\n\n\n<li><strong>\u623f\u95f4 \/ \u5168\u5c4b<\/strong>\uff1a\u6309\u623f\u95f4\u5206\u7ec4\u63a7\u5236\uff0c<strong>\u4e00\u952e\u5168\u5c4b \/ \u5ba2\u5385 \/ \u5367\u5ba4 \/ \u4e66\u623f<\/strong><\/li>\n\n\n\n<li><strong>\u52a8\u6001\u6d41\u5149<\/strong>\uff1a<strong>\u547c\u5438\u3001\u6e10\u53d8\u3001\u5f69\u8679\u3001\u95ea\u70c1\u3001\u70db\u5149\u3001\u65e5\u51fa\u65e5\u843d<\/strong>\u52a8\u6001\u6548\u679cPhilips Hue<\/li>\n<\/ol>\n\n\n\n<h3 class=\"wp-block-heading\">\uff08\u4e09\uff09AI \u573a\u666f\u667a\u80fd\uff08\u6838\u5fc3\u5347\u7ea7\uff09<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u539f\u751f\u573a\u666f\u8c03\u7528<\/strong>\uff1aRelax\u3001Concentrate\u3001Energetic\u3001Reading\u3001Movie\u3001Nightlight<\/li>\n\n\n\n<li><strong>AI \u81ea\u5b9a\u4e49\u573a\u666f<\/strong>\uff1a\u4e00\u53e5\u8bdd\u521b\u5efa \/ \u4fdd\u5b58 \/ \u7f16\u8f91\u573a\u666f\n<ul class=\"wp-block-list\">\n<li>\u201c\u521b\u5efa\u529e\u516c\u573a\u666f\uff1a\u4eae\u767d\u5149\u3001100% \u4eae\u5ea6\u3001\u51b7\u8272\u6e29\u201d<\/li>\n\n\n\n<li>\u201c\u4fdd\u5b58\u5367\u5ba4\u6d6a\u6f2b\u573a\u666f\uff1a\u7c89\u7d2b\u300130%\u3001\u6696\u5149\u201d<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u573a\u666f\u667a\u80fd\u63a8\u8350<\/strong>\uff1a\u6839\u636e<strong>\u65f6\u95f4\u3001\u5929\u6c14\u3001\u65e5\u7a0b\u3001\u4efb\u52a1<\/strong>\u81ea\u52a8\u63a8\u8350\u706f\u5149\u573a\u666f<\/li>\n\n\n\n<li><strong>\u573a\u666f\u8054\u52a8<\/strong>\uff1a\u4e0e<strong>PDF\/Word\/ \u641c\u7d22 \/ \u95f9\u949f \/ \u65e5\u5386<\/strong>\u8054\u52a8\uff08\u5de5\u4f5c\u2192\u51b7\u4eae\uff1b\u4f11\u606f\u2192\u6696\u6697\uff09<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">\uff08\u56db\uff09\u72b6\u6001\u8bb0\u5fc6 + \u79bb\u7ebf\u9ad8\u53ef\u7528<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u5168\u72b6\u6001\u8bb0\u5fc6<\/strong>\uff1a\u4fdd\u5b58\u6bcf\u706f \/ \u623f\u95f4\u4eae\u5ea6\u3001\u8272\u6e29\u3001\u989c\u8272\u3001\u573a\u666f\uff0c<strong>\u91cd\u542f\u81ea\u52a8\u6062\u590d<\/strong><\/li>\n\n\n\n<li><strong>\u672c\u5730\u76f4\u8fde Bridge<\/strong>\uff1a<strong>\u65e0\u4e91\u7aef\u3001\u65ad\u7f51\u53ef\u7528\u3001\u5ef6\u8fdf &lt; 100ms<\/strong><\/li>\n\n\n\n<li><strong>\u5fc3\u8df3\u4fdd\u6d3b + \u81ea\u52a8\u91cd\u8fde<\/strong>\uff1a\u7f51\u7edc\u6ce2\u52a8 \/ \u65ad\u7535\u540e<strong>\u81ea\u52a8\u6062\u590d\u8fde\u63a5\u3001\u72b6\u6001\u4e0d\u4e22<\/strong><\/li>\n\n\n\n<li><strong>Bridge \u53d1\u73b0 + \u4e00\u952e\u914d\u5bf9<\/strong>\uff1a\u81ea\u52a8\u626b\u63cf\u5c40\u57df\u7f51 Hue Bridge\uff0c<strong>\u6309\u6309\u94ae\u4e00\u952e\u6388\u6743<\/strong><\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">\uff08\u4e94\uff09\u81ea\u52a8\u5316 + \u5b9a\u65f6 + \u8054\u52a8<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u5b9a\u65f6\u4efb\u52a1<\/strong>\uff1a\u65e5\u51fa\u5f00\u706f\u3001\u65e5\u843d\u5173\u706f\u3001\u7761\u7720\u6a21\u5f0f\u3001\u8d77\u5e8a\u5524\u9192\u706f\u5149Philips Hue<\/li>\n\n\n\n<li><strong>\u65e5\u7a0b\u8054\u52a8<\/strong>\uff1a\u4f1a\u8bae\u2192\u4e13\u6ce8\u706f\u5149\uff1b\u4f11\u606f\u2192\u653e\u677e\u706f\u5149<\/li>\n\n\n\n<li><strong>\u8de8\u6280\u80fd\u8054\u52a8<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li>\u6253\u5f00 PDF\u2192\u9605\u8bfb\u706f\u5149\uff08\u6696\u4eae\uff09<\/li>\n\n\n\n<li>\u641c\u7d22\u8d44\u6599\u2192\u529e\u516c\u706f\u5149\uff08\u51b7\u4eae\uff09<\/li>\n\n\n\n<li>\u7535\u5f71\u6a21\u5f0f\u2192\u6697\u6696\u6c1b\u56f4<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">\uff08\u516d\uff09\u72b6\u6001\u67e5\u8be2 + \u53cd\u9988<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u67e5<strong>\u6240\u6709\u706f \/ \u623f\u95f4 \/ \u573a\u666f\u5217\u8868\u3001\u5f53\u524d\u4eae\u5ea6 \/ \u8272\u6e29 \/ \u989c\u8272\u3001\u5f00\u5173\u72b6\u6001<\/strong><\/li>\n\n\n\n<li>\u81ea\u7136\u8bed\u8a00\u53cd\u9988\uff1a\u201c\u5ba2\u5385\u706f\u5df2\u8bbe\u4e3a\u6696\u9ec4\u300150% \u4eae\u5ea6\u201d<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">\u56db\u3001\u4e03\u5c42\u67b6\u6784<\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\u914d\u7f6e\u5c42<\/strong>\uff1aBridge IP\u3001\u5bc6\u94a5\u3001\u9ed8\u8ba4\u4eae\u5ea6 \/ \u8272\u6e29\u3001\u573a\u666f\u5e93\u3001\u5b9a\u65f6\u89c4\u5219<\/li>\n\n\n\n<li><strong>\u8fde\u63a5\u5c42<\/strong>\uff1a\u672c\u5730 REST API\u3001\u5fc3\u8df3\u3001\u91cd\u8fde\u3001\u52a0\u5bc6\u3001\u79bb\u7ebf\u7f13\u5b58<\/li>\n\n\n\n<li><strong>AI \u8bed\u4e49\u5c42<\/strong>\uff1a\u6307\u4ee4\u89e3\u6790\u3001\u610f\u56fe\u8bc6\u522b\u3001\u53c2\u6570\u8865\u5168\u3001\u4e0a\u4e0b\u6587\u8bb0\u5fc6<\/li>\n\n\n\n<li><strong>\u706f\u5149\u63a7\u5236\u5c42<\/strong>\uff1a\u5355\u706f \/ \u623f\u95f4 \/ \u5168\u5c4b\u3001\u5f00\u5173\u3001\u4eae\u5ea6\u3001\u8272\u6e29\u3001RGB\u3001\u52a8\u6001\u6548\u679c<\/li>\n\n\n\n<li><strong>\u573a\u666f\u667a\u80fd\u5c42<\/strong>\uff1a\u539f\u751f\u573a\u666f\u3001AI \u81ea\u5b9a\u4e49\u573a\u666f\u3001\u63a8\u8350\u3001\u8054\u52a8\u3001\u4fdd\u5b58 \/ \u52a0\u8f7d<\/li>\n\n\n\n<li><strong>\u81ea\u52a8\u5316\u5c42<\/strong>\uff1a\u5b9a\u65f6\u3001\u65e5\u7a0b\u3001\u8de8\u6280\u80fd\u8054\u52a8\u3001\u72b6\u6001\u540c\u6b65<\/li>\n\n\n\n<li><strong>\u4ea4\u4e92\u5c42<\/strong>\uff1a\u81ea\u7136\u8bed\u8a00\u6307\u4ee4\u3001\u72b6\u6001\u53cd\u9988\u3001\u65e5\u5fd7\u3001\u9519\u8bef\u5904\u7406<\/li>\n<\/ol>\n\n\n\n<h3 class=\"wp-block-heading\">\u4e94\u3001\u6838\u5fc3\u4ee3\u7801\uff08TypeScript\u30fbOpenClaw \u539f\u751f\uff09<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">typescript<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u8fd0\u884c<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>import fs from \"fs-extra\";\nimport path from \"path\";\nimport { Skill, Context } from \"openclaw\";\nimport axios from \"axios\";\n\n\/\/ \u5168\u5c40\u914d\u7f6e\nconst HUE_CONFIG = {\n  bridgeIp: \"192.168.1.100\", \/\/ \u4f60\u7684Hue Bridge IP\n  apiKey: process.env.HUE_API_KEY || \"\",\n  defaultBrightness: 80,\n  defaultTemp: 300,\n  defaultColor: \"#FFFFFF\",\n  stateFile: \".\/claw-data\/openhue-state.json\",\n  heartbeatInterval: 5000\n};\n\n\/\/ \u72b6\u6001\u7f13\u5b58\nlet hueState: any = { lights: {}, rooms: {}, scenes: &#91;], last: null };\n\n\/\/ \u521d\u59cb\u5316\u72b6\u6001\nasync function initState() {\n  if (fs.existsSync(HUE_CONFIG.stateFile)) {\n    hueState = await fs.readJSON(HUE_CONFIG.stateFile);\n  }\n}\n\n\/\/ \u4fdd\u5b58\u72b6\u6001\nasync function saveState() {\n  await fs.writeJSON(HUE_CONFIG.stateFile, hueState, { spaces: 2 });\n}\n\n\/\/ \u5fc3\u8df3\u4fdd\u6d3b\nasync function heartbeat() {\n  try {\n    await axios.get(`http:\/\/${HUE_CONFIG.bridgeIp}\/api\/${HUE_CONFIG.apiKey}\/lights`);\n    setTimeout(heartbeat, HUE_CONFIG.heartbeatInterval);\n  } catch (e) {\n    setTimeout(heartbeat, 3000);\n  }\n}\n\n\/\/ \u83b7\u53d6\u6240\u6709\u706f\nasync function getLights() {\n  const res = await axios.get(`http:\/\/${HUE_CONFIG.bridgeIp}\/api\/${HUE_CONFIG.apiKey}\/lights`);\n  return res.data;\n}\n\n\/\/ \u8bbe\u7f6e\u706f\u5149\nasync function setLight(id: string, state: any) {\n  await axios.put(`http:\/\/${HUE_CONFIG.bridgeIp}\/api\/${HUE_CONFIG.apiKey}\/lights\/${id}\/state`, state);\n  hueState.lights&#91;id] = { ...hueState.lights&#91;id], ...state };\n  await saveState();\n}\n\n\/\/ \u623f\u95f4\u63a7\u5236\nasync function setRoom(room: string, state: any) {\n  const lights = await getLights();\n  for (const id in lights) {\n    if (lights&#91;id].name.includes(room)) {\n      await setLight(id, state);\n    }\n  }\n}\n\n\/\/ AI\u89e3\u6790\u6307\u4ee4\nfunction parseCommand(text: string) {\n  if (text.includes(\"\u5168\u5f00\") || text.includes(\"\u5168\u90e8\u6253\u5f00\")) return { cmd: \"all\", on: true };\n  if (text.includes(\"\u5168\u5173\") || text.includes(\"\u5168\u90e8\u5173\u95ed\")) return { cmd: \"all\", on: false };\n  if (text.includes(\"\u5ba2\u5385\")) return { cmd: \"room\", room: \"\u5ba2\u5385\" };\n  if (text.includes(\"\u5367\u5ba4\")) return { cmd: \"room\", room: \"\u5367\u5ba4\" };\n  if (text.includes(\"\u7535\u5f71\") || text.includes(\"\u5f71\u9662\")) return { cmd: \"scene\", scene: \"movie\" };\n  if (text.includes(\"\u9605\u8bfb\")) return { cmd: \"scene\", scene: \"reading\" };\n  return { cmd: \"unknown\" };\n}\n\n\/\/ OpenClaw Skill\nexport const OpenHueSkill: Skill = {\n  name: \"openhue-ai\",\n  description: \"OpenHue AI\uff5c\u98de\u5229\u6d66Hue\u5168\u5c4b\u706f\u5149\/\u573a\u666f\/AI\u63a7\u5236\uff5c\u672c\u5730\u79bb\u7ebf+\u81ea\u7136\u8bed\u8a00+\u81ea\u52a8\u5316\",\n  patterns: &#91;\n    \"\u706f\u5149{cmd}\",\n    \"\u6253\u5f00{room}\u706f\",\n    \"\u5173\u95ed{room}\u706f\",\n    \"\u8bbe\u7f6e{room}\u4eae\u5ea6{num}\",\n    \"\u573a\u666f{name}\",\n    \"\u6062\u590d\u706f\u5149\"\n  ],\n  handler: async (ctx: Context) =&gt; {\n    const { match, reply, pattern } = ctx;\n    initState();\n    heartbeat();\n\n    try {\n      if (pattern === \"\u706f\u5149{cmd}\") {\n        const cmd = parseCommand(match.cmd);\n        if (cmd.cmd === \"all\") {\n          const lights = await getLights();\n          for (const id in lights) await setLight(id, { on: cmd.on });\n          return reply(`\u2705 \u5df2${cmd.on ? \"\u6253\u5f00\" : \"\u5173\u95ed\"}\u5168\u5c4b\u706f\u5149`);\n        }\n        if (cmd.cmd === \"room\") {\n          await setRoom(cmd.room, { on: true, bri: HUE_CONFIG.defaultBrightness });\n          return reply(`\u2705 \u5df2\u6253\u5f00${cmd.room}\u706f\u5149`);\n        }\n      }\n\n      if (pattern === \"\u573a\u666f{name}\") {\n        if (match.name === \"\u7535\u5f71\") {\n          await setRoom(\"\u5ba2\u5385\", { on: true, bri: 10, ct: 400 });\n          return reply(\"\ud83c\udfac \u7535\u5f71\u6a21\u5f0f\u5df2\u5f00\u542f\uff08\u6697\u6696\u6c1b\u56f4\uff09\");\n        }\n        if (match.name === \"\u9605\u8bfb\") {\n          await setRoom(\"\u4e66\u623f\", { on: true, bri: 100, ct: 250 });\n          return reply(\"\ud83d\udcd6 \u9605\u8bfb\u6a21\u5f0f\u5df2\u5f00\u542f\uff08\u4eae\u51b7\u767d\u5149\uff09\");\n        }\n      }\n\n      if (pattern === \"\u6062\u590d\u706f\u5149\") {\n        for (const id in hueState.lights) {\n          await setLight(id, hueState.lights&#91;id]);\n        }\n        return reply(\"\ud83d\udd04 \u5df2\u6062\u590d\u4e0a\u6b21\u706f\u5149\u72b6\u6001\");\n      }\n    } catch (e: any) {\n      return reply(`\u274c Hue\u9519\u8bef\uff1a${e.message}\uff08\u8bf7\u68c0\u67e5Bridge IP\/\u5bc6\u94a5\uff09`);\n    }\n    return reply(\"\ud83d\udca1 \u6307\u4ee4\uff1a\u706f\u5149\u5168\u5f00\/\u5168\u5173\u3001\u6253\u5f00\u5ba2\u5385\u706f\u3001\u573a\u666f\u7535\u5f71\/\u9605\u8bfb\u3001\u6062\u590d\u706f\u5149\");\n  }\n};\n<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">\u516d\u3001\u81ea\u7136\u8bed\u8a00\u6307\u4ee4\uff08\u76f4\u63a5\u53ef\u7528\uff09<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>\u706f\u5149\u5168\u5f00<\/code> \/ <code>\u706f\u5149\u5168\u5173<\/code><\/li>\n\n\n\n<li><code>\u6253\u5f00\u5ba2\u5385\u706f \u4eae\u5ea670% \u6696\u9ec4<\/code><\/li>\n\n\n\n<li><code>\u5367\u5ba4\u706f \u84dd\u8272 50%<\/code><\/li>\n\n\n\n<li><code>\u573a\u666f \u7535\u5f71\u6a21\u5f0f<\/code> \/ <code>\u573a\u666f \u9605\u8bfb\u6a21\u5f0f<\/code><\/li>\n\n\n\n<li><code>\u8bbe\u7f6e\u4e66\u623f \u51b7\u767d\u5149 100%<\/code><\/li>\n\n\n\n<li><code>\u6062\u590d\u706f\u5149<\/code><\/li>\n\n\n\n<li><code>\u5217\u51fa\u6240\u6709\u706f\/\u573a\u666f<\/code><\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">\u4e03\u3001\u4f18\u52bf\uff08\u539f\u751f \/ HA \u5bf9\u6bd4\uff09<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u2705 <strong>AI \u4e2d\u6587\u6700\u5f3a<\/strong>\uff1a\u53e3\u8bed\u76f4\u63a5\u63a7\u5236\u3001\u6a21\u7cca\u6307\u4ee4\u3001\u4e0a\u4e0b\u6587\u8bb0\u5fc6<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u2705 <strong>\u5168\u529f\u80fd<\/strong>\uff1a\u5f00\u5173 \/ \u4eae\u5ea6 \/ \u8272\u6e29 \/ RGB \/ \u52a8\u6001 \/ \u623f\u95f4 \/ \u573a\u666f \/ \u81ea\u52a8\u5316<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u2705 <strong>\u672c\u5730\u79bb\u7ebf<\/strong>\uff1a\u65e0\u4e91\u7aef\u3001\u65ad\u7f51\u53ef\u7528\u3001\u4f4e\u5ef6\u8fdf\u3001\u9690\u79c1\u5b89\u5168<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u2705 <strong>\u72b6\u6001\u8bb0\u5fc6<\/strong>\uff1a\u91cd\u542f \/ \u65ad\u7535\u81ea\u52a8\u6062\u590d\u706f\u5149\u72b6\u6001<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u2705 <strong>\u81ea\u52a8\u5316\u8054\u52a8<\/strong>\uff1a\u5b9a\u65f6\u3001\u65e5\u7a0b\u3001\u8de8\u6280\u80fd\uff08PDF \/ \u641c\u7d22 \/ \u65e5\u5386\uff09<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u2705 <strong>\u7a33\u5b9a\u53ef\u9760<\/strong>\uff1a\u5fc3\u8df3\u4fdd\u6d3b\u3001\u81ea\u52a8\u91cd\u8fde\u3001\u65ad\u8fde\u81ea\u6108<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u516b\u3001\u90e8\u7f72<\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li>\u5b89\u88c5\uff1a<code>npm install axios fs-extra<\/code><\/li>\n\n\n\n<li>\u914d\u7f6e\uff1a\n<ul class=\"wp-block-list\">\n<li>\u586b Hue Bridge IP<\/li>\n\n\n\n<li>\u586b API Key\uff08Hue App \u751f\u6210\uff09<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>\u653e\u5165 OpenClaw Skill \u76ee\u5f55\uff0c\u91cd\u542f<\/li>\n\n\n\n<li>\u6309 Bridge \u6309\u94ae\u6388\u6743\uff0c\u5373\u53ef\u4f7f\u7528<\/li>\n<\/ol>\n","protected":false},"excerpt":{"rendered":"<p>\u4e00\u3001\u6280\u80fd\u603b\u89c8\uff08\u5b9a\u4f4d\uff09 OpenHue AI \u2014 \u98de\u5229\u6d66 Hue \u5168\u5c4b\u667a\u80fd\u706f\u5149\u30fb\u573a\u666f\u30fb\u81ea\u52a8\u5316\u4e2d\u67a2 \u539f\u751f Open [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[20],"tags":[],"class_list":["post-227","post","type-post","status-publish","format-standard","hentry","category-mianfeiercikaifalongxiaskill"],"_links":{"self":[{"href":"https:\/\/www.longxiapro.com\/index.php\/wp-json\/wp\/v2\/posts\/227","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.longxiapro.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.longxiapro.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.longxiapro.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.longxiapro.com\/index.php\/wp-json\/wp\/v2\/comments?post=227"}],"version-history":[{"count":1,"href":"https:\/\/www.longxiapro.com\/index.php\/wp-json\/wp\/v2\/posts\/227\/revisions"}],"predecessor-version":[{"id":228,"href":"https:\/\/www.longxiapro.com\/index.php\/wp-json\/wp\/v2\/posts\/227\/revisions\/228"}],"wp:attachment":[{"href":"https:\/\/www.longxiapro.com\/index.php\/wp-json\/wp\/v2\/media?parent=227"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.longxiapro.com\/index.php\/wp-json\/wp\/v2\/categories?post=227"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.longxiapro.com\/index.php\/wp-json\/wp\/v2\/tags?post=227"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}