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 current_speed: 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 ventilation_state: Google.ThermostatFanControlTrait.VentilationState? { get }
  • The alert status indicating poor indoor or outdoor air quality constraint interactions. Nullable: false.

    Declaration

    Swift

    @TraitAttribute
    var ventilation_alert: 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 max_available_speed: Google.ThermostatFanControlTrait.FanTotalStages? { get }
  • Whether the circulating fan supports starting a timer that runs indefinitely. Nullable: false.

    Declaration

    Swift

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

    Declaration

    Swift

    @TraitAttribute
    var supports_timer_in_off_mode: 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 supports_schedule_in_off_mode: Bool? { get }
  • The maximum finite timer duration supported by the thermostat. Null should be interpreted as 12 hours. Nullable: true.

    Declaration

    Swift

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

    Declaration

    Swift

    @TraitAttribute
    var supports_fan_activation_for_non_electric_furnaces: 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 hvac_override_speed: Google.ThermostatFanControlTrait.FanSpeedSetting? { get }
  • The fan speed used by the schedule. The speed cannot be off or auto. Nullable: false.

    Declaration

    Swift

    @TraitAttribute
    var schedule_speed: 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 schedule_duty_cycle: 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 schedule_start_time: UInt32? { get }
  • Schedule end time in seconds relative to local midnight. Nullable: false.

    Declaration

    Swift

    @TraitAttribute
    var schedule_end_time: 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 schedule_enabled_in_off_mode: 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 timer_is_indefinite: 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 timer_equipment: Google.ThermostatFanControlTrait.FanEquipment? { get }
  • Whether automatic ventilation is active. Does not apply to timer. Nullable: false.

    Declaration

    Swift

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

    Declaration

    Swift

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

    Declaration

    Swift

    @TraitAttribute
    var smart_ventilation_enabled: 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 ventilation_for_heating_and_cooling_enabled: 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 ventilation_enabled_in_off_mode: 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: UInt32? { 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)