This commit is contained in:
fuenmao
2026-11-12 15:45:52 +08:00
parent 61e25175db
commit 718b138033
30 changed files with 1511 additions and 99 deletions
@@ -34,6 +34,16 @@ public static class HealthDeviceRegistration
services.AddOptions<BedPresenceAutomationOptions>();
services.AddSingleton<IBedPresenceAction, BedPresenceSleepLightAction>();
services.AddSingleton<IBedPresenceAction, BedPresenceCurtainCloseAction>();
services.AddSingleton<IBedPresenceAction, BedPresenceDehumidifierPreview>();
services.AddSingleton<IBedPresenceAction, BedPresenceDehumidifierStartAction>();
services.AddSingleton<IBedPresenceAction, BedPresenceClimatePreview>();
services.AddSingleton<IBedPresenceAction, BedPresenceClimateHeatAction>();
services.AddSingleton<IBedPresenceAction>(provider => new BedPresenceFragranceReleaseAction(
provider.GetRequiredService<DeviceActionRunner>(), provider.GetRequiredService<IOptions<HomeAssistantOptions>>(), wakeDevice: false));
services.AddSingleton<IBedPresenceAction>(provider => new BedPresenceFragranceReleaseAction(
provider.GetRequiredService<DeviceActionRunner>(), provider.GetRequiredService<IOptions<HomeAssistantOptions>>(), wakeDevice: true));
services.AddSingleton<IBedPresenceAction, BedPresenceSleepMusicAction>();
services.AddSingleton<IBedPresenceExecutionLog, Ib43AutomationExecutionLog>();
services.AddSingleton<BedPresenceAutomation>();
services.AddSingleton<IBedPresenceSink>(provider => provider.GetRequiredService<BedPresenceAutomation>());
services.AddHostedService(provider => provider.GetRequiredService<BedPresenceAutomation>());
@@ -74,6 +84,8 @@ public static class HealthDeviceRegistration
services.AddSingleton<IHealthDeviceModule>(provider => provider.GetRequiredService<DehumidifierModule>());
services.AddSingleton<FragranceModule>();
services.AddSingleton<IHealthDeviceModule>(provider => provider.GetRequiredService<FragranceModule>());
services.AddSingleton<IHealthDeviceModule>(provider => new FragranceModule(
provider.GetRequiredService<DeviceActionRunner>(), provider.GetRequiredService<IOptions<HomeAssistantOptions>>(), wakeDevice: true));
services.AddSingleton<LightingModule>(provider => new(
provider.GetRequiredService<DeviceActionRunner>(), provider.GetRequiredService<IOptions<HomeAssistantOptions>>(),
provider.GetRequiredService<HomeAssistantLightTransitionService>().ForEntity(