diff --git a/tools/tedapi/README.md b/tools/tedapi/README.md index 3c270ba..8dbdcbe 100644 --- a/tools/tedapi/README.md +++ b/tools/tedapi/README.md @@ -58,24 +58,45 @@ curl -v -k -H 'Content-type: application/octet-string' -u "Tesla_Energy_Device:G python3 decode.py response.bin ``` +The request payload set the recipient din: + +``` +message { + deliveryChannel: 1 + sender { + local: 1 + } + recipient { + din: "1232100-00-E--TG123456789012" + } + config { + send { + } + } +} +tail { + value: 1 +} +``` + An example response shows the system config data in the JSON `text` (removed to protect the innocent) and a `code` payload (TBD). ``` message { - head: 1 - response { + deliveryChannel: 1 + sender { din: "1232100-00-E--TG123456789012" } - request { - value: 1 + recipient { + local: 1 } config { recv { file { name: "config.json" - text: "{...JSON Payload Removed...}" + text: "{\"vin\":\"1232100-00-E--TG123456789012\",\"meters\": ...Truncated... }" } - code: "...Binary Data Removed..." + code: "\255\177t+5\3530...Truncated..." } } } @@ -86,15 +107,23 @@ tail { #### QUERY Example +```bash +# Request Status Data from Powerwall +curl -v -k -H 'Content-type: application/octet-string' -u "Tesla_Energy_Device:GW_PWD" --data-binary @query.bin https://192.168.91.1/tedapi/v1 > response.bin + +# Decode Config Data +python3 decode.py response.bin +``` + To get the status of the Powerwall, send a binary query.bin payload. The structure of the query payload has a `text` query string that seems to be an exhaustive list of labels. The `code` field is a binary payload. ``` message { - head: 1 - response { - value: 1 + deliveryChannel: 1 + sender { + local: 1 } - request { + recipient { din: "1232100-00-E--TG123456789012" } payload { @@ -114,27 +143,18 @@ message { tail { value: 1 } - -``` - -```bash -# Request Status Data from Powerwall -curl -v -k -H 'Content-type: application/octet-string' -u "Tesla_Energy_Device:GW_PWD" --data-binary @query.bin https://192.168.91.1/tedapi/v1 > response.bin - -# Decode Config Data -python3 decode.py response.bin ``` An example response shows the system status data in the JSON `text` field (truncated). ``` message { - head: 1 - response { - din: "1232100-00-E--TG121048001E4G" + deliveryChannel: 1 + sender { + din: "1232100-00-E--TG123456789012" } - request { - value: 1 + recipient { + local: 1 } payload { recv { @@ -148,7 +168,6 @@ tail { } ``` - ## Credit * Thanks to [zigam](https://github.com/zigam) for starting this research and the initial discovery, [post](https://github.com/jrester/tesla_powerwall/issues/20#issuecomment-1810848383) and tips. diff --git a/tools/tedapi/tedapi.proto b/tools/tedapi/tedapi.proto index bc5922c..d9accbc 100644 --- a/tools/tedapi/tedapi.proto +++ b/tools/tedapi/tedapi.proto @@ -3,7 +3,7 @@ // Create tedapi_pb2.py for use in projects using the protoc compiler: // protoc --python_out=. tedapi.proto // -// Author: Jason A. Cox - Date: 21 Nov 2023 - Version: 1.0 +// Author: Jason A. Cox - Date: 22 Nov 2023 - Version: 1.1 // // For more information see https://github.com/jasonacox/pypowerwall @@ -15,21 +15,25 @@ package tedapi; // ***** Parent ***** message ParentMessage { - Message message = 1; + MessageEnvelope message = 1; Tail tail = 2; } -message Message { - int32 head = 1; - StringNumber response = 2; - StringNumber request = 3; +message MessageEnvelope { + int32 deliveryChannel = 1; + Participant sender = 2; + Participant recipient = 3; optional ConfigType config = 15; optional QueryType payload = 16; } -message StringNumber { // 2 - optional string din = 1; - optional int32 value = 3; +message Participant { + oneof id { + string din = 1; + int32 teslaService = 2; + int32 local = 3; + int32 authorizedClient = 4; + } } message Tail { @@ -82,10 +86,6 @@ message StringValue { string value = 1; } -message NumberValue { - int32 value = 3; -} - // ***** BASED ON RAW DECODED PAYLOADS ***** // // REQUEST - config diff --git a/tools/tedapi/tedapi_pb2.py b/tools/tedapi/tedapi_pb2.py index 39c2cb1..4557e02 100644 --- a/tools/tedapi/tedapi_pb2.py +++ b/tools/tedapi/tedapi_pb2.py @@ -19,7 +19,7 @@ syntax='proto3', serialized_options=None, create_key=_descriptor._internal_create_key, - serialized_pb=b'\n\x0ctedapi.proto\x12\x06tedapi\"M\n\rParentMessage\x12 \n\x07message\x18\x01 \x01(\x0b\x32\x0f.tedapi.Message\x12\x1a\n\x04tail\x18\x02 \x01(\x0b\x32\x0c.tedapi.Tail\"\xcf\x01\n\x07Message\x12\x0c\n\x04head\x18\x01 \x01(\x05\x12&\n\x08response\x18\x02 \x01(\x0b\x32\x14.tedapi.StringNumber\x12%\n\x07request\x18\x03 \x01(\x0b\x32\x14.tedapi.StringNumber\x12\'\n\x06\x63onfig\x18\x0f \x01(\x0b\x32\x12.tedapi.ConfigTypeH\x00\x88\x01\x01\x12\'\n\x07payload\x18\x10 \x01(\x0b\x32\x11.tedapi.QueryTypeH\x01\x88\x01\x01\x42\t\n\x07_configB\n\n\x08_payload\"F\n\x0cStringNumber\x12\x10\n\x03\x64in\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\x12\n\x05value\x18\x03 \x01(\x05H\x01\x88\x01\x01\x42\x06\n\x04_dinB\x08\n\x06_value\"\x15\n\x04Tail\x12\r\n\x05value\x18\x01 \x01(\x05\"t\n\tQueryType\x12+\n\x04send\x18\x01 \x01(\x0b\x32\x18.tedapi.PayloadQuerySendH\x00\x88\x01\x01\x12(\n\x04recv\x18\x02 \x01(\x0b\x32\x15.tedapi.PayloadStringH\x01\x88\x01\x01\x42\x07\n\x05_sendB\x07\n\x05_recv\"\xac\x01\n\x10PayloadQuerySend\x12\x10\n\x03num\x18\x01 \x01(\x05H\x00\x88\x01\x01\x12+\n\x07payload\x18\x02 \x01(\x0b\x32\x15.tedapi.PayloadStringH\x01\x88\x01\x01\x12\x11\n\x04\x63ode\x18\x03 \x01(\x0cH\x02\x88\x01\x01\x12#\n\x01\x62\x18\x04 \x01(\x0b\x32\x13.tedapi.StringValueH\x03\x88\x01\x01\x42\x06\n\x04_numB\n\n\x08_payloadB\x07\n\x05_codeB\x04\n\x02_b\"z\n\nConfigType\x12,\n\x04send\x18\x01 \x01(\x0b\x32\x19.tedapi.PayloadConfigSendH\x00\x88\x01\x01\x12,\n\x04recv\x18\x02 \x01(\x0b\x32\x19.tedapi.PayloadConfigRecvH\x01\x88\x01\x01\x42\x07\n\x05_sendB\x07\n\x05_recv\"8\n\x11PayloadConfigSend\x12#\n\x04\x66ile\x18\x01 \x01(\x0b\x32\x15.tedapi.PayloadString\"E\n\x11PayloadConfigRecv\x12\"\n\x04\x66ile\x18\x01 \x01(\x0b\x32\x14.tedapi.ConfigString\x12\x0c\n\x04\x63ode\x18\x02 \x01(\x0c\"*\n\x0c\x43onfigString\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0c\n\x04text\x18\x64 \x01(\t\",\n\rPayloadString\x12\r\n\x05value\x18\x01 \x01(\x05\x12\x0c\n\x04text\x18\x02 \x01(\t\"\x1c\n\x0bStringValue\x12\r\n\x05value\x18\x01 \x01(\t\"\x1c\n\x0bNumberValue\x12\r\n\x05value\x18\x03 \x01(\x05\x62\x06proto3' + serialized_pb=b'\n\x0ctedapi.proto\x12\x06tedapi\"U\n\rParentMessage\x12(\n\x07message\x18\x01 \x01(\x0b\x32\x17.tedapi.MessageEnvelope\x12\x1a\n\x04tail\x18\x02 \x01(\x0b\x32\x0c.tedapi.Tail\"\xe0\x01\n\x0fMessageEnvelope\x12\x17\n\x0f\x64\x65liveryChannel\x18\x01 \x01(\x05\x12#\n\x06sender\x18\x02 \x01(\x0b\x32\x13.tedapi.Participant\x12&\n\trecipient\x18\x03 \x01(\x0b\x32\x13.tedapi.Participant\x12\'\n\x06\x63onfig\x18\x0f \x01(\x0b\x32\x12.tedapi.ConfigTypeH\x00\x88\x01\x01\x12\'\n\x07payload\x18\x10 \x01(\x0b\x32\x11.tedapi.QueryTypeH\x01\x88\x01\x01\x42\t\n\x07_configB\n\n\x08_payload\"g\n\x0bParticipant\x12\r\n\x03\x64in\x18\x01 \x01(\tH\x00\x12\x16\n\x0cteslaService\x18\x02 \x01(\x05H\x00\x12\x0f\n\x05local\x18\x03 \x01(\x05H\x00\x12\x1a\n\x10\x61uthorizedClient\x18\x04 \x01(\x05H\x00\x42\x04\n\x02id\"\x15\n\x04Tail\x12\r\n\x05value\x18\x01 \x01(\x05\"t\n\tQueryType\x12+\n\x04send\x18\x01 \x01(\x0b\x32\x18.tedapi.PayloadQuerySendH\x00\x88\x01\x01\x12(\n\x04recv\x18\x02 \x01(\x0b\x32\x15.tedapi.PayloadStringH\x01\x88\x01\x01\x42\x07\n\x05_sendB\x07\n\x05_recv\"\xac\x01\n\x10PayloadQuerySend\x12\x10\n\x03num\x18\x01 \x01(\x05H\x00\x88\x01\x01\x12+\n\x07payload\x18\x02 \x01(\x0b\x32\x15.tedapi.PayloadStringH\x01\x88\x01\x01\x12\x11\n\x04\x63ode\x18\x03 \x01(\x0cH\x02\x88\x01\x01\x12#\n\x01\x62\x18\x04 \x01(\x0b\x32\x13.tedapi.StringValueH\x03\x88\x01\x01\x42\x06\n\x04_numB\n\n\x08_payloadB\x07\n\x05_codeB\x04\n\x02_b\"z\n\nConfigType\x12,\n\x04send\x18\x01 \x01(\x0b\x32\x19.tedapi.PayloadConfigSendH\x00\x88\x01\x01\x12,\n\x04recv\x18\x02 \x01(\x0b\x32\x19.tedapi.PayloadConfigRecvH\x01\x88\x01\x01\x42\x07\n\x05_sendB\x07\n\x05_recv\"8\n\x11PayloadConfigSend\x12#\n\x04\x66ile\x18\x01 \x01(\x0b\x32\x15.tedapi.PayloadString\"E\n\x11PayloadConfigRecv\x12\"\n\x04\x66ile\x18\x01 \x01(\x0b\x32\x14.tedapi.ConfigString\x12\x0c\n\x04\x63ode\x18\x02 \x01(\x0c\"*\n\x0c\x43onfigString\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0c\n\x04text\x18\x64 \x01(\t\",\n\rPayloadString\x12\r\n\x05value\x18\x01 \x01(\x05\x12\x0c\n\x04text\x18\x02 \x01(\t\"\x1c\n\x0bStringValue\x12\r\n\x05value\x18\x01 \x01(\tb\x06proto3' ) @@ -60,48 +60,48 @@ oneofs=[ ], serialized_start=24, - serialized_end=101, + serialized_end=109, ) -_MESSAGE = _descriptor.Descriptor( - name='Message', - full_name='tedapi.Message', +_MESSAGEENVELOPE = _descriptor.Descriptor( + name='MessageEnvelope', + full_name='tedapi.MessageEnvelope', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( - name='head', full_name='tedapi.Message.head', index=0, + name='deliveryChannel', full_name='tedapi.MessageEnvelope.deliveryChannel', index=0, number=1, type=5, cpp_type=1, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( - name='response', full_name='tedapi.Message.response', index=1, + name='sender', full_name='tedapi.MessageEnvelope.sender', index=1, number=2, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( - name='request', full_name='tedapi.Message.request', index=2, + name='recipient', full_name='tedapi.MessageEnvelope.recipient', index=2, number=3, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( - name='config', full_name='tedapi.Message.config', index=3, + name='config', full_name='tedapi.MessageEnvelope.config', index=3, number=15, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( - name='payload', full_name='tedapi.Message.payload', index=4, + name='payload', full_name='tedapi.MessageEnvelope.payload', index=4, number=16, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, @@ -119,43 +119,57 @@ extension_ranges=[], oneofs=[ _descriptor.OneofDescriptor( - name='_config', full_name='tedapi.Message._config', + name='_config', full_name='tedapi.MessageEnvelope._config', index=0, containing_type=None, create_key=_descriptor._internal_create_key, fields=[]), _descriptor.OneofDescriptor( - name='_payload', full_name='tedapi.Message._payload', + name='_payload', full_name='tedapi.MessageEnvelope._payload', index=1, containing_type=None, create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=104, - serialized_end=311, + serialized_start=112, + serialized_end=336, ) -_STRINGNUMBER = _descriptor.Descriptor( - name='StringNumber', - full_name='tedapi.StringNumber', +_PARTICIPANT = _descriptor.Descriptor( + name='Participant', + full_name='tedapi.Participant', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( - name='din', full_name='tedapi.StringNumber.din', index=0, + name='din', full_name='tedapi.Participant.din', index=0, number=1, type=9, cpp_type=9, label=1, has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( - name='value', full_name='tedapi.StringNumber.value', index=1, + name='teslaService', full_name='tedapi.Participant.teslaService', index=1, + number=2, type=5, cpp_type=1, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='local', full_name='tedapi.Participant.local', index=2, number=3, type=5, cpp_type=1, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='authorizedClient', full_name='tedapi.Participant.authorizedClient', index=3, + number=4, type=5, cpp_type=1, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], @@ -168,18 +182,13 @@ extension_ranges=[], oneofs=[ _descriptor.OneofDescriptor( - name='_din', full_name='tedapi.StringNumber._din', + name='id', full_name='tedapi.Participant.id', index=0, containing_type=None, create_key=_descriptor._internal_create_key, fields=[]), - _descriptor.OneofDescriptor( - name='_value', full_name='tedapi.StringNumber._value', - index=1, containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[]), ], - serialized_start=313, - serialized_end=383, + serialized_start=338, + serialized_end=441, ) @@ -210,8 +219,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=385, - serialized_end=406, + serialized_start=443, + serialized_end=464, ) @@ -259,8 +268,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=408, - serialized_end=524, + serialized_start=466, + serialized_end=582, ) @@ -332,8 +341,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=527, - serialized_end=699, + serialized_start=585, + serialized_end=757, ) @@ -381,8 +390,8 @@ create_key=_descriptor._internal_create_key, fields=[]), ], - serialized_start=701, - serialized_end=823, + serialized_start=759, + serialized_end=881, ) @@ -413,8 +422,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=825, - serialized_end=881, + serialized_start=883, + serialized_end=939, ) @@ -452,8 +461,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=883, - serialized_end=952, + serialized_start=941, + serialized_end=1010, ) @@ -491,8 +500,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=954, - serialized_end=996, + serialized_start=1012, + serialized_end=1054, ) @@ -530,8 +539,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=998, - serialized_end=1042, + serialized_start=1056, + serialized_end=1100, ) @@ -562,60 +571,34 @@ extension_ranges=[], oneofs=[ ], - serialized_start=1044, - serialized_end=1072, + serialized_start=1102, + serialized_end=1130, ) - -_NUMBERVALUE = _descriptor.Descriptor( - name='NumberValue', - full_name='tedapi.NumberValue', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='value', full_name='tedapi.NumberValue.value', index=0, - number=3, type=5, cpp_type=1, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=1074, - serialized_end=1102, -) - -_PARENTMESSAGE.fields_by_name['message'].message_type = _MESSAGE +_PARENTMESSAGE.fields_by_name['message'].message_type = _MESSAGEENVELOPE _PARENTMESSAGE.fields_by_name['tail'].message_type = _TAIL -_MESSAGE.fields_by_name['response'].message_type = _STRINGNUMBER -_MESSAGE.fields_by_name['request'].message_type = _STRINGNUMBER -_MESSAGE.fields_by_name['config'].message_type = _CONFIGTYPE -_MESSAGE.fields_by_name['payload'].message_type = _QUERYTYPE -_MESSAGE.oneofs_by_name['_config'].fields.append( - _MESSAGE.fields_by_name['config']) -_MESSAGE.fields_by_name['config'].containing_oneof = _MESSAGE.oneofs_by_name['_config'] -_MESSAGE.oneofs_by_name['_payload'].fields.append( - _MESSAGE.fields_by_name['payload']) -_MESSAGE.fields_by_name['payload'].containing_oneof = _MESSAGE.oneofs_by_name['_payload'] -_STRINGNUMBER.oneofs_by_name['_din'].fields.append( - _STRINGNUMBER.fields_by_name['din']) -_STRINGNUMBER.fields_by_name['din'].containing_oneof = _STRINGNUMBER.oneofs_by_name['_din'] -_STRINGNUMBER.oneofs_by_name['_value'].fields.append( - _STRINGNUMBER.fields_by_name['value']) -_STRINGNUMBER.fields_by_name['value'].containing_oneof = _STRINGNUMBER.oneofs_by_name['_value'] +_MESSAGEENVELOPE.fields_by_name['sender'].message_type = _PARTICIPANT +_MESSAGEENVELOPE.fields_by_name['recipient'].message_type = _PARTICIPANT +_MESSAGEENVELOPE.fields_by_name['config'].message_type = _CONFIGTYPE +_MESSAGEENVELOPE.fields_by_name['payload'].message_type = _QUERYTYPE +_MESSAGEENVELOPE.oneofs_by_name['_config'].fields.append( + _MESSAGEENVELOPE.fields_by_name['config']) +_MESSAGEENVELOPE.fields_by_name['config'].containing_oneof = _MESSAGEENVELOPE.oneofs_by_name['_config'] +_MESSAGEENVELOPE.oneofs_by_name['_payload'].fields.append( + _MESSAGEENVELOPE.fields_by_name['payload']) +_MESSAGEENVELOPE.fields_by_name['payload'].containing_oneof = _MESSAGEENVELOPE.oneofs_by_name['_payload'] +_PARTICIPANT.oneofs_by_name['id'].fields.append( + _PARTICIPANT.fields_by_name['din']) +_PARTICIPANT.fields_by_name['din'].containing_oneof = _PARTICIPANT.oneofs_by_name['id'] +_PARTICIPANT.oneofs_by_name['id'].fields.append( + _PARTICIPANT.fields_by_name['teslaService']) +_PARTICIPANT.fields_by_name['teslaService'].containing_oneof = _PARTICIPANT.oneofs_by_name['id'] +_PARTICIPANT.oneofs_by_name['id'].fields.append( + _PARTICIPANT.fields_by_name['local']) +_PARTICIPANT.fields_by_name['local'].containing_oneof = _PARTICIPANT.oneofs_by_name['id'] +_PARTICIPANT.oneofs_by_name['id'].fields.append( + _PARTICIPANT.fields_by_name['authorizedClient']) +_PARTICIPANT.fields_by_name['authorizedClient'].containing_oneof = _PARTICIPANT.oneofs_by_name['id'] _QUERYTYPE.fields_by_name['send'].message_type = _PAYLOADQUERYSEND _QUERYTYPE.fields_by_name['recv'].message_type = _PAYLOADSTRING _QUERYTYPE.oneofs_by_name['_send'].fields.append( @@ -649,8 +632,8 @@ _PAYLOADCONFIGSEND.fields_by_name['file'].message_type = _PAYLOADSTRING _PAYLOADCONFIGRECV.fields_by_name['file'].message_type = _CONFIGSTRING DESCRIPTOR.message_types_by_name['ParentMessage'] = _PARENTMESSAGE -DESCRIPTOR.message_types_by_name['Message'] = _MESSAGE -DESCRIPTOR.message_types_by_name['StringNumber'] = _STRINGNUMBER +DESCRIPTOR.message_types_by_name['MessageEnvelope'] = _MESSAGEENVELOPE +DESCRIPTOR.message_types_by_name['Participant'] = _PARTICIPANT DESCRIPTOR.message_types_by_name['Tail'] = _TAIL DESCRIPTOR.message_types_by_name['QueryType'] = _QUERYTYPE DESCRIPTOR.message_types_by_name['PayloadQuerySend'] = _PAYLOADQUERYSEND @@ -660,7 +643,6 @@ DESCRIPTOR.message_types_by_name['ConfigString'] = _CONFIGSTRING DESCRIPTOR.message_types_by_name['PayloadString'] = _PAYLOADSTRING DESCRIPTOR.message_types_by_name['StringValue'] = _STRINGVALUE -DESCRIPTOR.message_types_by_name['NumberValue'] = _NUMBERVALUE _sym_db.RegisterFileDescriptor(DESCRIPTOR) ParentMessage = _reflection.GeneratedProtocolMessageType('ParentMessage', (_message.Message,), { @@ -670,19 +652,19 @@ }) _sym_db.RegisterMessage(ParentMessage) -Message = _reflection.GeneratedProtocolMessageType('Message', (_message.Message,), { - 'DESCRIPTOR' : _MESSAGE, +MessageEnvelope = _reflection.GeneratedProtocolMessageType('MessageEnvelope', (_message.Message,), { + 'DESCRIPTOR' : _MESSAGEENVELOPE, '__module__' : 'tedapi_pb2' - # @@protoc_insertion_point(class_scope:tedapi.Message) + # @@protoc_insertion_point(class_scope:tedapi.MessageEnvelope) }) -_sym_db.RegisterMessage(Message) +_sym_db.RegisterMessage(MessageEnvelope) -StringNumber = _reflection.GeneratedProtocolMessageType('StringNumber', (_message.Message,), { - 'DESCRIPTOR' : _STRINGNUMBER, +Participant = _reflection.GeneratedProtocolMessageType('Participant', (_message.Message,), { + 'DESCRIPTOR' : _PARTICIPANT, '__module__' : 'tedapi_pb2' - # @@protoc_insertion_point(class_scope:tedapi.StringNumber) + # @@protoc_insertion_point(class_scope:tedapi.Participant) }) -_sym_db.RegisterMessage(StringNumber) +_sym_db.RegisterMessage(Participant) Tail = _reflection.GeneratedProtocolMessageType('Tail', (_message.Message,), { 'DESCRIPTOR' : _TAIL, @@ -747,12 +729,5 @@ }) _sym_db.RegisterMessage(StringValue) -NumberValue = _reflection.GeneratedProtocolMessageType('NumberValue', (_message.Message,), { - 'DESCRIPTOR' : _NUMBERVALUE, - '__module__' : 'tedapi_pb2' - # @@protoc_insertion_point(class_scope:tedapi.NumberValue) - }) -_sym_db.RegisterMessage(NumberValue) - # @@protoc_insertion_point(module_scope)