This commit is contained in:
fuenmao
2026-10-09 18:06:11 +08:00
parent e6b90a06ab
commit 2d44cc3966
17 changed files with 1161 additions and 264 deletions
@@ -61,7 +61,11 @@ public static class HealthDeviceRegistration
services.AddSingleton<IHealthDeviceModule>(provider => provider.GetRequiredService<DehumidifierModule>());
services.AddSingleton<FragranceModule>();
services.AddSingleton<IHealthDeviceModule>(provider => provider.GetRequiredService<FragranceModule>());
services.AddSingleton<LightingModule>();
services.AddSingleton<LightingModule>(provider => new(
provider.GetRequiredService<DeviceActionRunner>(), provider.GetRequiredService<IOptions<HomeAssistantOptions>>(),
provider.GetRequiredService<HomeAssistantLightTransitionService>().ForEntity(
provider.GetRequiredService<IOptions<HomeAssistantOptions>>().Value.Entities.AmbientLight),
provider.GetRequiredService<LightOffDispatcher>()));
services.AddSingleton<IHealthDeviceModule>(provider => provider.GetRequiredService<LightingModule>());
services.AddSingleton<AudioModule>();
services.AddSingleton<IHealthDeviceModule>(provider => provider.GetRequiredService<AudioModule>());
@@ -69,7 +73,13 @@ public static class HealthDeviceRegistration
services.AddSingleton<IHealthDeviceModule>(provider => provider.GetRequiredService<MattressModule>());
services.AddSingleton<ILightOffHandler>(provider => provider.GetRequiredService<MattressModule>());
services.AddSingleton<LightOffDispatcher>();
services.AddSingleton<DeviceModuleRegistry>();
services.AddSingleton<DeviceModuleRegistry>(provider => new(
provider.GetServices<IHealthDeviceModule>().Concat(
provider.GetRequiredService<IOptions<HomeAssistantOptions>>().Value.AdditionalSleepLights.Select(light =>
new ConfiguredSleepLightModule(provider.GetRequiredService<DeviceActionRunner>(), light,
provider.GetRequiredService<HomeAssistantLightTransitionService>().ForEntity(light.EntityId))))));
services.AddSingleton<IStandardDeviceControl, StandardLightControl>();
services.AddSingleton<DeviceParameterController>();
services.AddSingleton<HomeAssistantDeviceCatalog>();
services.AddSingleton<HealthSceneCoordinator>();
return services;