Table of Contents

Class ClimateConfig

Namespace
HaMqttDiscoverable.Entities
Assembly
HaMqttDiscoverable.dll

Configuration for a Climate entity: an HVAC mode plus a target temperature, with optional fan mode, swing mode, preset mode, humidity, a separate power toggle, a heating/cooling range instead of a single target, and a read-only "current action" report.

public sealed class ClimateConfig : EntityConfig
Inheritance
ClimateConfig
Inherited Members

Properties

Component

The MQTT component Home Assistant should treat this entity as, e.g. sensor or switch. Used to build the discovery topic; not part of the discovery payload itself.

public override string Component { get; }

Property Value

string

FanModes

The fan modes this device supports, if SupportsFanMode is true. Defaults to "auto", "low", "medium", "high".

[JsonPropertyName("fan_modes")]
public List<string> FanModes { get; set; }

Property Value

List<string>

HumidityMax

The maximum target humidity, 0-100, if SupportsHumidity is true. Defaults to 100.

[JsonPropertyName("max_humidity")]
public double HumidityMax { get; set; }

Property Value

double

HumidityMin

The minimum target humidity, 0-100, if SupportsHumidity is true. Defaults to 0.

[JsonPropertyName("min_humidity")]
public double HumidityMin { get; set; }

Property Value

double

Modes

The HVAC modes this device supports. Defaults to "auto", "off", "cool", "heat", "dry", "fan_only".

[JsonPropertyName("modes")]
public List<string> Modes { get; set; }

Property Value

List<string>

PayloadOff

The payload sent/expected to mean "off", if SupportsPower is true. Defaults to "OFF".

[JsonPropertyName("payload_off")]
public string PayloadOff { get; set; }

Property Value

string

PayloadOn

The payload sent/expected to mean "on", if SupportsPower is true. Defaults to "ON".

[JsonPropertyName("payload_on")]
public string PayloadOn { get; set; }

Property Value

string

PresetModes

The presets this device supports. Required (non-empty) if SupportsPresetMode is true.

[JsonPropertyName("preset_modes")]
public List<string> PresetModes { get; set; }

Property Value

List<string>

SupportsAction

When true, adds a read-only report of what the equipment is actually doing right now - see PublishActionAsync(HvacAction, bool, CancellationToken).

[JsonIgnore]
public bool SupportsAction { get; set; }

Property Value

bool

SupportsFanMode

When true, adds fan mode control - see FanModeCommandReceived.

[JsonIgnore]
public bool SupportsFanMode { get; set; }

Property Value

bool

SupportsHumidity

When true, adds target/current humidity - see TargetHumidityCommandReceived.

[JsonIgnore]
public bool SupportsHumidity { get; set; }

Property Value

bool

SupportsPower

When true, adds a separate on/off power toggle independent of the HVAC mode - see PowerCommandReceived.

[JsonIgnore]
public bool SupportsPower { get; set; }

Property Value

bool

SupportsPresetMode

When true, adds named preset control (e.g. "eco", "away") - see PresetModeCommandReceived.

[JsonIgnore]
public bool SupportsPresetMode { get; set; }

Property Value

bool

SupportsSwingMode

When true, adds swing mode control - see SwingModeCommandReceived.

[JsonIgnore]
public bool SupportsSwingMode { get; set; }

Property Value

bool

SupportsTemperatureRange

When true, this device is set to a heating/cooling range (two target temperatures) via TargetTemperatureRangeCommandReceived instead of a single target.

[JsonIgnore]
public bool SupportsTemperatureRange { get; set; }

Property Value

bool

SwingModes

The swing modes this device supports, if SupportsSwingMode is true. Defaults to "on", "off".

[JsonPropertyName("swing_modes")]
public List<string> SwingModes { get; set; }

Property Value

List<string>

TempInitial

The target temperature to suggest when the entity is first added.

[JsonPropertyName("initial")]
public double? TempInitial { get; set; }

Property Value

double?

TempMax

The maximum target temperature.

[JsonPropertyName("max_temp")]
public double? TempMax { get; set; }

Property Value

double?

TempMin

The minimum target temperature.

[JsonPropertyName("min_temp")]
public double? TempMin { get; set; }

Property Value

double?

TempStep

The step between selectable target temperatures. Defaults to 1.0.

[JsonPropertyName("temp_step")]
public double TempStep { get; set; }

Property Value

double