Files
Evergreen-Health/Evergreen.Health.Application/Health/Devices/Environment/EnvironmentModule.cs
T
2026-10-09 16:46:30 +08:00

24 lines
1.2 KiB
C#

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<HomeAssistantOptions> 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<DeviceParameterDefinition> Parameters => [];
public override IEnumerable<string> EntityIds => new[]
{
_entities.Temperature, _entities.Humidity, _entities.Pm25, _entities.Co2, _entities.Formaldehyde, _entities.Tvoc
}.Where(id => !string.IsNullOrWhiteSpace(id)).Distinct(StringComparer.OrdinalIgnoreCase);
}