# Levels

    struct Levels

Information about security-level names.
- `


  ### [level](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Google/ArmDisarmTrait/Levels#/s:15GoogleHomeTypes0A0O14ArmDisarmTraitV6LevelsV5levelSSvp)


  ` The internal name of the security level that is used in commands and states. This name can
  be non user friendly and is shared across all languages.

  #### Declaration

  Swift

      let level: String

- `


  ### [levelValues](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Google/ArmDisarmTrait/Levels#/s:15GoogleHomeTypes0A0O14ArmDisarmTraitV6LevelsV11levelValuesSayAE05LevelI0VGvp)


  ` Repeated sets of synonyms for a specific langauage.

  #### Declaration

  Swift

      let levelValues: [https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Google.html.https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Google/ArmDisarmTrait.html.https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Google/ArmDisarmTrait/LevelValues.html]

- `


  ### [levelCategory](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Google/ArmDisarmTrait/Levels#/s:15GoogleHomeTypes0A0O14ArmDisarmTraitV6LevelsV13levelCategoryAE05LevelI0Ovp)


  ` The security-level category.

  #### Declaration

  Swift

      let levelCategory: https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Google.html.https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Google/ArmDisarmTrait.html.https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Google/ArmDisarmTrait/LevelCategory.html

- `


  ### [exitAllowanceSeconds](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Google/ArmDisarmTrait/Levels#/s:15GoogleHomeTypes0A0O14ArmDisarmTraitV6LevelsV20exitAllowanceSecondss6UInt32Vvp)


  ` Number of seconds before the `https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Google/ArmDisarmTrait/Attributes.html#/s:15GoogleHomeTypes0A0O14ArmDisarmTraitV10AttributesV07currentD5LevelSSSgvp` takes effect.

  #### Declaration

  Swift

      let exitAllowanceSeconds: UInt32

- `


  ### [init(decoder:)](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Google/ArmDisarmTrait/Levels#/s:15GoogleHomeTypes0A0O14ArmDisarmTraitV6LevelsV7decoderAG0aB3SDK0F7DecoderV_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/Google/ArmDisarmTrait/Levels#/s:15GoogleHomeTypes0A0O14ArmDisarmTraitV6LevelsV6encode4withy0aB3SDK0F7EncoderC_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/Google/ArmDisarmTrait/Levels#/s:15GoogleHomeTypes0A0O14ArmDisarmTraitV6LevelsV11structField2id0aB3SDK0I0_pSgs6UInt32V_tFZ)


  ` Returns the field corresponding to the given field ID.

  #### Declaration

  Swift

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