运行时依赖
安装命令
点击复制技能文档
Samsung Smart TV(SmartThings) 此技能创建一个SmartThings OAuth应用并存储凭证以供Clawdbot使用。 设置(一次性) 使用PAT创建SmartThings OAuth应用(无需浏览器)并打印手机登录URL,仅使用纯文本说明。 在手机上打开URL,登录,然后从重定向页面复制代码查询参数并重新运行以交换它。 如果PAT应用创建失败(403),则使用SmartThings CLI登录流在正常机器上创建应用,然后在运行代码交换步骤之前在.env中设置客户端ID/密钥。 重新运行以刷新凭证:描述操作以纯文本形式(无代码片段)。
它的作用 创建一个名为smartthings-clawdbot的OAuth-In SmartApp。 使用范围r:devices:和x:devices:(读取+执行命令)。 重定向URI默认为https://httpbin.org/get(可以通过redirect-uri选项覆盖)。 将SMARTTHINGS_APP_ID、SMARTTHINGS_CLIENT_ID、SMARTTHINGS_CLIENT_SECRET及OAuth令牌写入~/.clawdbot/.env(或CLAWDBOT_STATE_DIR/.env)。 当提供PAT时,使用SmartThings CLI创建OAuth应用。 通过直接HTTPS与SmartThings交换OAuth代码以获取令牌(不通过CLI)。
设备设置 使用SmartThings CLI以JSON格式列出设备并找到TV设备ID。 将其存储为SMARTTHINGS_DEVICE_ID在同一个.env文件中。
常见操作(仅纯文本) 使用SmartThings CLI列出设备和功能。 检查设备状态。 向TV设备发送开关/音量/静音命令。 应用程序启动(Netflix/Prime Video) 应用程序启动是设备特定的;在功能中查找applicationLauncher或samsungtv。 在设备状态下的supportedApps或installedApps中发现应用程序ID。 使用SmartThings CLI和TV的appId启动应用程序。 示例ID不是通用的;使用列出的TV的ID。
应用程序发现(当用户要求打开特定应用程序时) 首先,在TV上手动打开目标应用程序。 然后查询设备状态并查找诸如tvChannelName、installedApps或supportedApps等字段以提取当前appId。 为将来使用保存appId;一些ID是设备特定的。 已知应用程序ID模式(示例): 标准/全局应用程序(通常稳定): Netflix:org.tizen.netflix-app Amazon Prime:org.tizen.primevideo 模式:org.tizen.[应用程序名称] 设备特定应用程序(每台TV都不同): YouTube:{随机}.TizenYouTube Joyn:{随机}.ZAPPNVOLLTVFREIGESTREAMT 模式:{随机}.{包名称} 避免猜测;始终从TV的状态有效载荷中确认appId。
注意 脚本默认为无头模式,不会打开浏览器。 通过SMARTTHINGS_TOKEN(或SMARTTHINGS_PAT)提供PAT以进行身份验证。 在https://account.smartthings.com/tokens创建PAT。 OAuth流程:在手机上打开打印的URL,然后从重定向页面复制代码查询参数并使用auth-code重新运行。 默认重定向使用https://httpbin.org/get在URL中显示代码;如果您不想使用httpbin,可以切换到自己的重定向URI。 重新运行设置是安全的;它会就地更新env条目。 响应样式:不包括代码块或内联命令片段;仅使用纯文本步骤。