diff --git a/commands/__init__.py b/commands/__init__.py
new file mode 100644
index 0000000..3bfc022
--- /dev/null
+++ b/commands/__init__.py
@@ -0,0 +1,6 @@
+__all__ = ['cert_request_pb2', 'configure_device_pb2', 'send_pairing_info_pb2', 'update_capabilities_pb2']
+
+from cert_request_pb2 import CertificateRequestMessage
+from update_capabilities_pb2 import UpdateCapabilitiesCommandMessage
+from configure_device_pb2 import DeviceConfigurationMessage
+from send_pairing_info_pb2 import DevicePairingInfoMessage
diff --git a/commands/cert-request.proto b/commands/cert-request.proto
new file mode 100644
index 0000000..6c81dd6
--- /dev/null
+++ b/commands/cert-request.proto
@@ -0,0 +1,11 @@
+message CertificateRequestMessage {
+	message Name {
+		repeated bytes components = 8;
+	}
+	message CertificateRequest {
+		required Name keyName = 220;
+        required uint32 keyType = 221;
+        required bytes keyBits = 222;
+	}
+	required CertificateRequest command = 223;
+}
diff --git a/commands/cert_request_pb2.py b/commands/cert_request_pb2.py
new file mode 100644
index 0000000..0bb096d
--- /dev/null
+++ b/commands/cert_request_pb2.py
@@ -0,0 +1,138 @@
+# Generated by the protocol buffer compiler.  DO NOT EDIT!
+
+from google.protobuf import descriptor
+from google.protobuf import message
+from google.protobuf import reflection
+from google.protobuf import descriptor_pb2
+# @@protoc_insertion_point(imports)
+
+
+
+DESCRIPTOR = descriptor.FileDescriptor(
+  name='cert-request.proto',
+  package='',
+  serialized_pb='\n\x12\x63\x65rt-request.proto\"\xe5\x01\n\x19\x43\x65rtificateRequestMessage\x12?\n\x07\x63ommand\x18\xdf\x01 \x02(\x0b\x32-.CertificateRequestMessage.CertificateRequest\x1a\x1a\n\x04Name\x12\x12\n\ncomponents\x18\x08 \x03(\x0c\x1ak\n\x12\x43\x65rtificateRequest\x12\x31\n\x07keyName\x18\xdc\x01 \x02(\x0b\x32\x1f.CertificateRequestMessage.Name\x12\x10\n\x07keyType\x18\xdd\x01 \x02(\r\x12\x10\n\x07keyBits\x18\xde\x01 \x02(\x0c')
+
+
+
+
+_CERTIFICATEREQUESTMESSAGE_NAME = descriptor.Descriptor(
+  name='Name',
+  full_name='CertificateRequestMessage.Name',
+  filename=None,
+  file=DESCRIPTOR,
+  containing_type=None,
+  fields=[
+    descriptor.FieldDescriptor(
+      name='components', full_name='CertificateRequestMessage.Name.components', index=0,
+      number=8, type=12, cpp_type=9, label=3,
+      has_default_value=False, default_value=[],
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      options=None),
+  ],
+  extensions=[
+  ],
+  nested_types=[],
+  enum_types=[
+  ],
+  options=None,
+  is_extendable=False,
+  extension_ranges=[],
+  serialized_start=117,
+  serialized_end=143,
+)
+
+_CERTIFICATEREQUESTMESSAGE_CERTIFICATEREQUEST = descriptor.Descriptor(
+  name='CertificateRequest',
+  full_name='CertificateRequestMessage.CertificateRequest',
+  filename=None,
+  file=DESCRIPTOR,
+  containing_type=None,
+  fields=[
+    descriptor.FieldDescriptor(
+      name='keyName', full_name='CertificateRequestMessage.CertificateRequest.keyName', index=0,
+      number=220, type=11, cpp_type=10, label=2,
+      has_default_value=False, default_value=None,
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      options=None),
+    descriptor.FieldDescriptor(
+      name='keyType', full_name='CertificateRequestMessage.CertificateRequest.keyType', index=1,
+      number=221, type=13, cpp_type=3, label=2,
+      has_default_value=False, default_value=0,
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      options=None),
+    descriptor.FieldDescriptor(
+      name='keyBits', full_name='CertificateRequestMessage.CertificateRequest.keyBits', index=2,
+      number=222, type=12, cpp_type=9, label=2,
+      has_default_value=False, default_value="",
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      options=None),
+  ],
+  extensions=[
+  ],
+  nested_types=[],
+  enum_types=[
+  ],
+  options=None,
+  is_extendable=False,
+  extension_ranges=[],
+  serialized_start=145,
+  serialized_end=252,
+)
+
+_CERTIFICATEREQUESTMESSAGE = descriptor.Descriptor(
+  name='CertificateRequestMessage',
+  full_name='CertificateRequestMessage',
+  filename=None,
+  file=DESCRIPTOR,
+  containing_type=None,
+  fields=[
+    descriptor.FieldDescriptor(
+      name='command', full_name='CertificateRequestMessage.command', index=0,
+      number=223, type=11, cpp_type=10, label=2,
+      has_default_value=False, default_value=None,
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      options=None),
+  ],
+  extensions=[
+  ],
+  nested_types=[_CERTIFICATEREQUESTMESSAGE_NAME, _CERTIFICATEREQUESTMESSAGE_CERTIFICATEREQUEST, ],
+  enum_types=[
+  ],
+  options=None,
+  is_extendable=False,
+  extension_ranges=[],
+  serialized_start=23,
+  serialized_end=252,
+)
+
+_CERTIFICATEREQUESTMESSAGE_NAME.containing_type = _CERTIFICATEREQUESTMESSAGE;
+_CERTIFICATEREQUESTMESSAGE_CERTIFICATEREQUEST.fields_by_name['keyName'].message_type = _CERTIFICATEREQUESTMESSAGE_NAME
+_CERTIFICATEREQUESTMESSAGE_CERTIFICATEREQUEST.containing_type = _CERTIFICATEREQUESTMESSAGE;
+_CERTIFICATEREQUESTMESSAGE.fields_by_name['command'].message_type = _CERTIFICATEREQUESTMESSAGE_CERTIFICATEREQUEST
+DESCRIPTOR.message_types_by_name['CertificateRequestMessage'] = _CERTIFICATEREQUESTMESSAGE
+
+class CertificateRequestMessage(message.Message):
+  __metaclass__ = reflection.GeneratedProtocolMessageType
+  
+  class Name(message.Message):
+    __metaclass__ = reflection.GeneratedProtocolMessageType
+    DESCRIPTOR = _CERTIFICATEREQUESTMESSAGE_NAME
+    
+    # @@protoc_insertion_point(class_scope:CertificateRequestMessage.Name)
+  
+  class CertificateRequest(message.Message):
+    __metaclass__ = reflection.GeneratedProtocolMessageType
+    DESCRIPTOR = _CERTIFICATEREQUESTMESSAGE_CERTIFICATEREQUEST
+    
+    # @@protoc_insertion_point(class_scope:CertificateRequestMessage.CertificateRequest)
+  DESCRIPTOR = _CERTIFICATEREQUESTMESSAGE
+  
+  # @@protoc_insertion_point(class_scope:CertificateRequestMessage)
+
+# @@protoc_insertion_point(module_scope)
diff --git a/commands/configure-device.proto b/commands/configure-device.proto
new file mode 100644
index 0000000..1bd38e1
--- /dev/null
+++ b/commands/configure-device.proto
@@ -0,0 +1,11 @@
+message DeviceConfigurationMessage {
+	message Name {
+		repeated bytes components = 8;
+	}
+    message DeviceConfiguration {
+        required Name networkPrefix = 224;
+        required Name controllerName = 225;
+        required Name deviceSuffix = 226;
+    }
+	required DeviceConfiguration configuration = 227;
+}
diff --git a/commands/configure_device_pb2.py b/commands/configure_device_pb2.py
new file mode 100644
index 0000000..6a48eec
--- /dev/null
+++ b/commands/configure_device_pb2.py
@@ -0,0 +1,140 @@
+# Generated by the protocol buffer compiler.  DO NOT EDIT!
+
+from google.protobuf import descriptor
+from google.protobuf import message
+from google.protobuf import reflection
+from google.protobuf import descriptor_pb2
+# @@protoc_insertion_point(imports)
+
+
+
+DESCRIPTOR = descriptor.FileDescriptor(
+  name='configure-device.proto',
+  package='',
+  serialized_pb='\n\x16\x63onfigure-device.proto\"\xc7\x02\n\x1a\x44\x65viceConfigurationMessage\x12G\n\rconfiguration\x18\xe3\x01 \x02(\x0b\x32/.DeviceConfigurationMessage.DeviceConfiguration\x1a\x1a\n\x04Name\x12\x12\n\ncomponents\x18\x08 \x03(\x0c\x1a\xc3\x01\n\x13\x44\x65viceConfiguration\x12\x38\n\rnetworkPrefix\x18\xe0\x01 \x02(\x0b\x32 .DeviceConfigurationMessage.Name\x12\x39\n\x0e\x63ontrollerName\x18\xe1\x01 \x02(\x0b\x32 .DeviceConfigurationMessage.Name\x12\x37\n\x0c\x64\x65viceSuffix\x18\xe2\x01 \x02(\x0b\x32 .DeviceConfigurationMessage.Name')
+
+
+
+
+_DEVICECONFIGURATIONMESSAGE_NAME = descriptor.Descriptor(
+  name='Name',
+  full_name='DeviceConfigurationMessage.Name',
+  filename=None,
+  file=DESCRIPTOR,
+  containing_type=None,
+  fields=[
+    descriptor.FieldDescriptor(
+      name='components', full_name='DeviceConfigurationMessage.Name.components', index=0,
+      number=8, type=12, cpp_type=9, label=3,
+      has_default_value=False, default_value=[],
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      options=None),
+  ],
+  extensions=[
+  ],
+  nested_types=[],
+  enum_types=[
+  ],
+  options=None,
+  is_extendable=False,
+  extension_ranges=[],
+  serialized_start=130,
+  serialized_end=156,
+)
+
+_DEVICECONFIGURATIONMESSAGE_DEVICECONFIGURATION = descriptor.Descriptor(
+  name='DeviceConfiguration',
+  full_name='DeviceConfigurationMessage.DeviceConfiguration',
+  filename=None,
+  file=DESCRIPTOR,
+  containing_type=None,
+  fields=[
+    descriptor.FieldDescriptor(
+      name='networkPrefix', full_name='DeviceConfigurationMessage.DeviceConfiguration.networkPrefix', index=0,
+      number=224, type=11, cpp_type=10, label=2,
+      has_default_value=False, default_value=None,
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      options=None),
+    descriptor.FieldDescriptor(
+      name='controllerName', full_name='DeviceConfigurationMessage.DeviceConfiguration.controllerName', index=1,
+      number=225, type=11, cpp_type=10, label=2,
+      has_default_value=False, default_value=None,
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      options=None),
+    descriptor.FieldDescriptor(
+      name='deviceSuffix', full_name='DeviceConfigurationMessage.DeviceConfiguration.deviceSuffix', index=2,
+      number=226, type=11, cpp_type=10, label=2,
+      has_default_value=False, default_value=None,
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      options=None),
+  ],
+  extensions=[
+  ],
+  nested_types=[],
+  enum_types=[
+  ],
+  options=None,
+  is_extendable=False,
+  extension_ranges=[],
+  serialized_start=159,
+  serialized_end=354,
+)
+
+_DEVICECONFIGURATIONMESSAGE = descriptor.Descriptor(
+  name='DeviceConfigurationMessage',
+  full_name='DeviceConfigurationMessage',
+  filename=None,
+  file=DESCRIPTOR,
+  containing_type=None,
+  fields=[
+    descriptor.FieldDescriptor(
+      name='configuration', full_name='DeviceConfigurationMessage.configuration', index=0,
+      number=227, type=11, cpp_type=10, label=2,
+      has_default_value=False, default_value=None,
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      options=None),
+  ],
+  extensions=[
+  ],
+  nested_types=[_DEVICECONFIGURATIONMESSAGE_NAME, _DEVICECONFIGURATIONMESSAGE_DEVICECONFIGURATION, ],
+  enum_types=[
+  ],
+  options=None,
+  is_extendable=False,
+  extension_ranges=[],
+  serialized_start=27,
+  serialized_end=354,
+)
+
+_DEVICECONFIGURATIONMESSAGE_NAME.containing_type = _DEVICECONFIGURATIONMESSAGE;
+_DEVICECONFIGURATIONMESSAGE_DEVICECONFIGURATION.fields_by_name['networkPrefix'].message_type = _DEVICECONFIGURATIONMESSAGE_NAME
+_DEVICECONFIGURATIONMESSAGE_DEVICECONFIGURATION.fields_by_name['controllerName'].message_type = _DEVICECONFIGURATIONMESSAGE_NAME
+_DEVICECONFIGURATIONMESSAGE_DEVICECONFIGURATION.fields_by_name['deviceSuffix'].message_type = _DEVICECONFIGURATIONMESSAGE_NAME
+_DEVICECONFIGURATIONMESSAGE_DEVICECONFIGURATION.containing_type = _DEVICECONFIGURATIONMESSAGE;
+_DEVICECONFIGURATIONMESSAGE.fields_by_name['configuration'].message_type = _DEVICECONFIGURATIONMESSAGE_DEVICECONFIGURATION
+DESCRIPTOR.message_types_by_name['DeviceConfigurationMessage'] = _DEVICECONFIGURATIONMESSAGE
+
+class DeviceConfigurationMessage(message.Message):
+  __metaclass__ = reflection.GeneratedProtocolMessageType
+  
+  class Name(message.Message):
+    __metaclass__ = reflection.GeneratedProtocolMessageType
+    DESCRIPTOR = _DEVICECONFIGURATIONMESSAGE_NAME
+    
+    # @@protoc_insertion_point(class_scope:DeviceConfigurationMessage.Name)
+  
+  class DeviceConfiguration(message.Message):
+    __metaclass__ = reflection.GeneratedProtocolMessageType
+    DESCRIPTOR = _DEVICECONFIGURATIONMESSAGE_DEVICECONFIGURATION
+    
+    # @@protoc_insertion_point(class_scope:DeviceConfigurationMessage.DeviceConfiguration)
+  DESCRIPTOR = _DEVICECONFIGURATIONMESSAGE
+  
+  # @@protoc_insertion_point(class_scope:DeviceConfigurationMessage)
+
+# @@protoc_insertion_point(module_scope)
diff --git a/commands/send-pairing-info.proto b/commands/send-pairing-info.proto
new file mode 100644
index 0000000..02649bb
--- /dev/null
+++ b/commands/send-pairing-info.proto
@@ -0,0 +1,8 @@
+message DevicePairingInfoMessage {
+ message DevicePairingInfo {
+    required string deviceSerial = 236;
+    required bytes devicePin = 237;
+    required string deviceSuffix = 238;
+}
+ required DevicePairingInfo info = 239;
+}
diff --git a/commands/send_pairing_info_pb2.py b/commands/send_pairing_info_pb2.py
new file mode 100644
index 0000000..aeb0027
--- /dev/null
+++ b/commands/send_pairing_info_pb2.py
@@ -0,0 +1,103 @@
+# Generated by the protocol buffer compiler.  DO NOT EDIT!
+
+from google.protobuf import descriptor
+from google.protobuf import message
+from google.protobuf import reflection
+from google.protobuf import descriptor_pb2
+# @@protoc_insertion_point(imports)
+
+
+
+DESCRIPTOR = descriptor.FileDescriptor(
+  name='send-pairing-info.proto',
+  package='',
+  serialized_pb='\n\x17send-pairing-info.proto\"\xad\x01\n\x18\x44\x65vicePairingInfoMessage\x12:\n\x04info\x18\xee\x01 \x02(\x0b\x32+.DevicePairingInfoMessage.DevicePairingInfo\x1aU\n\x11\x44\x65vicePairingInfo\x12\x15\n\x0c\x64\x65viceSerial\x18\xeb\x01 \x02(\t\x12\x12\n\tdevicePin\x18\xec\x01 \x02(\x0c\x12\x15\n\x0c\x64\x65viceSuffix\x18\xed\x01 \x02(\t')
+
+
+
+
+_DEVICEPAIRINGINFOMESSAGE_DEVICEPAIRINGINFO = descriptor.Descriptor(
+  name='DevicePairingInfo',
+  full_name='DevicePairingInfoMessage.DevicePairingInfo',
+  filename=None,
+  file=DESCRIPTOR,
+  containing_type=None,
+  fields=[
+    descriptor.FieldDescriptor(
+      name='deviceSerial', full_name='DevicePairingInfoMessage.DevicePairingInfo.deviceSerial', index=0,
+      number=235, type=9, cpp_type=9, label=2,
+      has_default_value=False, default_value=unicode("", "utf-8"),
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      options=None),
+    descriptor.FieldDescriptor(
+      name='devicePin', full_name='DevicePairingInfoMessage.DevicePairingInfo.devicePin', index=1,
+      number=236, type=12, cpp_type=9, label=2,
+      has_default_value=False, default_value="",
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      options=None),
+    descriptor.FieldDescriptor(
+      name='deviceSuffix', full_name='DevicePairingInfoMessage.DevicePairingInfo.deviceSuffix', index=2,
+      number=237, type=9, cpp_type=9, label=2,
+      has_default_value=False, default_value=unicode("", "utf-8"),
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      options=None),
+  ],
+  extensions=[
+  ],
+  nested_types=[],
+  enum_types=[
+  ],
+  options=None,
+  is_extendable=False,
+  extension_ranges=[],
+  serialized_start=116,
+  serialized_end=201,
+)
+
+_DEVICEPAIRINGINFOMESSAGE = descriptor.Descriptor(
+  name='DevicePairingInfoMessage',
+  full_name='DevicePairingInfoMessage',
+  filename=None,
+  file=DESCRIPTOR,
+  containing_type=None,
+  fields=[
+    descriptor.FieldDescriptor(
+      name='info', full_name='DevicePairingInfoMessage.info', index=0,
+      number=238, type=11, cpp_type=10, label=2,
+      has_default_value=False, default_value=None,
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      options=None),
+  ],
+  extensions=[
+  ],
+  nested_types=[_DEVICEPAIRINGINFOMESSAGE_DEVICEPAIRINGINFO, ],
+  enum_types=[
+  ],
+  options=None,
+  is_extendable=False,
+  extension_ranges=[],
+  serialized_start=28,
+  serialized_end=201,
+)
+
+_DEVICEPAIRINGINFOMESSAGE_DEVICEPAIRINGINFO.containing_type = _DEVICEPAIRINGINFOMESSAGE;
+_DEVICEPAIRINGINFOMESSAGE.fields_by_name['info'].message_type = _DEVICEPAIRINGINFOMESSAGE_DEVICEPAIRINGINFO
+DESCRIPTOR.message_types_by_name['DevicePairingInfoMessage'] = _DEVICEPAIRINGINFOMESSAGE
+
+class DevicePairingInfoMessage(message.Message):
+  __metaclass__ = reflection.GeneratedProtocolMessageType
+  
+  class DevicePairingInfo(message.Message):
+    __metaclass__ = reflection.GeneratedProtocolMessageType
+    DESCRIPTOR = _DEVICEPAIRINGINFOMESSAGE_DEVICEPAIRINGINFO
+    
+    # @@protoc_insertion_point(class_scope:DevicePairingInfoMessage.DevicePairingInfo)
+  DESCRIPTOR = _DEVICEPAIRINGINFOMESSAGE
+  
+  # @@protoc_insertion_point(class_scope:DevicePairingInfoMessage)
+
+# @@protoc_insertion_point(module_scope)
diff --git a/commands/update-capabilities.proto b/commands/update-capabilities.proto
new file mode 100644
index 0000000..f636564
--- /dev/null
+++ b/commands/update-capabilities.proto
@@ -0,0 +1,21 @@
+message UpdateCapabilitiesCommandMessage {
+	message Name {
+		repeated bytes components = 8;
+	}
+
+	message CapabilitiesParameter {
+		required string parameterType = 228; // should be a protobuf type
+		optional string parameterDesc = 229; // what is this parameter for? (recommended)
+	}
+
+	message Capability {
+		required Name commandPrefix = 230; // the name (after device prefix) of command 
+		repeated string keywords = 231; // other devices can search for one or more keywords
+						// e.g. 'cec', 'motion', 'thermostat'
+		repeated CapabilitiesParameter parameterDesc = 232; // list of parameter descriptions
+        optional bool needsSignature=233;
+        required String deviceSerial=234;
+	}
+
+    repeated Capability capabilities = 235;
+}
diff --git a/commands/update_capabilities_pb2.py b/commands/update_capabilities_pb2.py
new file mode 100644
index 0000000..94dc63d
--- /dev/null
+++ b/commands/update_capabilities_pb2.py
@@ -0,0 +1,187 @@
+# Generated by the protocol buffer compiler.  DO NOT EDIT!
+
+from google.protobuf import descriptor
+from google.protobuf import message
+from google.protobuf import reflection
+from google.protobuf import descriptor_pb2
+# @@protoc_insertion_point(imports)
+
+
+
+DESCRIPTOR = descriptor.FileDescriptor(
+  name='update-capabilities.proto',
+  package='',
+  serialized_pb='\n\x19update-capabilities.proto\"\x98\x03\n UpdateCapabilitiesCommandMessage\x12\x43\n\x0c\x63\x61pabilities\x18\xea\x01 \x03(\x0b\x32,.UpdateCapabilitiesCommandMessage.Capability\x1a\x1a\n\x04Name\x12\x12\n\ncomponents\x18\x08 \x03(\x0c\x1aG\n\x15\x43\x61pabilitiesParameter\x12\x16\n\rparameterType\x18\xe4\x01 \x02(\t\x12\x16\n\rparameterDesc\x18\xe5\x01 \x01(\t\x1a\xc9\x01\n\nCapability\x12>\n\rcommandPrefix\x18\xe6\x01 \x02(\x0b\x32&.UpdateCapabilitiesCommandMessage.Name\x12\x11\n\x08keywords\x18\xe7\x01 \x03(\t\x12O\n\rparameterDesc\x18\xe8\x01 \x03(\x0b\x32\x37.UpdateCapabilitiesCommandMessage.CapabilitiesParameter\x12\x17\n\x0eneedsSignature\x18\xe9\x01 \x01(\x08')
+
+
+
+
+_UPDATECAPABILITIESCOMMANDMESSAGE_NAME = descriptor.Descriptor(
+  name='Name',
+  full_name='UpdateCapabilitiesCommandMessage.Name',
+  filename=None,
+  file=DESCRIPTOR,
+  containing_type=None,
+  fields=[
+    descriptor.FieldDescriptor(
+      name='components', full_name='UpdateCapabilitiesCommandMessage.Name.components', index=0,
+      number=8, type=12, cpp_type=9, label=3,
+      has_default_value=False, default_value=[],
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      options=None),
+  ],
+  extensions=[
+  ],
+  nested_types=[],
+  enum_types=[
+  ],
+  options=None,
+  is_extendable=False,
+  extension_ranges=[],
+  serialized_start=135,
+  serialized_end=161,
+)
+
+_UPDATECAPABILITIESCOMMANDMESSAGE_CAPABILITIESPARAMETER = descriptor.Descriptor(
+  name='CapabilitiesParameter',
+  full_name='UpdateCapabilitiesCommandMessage.CapabilitiesParameter',
+  filename=None,
+  file=DESCRIPTOR,
+  containing_type=None,
+  fields=[
+    descriptor.FieldDescriptor(
+      name='parameterType', full_name='UpdateCapabilitiesCommandMessage.CapabilitiesParameter.parameterType', index=0,
+      number=228, type=9, cpp_type=9, label=2,
+      has_default_value=False, default_value=unicode("", "utf-8"),
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      options=None),
+    descriptor.FieldDescriptor(
+      name='parameterDesc', full_name='UpdateCapabilitiesCommandMessage.CapabilitiesParameter.parameterDesc', index=1,
+      number=229, type=9, cpp_type=9, label=1,
+      has_default_value=False, default_value=unicode("", "utf-8"),
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      options=None),
+  ],
+  extensions=[
+  ],
+  nested_types=[],
+  enum_types=[
+  ],
+  options=None,
+  is_extendable=False,
+  extension_ranges=[],
+  serialized_start=163,
+  serialized_end=234,
+)
+
+_UPDATECAPABILITIESCOMMANDMESSAGE_CAPABILITY = descriptor.Descriptor(
+  name='Capability',
+  full_name='UpdateCapabilitiesCommandMessage.Capability',
+  filename=None,
+  file=DESCRIPTOR,
+  containing_type=None,
+  fields=[
+    descriptor.FieldDescriptor(
+      name='commandPrefix', full_name='UpdateCapabilitiesCommandMessage.Capability.commandPrefix', index=0,
+      number=230, type=11, cpp_type=10, label=2,
+      has_default_value=False, default_value=None,
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      options=None),
+    descriptor.FieldDescriptor(
+      name='keywords', full_name='UpdateCapabilitiesCommandMessage.Capability.keywords', index=1,
+      number=231, type=9, cpp_type=9, label=3,
+      has_default_value=False, default_value=[],
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      options=None),
+    descriptor.FieldDescriptor(
+      name='parameterDesc', full_name='UpdateCapabilitiesCommandMessage.Capability.parameterDesc', index=2,
+      number=232, type=11, cpp_type=10, label=3,
+      has_default_value=False, default_value=[],
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      options=None),
+    descriptor.FieldDescriptor(
+      name='needsSignature', full_name='UpdateCapabilitiesCommandMessage.Capability.needsSignature', index=3,
+      number=233, type=8, cpp_type=7, label=1,
+      has_default_value=False, default_value=False,
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      options=None),
+  ],
+  extensions=[
+  ],
+  nested_types=[],
+  enum_types=[
+  ],
+  options=None,
+  is_extendable=False,
+  extension_ranges=[],
+  serialized_start=237,
+  serialized_end=438,
+)
+
+_UPDATECAPABILITIESCOMMANDMESSAGE = descriptor.Descriptor(
+  name='UpdateCapabilitiesCommandMessage',
+  full_name='UpdateCapabilitiesCommandMessage',
+  filename=None,
+  file=DESCRIPTOR,
+  containing_type=None,
+  fields=[
+    descriptor.FieldDescriptor(
+      name='capabilities', full_name='UpdateCapabilitiesCommandMessage.capabilities', index=0,
+      number=234, type=11, cpp_type=10, label=3,
+      has_default_value=False, default_value=[],
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      options=None),
+  ],
+  extensions=[
+  ],
+  nested_types=[_UPDATECAPABILITIESCOMMANDMESSAGE_NAME, _UPDATECAPABILITIESCOMMANDMESSAGE_CAPABILITIESPARAMETER, _UPDATECAPABILITIESCOMMANDMESSAGE_CAPABILITY, ],
+  enum_types=[
+  ],
+  options=None,
+  is_extendable=False,
+  extension_ranges=[],
+  serialized_start=30,
+  serialized_end=438,
+)
+
+_UPDATECAPABILITIESCOMMANDMESSAGE_NAME.containing_type = _UPDATECAPABILITIESCOMMANDMESSAGE;
+_UPDATECAPABILITIESCOMMANDMESSAGE_CAPABILITIESPARAMETER.containing_type = _UPDATECAPABILITIESCOMMANDMESSAGE;
+_UPDATECAPABILITIESCOMMANDMESSAGE_CAPABILITY.fields_by_name['commandPrefix'].message_type = _UPDATECAPABILITIESCOMMANDMESSAGE_NAME
+_UPDATECAPABILITIESCOMMANDMESSAGE_CAPABILITY.fields_by_name['parameterDesc'].message_type = _UPDATECAPABILITIESCOMMANDMESSAGE_CAPABILITIESPARAMETER
+_UPDATECAPABILITIESCOMMANDMESSAGE_CAPABILITY.containing_type = _UPDATECAPABILITIESCOMMANDMESSAGE;
+_UPDATECAPABILITIESCOMMANDMESSAGE.fields_by_name['capabilities'].message_type = _UPDATECAPABILITIESCOMMANDMESSAGE_CAPABILITY
+DESCRIPTOR.message_types_by_name['UpdateCapabilitiesCommandMessage'] = _UPDATECAPABILITIESCOMMANDMESSAGE
+
+class UpdateCapabilitiesCommandMessage(message.Message):
+  __metaclass__ = reflection.GeneratedProtocolMessageType
+  
+  class Name(message.Message):
+    __metaclass__ = reflection.GeneratedProtocolMessageType
+    DESCRIPTOR = _UPDATECAPABILITIESCOMMANDMESSAGE_NAME
+    
+    # @@protoc_insertion_point(class_scope:UpdateCapabilitiesCommandMessage.Name)
+  
+  class CapabilitiesParameter(message.Message):
+    __metaclass__ = reflection.GeneratedProtocolMessageType
+    DESCRIPTOR = _UPDATECAPABILITIESCOMMANDMESSAGE_CAPABILITIESPARAMETER
+    
+    # @@protoc_insertion_point(class_scope:UpdateCapabilitiesCommandMessage.CapabilitiesParameter)
+  
+  class Capability(message.Message):
+    __metaclass__ = reflection.GeneratedProtocolMessageType
+    DESCRIPTOR = _UPDATECAPABILITIESCOMMANDMESSAGE_CAPABILITY
+    
+    # @@protoc_insertion_point(class_scope:UpdateCapabilitiesCommandMessage.Capability)
+  DESCRIPTOR = _UPDATECAPABILITIESCOMMANDMESSAGE
+  
+  # @@protoc_insertion_point(class_scope:UpdateCapabilitiesCommandMessage)
+
+# @@protoc_insertion_point(module_scope)
