Attributes

struct Attributes

Attributes for the ExtendedThermostatTrait.

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

    Declaration

    Swift

    @TraitAttribute
    var attributeList: [UInt32]? { get }
  • Minimum threshold of the supported temperature range for heating. Nullable: false.

    Declaration

    Swift

    @TraitAttribute
    var minHeatSafetySetpointLimit: Int16? { get }
  • Maximum threshold of the supported temperature range for heating. Nullable: false.

    Declaration

    Swift

    @TraitAttribute
    var maxHeatSafetySetpointLimit: Int16? { get }
  • Minimum threshold of the supported temperature range for cooling. Nullable: false.

    Declaration

    Swift

    @TraitAttribute
    var minCoolSafetySetpointLimit: Int16? { get }
  • Maximum threshold of the supported temperature range for cooling. Nullable: false.

    Declaration

    Swift

    @TraitAttribute
    var maxCoolSafetySetpointLimit: Int16? { get }
  • The extended thermostat modes that this device supports. Nullable: false.

    Declaration

    Swift

    @TraitAttribute
    var extendedSupportedModes: [Google.ExtendedThermostatTrait.ExtendedThermostatMode]? { get }
  • Currently running mode of the device. Nullable: false.

    Declaration

    Swift

    @TraitAttribute
    var extendedRunningMode: Google.ExtendedThermostatTrait.ExtendedRunningMode? { get }
  • Information about the presets that the devices supports. Nullable: false.

    Declaration

    Swift

    @TraitAttribute
    var presets: [Google.ExtendedThermostatTrait.Preset]? { get }
  • The maximum number of seconds that a temperature setpoint can be held. Setting this value to -1 indicates that there is no limit to the hold duration. If unset, holding the temperature to a setpoint is not supported. Nullable: false.

    Declaration

    Swift

    @TraitAttribute
    var maxSetpointHoldSeconds: Int32? { get }
  • A timestamp representing the estimated time when the target temperature will be reached. Nullable: false.

    Declaration

    Swift

    @TraitAttribute
    var targetTemperatureTimestampSeconds: Int64? { get }
  • The current preset handle that is running, from the list of supported presets. This attribute is not set if no presets are actively running. Nullable: false.

    Declaration

    Swift

    @TraitAttribute
    var activePresetHandle: String? { get }
  • The average ambient temperature across all active sensors, in Celsius with a resolution of 0.01°C. This attribute gets set if the device has multiple active temperature sensors. Nullable: false.

    Declaration

    Swift

    @TraitAttribute
    var averageLocalTemperature: Int16? { get }
  • The external device IDs of remote temperature sensors that this device can detect. Nullable: false.

    Declaration

    Swift

    @TraitAttribute
    var remoteTemperatureSensorIds: [String]? { get }
  • The number of temperature sensors that can be simultaneously active for this thermostat. Nullable: false.

    Declaration

    Swift

    @TraitAttribute
    var maxSettableThermostatTemperatureSensors: UInt32? { get }
  • The external device IDs of remote, active temperature sensors that this device can detect. This attribute is not set if the device does not currently have any active, remote temperature sensors. Nullable: false.

    Declaration

    Swift

    @TraitAttribute
    var activeRemoteTemperatureSensorIds: [String]? { get }
  • The Unix Epoch timestamp of when an active temperature hold expires. Setting this value to -1 indicates that the hold has no expiration. Nullable: false.

    Declaration

    Swift

    @TraitAttribute
    var temperatureSetpointHoldExpiryTimestampSeconds: Int64? { get }
  • The source of the current temperature hold. Nullable: false.

    Declaration

    Swift

    @TraitAttribute
    var extendedSetpointChangeSource: Google.ExtendedThermostatTrait.ExtendedSetpointChangeSource? { get }
  • Additional information about the operational status of the device. Nullable: false.

    Declaration

    Swift

    @TraitAttribute
    var extendedProgrammingOperationMode: UInt32? { get }
  • The current mode of the device. Nullable: false.

    Declaration

    Swift

    @TraitAttribute
    var extendedSystemMode: Google.ExtendedThermostatTrait.ExtendedThermostatMode? { 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.ExtendedThermostatTrait.ExtendedThermostatFeature? { 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.ExtendedThermostatTrait.Attributes, rhs: Google.ExtendedThermostatTrait.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)