# MessageStruct

    struct MessageStruct

Information about a single message.
- `


  ### [messageID](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/MessagesTrait/MessageStruct#/s:15GoogleHomeTypes6MatterO13MessagesTraitV13MessageStructV9messageID10Foundation4DataVvp)


  ` A globally unique ID for this message.

  #### Declaration

  Swift

      let messageID: Data

- `


  ### [priority](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/MessagesTrait/MessageStruct#/s:15GoogleHomeTypes6MatterO13MessagesTraitV13MessageStructV8priorityAE0G12PriorityEnumOvp)


  ` The priority level for this message.

  #### Declaration

  Swift

      let priority: https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter.html.https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/MessagesTrait.html.https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/MessagesTrait/MessagePriorityEnum.html

- `


  ### [messageControl](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/MessagesTrait/MessageStruct#/s:15GoogleHomeTypes6MatterO13MessagesTraitV13MessageStructV14messageControlAE0gJ6BitmapVvp)


  ` Control information related to the message.

  #### Declaration

  Swift

      let messageControl: https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter.html.https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/MessagesTrait.html.https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/MessagesTrait/MessageControlBitmap.html

- `


  ### [startTime](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/MessagesTrait/MessageStruct#/s:15GoogleHomeTypes6MatterO13MessagesTraitV13MessageStructV9startTimes6UInt32VSgvp)


  ` The time, in UTC, at which the message becomes available to be presented. A null value
  indicates that the message is available immediately.

  #### Declaration

  Swift

      let startTime: UInt32?

- `


  ### [duration](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/MessagesTrait/MessageStruct#/s:15GoogleHomeTypes6MatterO13MessagesTraitV13MessageStructV8durations6UInt64VSgvp)


  ` The amount of time, in milliseconds, after the `https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/MessagesTrait/MessageStruct.html#/s:15GoogleHomeTypes6MatterO13MessagesTraitV13MessageStructV9startTimes6UInt32VSgvp` during which the message is
  available to be presented. A null value means that the `duration` time remains the same
  until it's actively changed.

  #### Declaration

  Swift

      let duration: UInt64?

- `


  ### [messageText](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/MessagesTrait/MessageStruct#/s:15GoogleHomeTypes6MatterO13MessagesTraitV13MessageStructV11messageTextSSvp)


  ` A string that contains the message to be presented.

  #### Declaration

  Swift

      let messageText: String

- `


  ### [responses](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/MessagesTrait/MessageStruct#/s:15GoogleHomeTypes6MatterO13MessagesTraitV13MessageStructV9responsesSayAE0g14ResponseOptionH0VGSgvp)


  ` A list of responses that the user can select to dismiss the message.

  #### Declaration

  Swift

      let responses: [https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter.html.https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/MessagesTrait.html.https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/MessagesTrait/MessageResponseOptionStruct.html]?

- `


  ### [init(decoder:)](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/MessagesTrait/MessageStruct#/s:15GoogleHomeTypes6MatterO13MessagesTraitV13MessageStructV7decoderAG0aB3SDK0F7DecoderV_tKcfc)


  ` Creates a new Struct instance using data read from the given `TraitDecoder`.
  Throws
  `HomeError.parseError` when parsing fails.

  #### Declaration

  Swift

      init(decoder: TraitDecoder) throws

  #### Parameters

  |---|---|
  | ` decoder ` | The raw data representing this Struct. |

- `


  ### [encode(with:)](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/MessagesTrait/MessageStruct#/s:15GoogleHomeTypes6MatterO13MessagesTraitV13MessageStructV6encode4withy0aB3SDK0F7EncoderC_tKF)


  ` Writes this Struct to the given `TraitEncoder`.
  Throws `HomeError.parseError` if the data could not be encoded.

  #### Declaration

  Swift

      func encode(with encoder: TraitEncoder) throws

- `


  ### [structField(id:)](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/MessagesTrait/MessageStruct#/s:15GoogleHomeTypes6MatterO13MessagesTraitV13MessageStructV11structField2id0aB3SDK0J0_pSgs6UInt32V_tFZ)


  ` Returns the field corresponding to the given field ID.

  #### Declaration

  Swift

      static func structField(id: UInt32) -> (any Field)?