概要#
PocketHookをチャットインターフェースとして使用し、スマートホームデバイスを制御します。サーバーがメッセージに基づいて制御するデバイスを決定し、適切なiOS Shortcutをトリガーします。
サーバーコマンド#
サーバーに lights on または lights off を送信します。
サーバーレスポンス#
{
"msg": "Turning on lights...",
"shortcut": "ToggleLights",
"data": { "state": "on" }
}
必要なiOS Shortcut#
ToggleLights#
- Shortcut入力 — PocketHookからデータを受信
- 辞書の値を取得 —
stateキーを抽出 - もし stateが"on"と等しい場合:
- ホームを制御 → ライトをオン
- それ以外:
- ホームを制御 → ライトをオフ
サーバーコード (router.ts)#
case "lights on":
return toResponse(
shortcut("Turning on lights...", "ToggleLights", { state: "on" })
);
case "lights off":
return toResponse(
shortcut("Turning off lights...", "ToggleLights", { state: "off" })
);
上級:部屋別制御#
部屋パラメータで拡張:
case "bedroom lights":
return toResponse(
shortcut("Bedroom lights...", "ToggleLights", {
state: "on",
room: "bedroom"
})
);
Shortcutでroom値を抽出し、ホームを制御アクションで特定の部屋をターゲットにします。