Attributes

struct Attributes

Attributes for the ThermostatFanControlTrait.

  • A list of the attribute IDs of the attributes supported by the cluster instance. Nullable: false.

    Declaration

    Swift

    @TraitAttribute
    var attributeList: [UInt32]? { get }
  • The currently selected fan speed. This value cannot be ‘Auto’. Nullable: false.

    Declaration

    Swift

    @TraitAttribute
    var currentSpeed: Google.ThermostatFanControlTrait.FanSpeedSetting? { get }
  • Whether the fan is running due to the active schedule or because of a manual user request. Nullable: false.

    Declaration

    Swift

    @TraitAttribute
    var user_requested_fan_running: Bool? { get }
  • The active state of ventilation equipment. Nullable: false.

    Declaration

    Swift

    @TraitAttribute
    var ventilationState: Google.ThermostatFanControlTrait.VentilationState? { get }
  • The alert status indicating poor indoor or outdoor air quality constraint interactions. Nullable: false.

    Declaration

    Swift

    @TraitAttribute
    var ventilationAlert: Google.ThermostatFanControlTrait.VentilationAlert? { get }
  • The active state indicating why the current fan speed is selected. Nullable: false.

    Declaration

    Swift

    @TraitAttribute
    var fan_speed_state: Google.ThermostatFanControlTrait.FanSpeedState? { get }
  • The maximum number of physical fan speeds supported by the physical installation. Nullable: false.

    Declaration

    Swift

    @TraitAttribute
    var maxAvailableSpeed: Google.ThermostatFanControlTrait.FanTotalStages? { get }
  • Whether the circulating fan supports starting a timer that runs indefinitely. Nullable: false.

    Declaration

    Swift

    @TraitAttribute
    var supportsIndefiniteTimer: Bool? { get }
  • Whether the circulating fan supports starting a timer while the system mode is off. Nullable: false.

    Declaration

    Swift

    @TraitAttribute
    var supportsTimerInOffMode: Bool? { get }
  • Whether the circulating fan supports running the fan schedule and/or the ventilation schedule while the system mode is off. Nullable: false.

    Declaration

    Swift

    @TraitAttribute
    var supportsScheduleInOffMode: Bool? { get }
  • The maximum finite timer duration supported by the thermostat. Null should be interpreted as 12 hours. Nullable: true.

    Declaration

    Swift

    @TraitAttribute
    var maxTimerDuration: UInt32? { get }
  • Whether gas furnace specific fan settings extend to all non-electric forced-air systems. Nullable: false.

    Declaration

    Swift

    @TraitAttribute
    var supportsFanActivationForNonElectricFurnaces: Bool? { get }
  • The active fan control mode. Nullable: false.

    Declaration

    Swift

    @TraitAttribute
    var mode: Google.ThermostatFanControlTrait.FanMode? { get }
  • The user-specified override for the automatically selected speed. This speed cannot be off. Nullable: false.

    Declaration

    Swift

    @TraitAttribute
    var hvacOverrideSpeed: Google.ThermostatFanControlTrait.FanSpeedSetting? { get }
  • The fan speed used by the schedule. The speed cannot be off or auto. Nullable: false.

    Declaration

    Swift

    @TraitAttribute
    var scheduleSpeed: Google.ThermostatFanControlTrait.FanSpeedSetting? { get }
  • The duty cycle of the schedule in seconds per hour. Supported range: 300 to 3600. Nullable: false.

    Declaration

    Swift

    @TraitAttribute
    var scheduleDutyCycle: UInt32? { get }
  • Schedule start time in seconds relative to local midnight. If schedule_start_time equals schedule_end_time, the fan schedule runs continuously. Nullable: false.

    Declaration

    Swift

    @TraitAttribute
    var scheduleStartTime: UInt32? { get }
  • Schedule end time in seconds relative to local midnight. Nullable: false.

    Declaration

    Swift

    @TraitAttribute
    var scheduleEndTime: UInt32? { get }
  • Whether scheduling is active while system mode is off. Fan schedule does not run during CO or smoke safety shutoff. Nullable: false.

    Declaration

    Swift

    @TraitAttribute
    var scheduleEnabledInOffMode: Bool? { get }
  • The speed used by the fan timer. The speed cannot be off or auto. Nullable: false.

    Declaration

    Swift

    @TraitAttribute
    var timer_speed: Google.ThermostatFanControlTrait.FanSpeedSetting? { get }
  • The end epoch time in seconds of the active finite timer. Nullable: false.

    Declaration

    Swift

    @TraitAttribute
    var timer_end: UInt32? { get }
  • The requested duration in seconds. Nullable: false.

    Declaration

    Swift

    @TraitAttribute
    var timer_duration: UInt32? { get }
  • Whether the active timer runs indefinitely, ignoring duration and end time. Nullable: false.

    Declaration

    Swift

    @TraitAttribute
    var timerIsIndefinite: Bool? { get }
  • If the HVAC system has both a circulating fan and a ventilator, the thermostat activates this set of equipment when the fan timer is active. If the system has only a fan or only a vent, the thermostat ignores this field. Nullable: false.

    Declaration

    Swift

    @TraitAttribute
    var timerEquipment: Google.ThermostatFanControlTrait.FanEquipment? { get }
  • Whether automatic ventilation is active. Does not apply to timer. Nullable: false.

    Declaration

    Swift

    @TraitAttribute
    var ventilationEnabled: Bool? { get }
  • The requested total daily ventilation duration in seconds. Nullable: false.

    Declaration

    Swift

    @TraitAttribute
    var ventilationOnTimePerDay: UInt32? { get }
  • Whether smart ventilation, such as managing outdoor and indoor air quality interactions, is active. Nullable: false.

    Declaration

    Swift

    @TraitAttribute
    var smartVentilationEnabled: Bool? { get }
  • Whether free heating and cooling by means of ventilation is active. Requires the ventilator type to be configured as supply-only or exhaust-only. Nullable: false.

    Declaration

    Swift

    @TraitAttribute
    var ventilationForHeatingAndCoolingEnabled: Bool? { get }
  • Whether ventilation remains active while system mode is off. Ventilation does not run during CO or smoke safety shutoff. Nullable: false.

    Declaration

    Swift

    @TraitAttribute
    var ventilationEnabledInOffMode: Bool? { get }
  • A list of server-generated commands (server to client) which are supported by this cluster server instance. Nullable: false.

    Declaration

    Swift

    @TraitAttribute
    var generatedCommandList: [UInt32]? { get }
  • A list of client-generated commands which are supported by this cluster server instance.

    Nullable: false.

    Declaration

    Swift

    @TraitAttribute
    var acceptedCommandList: [UInt32]? { get }
  • Whether the server supports zero or more optional cluster features. A cluster feature is a set of cluster elements that are mandatory or optional for a defined feature of the cluster. If a cluster feature is supported by the cluster instance, then the corresponding bit is set to 1, otherwise the bit is set to 0 (zero). Nullable: false.

    Declaration

    Swift

    @TraitAttribute
    var featureMap: Google.ThermostatFanControlTrait.Feature? { get }
  • The revision of the server cluster specification supported by the cluster instance. Nullable: false.

    Declaration

    Swift

    @TraitAttribute
    var clusterRevision: UInt16? { get }
  • The trait identifier.

    Declaration

    Swift

    static var identifier: String { get }
  • Writes this object to the given TraitEncoder. Throws HomeError.encodingFailed if the data could not be encoded.

    Declaration

    Swift

    func encode(with encoder: TraitEncoder) throws
  • Returns a Boolean value indicating whether two values are equal.

    Equality is the inverse of inequality. For any values a and b, a == b implies that a != b is false.

    Declaration

    Swift

    static func == (lhs: Google.ThermostatFanControlTrait.Attributes, rhs: Google.ThermostatFanControlTrait.Attributes) -> Bool

    Parameters

    lhs

    A value to compare.

    rhs

    Another value to compare.

  • Hashes the essential components of this value by feeding them into the given hasher.

    Implement this method to conform to the Hashable protocol. The components used for hashing must be the same as the components compared in your type’s == operator implementation. Call hasher.combine(_:) with each of these components.

    Important

    In your implementation of hash(into:), don’t call finalize() on the hasher instance provided, or replace it with a different instance. Doing so may become a compile-time error in the future.

    Declaration

    Swift

    func hash(into hasher: inout Hasher)