ARTICLE DETAIL

资讯详情

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

Home Assistant Yeelight 颜色流光场景(Color Flow Scene)动作详解:从 YAML 配置到自定义动态光效实战

Home Assistant Yeelight 颜色流光场景(Color Flow Scene)动作详解:从 YAML 配置到自定义动态光效实战 Home Assistant Yeelight 颜色流光场景Color Flow Scene动作详解从 YAML 配置到自定义动态光效实战【免费下载链接】home-assistant.io:blue_book: Home Assistant User documentation项目地址: https://gitcode.com/GitHub_Trending/ho/home-assistant.io导读本文围绕 Home Assistant Yeelight 集成中的Set color flow sceneyeelight.set_color_flow_scene动作展开讲解如何通过 UI 向导或 YAML 自动化/脚本在 Yeelight 灯具上播放由多条颜色过渡组成的动态光效如缓慢的色温循环、摇曳的火焰效果。读完本文你将掌握该动作的全部参数transitions、count、action、四种过渡类型RGB/HSV/色温/休眠的格式约定以及它与yeelight.start_flow动作的底层差异能够独立编写可复用的流光场景自动化。什么是 Set color flow scene 动作根据 官方动作文档Set color flow scene会通过 Yeelight 的scene API 调用在一盏 Yeelight 灯具上启动一段颜色流光color flow流光由你预先定义的一组过渡transitions组成。如果灯当前是关闭状态该动作会先将其打开。该动作非常适合创建需要持久化、可随时调用的动态光效场景典型用途包括缓慢的色温渐变循环模拟自然光的昼夜变化火焰摇曳效果闪烁的火光氛围呼吸灯、彩虹渐变等装饰性动态照明。与一般的light.turn_on不同这里的光效以场景的形式写入灯具流光会按照预设的过渡序列自动播放无需 Home Assistant 持续下发指令。在自动化与脚本中使用UI 方式如果你偏好可视化配置Home Assistant 会逐步引导你完成该动作的设置详见 UI 引导说明进入设置 自动化与场景Settings Automations scenes。打开现有自动化或脚本或选择创建自动化 创建新自动化。新建自动化时先在When何时触发区域添加一个触发器脚本不需要触发器它们在被其他东西调用时运行。在Then do然后执行区域选择添加动作Add action。选择要控制的设备在目标By target下参见下方动作的目标一节选中要控制的 Yeelight 灯。从该目标可用的动作列表中选择Set color flow scene。填写Transitions过渡列表可选填Count循环次数与Action结束后的行为。点击保存Save。UI 中各选项含义如下UI 选项说明是否必填Count流光运行的次数填0表示无限循环运行否Action流光结束后灯的行为取值为recover、stay或off之一否Transitions构成流光的过渡列表具体格式见下文过渡Transitions格式详解是在 YAML 中使用含完整示例在 YAML 中该动作以yeelight.set_color_flow_scene引用。官方文档给出的基础示例如下动作文档action: yeelight.set_color_flow_scene target: entity_id: light.living_room data: transitions: - TemperatureTransition: [1900, 1000, 80] - TemperatureTransition: [1900, 2000, 60] - SleepTransition: [1000]将这个动作放入自动化中一个完整的可运行片段大致如下alias: Living room fire flicker triggers: - trigger: state entity_id: binary_sensor.evening to: on actions: - action: yeelight.set_color_flow_scene target: entity_id: light.living_room data: transitions: - TemperatureTransition: [1900, 1000, 80] - TemperatureTransition: [1900, 2000, 60] - SleepTransition: [1000] count: 0 action: recover也可以放入脚本中供其他自动化调用。YAML 参数速查表参数类型必填默认值说明countinteger否0流光运行次数0表示无限循环actionstring否recover流光停止后灯的行为recover恢复原状态、stay保持、off关闭transitionslist是—构成流光的过渡列表格式见下节过渡Transitions格式详解transitions是唯一必填参数其格式与 Yeelight 集成文档中Custom effects一节定义的过渡类型完全一致参见 source/_integrations/yeelight.markdown#L33-L58。共支持四种过渡类型RGBTransition: [red, green, blue, duration, brightness]— RGB 颜色过渡。red/green/blue取值为 0255duration为过渡时长毫秒最小 50brightness为过渡结束时的亮度1100%。HSVTransition: [hue, saturation, duration, brightness]— HSV 颜色过渡。hue取值为 0359saturation为 0100duration为时长毫秒最小 50brightness为结束亮度1100%。TemperatureTransition: [temp, duration, brightness]— 色温过渡。temp为最终色温17006500 Kduration为时长毫秒最小 50brightness为结束亮度1100%。SleepTransition: [duration]— 休眠过渡。duration为该阶段的持续时长毫秒最小 50期间灯保持当前状态不变常用于在序列中制造停顿。上文的示例中TemperatureTransition: [1900, 1000, 80]表示在 1000 ms 内将灯过渡到 1900 K 色温、亮度 80%随后TemperatureTransition: [1900, 2000, 60]在 2000 ms 内过渡到 1900 K、亮度 60%最后SleepTransition: [1000]保持 1000 ms。三段组合便形成了一次暖色明暗闪烁的火焰效果。在配置中预定义自定义光效Custom effects除在动作内直接写transitions外Yeelight 集成还支持在configuration.yaml中通过custom_effects预定义命名光效集成文档yeelight: devices: 192.168.1.25: name: Living Room custom_effects: - name: Fire Flicker flow_params: count: 0 transitions: - TemperatureTransition: [1900, 1000, 80] - TemperatureTransition: [1900, 2000, 60] - SleepTransition: [1000]自定义光效仅能通过 YAML 配置之后可用light.turn_on动作配合effect参数触发参见 light.turn_on 动作。flow_params同样支持count默认 0无限循环与action默认recover两个可选键与本文动作的参数语义一致。动作的目标Targets该动作必须指定目标。目标即动作的作用对象你可以将动作指向单个实体、设备、区域、楼层或标签Home Assistant 会对目标下匹配的每一个light域实体执行动作targets 说明实体Entity单个 light 实体如light.living_room设备Device属于某设备的所有 light 实体区域Area某房间/区域内所有 light 实体楼层Floor某楼层上所有 light 实体标签Label共享某标签的所有 light 实体。同一动作中也可以混合不同类型的目标例如同时指定一个具体实体和一个区域。与 yeelight.start_flow 的区别这是使用该动作时最容易混淆的一点。文档Good to know一节明确指出动作文档Start flowyeelight.start_flow接受相同的过渡列表但使用的是不同的 Yeelight API 调用而在yeelight.start_flow的文档中source/_actions/yeelight.start_flow.markdown也反向说明Set color flow scene 与它接受相同过渡但走的是 scene API 调用且当灯关闭时会先打开复杂流光的处理方式可能因固件不同而有差异。因此两者选型建议需要把动态光效作为持久场景保存/恢复或灯当前处于关闭状态希望自动点亮 → 用yeelight.set_color_flow_scene仅在灯已开启的前提下临时启动一段流光→ 用yeelight.start_flow。同族动作速览Yeelight 集成围绕场景提供了一系列动作可搭配使用相关动作索引动作作用yeelight.start_flow用过渡列表启动流光不同 API 调用yeelight.set_color_scene一步设置 RGB 颜色与亮度yeelight.set_auto_delay_off_scene以指定亮度开灯并定时自动关闭内置睡眠定时器例如一个入睡场景可以先用set_color_scene调成暖色低亮再用set_auto_delay_off_scene设定 30 分钟后自动熄灭最后用set_color_flow_scene播放一段缓慢的色温渐变作为助眠氛围。快速实测与排障想在不写 YAML 的情况下快速验证该动作打开设置 工具 操作Actions搜索yeelight.set_color_flow_scene填写字段后点击执行操作Perform action即可在真实实体上看到效果try_it 说明。如果动作没有按预期工作建议依次排查灯具端确认 Yeelight 已开启局域网控制LAN Control旧称开发者模式且固件为最新初次接入前需用 Yeelight App 完成初始化集成文档 Initial setup。过渡参数合法性检查每个过渡数组的取值是否在范围内时长 ≥ 50 ms、色温 17006500 K、亮度 1100% 等任一非法参数都可能被灯具拒绝。固件差异复杂流光在不同固件上的表现可能存在差异可对比改用yeelight.start_flow验证。社区求助若仍未解决可携带动作调用方式与预期行为在 Home Assistant 社区论坛、Discord 或子论坛寻求帮助stuck 说明。小结yeelight.set_color_flow_scene是 Home Assistant Yeelight 集成中实现持久化动态光效的核心动作通过一条transitions列表即可组合出闪烁、渐变、呼吸等复杂灯效count控制循环、action控制结束行为并能与custom_effects、start_flow、set_color_scene等机制协同构建完整的灯光场景体系。掌握本文的过渡格式约定与参数语义后你就能在自动化与脚本中自由编排属于自己的动态光影。【免费下载链接】home-assistant.io:blue_book: Home Assistant User documentation项目地址: https://gitcode.com/GitHub_Trending/ho/home-assistant.io创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表