Geeklink Home Control | Geeklink Home 局域网控制
[English] | 中文
English
Use the local Geeklink Home gateway over LAN through the bundled self-contained Node.js skill runtime.
Features
- Local LAN access to the Geeklink Home gateway
- Pairing-token based authentication
- Device catalog, scene catalog, and state snapshot access
- Background watcher with recent event and single-device state queries
- Scene activation and local device control
- Multi-gang panels are expanded into practical sub-devices such as
吊灯and筒灯 - Packaged around the bundled
vendor/geeklink-lan-cli.jsruntime - The persistent runtime keeps a single watcher instance per loaded skill
Setup
- Ensure
vendor/geeklink-lan-cli.jsexists in the installed skill package. - Open the gateway details page in the Geeklink app and go to
AI Skill Access. - Copy
gatewayHostandpairingTokenfrom that page. - Use the cross-platform Node wrapper scripts in
scripts/to query devices, scenes, states, and execute actions. - When loaded by ClawHub/OpenClaw as a skill runtime, the watcher is started automatically and tools can read recent events.
Core Workflow
- Open the gateway details page in the Geeklink app and enter
AI Skill Access. - Read the
gatewayHostandpairingTokenshown on that page. - Run
node scripts/geeklink-home.js login --host <host> --pairing-token <token>once to cache session. - Use:
node scripts/geeklink-home.js catalog devices --refreshnode scripts/geeklink-home.js catalog devices --query 吊灯 --refreshnode scripts/geeklink-home.js catalog scenes --refreshnode scripts/geeklink-home.js state snapshot --refreshnode scripts/geeklink-home.js scene activate <sceneId>node scripts/geeklink-home.js device control <catalogDeviceId> ...
Natural Language Mapping
When the user asks for:
- "What devices do I have?" -> run
catalog devices --refresh - "What scenes are available?" -> run
catalog scenes --refresh - "Turn on living room light" -> find the matching expanded
catalog_device_id(for example吊灯under a panel), then rundevice control <id> --power on - "Set bedroom AC to 26 cool high" ->
device control <id> --power on --temperature 26 --mode cool --fan-speed high - "Run away mode" -> find
scene_id, then runscene activate <sceneId> - "Is the living room light on?" -> use
geeklink_get_device_state - "What changed recently?" -> use
geeklink_get_recent_events
Do not guess catalog_device_id. Always list devices first if the mapping is unclear. When a panel exposes named roads, prefer the expanded road device like 吊灯 instead of the parent panel name.
Release Notes
- Version:
0.1.0 - Validated:
- Device catalog
- Scene catalog
- Local device control
- State snapshot
- Single-watcher recent event tracking
- ClawHub publisher owner id for this package is
lintertion.
中文说明
通过内置的自包含 Node.js 运行时,在局域网内直接访问 Geeklink Home 网关。
功能
- 在局域网内访问 Geeklink Home 网关
- 基于 pairing token 的认证
- 读取设备目录、场景目录、状态快照
- 提供后台 watcher、最近事件和单设备状态查询
- 执行场景和本地设备控制
- 以
vendor/geeklink-lan-cli.js为底层运行时 - 多路面板会展开成更符合用户习惯的子设备,例如
吊灯、筒灯 - 常驻 skill runtime 只会启动一个 watcher 实例
使用前准备
- 确认已安装的 skill 包中存在
vendor/geeklink-lan-cli.js。 - 在 Geeklink App 的网关详情页进入
AI技能接入页面。 - 在该页面查看并复制
gatewayHost和pairingToken。 - 通过
scripts/中的跨平台 Node 包装脚本完成登录、列表查询、场景执行和设备控制。 - 如果由 ClawHub/OpenClaw 以常驻 skill runtime 加载,watcher 会自动启动,并支持读取最近事件。
建议工作流
- 先在 Geeklink App 的网关详情页打开
AI技能接入页面。 - 记录页面展示的
gatewayHost和pairingToken。 - 首次使用先执行:
node scripts/geeklink-home.js login --host <host> --pairing-token <token> - 然后按需执行:
node scripts/geeklink-home.js catalog devices --refreshnode scripts/geeklink-home.js catalog devices --query 吊灯 --refreshnode scripts/geeklink-home.js catalog scenes --refreshnode scripts/geeklink-home.js state snapshot --refreshnode scripts/geeklink-home.js scene activate <sceneId>node scripts/geeklink-home.js device control <catalogDeviceId> ...
自然语言意图映射
- “我有哪些设备” ->
catalog devices --refresh - “有哪些场景” ->
catalog scenes --refresh - “打开客厅主灯” -> 先找到展开后的子设备
catalog_device_id,再执行device control <id> --power on - “卧室空调调到 26 度制冷高速” ->
device control <id> --power on --temperature 26 --mode cool --fan-speed high - “执行离家模式” -> 找到
scene_id,再执行scene activate <sceneId> - “客厅灯现在开着吗” ->
geeklink_get_device_state - “最近发生了什么变化” ->
geeklink_get_recent_events
不要猜测 catalog_device_id。如果设备匹配不确定,先列出设备再确认。对于多路面板,优先使用展开后的子设备名,例如 吊灯、筒灯,不要只盯着父设备名。
发布说明
- 版本:
0.1.0 - 已验证能力:
- 设备目录
- 场景目录
- 本地设备控制
- 状态快照
- 单实例 watcher 最近事件跟踪
- 该包发布到 ClawHub 时使用的
ownerId为lintertion。