client cluster First = 1 {
    attribute int16u someInteger = 1;
}

client cluster Second = 2 {
    readonly attribute octet_string<32> someBytes = 123;
}

client cluster Third = 3 {
    enum MyEnum : enum8 {
      kUnknown = 0;
      kKnown = 100;
    }

    bitmap LevelControlOptions : BITMAP8 {
      kExecuteIfOff = 0x1;
      kCoupleColorTempToLevel = 0x2;
    }

    attribute MyEnum someEnum = 10;
    attribute LevelControlOptions options = 20;
}

server cluster Third = 3 {
    enum MyEnum : enum8 {
      kUnknown = 0;
      kKnown = 100;
    }

    attribute MyEnum someEnum = 10;
    readonly attribute int16u clusterRevision = 65533;
}

endpoint 0 {
  device type rootdevice = 22;
  binding cluster Second;

  server cluster Third {
    ram attribute someEnum;
    ram attribute clusterRevision default = 2;
  }
}
