struct WeatherTraitThis trait provides an interface for the weather conditions for a given Structure. The weather information provided is based on the structure’s address. If the structure’s address has not been set, then creation of an automation using this trait will fail validation.
-
The trait identifier.
Declaration
Swift
static let identifier: String -
List of all event types on the given Trait.
Currently, only
MatterTraittraits support any events, but this will likely expand to other traits in the future.Declaration
Swift
static let supportedEventTypes: [any Event.Type] -
List of all commands supported by the Trait’s definition. The commands supported by a specific Trait instance may vary.
Declaration
Swift
static var supportedCommandTypes: [any Command.Type] { get } -
Metadata about this
Trait.Declaration
Swift
let metadata: TraitMetadata -
Creates a new Trait instance using data read from the given
TraitDecoder.Throws
HomeError.parseErrorwhen parsing fails.Declaration
Swift
init(decoder: TraitDecoder, interactionProxy: (any InteractionProxy)?, metadata: TraitMetadata) throwsParameters
decoderThe raw data representing this Trait.
interactionProxyProxy to the Interaction Client.
metadataMetadata about this Trait.
-
Writes this object to the given
TraitEncoder. ThrowsHomeError.encodingFailedif 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
aandb,a == bimplies thata != bisfalse.Parameters
lhsA value to compare.
rhsAnother value to compare.
-
Hashes the essential components of this value by feeding them into the given hasher.
Implement this method to conform to the
Hashableprotocol. The components used for hashing must be the same as the components compared in your type’s==operator implementation. Callhasher.combine(_:)with each of these components.Important
In your implementation of
hash(into:), don’t callfinalize()on thehasherinstance 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) -
The current weather conditions.
Declaration
Swift
struct CurrentConditions -
The hourly forecasted weather conditions.
Declaration
Swift
struct HourlyForecastConditions -
The daily forecasted weather conditions.
Declaration
Swift
struct DailyForecastConditions -
The type of precipitation that has a chance of occurring.
Declaration
Swift
enum PrecipitationType -
The source of the weather data’s origin.
Declaration
Swift
enum WeatherProvider