From 37a053763e89c7bf8cdb6ece32c9519d3cd02191 Mon Sep 17 00:00:00 2001 From: x00Pavel Date: Wed, 11 Oct 2023 21:45:32 +0200 Subject: [PATCH] Add config of light transition --- src/Automations/AutomationConfig/IFsmConfig.cs | 2 +- src/Extensions/LightExtensionMethods/LightExtensionMethods.cs | 4 ++-- src/Extensions/LightExtensionMethods/LightParameters.cs | 2 +- src/FSM/LightFsm/FsmConfig.cs | 2 ++ src/FSM/LightFsm/LightFsm.cs | 2 +- 5 files changed, 7 insertions(+), 5 deletions(-) diff --git a/src/Automations/AutomationConfig/IFsmConfig.cs b/src/Automations/AutomationConfig/IFsmConfig.cs index caac17d..5efe382 100644 --- a/src/Automations/AutomationConfig/IFsmConfig.cs +++ b/src/Automations/AutomationConfig/IFsmConfig.cs @@ -25,5 +25,5 @@ public interface IFsmConfig where TFsmState : Enum public Func StopAtTimeFunc { get; } public bool IsWorkingHours { get; } - + public double Transition { get; set; } } \ No newline at end of file diff --git a/src/Extensions/LightExtensionMethods/LightExtensionMethods.cs b/src/Extensions/LightExtensionMethods/LightExtensionMethods.cs index 8555642..1a20298 100644 --- a/src/Extensions/LightExtensionMethods/LightExtensionMethods.cs +++ b/src/Extensions/LightExtensionMethods/LightExtensionMethods.cs @@ -34,12 +34,12 @@ public static void TurnOn(this IEnumerable target) target.CallService("turn_on"); } - public static void Toggle(this ILightEntityCore target, long? transition = null, long? brightnessPct = null) + public static void Toggle(this ILightEntityCore target, double? transition = null, long? brightnessPct = null) { target.CallService("toggle", new LightParameters { Transition = transition, BrightnessPct = brightnessPct}); } - public static void TurnOn(this IEnumerable target, long? transition = null, long? brightnessPct = null) + public static void TurnOn(this IEnumerable target, double? transition = null, long? brightnessPct = null) { target.CallService("toggle", new LightParameters { Transition = transition, BrightnessPct = brightnessPct}); } diff --git a/src/Extensions/LightExtensionMethods/LightParameters.cs b/src/Extensions/LightExtensionMethods/LightParameters.cs index f4c3a73..69fed89 100644 --- a/src/Extensions/LightExtensionMethods/LightParameters.cs +++ b/src/Extensions/LightExtensionMethods/LightParameters.cs @@ -5,7 +5,7 @@ namespace NetEntityAutomation.Extensions.LightExtensionMethods; public record LightParameters { [JsonPropertyName("transition")] - public long? Transition { get; init; } + public double? Transition { get; init; } [JsonPropertyName("brightness_pct")] public long? BrightnessPct { get; init; } diff --git a/src/FSM/LightFsm/FsmConfig.cs b/src/FSM/LightFsm/FsmConfig.cs index 73f4bf6..40b89fa 100644 --- a/src/FSM/LightFsm/FsmConfig.cs +++ b/src/FSM/LightFsm/FsmConfig.cs @@ -36,4 +36,6 @@ public bool IsWorkingHours return now >= StartAtTimeFunc() || now <= StopAtTimeFunc(); } } + + public double Transition { get; set; } = 2.5; } \ No newline at end of file diff --git a/src/FSM/LightFsm/LightFsm.cs b/src/FSM/LightFsm/LightFsm.cs index 72d0a0f..cc47b94 100644 --- a/src/FSM/LightFsm/LightFsm.cs +++ b/src/FSM/LightFsm/LightFsm.cs @@ -19,7 +19,7 @@ protected void TurnOnLights() } else { - Config.Lights.TurnOn(brightnessPct: 100); + Config.Lights.TurnOn(brightnessPct: 100, transition: Config.Transition); } Timer?.Dispose();