Home Assistant Insteon 集成 X10 All lights on 动作使用指南
2026/9/17 15:27:53 网站建设 项目流程

Home Assistant Insteon 集成 X10 All lights on 动作使用指南

【免费下载链接】home-assistant.io:blue_book: Home Assistant User documentation项目地址: https://gitcode.com/GitHub_Trending/ho/home-assistant.io

导读

本文讲解 Home Assistant Insteon 集成中insteon.x10_all_lights_on动作的完整用法:它向同一 X10 家码(house code)下的所有 X10 灯具广播All lights on命令,常用于"到家"自动化等批量开关灯场景。读完本文,你将掌握该动作的 UI 配置步骤、YAML 写法、housecode参数约束,以及它与x10_all_lights_offx10_all_units_off两个兄弟动作的搭配策略。

动作概述:一次广播,点亮整个家码

在 Insteon 集成 中,X10 设备与 Insteon 设备共享同一套电力线网络。insteon.x10_all_lights_on动作会向使用指定 X10 house code 的全部 X10 灯发送All lights on命令,而不是逐个寻址某个单元码(unit code)。

action: insteon.x10_all_lights_on data: housecode: a

这一行命令的效果等价于:对家码a下所有 X10 灯具分别发送开灯命令,但只需一次动作调用即可完成。典型的落地场景是到家自动化——当家庭成员回家时,触发该动作把客厅、走廊、厨房的 X10 灯一次性点亮。

前置条件:X10 设备已在 Insteon 网络上

在使用该动作之前,需要满足 Insteon 集成的基础环境:

  • 调制解调器(Modem):USB/串口 PowerLinc Modem(如 2413U、2448A7、2413S、2412S)已接入 Home Assistant 主机,或 Insteon Hub v1(2242,端口 9761)/ Hub v2(2245,端口 25105)在网络中可达。
  • 设备已链接(linked):X10 灯具必须已与调制解调器建立链接,Home Assistant 才能通过电力线广播命令。设备链接可在 Insteon 配置面板 的Add device功能中完成。
  • 家码一致性:动作的housecode参数必须与你的 X10 设备实际配置的家码一致,命令才会被对应设备接收。

在 UI 中调用该动作

如果你习惯用可视化方式编排自动化,Home Assistant 会逐步引导你完成配置,无需编写 YAML:

  1. 进入设置>自动化与场景
  2. 打开一个现有的自动化或脚本;或选择创建自动化>创建新自动化
  3. 若是新建自动化,在When(何时)部分添加一个触发器;脚本不需要触发器,它们在被其他自动化调用时运行。
  4. Then do(然后执行)部分,选择添加动作(Add action)
  5. 在搜索框中搜索并选择Insteon: X10 all lights on
  6. 选择Housecode(家码)
  7. 点击保存

UI 中的选项

选项说明是否必填
HousecodeX10 家码,取值范围ap

需要注意的是,该动作不支持 targets(目标)。在 UI 中你不会被要求选择区域、设备、实体或标签——因为命令是按家码广播的,而不是定向到某个实体。

在 YAML 中调用该动作

在 YAML 中,动作名为insteon.x10_all_lights_on,需要放在action字段中,参数放在data下。以最基础的自动化为例:

automation: - alias: "到家点亮所有 X10 灯" triggers: - trigger: state entity_id: person.zhang_san to: "home" actions: - action: insteon.x10_all_lights_on data: housecode: a

该示例在家庭成员回到家时,向家码a下的所有 X10 灯发送All lights on命令。脚本中同样可用:

script: arrive_home_lights: alias: "到家开灯" sequence: - action: insteon.x10_all_lights_on data: housecode: a

YAML 参数参考

参数类型必填取值范围说明
housecodestringapX10 家码。家码用于区分同一电力线网络中的不同设备分组,必须与你 X10 设备上的拨码开关设置一致

housecode是唯一参数且为必填项。X10 协议中家码范围是ap,共 16 个;若填写范围外的值,命令将无法被任何 X10 设备正确识别。

三个 X10 广播动作的搭配策略

该动作与另外两个 X10 广播动作同属 Insteon 集成(详见 release 111 更新日志),它们构成一套完整的"全屋 X10 控制"组合:

动作作用范围典型场景
insteon.x10_all_lights_on某家码下的所有 X10 灯到家时统一开灯
insteon.x10_all_lights_off某家码下的所有 X10 灯离家或就寝时统一关灯
insteon.x10_all_units_off某家码下的所有 X10 设备(不限于灯)离家时关闭全部设备,包括插座等

三者的 YAML 写法与参数完全一致,区别仅在于动作名和命令语义:

# 离家关灯(仅灯具) - action: insteon.x10_all_lights_off data: housecode: a # 离家全关(灯具 + 其他 X10 设备) - action: insteon.x10_all_units_off data: housecode: a

一个完整的"离家"自动化可以这样组合:

automation: - alias: "离家全关" triggers: - trigger: state entity_id: person.zhang_san to: "not_home" actions: - action: insteon.x10_all_units_off data: housecode: a

深入理解:广播命令的底层机制

从实现机制看,insteon.x10_all_lights_on属于 Insteon 集成的调制解调器级命令:它不经过 Home Assistant 的实体注册表,也不面向具体实体,而是由集成将 X10 协议帧经由调制解调器(PLM 或 Hub)注入电力线网络。X10 设备按家码+单元码寻址,All lights on这类全局命令只匹配家码,因此一条命令即可覆盖该家码下的所有灯具。这正是该动作"不支持 targets"的根本原因——广播语义天然没有实体目标。

从源码结构看,Insteon 集成把这类"全广播"动作与常规实体动作(如insteon.add_all_linkinsteon.print_all_link_database等,见 source/_actions 目录)分开组织,每个动作对应一个独立文档文件。X10 广播动作家族(x10_all_units_offx10_all_lights_onx10_all_lights_off)在三个文档之间通过 front matter 的related_actions字段互相引用,方便用户在文档间跳转对比。

常见问题与排障

动作无效,X10 灯没有反应?按以下顺序排查:

  1. 确认housecode与你 X10 设备的拨码设置完全一致(ap,不区分大小写)。
  2. 确认 Insteon 集成已正常连接调制解调器/Hub,且 X10 设备已与调制解调器链接。
  3. 设置>工具>操作(Actions)中搜索该动作,直接填写字段并点击执行操作(Perform action),观察实际效果——这是不写 YAML 快速验证的最直接方式。

X10 灯没被 Home Assistant 识别为实体?这不影响本动作的使用。X10 设备的命令是基于家码广播的,即使设备未以实体形式出现在 Home Assistant 中,只要硬件层面已正确链接,广播命令依然有效。若设备确实未在自动发现(autodiscovery)中被识别,可参考 Insteon 集成文档 中的设备覆盖(device override)与重新链接指引。

仍然卡住?描述你调用的动作、housecode取值和预期结果,在 Home Assistant 社区(Discord 频道、官方论坛或 /r/homeassistant)寻求帮助时附上以上信息,通常能快速定位问题。

小结

insteon.x10_all_lights_on是 Insteon 集成中用于按家码批量开灯的广播动作:UI 侧只需选择 Housecode,YAML 侧只需一个必填的housecode参数(ap)。配合insteon.x10_all_lights_offinsteon.x10_all_units_off,可以在一两个动作内完成全屋 X10 设备的统一开/关,是"到家/离家"自动化的高效积木。

【免费下载链接】home-assistant.io:blue_book: Home Assistant User documentation项目地址: https://gitcode.com/GitHub_Trending/ho/home-assistant.io

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询