跳转到内容

Light 分区

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

如果你想分割灯带,可能会遇到一些奇怪的行为,比如原始灯光实体(例如 fastled_clockless ) 可能与 partition 冲突。为了更好地控制灯带的哪些段将重叠, 请将原始 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 的灯光中的 LED 11-20
- 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
# 它们成为合并分区中的 LED 11-20
- 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(必选,list):此分区中包含的段列表。

    对于可寻址段:

    • id(必选,ID):此段将控制的可寻址灯光的 ID。

    • from(必选,int):段中要寻址的第一个 LED 的索引。计数从 0 开始, 因此第一个 LED 为 0。

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

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

    对于单个灯光段:

    • single_light_id(必选,ID):单个可寻址或不可寻址灯光的 ID。 如果指定的是可寻址灯光,它将在分区中被视为单个灯光。
  • 来自 Light 的所有其他选项。

NOTE

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

请参见light.addressable_set 动作。