Home Assistant LIFX set_state 动作实战:一次调用同时设置颜色、亮度与开关状态
Home Assistant LIFX set_state 动作实战一次调用同时设置颜色、亮度与开关状态【免费下载链接】home-assistant.io:blue_book: Home Assistant User documentation项目地址: https://gitcode.com/GitHub_Trending/ho/home-assistant.iolifx.set_state是 Home Assistant LIFX 集成为灯光设备提供的专用动作用于在单次调用中完成 LIFX 灯的颜色、亮度与电源状态的联合设置。与总是会点亮设备的通用light.turn_on动作不同本动作允许在不改变当前电源状态的前提下调整颜色与亮度非常适合灯处于关闭状态时就预先准备好参数的场景——例如当人体传感器或按钮触发开灯时灯光能立刻以预设效果亮起。阅读本文后你将掌握该动作的 UI 与 YAML 两种调用方式、全部参数含义、多区域Multizone灯光的区域编号规则以及如何将其嵌入自动化脚本。动作概览与light.turn_on的本质区别该动作的核心价值在于电源状态的可选择性。按照官方文档定义见 source/_actions/lifx.set_state.markdown使用lifx.set_state可以设置颜色和亮度可选地同时打开或关闭灯如果不提供power参数灯的电源状态保持不变而light.turn_on总会将灯点亮无法做到只调参不开灯。这一特性让离线预设置成为可能在灯关闭时把颜色和亮度调好等外部事件人体传感器、门磁、按钮触发放电时灯光会直接以正确的观感亮起而不会先闪烁或跳到上一次的状态。与同一系列动作的关系lifx.set_state偏静态设置lifx.paint_theme用于将预置主题或自定义调色板铺满目标灯lifx.effect_move用于在固件层面让颜色沿灯带移动。三者互相配合可覆盖绝大多数 LIFX 灯光编排需求。在 UI 中调用自动化与脚本在设置 自动化与场景中通过以下步骤为自动化或脚本添加该动作进入设置 自动化与场景打开现有的自动化或脚本或选择创建自动化 创建新自动化若是新建自动化在When触发条件部分添加触发器脚本无需触发器由其他流程调用时执行在Then do动作部分选择添加动作在按目标Targets见下文目标选择下选择要控制的 LIFX 灯从该目标对应的动作列表中选择设置状态Set state填写需要使用的选项点击保存。UI 中的选项选项说明电源Power打开或关闭灯。留空则保持当前电源状态不变。过渡Transition过渡到最终状态所需的时间单位秒。区域Zones对多区域灯如 LIFX Z、Lightstrip、Beam要生效的区域编号列表编号从 0 开始计数。红外InfraredLIFX 夜视Nightvision灯泡在低亮度时使用的自动红外等级。此外UI 中还提供来自light.turn_on的颜色与亮度选项如color_name、brightness等用于设置目标新状态。在 YAML 中使用如果直接在 YAML 中编写动作名为lifx.set_state基础示例如下来自原文档可直接复制使用action: lifx.set_state target: entity_id: light.living_room data: color_name: blue brightness: 120 transition: 2这段配置的作用是让客厅灯在 2 秒内淡入蓝色亮度为 1200 表示关255 表示最亮。YAML 选项参考参数类型必填默认值说明powerboolean否false打开或关闭灯。留空则保持当前电源状态不变。transitionfloat否—过渡到最终状态所需时间单位秒。zoneslist否—多区域灯上要生效的区域编号列表编号从 0 开始。infraredinteger否—LIFX 夜视灯泡在低亮度时使用的自动红外等级取值范围 0 到 255。除上述专用参数外还可以直接复用light.turn_on中的颜色与亮度参数例如brightness亮度整数0 关灯、1 为最小亮度、255 为最大亮度brightness_pct按百分比设置亮度0 关灯、1 为 1%、100 为满亮度color_name人类可读的颜色名如warm_white、tomato、cornflowerbluehs_color色调/饱和度列表hue 0–360、saturation 0–100rgb_colorRGB 列表三个 0–255 的整数xy_colorXY 色彩空间坐标两个 0–1 的小数color_temp_kelvin色温开尔文数值越低越偏暖黄越高越偏冷蓝。实际使用中灯的型号决定哪些字段生效仅支持调光的灯会忽略颜色字段仅支持彩色的灯会忽略色温字段Home Assistant 会静默跳过设备不支持的字段。多区域Multizone灯光的区域编号规则zones参数只对多区域灯有意义。原文档明确给出了两种主流灯型的区域容量LIFX Z 与 Lightstrip每个灯段segment8 个区域最多 10 段合计最多80 个区域编号 0–79LIFX Beam每个灯段 10 个区域外加每个转角件corner piece1 个区域最多 8 段 2 个转角合计最多82 个区域编号 0–81。注意区域编号从 0 开始计数。例如要让 LIFX Z 的第 5 到第 10 个区域单独变色可传zones: [4, 5, 6, 7, 8, 9]。结合lifx.set_state的不改电源状态特性你可以在灯带关闭时预先为其各个区段指定颜色随后再统一开灯。目标选择Targets该动作必须指定目标目标决定动作的作用对象。参考 source/_includes/actions/targets.md 中对domainlight目标的定义lifx.set_state支持五种目标类型实体Entity单个 light 实体如light.living_room设备Device该设备下的所有 light 实体区域Area该房间/区域内的所有 light 实体楼层Floor该楼层上的所有 light 实体标签Label共享同一标签的所有 light 实体。你还可以在同一动作中混合多种目标类型例如同时指定一个具体实体和一个区域让动作一次性作用于两者。实操示例人体传感器触发预置灯光结合lifx.set_state不改电源状态的特性一个典型场景是夜间传感器触发前先把灯带参数准备好。下面是一个可运行的自动化 YAML 示例automation: alias: Prepare living room LIFX before motion turns it on triggers: - trigger: state entity_id: binary_sensor.office_motion to: off actions: - action: lifx.set_state target: entity_id: light.living_room data: color_name: warm_white brightness_pct: 40 transition: 1 zones: - 0 - 1 - 2当传感器从占用变回空闲时灯光会在不改动电源状态的情况下被预置为暖白 40% 亮度随后当同一传感器的占用触发light.turn_on时灯光会立即以这套参数亮起不会突兀地闪一下再变颜色。结合 LIFX 集成的补充背景若要深入理解lifx.set_state的适用设备可参考 LIFX 集成文档 source/_integrations/lifx.markdown自动发现LIFX 集成会在 Home Assistant 网络配置中启用的每个网络自动发现 LIFX 灯发现失败时也可通过配置流程手动添加红外亮度集成会为 LIFX 夜视Night Vision灯泡自动创建红外亮度配置实体改变该实体状态即可调整灯泡上红外 LED 的亮度——这与lifx.set_state的infrared参数0–255直接对应主题Themes集成内置了 42 个预置主题如halloween、christmas、exciting可在设备配置界面的下拉框中选择也可在自动化中用select.select_option调用或通过lifx.paint_theme动作应用关联动作同一 LIFX 域下还有lifx.set_hev_cycle_state控制 LIFX Clean 灯泡的 HEV 清洁循环与lifx.paint_theme等专用动作可与lifx.set_state组合使用传感器说明RSSI、红外亮度等传感器每 30 秒才更新一次若在 Home Assistant 之外修改设备状态传感器可能无法即时反映。验证与排障快速试跑在设置 工具 动作Actions中搜索lifx.set_state填写字段后点击执行动作即可在真实实体上立即验证效果无需编写 YAML调试思路先在 UI 中用单个实体测试再扩展到区域/楼层/标签目标若多区域灯行为异常请确认zones编号在对应灯型的容量范围内Z/Lightstrip 为 0–79Beam 为 0–81社区求助调用动作未达预期时可携带动作调用内容与预期行为到 Home Assistant 社区论坛或 Discord 提问AI 助手也可根据自然语言描述协助解释该动作或推荐合适的替代动作。小结lifx.set_state是 LIFX 灯光编排中最灵活的基础动作之一其可不动电源只调参数的设计与light.turn_on、lifx.paint_theme、lifx.effect_move等动作形成互补。掌握 UI 与 YAML 两种写法、四个专用参数及多区域编号规则后你就能在自动化中精确控制每一盏 LIFX 灯在点亮前与点亮时的完整表现。【免费下载链接】home-assistant.io:blue_book: Home Assistant User documentation项目地址: https://gitcode.com/GitHub_Trending/ho/home-assistant.io创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考