跳转到内容

灯光分区

partition 灯光平台允许您将多个可寻址灯光段(如 FastledNeopixelbus)和/或单个灯(如 Rgb)组合成一个单独的可寻址灯光。此平台还允许将一个可寻址灯光拆分为多个段,以便可以单独控制各个段。

如果您想拆分灯带,可能会遇到奇怪的行为,例如原始灯光实体(例如 fastled_clockless)可能与分区冲突。为了更好地控制灯带的哪些段会相互重叠,请将原始 light 标记为 internal: true

# 配置示例
light:
- platform: partition
name: "Partition Light 1"
segments:
# 使用 ID 为 light1 的灯的前 10 个 LED
- id: light1
from: 0
to: 9
- platform: partition
name: "Partition Light 2"
segments:
# 使用 ID 为 light1 的灯的第 11-20 个 LED
- id: light1
from: 10
to: 19
# 灯段来源示例
- platform: fastled_clockless
id: light1
# 您可能需要(但不需要)这个
internal: true
# 其他设置
# 配置示例
light:
- platform: partition
name: "Partition Light"
segments:
# 使用 ID 为 light1 的灯的前 10 个 LED
- id: light1
from: 0
to: 9
# 使用 ID 为 light2 的灯的前 10 个 LED
# 它们成为合并分区中的第 11-20 个 LED
- id: light2
from: 0
to: 9
# 使用 light3 作为分区中的第 21 个灯
- single_light_id: light3
# 灯段来源示例
- platform: fastled_clockless
id: light1
# 您可能需要(但不需要)这个
internal: true
# 其他设置
# 灯段来源示例
- platform: fastled_clockless
id: light2
# 您可能需要(但不需要)这个
internal: true
# 其他设置
# 非可寻址灯源示例
- platform: rgb
id: light3
# 您可能需要(但不需要)这个
internal: true
# 其他设置
  • segments (必需, 列表): 包含在此分区中的段列表。

    对于可寻址段:

    • id (必需, ID): 要由此段控制的可寻址灯光的 ID。

    • from (必需, 整数): 段中要寻址的第一个 LED 的索引。计数从 0 开始,所以第一个 LED 是 0。

    • to (必需, 整数): 此段中要寻址的最后一个 LED 的索引。

    • reversed (可选, 布尔值): 是否反转此段中 LED 的顺序。默认为 false

    对于单灯段:

    • single_light_id (必需, ID): 单个可寻址或不可寻址灯光的 ID。如果指定了可寻址灯光,它将在分区中作为单个灯光处理。
  • 所有其他选项来自灯光组件

NOTE

不要使用此平台来控制可寻址灯光上的每个 LED —— 灯光对象有一定的开销,如果您尝试创建许多灯光,很快就会耗尽内存。

有关此用途,请参见 light.addressable_set 动作