Add repeat options to tplink sequence effect service (#86040)

Add repeat options to sequence effect service
This commit is contained in:
Ty Parker 2023-02-04 16:14:25 -07:00 committed by GitHub
parent 4d0e236c6a
commit a703aa1dff
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 15 additions and 1 deletions

View file

@ -66,6 +66,9 @@ SEQUENCE_EFFECT_DICT: Final = {
vol.Length(min=1, max=16), vol.Length(min=1, max=16),
[vol.All(vol.Coerce(tuple), HSV_SEQUENCE)], [vol.All(vol.Coerce(tuple), HSV_SEQUENCE)],
), ),
vol.Optional("repeat_times", default=0): vol.All(
vol.Coerce(int), vol.Range(min=0, max=10)
),
vol.Optional("spread", default=1): vol.All( vol.Optional("spread", default=1): vol.All(
vol.Coerce(int), vol.Range(min=1, max=16) vol.Coerce(int), vol.Range(min=1, max=16)
), ),
@ -397,6 +400,7 @@ class TPLinkSmartLightStrip(TPLinkSmartBulb):
transition: int, transition: int,
segments: list[int], segments: list[int],
sequence: Sequence[tuple[int, int, int]], sequence: Sequence[tuple[int, int, int]],
repeat_times: int,
spread: int, spread: int,
direction: int, direction: int,
) -> None: ) -> None:
@ -405,7 +409,7 @@ class TPLinkSmartLightStrip(TPLinkSmartBulb):
**_async_build_base_effect(brightness, duration, transition, segments), **_async_build_base_effect(brightness, duration, transition, segments),
"type": "sequence", "type": "sequence",
"sequence": sequence, "sequence": sequence,
"repeat_times": 0, "repeat_times": repeat_times,
"spread": spread, "spread": spread,
"direction": direction, "direction": direction,
} }

View file

@ -43,6 +43,16 @@ sequence_effect:
step: 1 step: 1
max: 5000 max: 5000
unit_of_measurement: "ms" unit_of_measurement: "ms"
repeat_times:
description: Repetitions (0 for continuous)
example: 0
default: 0
required: false
selector:
number:
min: 0
step: 1
max: 10
transition: transition:
description: Transition description: Transition
example: 2000 example: 2000