ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

Home Assistant Homematic 集成:详解 set_install_mode 动作——让 CCU 进入安装模式配对新设备

Home Assistant Homematic 集成:详解 set_install_mode 动作——让 CCU 进入安装模式配对新设备 Home Assistant Homematic 集成详解 set_install_mode 动作——让 CCU 进入安装模式配对新设备【免费下载链接】home-assistant.io:blue_book: Home Assistant User documentation项目地址: https://gitcode.com/GitHub_Trending/ho/home-assistant.io本文基于 Home Assistant 官方文档仓库home-assistant.io中的动作参考页 homematic.set_install_mode 展开讲解homematic.set_install_mode动作的完整参数、UI 与 YAML 两种配置方式及其底层原理。读完后你将能够在自动化或脚本中让 Homematic XML-RPC 接口进入安装模式install mode以配对/学习新的无线设备理解interface、mode、time、address各参数的取值含义与默认值并将其与 homematic.reconnect、homematic.set_device_value、homematic.virtualkey、homematic.put_paramset、homematic.set_variable_value 等同类动作组合形成一套可脚本化的 Homematic 设备接入流程。什么是 set_install_mode 动作homematic.set_install_mode是 Home Assistant 中 Homematic 集成 提供的服务动作之一其官方描述为将某个 Homematic XML-RPC 接口置入安装模式Sets a Homematic XML-RPC interface into installation mode。Homematic 集成通过 XML-RPC 与你的 CCU/Homegear 建立双向通信一方面用 XML-RPC 向设备下发数值另一方面订阅 CCU 推送的设备事件。当你想把一台尚未配对的无线设备例如新的 HM 无线开关、无线温度传感器纳入系统时必须先让 CCU 侧对应的无线接口进入安装模式也称学习模式接口才会在time指定的时间窗口内接收并学习新设备。这个动作就是干这件事的action: homematic.set_install_mode data: interface: wireless time: 120也就是说你可以在自动化里一键打开安装窗口配合手机通知提醒再手动按下待配对设备的配对键——整个配新设备流程被脚本化无需登录 CCU 的 Web 管理界面。需要特别注意该动作的权限与目标限制官方文档明确说明此动作不支持 targets——在 UI 中不会让你选择区域、设备、实体或标签并且只有拥有管理员权限administrator的用户才能执行此动作。原因是该操作作用于整个 XML-RPC 接口层面而不是某个具体实体。YAML 参数详解在 YAML 中引用该动作为homematic.set_install_mode。官方给出的最小示例为action: | action: homematic.set_install_mode data: interface: wireless time: 120各参数说明源自文档的 Options in YAML含类型、必填性与默认值参数类型必填默认值说明interfacestring是—要置入安装模式的接口名称必须与集成配置homematic.interfaces中定义的接口名一致modeinteger否1安装模式1为正常模式配对/学习新设备2为清除已有旧链接的模式timeinteger否60接口保持在安装模式的时长单位为秒addressstring否—要学习的 Homematic 设备地址或 BidCoS-RF虚拟遥控器地址参数使用要点interface 必须与配置一致。Homematic 集成在configuration.yaml中以interfaces声明多个 XML-RPC 接口例如homematic: interfaces: wireless: host: 127.0.0.1 wired: host: 127.0.0.1 port: 2000配置变量说明与多接口示例可参见 Homematic 集成文档 的 Configuration 一节。动作中的interface值就是上面这些键名。接口默认使用 2001 端口无线设备有线设备通常走 2000 端口IP 设备走 2010 端口CCU 提供的虚拟恒温器组走 9292 端口且需将path设为/groupsCCU3 启用 SSL 后端口号前会加一个 42001 变 42001。安装模式只对无线接口有意义——有线与 IP 设备不走配对/学习流程所以示例中使用的正是名为wireless的无线接口。mode 的两种取值。mode: 1是常规的正常模式用于学习新设备mode: 2会移除该接口下已存在的旧链接links适用于需要重建链接关系的场景例如设备换接口、链接错乱后重新配对。不确定时保持默认1即可。time 控制学习窗口。默认 60 秒。若设备较多或需要在多个位置按配对键可以把时间放大示例中的time: 120即把窗口延长到 2 分钟。窗口结束后接口自动退出安装模式无需再发命令关闭。address 可选但有用。指定待学习设备的地址或BidCoS-RF可让接口聚焦于学习目标设备。例如 Home Assistant 的virtualkey动作文档中虚拟遥控器地址就是BidCoS-RF——如果你要学习的就是这台虚拟遥控器上的新按键可在本动作中传入该地址。在 UI 中使用该动作官方文档给出的图形界面操作步骤与 reconnect 等动作相同的入口进入SettingsAutomations scenes打开一个已有自动化或脚本或选择Create automationCreate new automation若是新建自动化先在When部分添加触发条件脚本不需要触发器它由其他东西调用时执行在Then do部分选择Add action在搜索框中搜索并选择Homematic: Set install mode输入Interface以及可选的Mode、Time、Address选择Save。UI 中的可选项与 YAML 参数一一对应Interface要置入安装模式的接口必填Mode安装模式1 为正常模式2 为移除已有旧链接Time保持安装模式的秒数Address要学习的 Homematic 设备或 BidCoS-RF 的地址。再次强调文档中的限制此动作不支持 targetsUI 中不提示选择区域、设备、实体或标签且只有管理员可以执行。实战用自动化脚本化配对流程把该动作放进自动化后你可以做到发一条通知提醒自己去按配对键CCU 同时自动打开 120 秒的学习窗口。以下示例综合了官方 YAML 示例的写法action:块写法与 Homematic 集成文档 中按键触发事件homematic.keypress的用法属于组合运用automation: - alias: 开始学习新 Homematic 设备 triggers: # 例按下虚拟遥控器 BidCoS-RF 的 1 通道短按触发打开安装窗口 - trigger: event event_type: homematic.keypress event_data: name: BidCoS-RF channel: 1 param: PRESS_SHORT actions: - action: homematic.set_install_mode data: interface: wireless mode: 1 time: 120 # 提醒用户去按新设备的配对键 - action: notify.persistent_notification data: message: 无线接口已进入安装模式请在 120 秒内按新设备的配对键关于用homematic.keypress事件触发有两点依据来自集成文档带按钮的设备如 HM-Sen-MDIR-WM55、遥控器会触发homematic.keypress事件事件数据包含name、channel、param三个字段param可能是PRESS_SHORT、PRESS_LONG、PRESS_CONT、PRESS_LONG_RELEASE之一name字段取决于是否启用了名称解析未解析时是设备 ID如LEQ1234657解析成功时是你在 CCU/元数据中设置的名称如Kitchen Switch。示例中使用BidCoS-RF这一固定地址作为name过滤条件对应未做名称解析时的取值形式。与相关动作的配合文档 front matter 的related_actions列出了五个相关动作它们与本动作共同构成 Homematic 集成的动作族homematic.reconnect重连所有 Homematic 主机。集成文档指出CCU/Homegear 重启后 Home Assistant 会停止收到设备更新而该协议无法自动恢复连接必须手动调用homematic.reconnect。因此典型运维自动化是检测某传感器长时间未更新 → 调用 reconnect集成文档给出了完整的 template automation 示例。如果你在 CCU 重启后配对新设备通常先 reconnect、再 set_install_mode两步组合能覆盖重启后配对这一常见场景homematic.set_device_value直接调用设备setValue方法控制设备适合设备未被完全支持时做参数级控制homematic.virtualkey模拟按键例如对 BidCoS-RF 虚拟遥控器发PRESS_LONG或对 KeyMatic 门锁发OPENhomematic.put_paramset直接调用putParamset方法修改设备参数集如壁式恒温器的周程序WEEK_PROGRAM_POINTER对 BidCoS-RF 设备还支持BURST/WAKEUP两种接收模式homematic.set_variable_value读写 CCU/Homegear 上的系统变量。一个可复制的学习新设备完整序列是homematic.reconnect——确保 Home Assistant 与 CCU 连接正常homematic.set_install_mode——打开学习窗口interface: wirelesstime: 120在窗口内按下新设备的配对键若新设备支持完整设备类型Home Assistant 会自动检测并生成实体集成文档提示20 台以上设备的名称解析resolvenames可能让设备实体延迟约一分钟才在 UI 中出现。适用前提与限制结合 Homematic 集成文档使用本动作前请确认以下前提已在configuration.yaml中配置homematic集成并重启 Home Assistant且至少存在一个无线接口默认 2001 端口CCU 3 及以上版本默认启用内部防火墙必须在 CCU 安全设置中放行XML-RPC API或将 Home Assistant 实例的 IP 加入白名单否则接口层命令无法到达 CCU该集成当前标记为 legacy 质量级别front matter 中ha_quality_scale: legacy支持的实体类型包括 binary_sensor、climate、cover、light、lock、notify、sensor、switch动作本身不受实体支持范围限制因为它直接操作接口而非实体多主机multiple hosts场景下接口名必须唯一且仅限 ASCII 字母集成文档提示多主机时动作只能使用其中一个连接因此动作能操作的设备/变量范围受限于该主机/协议的范围——这不影响实体本身工作但选择interface时要选对承载目标设备的那一个。小结homematic.set_install_mode用一个必填参数interface和三个可选参数mode默认 1、time默认 60、address可选就把打开 CCU 无线接口学习窗口这一步纳入了 Home Assistant 的自动化体系。它不支持 targets、仅限管理员执行作用域是整个 XML-RPC 接口而非单个实体。把它与homematic.reconnect及homematic.keypress事件配合即可实现通知提醒 自动开窗 手动配对的完整设备接入流程对于接口下已有旧链接需要清理的场景mode: 2提供了先清后配的手段。参考文档set_install_mode 动作参考、Homematic 集成、reconnect、set_device_value、virtualkey、put_paramset、set_variable_value。【免费下载链接】home-assistant.io:blue_book: Home Assistant User documentation项目地址: https://gitcode.com/GitHub_Trending/ho/home-assistant.io创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表