ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

Home Assistant LIFX 色彩循环效果完整指南:用 lifx.effect_colorloop 实现灯光自动循环变色

Home Assistant LIFX 色彩循环效果完整指南:用 lifx.effect_colorloop 实现灯光自动循环变色 Home Assistant LIFX 色彩循环效果完整指南用 lifx.effect_colorloop 实现灯光自动循环变色【免费下载链接】home-assistant.io:blue_book: Home Assistant User documentation项目地址: https://gitcode.com/GitHub_Trending/ho/home-assistant.iolifx.effect_colorloop是 Home Assistant 为 LIFX 灯光提供的专用动作action用于运行一个基于软件的灯光效果让灯光在色轮上持续循环变换颜色。本文以该动作的官方文档为骨架结合 Home Assistant 源码仓库中的 LIFX 集成文档 与 light.turn_on 动作文档完整讲解该效果的原理、UI 配置步骤、全部 YAML 参数与默认值、目标选择方式以及与其他 LIFX 效果动作的配合使用。读完本文你将能够在自动化与脚本中独立配置、调优并停止一个多灯协调的色彩循环效果。Color Loop 效果是什么Color loop色彩循环是一种基于软件的灯光效果software-based effect灯光会在色轮上连续循环变换颜色。与硬件级效果如 Flame、Morph、Sky、Move它们只在特定 LIFX 设备上可用不同color loop 属于软件效果由 Home Assistant 侧驱动适用于常规的 LIFX 彩色灯泡。该效果有一个值得注意的行为当你同时目标多盏灯时各灯之间会相互协调保持相似但不完全相同的颜色。这一协调行为由spread色相差异参数控制后文会详细说明。这一行为在官方文档中明确说明When you target more than one light, they coordinate to keep similar, but not identical, colors.参见 lifx.effect_colorloop 文档。快速启动通过 light.turn_on 的 effect 属性如果你只需要以默认参数启动色彩循环不必使用专用动作。根据 LIFX 集成文档 与 light.turn_on 动作文档普通light.turn_on动作的effect选项即可直接启动该效果对应效果名称为lifx_effect_colorloopautomation: alias: Start a LIFX color loop triggers: - trigger: state entity_id: binary_sensor.office_motion to: on actions: - action: light.turn_on target: entity_id: light.office data: effect: lifx_effect_colorloop不过官方文档明确指出light.turn_on的effect选项只能以默认选项启动效果如果你要完全控制色彩循环的每一个参数亮度、周期、色相变化量等就必须使用专用的lifx.effect_colorloop动作。从用户界面配置UI 步骤在不写任何 YAML 的前提下可以通过 Home Assistant 的自动化/脚本编辑器可视化配置该效果参见 lifx.effect_colorloop 文档 中的 UI 操作步骤进入Settings设置 Automations scenes自动化与场景。打开一个现有的自动化或脚本或者选择Create automation创建自动化 Create new automation创建新自动化。如果是新建自动化在When何时部分添加一个触发器脚本不需要触发器它们由其他流程调用时运行。在Then do然后执行部分选择Add action添加动作。选择要控制的对象在By target按目标下选择要执行色彩循环的 LIFX 灯。在针对该目标显示的动作列表中选择Color loop effect色彩循环效果。填写你想要使用的选项。选择Save保存。UI 中可用的选项Options in the UI如下Brightness value亮度数值1 到 255 的数字指定色彩循环的亮度留空则保持各灯当前亮度。Brightness亮度百分比亮度数值的替代方式范围为 1 到 100 的百分比。Minimum saturation最小饱和度循环中颜色允许的最小饱和度1 到 100 的百分比。Maximum saturation最大饱和度循环中颜色允许的最大饱和度1 到 100 的百分比。Period周期两次颜色变化之间的间隔单位为秒。Transition过渡灯光处于颜色变化过程中的持续时间单位为秒。Change变化量每个周期色相的移动量单位为色轮上的度数0 到 360。Spread色相差异参与循环的各灯之间允许的最大色相差单位为色轮上的度数0 到 360。Power on开启电源关闭此项可跳过处于关闭状态的灯上的效果。YAML 用法与完整参数参考在 YAML 中该动作以lifx.effect_colorloop引用。基础示例如下官方文档示例原出处action: lifx.effect_colorloop target: entity_id: light.living_room data: brightness: 180 period: 10 spread: 30 change: 35这段配置会让客厅灯每 10 秒切换一次颜色各参与灯之间的色相差异不超过 30 度每个周期色相移动 35 度。LIFX 集成文档中还给出了一个亮度更高的脚本示例原出处script: colorloop_start: alias: Start colorloop sequence: - action: lifx.effect_colorloop target: entity_id: light.livingroom data: brightness: 255 period: 10 spread: 30 change: 35YAML 参数表Options in YAML以下为lifx.effect_colorloop的全部 YAML 参数包含类型、必填性与默认值完整继承自 lifx.effect_colorloop 文档参数说明必填类型默认值brightness色彩循环的亮度1 到 255 的数字留空则保持各灯当前亮度否integer—brightness_pctbrightness的替代写法以 1 到 100 的百分比指定亮度否integer—saturation_min循环中颜色的最小饱和度1 到 100 的百分比否integer80saturation_max循环中颜色的最大饱和度1 到 100 的百分比否integer100period两次颜色变化之间的间隔单位为秒否float60transition灯光处于颜色变化过程中的持续时间单位为秒否float—change每个周期色相的移动量色轮上的度数0 到 360否integer20spread参与循环的各灯之间允许的最大色相差色轮上的度数0 到 360否integer30power_on设为false可跳过处于关闭状态的灯上的效果否booleantrue参数语义与调优建议结合参数默认值与官方描述可以这样理解每个参数的作用saturation_min默认 80与saturation_max默认 100共同界定循环中颜色饱和度的波动范围。默认区间较窄80%–100%意味着颜色始终非常鲜艳、接近纯色如果想获得更柔和、更粉彩的视觉效果可以调低saturation_min例如 40。period默认 60控制换色节奏。10 秒偏呼吸感、节奏较快60 秒则非常舒缓。change默认 20每周期色相移动的度数。数值越大相邻颜色差异越明显360 度则相当于每周期绕色轮一整圈。spread默认 30多灯协调的关键参数。多灯同时运行时各灯会在spread限定的色相差范围内各取相似颜色设 0 时所有灯颜色完全一致设 360 时各灯可覆盖整个色轮。transition与period配合使用——period决定多久换一次色transition决定换色过程持续多久。power_on默认 true默认情况下启动效果会顺带打开处于关闭状态的灯设为false则只对已开灯生效避免打扰处于关闭状态的灯光例如睡眠时段的灯。动作的目标Targets该动作需要指定目标target。目标是动作作用的对象可以指向单个实体、设备、区域、楼层或标签Home Assistant 会对该目标背后的每一个 light 实体执行动作完整说明见 actions/targets.md 模板其领域为light实体Entity某一个具体的 light 实体如light.living_room。设备Device属于某一设备的所有 light 实体。区域Area某一房间/区域内的所有 light 实体。楼层Floor某一楼层上的所有 light 实体。标签Label共享某一标签的所有 light 实体。同一个动作中可以混合不同目标类型例如同时指定一个具体实体和一个区域。与其他 LIFX 效果动作配合lifx.effect_colorloop官方文档在related_actions中关联了两个动作见文档 front matterlifx.effect_pulse脉冲效果。灯光切换到某颜色后再回到原色适合做通知提醒类闪烁。它同样支持brightness、brightness_pct、period、power_on等参数并有modeblink/breathe/ping/strobe/solid、color_name、rgb_color、cycles等专属参数默认mode: blink、period: 1.0、cycles: 1。lifx.effect_stop停止效果。它运行一个什么都不做的效果从而终止任何正在运行的软件或硬件效果且不需要任何额外参数。用法示例action: lifx.effect_stop target: entity_id: light.living_room一个典型组合是lifx.effect_pulse在有人按门铃时闪烁提示随后用lifx.effect_stop或再次调用lifx.effect_colorloop恢复氛围照明。调试与验证先试再写在把效果写进自动化之前可以直接在Settings设置 Tools工具 Actions动作中搜索该动作填写字段并点击Perform action执行动作进行验证——无需编写任何 YAML参见 actions/try_it.md 模板。这是确认参数取值尤其是period、change、spread的节奏感是否满意的最高效方式。如果效果未按预期工作排查时可以关注以下几点确认目标实体确实属于 LIFX 集成且设备在线LIFX 集成通过 Home Assistant 的网络配置自动发现同一子网内的灯泡若灯泡在隔离的 IoT 网络中可能无法被发现需要手动添加。软件效果由 Home Assistant 侧持续驱动若设备掉线或网络不稳效果会中断。若目标灯处于关闭状态而power_on为false该灯会被跳过——这不是故障而是预期行为。需要立刻恢复静态灯光时调用 lifx.effect_stop 即可。总结lifx.effect_colorloop是 Home Assistant 中实现 LIFX 灯光自动循环变色的标准途径默认场景用light.turn_on的effect: lifx_effect_colorloop一步启动需要精细控制亮度、周期、色相变化量与多灯色相差时则使用本专用动作。掌握period、transition、change、spread、saturation_min/max这几个核心参数与power_on的开关行为再配合 lifx.effect_pulse 与 lifx.effect_stop即可在自动化与脚本中构建完整的氛围灯光控制流程。【免费下载链接】home-assistant.io:blue_book: Home Assistant User documentation项目地址: https://gitcode.com/GitHub_Trending/ho/home-assistant.io创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进