ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

Home Assistant System Bridge send_keypress 动作详解:向设备发送键盘按键事件

Home Assistant System Bridge send_keypress 动作详解:向设备发送键盘按键事件 Home Assistant System Bridge send_keypress 动作详解向设备发送键盘按键事件【免费下载链接】home-assistant.io:blue_book: Home Assistant User documentation项目地址: https://gitcode.com/GitHub_Trending/ho/home-assistant.io本文讲解 Home Assistant 中system_bridge.send_keypress动作的完整用法它如何向已接入的 System Bridge 服务器发送单个键盘按键事件等效于在设备物理键盘上按下某个键涵盖图形界面配置步骤、YAML 调用方式、全部参数说明、响应数据格式以及如何与send_text、power_command等相关动作配合实现跨设备的自动化键盘操作。动作概述Send keyboard keypress动作即system_bridge.send_keypress向一台 System Bridge 服务器发送单个键盘按键效果等同于在该服务器的键盘上真实按下该键。它的典型用途包括触发快捷键如enter确认对话框、audio_play播放/暂停媒体、a等字母键配合send_text完成复杂输入。有两个关键特性需要先了解结果存入响应变量该动作会把执行结果写入response_variable指定的变量供同一自动化或脚本的后续步骤使用例如根据结果中的type判断按键是否成功发出。不支持 targets与其他动作不同此动作不使用target区域、设备、实体、标签均不可选。目标服务器通过Bridge字段单独指定。前提条件在使用该动作之前需要满足以下条件依据 System Bridge 集成文档已在目标电脑上安装并运行System Bridge应用要求版本4.0.2 及以上低版本不兼容已获得 System Bridge 的token并已通过配置流程将其接入 Home Assistant该集成ha_config_flow: true即通过 UI 配置流程添加该集成以device类型接入ha_integration_type: device提供 sensor、binary_sensor、update、media_player、notify 等平台同时提供多个自动化动作。bridge参数需要填写的是这台服务器的device ID一串十六进制 ID形如1a2b3c4d5e6f7a8b9c0d1e2f3a4b5c6d。通过图形界面使用在 UI 中添加该动作的步骤进入设置 自动化与场景打开现有自动化或脚本或选择创建新建一个如果是新建自动化先在When区域添加触发条件脚本无需触发条件在Then do区域选择添加动作在搜索框中搜索并选择System Bridge: Send keyboard keypress选择Bridge服务器选择或输入要按下的Key选择保存。UI 中的选项选项必填说明Bridge是要向其发送按键的 System Bridge 服务器Key是要按下的按键如a、enter或audio_play。可以从列表中选择也可以自行输入通过 YAML 调用在 YAML 中该动作的名称为system_bridge.send_keypress。建议始终搭配response_variable保存执行结果以便在后续步骤中引用action: action: system_bridge.send_keypress data: bridge: 1a2b3c4d5e6f7a8b9c0d1e2f3a4b5c6d key: a response_variable: resultYAML 选项说明选项类型必填说明bridgestring是要向其发送按键的 System Bridge 服务器的 device IDkeystring是要按下的按键如a、enter或audio_play。完整支持的键列表遵循 RobotJS 的按键命名规范原始文档链接至 robotjs 的 keys 文档键名采用 RobotJS 风格的命名普通字符如a、1、特殊键如enter、tab、esc、以及媒体功能键如audio_play、audio_pause、audio_mute等。如果不确定某个键的写法可在 Actions 工具中先试验再写入 YAML。响应数据结构执行成功后响应变量中包含以下字段用于确认按键已发出id请求的 IDtype结果类型例如KEYBOARD_KEY_PRESSEDdata所发送的数据例如被按下的keymessage人类可读的结果消息。一个典型的响应示例id: abc123 type: KEYBOARD_KEY_PRESSED data: key: a message: Key pressed在后续步骤中可以通过result.type或result.message校验本次按键是否被成功处理实现带反馈的自动化流程。与相关动作配合send_keypress常与同域动作组合使用形成更完整的设备控制Send keyboard textsystem_bridge.send_text发送一段完整文本让设备输入。适合输入一段文字后按 Enter 提交的场景——先用send_text输入内容再用send_keypress按下enter。Power commandsystem_bridge.power_command发送hibernate、lock、logout、restart、shutdown、sleep等电源命令。例如自动化中先按键解锁或暂停媒体再让设备休眠。三个动作的响应结构一致id/type/data/message因此可以统一处理响应变量。快速验证无需写 YAML配置前可以先在开发者工具中实测打开设置 工具 动作搜索该动作并填入bridge与key选择执行动作即可在真实设备上看到效果无需编写任何 YAML。确认键名可用后再将其固化到自动化或脚本中。如果配置后动作无反应优先检查System Bridge 版本是否 ≥ 4.0.2、token 是否正确、bridge字段填写的 device ID 是否对应当前目标服务器。也可以向 Home Assistant 社区寻求帮助发帖时附上调用的动作与预期行为便于他人定位问题。参考动作源文档system_bridge.send_keypress集成总览System Bridge 集成相关动作send_text、power_command【免费下载链接】home-assistant.io:blue_book: Home Assistant User documentation项目地址: https://gitcode.com/GitHub_Trending/ho/home-assistant.io创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表