using Evergreen.Health.Application.Health.Devices.Contracts; using Evergreen.Health.Application.Health.Integrations.HomeAssistant; using Evergreen.Health.Application.Health.Models; using Evergreen.Health.Application.Health.Scenes; using Microsoft.Extensions.Options; namespace Evergreen.Health.Application.Health.Devices.Environment; public sealed class EnvironmentModule : HealthDeviceModule { private readonly HomeAssistantEntityOptions _entities; public EnvironmentModule(DeviceActionRunner runner, IOptions options) : base(runner) => _entities = options.Value.Entities; public override string Key => "environment"; public override string Category => nameof(HealthDeviceCategory.EnvironmentSensor); public override string DisplayName => "室内环境检测仪"; public override string PrimaryEntityId => ""; public override IReadOnlyList Parameters => []; public override IEnumerable EntityIds => new[] { _entities.Temperature, _entities.Humidity, _entities.Pm25, _entities.Co2, _entities.Formaldehyde, _entities.Tvoc }.Where(id => !string.IsNullOrWhiteSpace(id)).Distinct(StringComparer.OrdinalIgnoreCase); }