936 lines
		
	
	
		
			21 KiB
		
	
	
	
		
			Protocol Buffer
		
	
	
	
	
	
			
		
		
	
	
			936 lines
		
	
	
		
			21 KiB
		
	
	
	
		
			Protocol Buffer
		
	
	
	
	
	
/**
 | 
						|
 * Copyright © 2016-2022 The Thingsboard Authors
 | 
						|
 *
 | 
						|
 * Licensed under the Apache License, Version 2.0 (the "License");
 | 
						|
 * you may not use this file except in compliance with the License.
 | 
						|
 * You may obtain a copy of the License at
 | 
						|
 *
 | 
						|
 *     http://www.apache.org/licenses/LICENSE-2.0
 | 
						|
 *
 | 
						|
 * Unless required by applicable law or agreed to in writing, software
 | 
						|
 * distributed under the License is distributed on an "AS IS" BASIS,
 | 
						|
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 | 
						|
 * See the License for the specific language governing permissions and
 | 
						|
 * limitations under the License.
 | 
						|
 */
 | 
						|
syntax = "proto3";
 | 
						|
 | 
						|
package transport;
 | 
						|
 | 
						|
option java_package = "org.thingsboard.server.gen.transport";
 | 
						|
option java_outer_classname = "TransportProtos";
 | 
						|
 | 
						|
/**
 | 
						|
 * Service Discovery Data Structures;
 | 
						|
 */
 | 
						|
message ServiceInfo {
 | 
						|
  string serviceId = 1;
 | 
						|
  repeated string serviceTypes = 2;
 | 
						|
  repeated string transports = 6;
 | 
						|
}
 | 
						|
 | 
						|
/**
 | 
						|
 * Transport Service Data Structures;
 | 
						|
 */
 | 
						|
message SessionInfoProto {
 | 
						|
  string nodeId = 1;
 | 
						|
  int64 sessionIdMSB = 2;
 | 
						|
  int64 sessionIdLSB = 3;
 | 
						|
  int64 tenantIdMSB = 4;
 | 
						|
  int64 tenantIdLSB = 5;
 | 
						|
  int64 deviceIdMSB = 6;
 | 
						|
  int64 deviceIdLSB = 7;
 | 
						|
  string deviceName = 8;
 | 
						|
  string deviceType = 9;
 | 
						|
  int64 gwSessionIdMSB = 10;
 | 
						|
  int64 gwSessionIdLSB = 11;
 | 
						|
  int64 deviceProfileIdMSB = 12;
 | 
						|
  int64 deviceProfileIdLSB = 13;
 | 
						|
  int64 customerIdMSB = 14;
 | 
						|
  int64 customerIdLSB = 15;
 | 
						|
}
 | 
						|
 | 
						|
enum SessionEvent {
 | 
						|
  OPEN = 0;
 | 
						|
  CLOSED = 1;
 | 
						|
}
 | 
						|
 | 
						|
enum SessionType {
 | 
						|
  SYNC = 0;
 | 
						|
  ASYNC = 1;
 | 
						|
}
 | 
						|
 | 
						|
enum KeyValueType {
 | 
						|
  BOOLEAN_V = 0;
 | 
						|
  LONG_V = 1;
 | 
						|
  DOUBLE_V = 2;
 | 
						|
  STRING_V = 3;
 | 
						|
  JSON_V = 4;
 | 
						|
}
 | 
						|
 | 
						|
enum CredentialsType {
 | 
						|
  ACCESS_TOKEN = 0;
 | 
						|
  X509_CERTIFICATE = 1;
 | 
						|
  MQTT_BASIC = 2;
 | 
						|
  LWM2M_CREDENTIALS = 3;
 | 
						|
}
 | 
						|
 | 
						|
message KeyValueProto {
 | 
						|
  string key = 1;
 | 
						|
  KeyValueType type = 2;
 | 
						|
  bool bool_v = 3;
 | 
						|
  int64 long_v = 4;
 | 
						|
  double double_v = 5;
 | 
						|
  string string_v = 6;
 | 
						|
  string json_v = 7;
 | 
						|
}
 | 
						|
 | 
						|
message TsKvProto {
 | 
						|
  int64 ts = 1;
 | 
						|
  KeyValueProto kv = 2;
 | 
						|
}
 | 
						|
 | 
						|
message TsKvListProto {
 | 
						|
  int64 ts = 1;
 | 
						|
  repeated KeyValueProto kv = 2;
 | 
						|
}
 | 
						|
 | 
						|
message DeviceInfoProto {
 | 
						|
  int64 tenantIdMSB = 1;
 | 
						|
  int64 tenantIdLSB = 2;
 | 
						|
  int64 deviceIdMSB = 3;
 | 
						|
  int64 deviceIdLSB = 4;
 | 
						|
  string deviceName = 5;
 | 
						|
  string deviceType = 6;
 | 
						|
  string additionalInfo = 7;
 | 
						|
  int64 deviceProfileIdMSB = 8;
 | 
						|
  int64 deviceProfileIdLSB = 9;
 | 
						|
  int64 customerIdMSB = 10;
 | 
						|
  int64 customerIdLSB = 11;
 | 
						|
  string powerMode = 12;
 | 
						|
  int64 edrxCycle = 13;
 | 
						|
  int64 psmActivityTimer = 14;
 | 
						|
  int64 pagingTransmissionWindow = 15;
 | 
						|
}
 | 
						|
 | 
						|
/**
 | 
						|
 * Transport Service Messages;
 | 
						|
 */
 | 
						|
message SessionEventMsg {
 | 
						|
  SessionType sessionType = 1;
 | 
						|
  SessionEvent event = 2;
 | 
						|
}
 | 
						|
 | 
						|
message PostTelemetryMsg {
 | 
						|
  repeated TsKvListProto tsKvList = 1;
 | 
						|
}
 | 
						|
 | 
						|
message PostAttributeMsg {
 | 
						|
  repeated KeyValueProto kv = 1;
 | 
						|
}
 | 
						|
 | 
						|
message GetAttributeRequestMsg {
 | 
						|
  int32 requestId = 1;
 | 
						|
  repeated string clientAttributeNames = 2;
 | 
						|
  repeated string sharedAttributeNames = 3;
 | 
						|
  bool onlyShared = 4;
 | 
						|
}
 | 
						|
 | 
						|
message GetAttributeResponseMsg {
 | 
						|
  int32 requestId = 1;
 | 
						|
  repeated TsKvProto clientAttributeList = 2;
 | 
						|
  repeated TsKvProto sharedAttributeList = 3;
 | 
						|
  bool isMultipleAttributesRequest = 4;
 | 
						|
  string error = 5;
 | 
						|
  bool sharedStateMsg = 6;
 | 
						|
}
 | 
						|
 | 
						|
message AttributeUpdateNotificationMsg {
 | 
						|
  repeated TsKvProto sharedUpdated = 1;
 | 
						|
  repeated string sharedDeleted = 2;
 | 
						|
}
 | 
						|
 | 
						|
message ValidateDeviceTokenRequestMsg {
 | 
						|
  string token = 1;
 | 
						|
}
 | 
						|
 | 
						|
message ValidateDeviceX509CertRequestMsg {
 | 
						|
  string hash = 1;
 | 
						|
}
 | 
						|
 | 
						|
message ValidateBasicMqttCredRequestMsg {
 | 
						|
  string clientId = 1;
 | 
						|
  string userName = 2;
 | 
						|
  string password = 3;
 | 
						|
}
 | 
						|
 | 
						|
message ValidateDeviceCredentialsResponseMsg {
 | 
						|
  DeviceInfoProto deviceInfo = 1;
 | 
						|
  string credentialsBody = 2;
 | 
						|
  bytes profileBody = 3;
 | 
						|
}
 | 
						|
 | 
						|
message GetOrCreateDeviceFromGatewayRequestMsg {
 | 
						|
  int64 gatewayIdMSB = 1;
 | 
						|
  int64 gatewayIdLSB = 2;
 | 
						|
  string deviceName = 3;
 | 
						|
  string deviceType = 4;
 | 
						|
}
 | 
						|
 | 
						|
message GetOrCreateDeviceFromGatewayResponseMsg {
 | 
						|
  DeviceInfoProto deviceInfo = 1;
 | 
						|
  bytes profileBody = 2;
 | 
						|
}
 | 
						|
 | 
						|
message GetEntityProfileRequestMsg {
 | 
						|
  string entityType = 1;
 | 
						|
  int64 entityIdMSB = 2;
 | 
						|
  int64 entityIdLSB = 3;
 | 
						|
}
 | 
						|
 | 
						|
message GetAllQueueRoutingInfoRequestMsg {
 | 
						|
}
 | 
						|
 | 
						|
message GetQueueRoutingInfoResponseMsg {
 | 
						|
  int64 tenantIdMSB = 1;
 | 
						|
  int64 tenantIdLSB = 2;
 | 
						|
  int64 queueIdMSB = 3;
 | 
						|
  int64 queueIdLSB = 4;
 | 
						|
  string queueName = 5;
 | 
						|
  string queueTopic = 6;
 | 
						|
  int32 partitions = 7;
 | 
						|
}
 | 
						|
 | 
						|
message QueueUpdateMsg {
 | 
						|
  int64 tenantIdMSB = 1;
 | 
						|
  int64 tenantIdLSB = 2;
 | 
						|
  int64 queueIdMSB = 3;
 | 
						|
  int64 queueIdLSB = 4;
 | 
						|
  string queueName = 5;
 | 
						|
  string queueTopic = 6;
 | 
						|
  int32 partitions = 7;
 | 
						|
}
 | 
						|
 | 
						|
message QueueDeleteMsg {
 | 
						|
  int64 tenantIdMSB = 1;
 | 
						|
  int64 tenantIdLSB = 2;
 | 
						|
  int64 queueIdMSB = 3;
 | 
						|
  int64 queueIdLSB = 4;
 | 
						|
  string queueName = 5;
 | 
						|
}
 | 
						|
 | 
						|
message LwM2MRegistrationRequestMsg {
 | 
						|
  string tenantId = 1;
 | 
						|
  string endpoint = 2;
 | 
						|
}
 | 
						|
 | 
						|
message LwM2MRegistrationResponseMsg {
 | 
						|
  DeviceInfoProto deviceInfo = 1;
 | 
						|
}
 | 
						|
 | 
						|
message LwM2MRequestMsg {
 | 
						|
  LwM2MRegistrationRequestMsg registrationMsg = 1;
 | 
						|
}
 | 
						|
 | 
						|
message LwM2MResponseMsg {
 | 
						|
  LwM2MRegistrationResponseMsg registrationMsg = 1;
 | 
						|
}
 | 
						|
 | 
						|
message GetResourceRequestMsg {
 | 
						|
  int64 tenantIdMSB = 1;
 | 
						|
  int64 tenantIdLSB = 2;
 | 
						|
  string resourceType = 3;
 | 
						|
  string resourceKey = 4;
 | 
						|
}
 | 
						|
 | 
						|
message GetResourceResponseMsg {
 | 
						|
  bytes resource = 1;
 | 
						|
}
 | 
						|
 | 
						|
message ValidateDeviceLwM2MCredentialsRequestMsg {
 | 
						|
  string credentialsId = 1;
 | 
						|
}
 | 
						|
 | 
						|
message ToTransportUpdateCredentialsProto {
 | 
						|
  repeated string credentialsId = 1;
 | 
						|
  repeated string credentialsValue = 2;
 | 
						|
}
 | 
						|
 | 
						|
message GetTenantRoutingInfoRequestMsg {
 | 
						|
  int64 tenantIdMSB = 1;
 | 
						|
  int64 tenantIdLSB = 2;
 | 
						|
}
 | 
						|
 | 
						|
message GetTenantRoutingInfoResponseMsg {
 | 
						|
  bool isolatedTbCore = 1;
 | 
						|
  bool isolatedTbRuleEngine = 2;
 | 
						|
}
 | 
						|
 | 
						|
message GetDeviceProfileRequestMsg {
 | 
						|
  int64 profileIdMSB = 1;
 | 
						|
  int64 profileIdLSB = 2;
 | 
						|
}
 | 
						|
 | 
						|
message GetEntityProfileResponseMsg {
 | 
						|
  string entityType = 1;
 | 
						|
  bytes data = 2;
 | 
						|
  bytes apiState = 3;
 | 
						|
}
 | 
						|
 | 
						|
message GetDeviceRequestMsg {
 | 
						|
  int64 deviceIdMSB = 1;
 | 
						|
  int64 deviceIdLSB = 2;
 | 
						|
}
 | 
						|
 | 
						|
message GetDeviceResponseMsg {
 | 
						|
  int64 deviceProfileIdMSB = 1;
 | 
						|
  int64 deviceProfileIdLSB = 2;
 | 
						|
  bytes deviceTransportConfiguration = 3;
 | 
						|
}
 | 
						|
 | 
						|
message GetDeviceCredentialsRequestMsg {
 | 
						|
  int64 deviceIdMSB = 1;
 | 
						|
  int64 deviceIdLSB = 2;
 | 
						|
}
 | 
						|
 | 
						|
message GetDeviceCredentialsResponseMsg {
 | 
						|
  bytes deviceCredentialsData = 1;
 | 
						|
}
 | 
						|
 | 
						|
message GetSnmpDevicesRequestMsg {
 | 
						|
  int32 page = 1;
 | 
						|
  int32 pageSize = 2;
 | 
						|
}
 | 
						|
 | 
						|
message GetSnmpDevicesResponseMsg {
 | 
						|
  repeated string ids = 1;
 | 
						|
  bool hasNextPage = 2;
 | 
						|
}
 | 
						|
 | 
						|
message EntityUpdateMsg {
 | 
						|
  string entityType = 1;
 | 
						|
  bytes data = 2;
 | 
						|
}
 | 
						|
 | 
						|
message EntityDeleteMsg {
 | 
						|
  string entityType = 1;
 | 
						|
  int64 entityIdMSB = 2;
 | 
						|
  int64 entityIdLSB = 3;
 | 
						|
}
 | 
						|
 | 
						|
message ResourceUpdateMsg {
 | 
						|
  int64 tenantIdMSB = 1;
 | 
						|
  int64 tenantIdLSB = 2;
 | 
						|
  string resourceType = 3;
 | 
						|
  string resourceKey = 4;
 | 
						|
}
 | 
						|
 | 
						|
message ResourceDeleteMsg {
 | 
						|
  int64 tenantIdMSB = 1;
 | 
						|
  int64 tenantIdLSB = 2;
 | 
						|
  string resourceType = 3;
 | 
						|
  string resourceKey = 4;
 | 
						|
}
 | 
						|
 | 
						|
message SessionCloseNotificationProto {
 | 
						|
  string message = 1;
 | 
						|
}
 | 
						|
 | 
						|
message SubscribeToAttributeUpdatesMsg {
 | 
						|
  bool unsubscribe = 1;
 | 
						|
  SessionType sessionType = 2;
 | 
						|
}
 | 
						|
 | 
						|
message SubscribeToRPCMsg {
 | 
						|
  bool unsubscribe = 1;
 | 
						|
  SessionType sessionType = 2;
 | 
						|
}
 | 
						|
 | 
						|
message SendPendingRPCMsg {
 | 
						|
}
 | 
						|
 | 
						|
message ToDeviceRpcRequestMsg {
 | 
						|
  int32 requestId = 1;
 | 
						|
  string methodName = 2;
 | 
						|
  string params = 3;
 | 
						|
  int64 expirationTime = 4;
 | 
						|
  int64 requestIdMSB = 5;
 | 
						|
  int64 requestIdLSB = 6;
 | 
						|
  bool oneway = 7;
 | 
						|
  bool persisted = 8;
 | 
						|
}
 | 
						|
 | 
						|
message ToDeviceRpcResponseMsg {
 | 
						|
  int32 requestId = 1;
 | 
						|
  string payload = 2;
 | 
						|
  string error = 3;
 | 
						|
}
 | 
						|
 | 
						|
message UplinkNotificationMsg {
 | 
						|
  int64 uplinkTs = 1;
 | 
						|
}
 | 
						|
 | 
						|
message ToDeviceRpcResponseStatusMsg {
 | 
						|
  int32 requestId = 1;
 | 
						|
  int64 requestIdMSB = 2;
 | 
						|
  int64 requestIdLSB = 3;
 | 
						|
  string status = 4;
 | 
						|
}
 | 
						|
 | 
						|
message ToServerRpcRequestMsg {
 | 
						|
  int32 requestId = 1;
 | 
						|
  string methodName = 2;
 | 
						|
  string params = 3;
 | 
						|
}
 | 
						|
 | 
						|
message ToServerRpcResponseMsg {
 | 
						|
  int32 requestId = 1;
 | 
						|
  string payload = 2;
 | 
						|
  string error = 3;
 | 
						|
}
 | 
						|
 | 
						|
message ClaimDeviceMsg {
 | 
						|
  int64 deviceIdMSB = 1;
 | 
						|
  int64 deviceIdLSB = 2;
 | 
						|
  string secretKey = 3;
 | 
						|
  int64 durationMs = 4;
 | 
						|
}
 | 
						|
 | 
						|
message DeviceCredentialsProto {
 | 
						|
  int64 deviceIdMSB = 1;
 | 
						|
  int64 deviceIdLSB = 2;
 | 
						|
  CredentialsType credentialsType = 3;
 | 
						|
  string credentialsId = 4;
 | 
						|
  string credentialsValue = 5;
 | 
						|
}
 | 
						|
 | 
						|
message CredentialsDataProto {
 | 
						|
  ValidateDeviceTokenRequestMsg validateDeviceTokenRequestMsg = 1;
 | 
						|
  ValidateDeviceX509CertRequestMsg validateDeviceX509CertRequestMsg = 2;
 | 
						|
  ValidateBasicMqttCredRequestMsg validateBasicMqttCredRequestMsg = 3;
 | 
						|
}
 | 
						|
 | 
						|
message ProvisionDeviceRequestMsg {
 | 
						|
  string deviceName = 1;
 | 
						|
  CredentialsType credentialsType = 2;
 | 
						|
  ProvisionDeviceCredentialsMsg provisionDeviceCredentialsMsg = 3;
 | 
						|
  CredentialsDataProto credentialsDataProto = 4;
 | 
						|
}
 | 
						|
 | 
						|
message ProvisionDeviceCredentialsMsg {
 | 
						|
  string provisionDeviceKey = 1;
 | 
						|
  string provisionDeviceSecret = 2;
 | 
						|
}
 | 
						|
 | 
						|
message ProvisionDeviceResponseMsg {
 | 
						|
  ResponseStatus status = 1;
 | 
						|
  CredentialsType credentialsType = 2;
 | 
						|
  string credentialsValue = 3;
 | 
						|
}
 | 
						|
 | 
						|
enum ResponseStatus {
 | 
						|
  UNKNOWN = 0;
 | 
						|
  SUCCESS = 1;
 | 
						|
  NOT_FOUND = 2;
 | 
						|
  FAILURE = 3;
 | 
						|
}
 | 
						|
 | 
						|
message GetOtaPackageRequestMsg {
 | 
						|
  int64 deviceIdMSB = 1;
 | 
						|
  int64 deviceIdLSB = 2;
 | 
						|
  int64 tenantIdMSB = 3;
 | 
						|
  int64 tenantIdLSB = 4;
 | 
						|
  string type = 5;
 | 
						|
}
 | 
						|
 | 
						|
message GetOtaPackageResponseMsg {
 | 
						|
  ResponseStatus responseStatus = 1;
 | 
						|
  int64 otaPackageIdMSB = 2;
 | 
						|
  int64 otaPackageIdLSB = 3;
 | 
						|
  string type = 4;
 | 
						|
  string title = 5;
 | 
						|
  string version = 6;
 | 
						|
  string contentType = 7;
 | 
						|
  string fileName = 8;
 | 
						|
}
 | 
						|
 | 
						|
//Used to report session state to tb-Service and persist this state in the cache on the tb-Service level.
 | 
						|
message SubscriptionInfoProto {
 | 
						|
  int64 lastActivityTime = 1;
 | 
						|
  bool attributeSubscription = 2;
 | 
						|
  bool rpcSubscription = 3;
 | 
						|
}
 | 
						|
 | 
						|
message SessionSubscriptionInfoProto {
 | 
						|
  SessionInfoProto sessionInfo = 1;
 | 
						|
  SubscriptionInfoProto subscriptionInfo = 2;
 | 
						|
}
 | 
						|
 | 
						|
message DeviceSessionsCacheEntry {
 | 
						|
  repeated SessionSubscriptionInfoProto sessions = 1;
 | 
						|
}
 | 
						|
 | 
						|
message TransportToDeviceActorMsg {
 | 
						|
  SessionInfoProto sessionInfo = 1;
 | 
						|
  SessionEventMsg sessionEvent = 2;
 | 
						|
  GetAttributeRequestMsg getAttributes = 3;
 | 
						|
  SubscribeToAttributeUpdatesMsg subscribeToAttributes = 4;
 | 
						|
  SubscribeToRPCMsg subscribeToRPC = 5;
 | 
						|
  ToDeviceRpcResponseMsg toDeviceRPCCallResponse = 6;
 | 
						|
  SubscriptionInfoProto subscriptionInfo = 7;
 | 
						|
  ClaimDeviceMsg claimDevice = 8;
 | 
						|
  ProvisionDeviceRequestMsg provisionDevice = 9;
 | 
						|
  ToDeviceRpcResponseStatusMsg rpcResponseStatusMsg = 10;
 | 
						|
  SendPendingRPCMsg sendPendingRPC = 11;
 | 
						|
  UplinkNotificationMsg uplinkNotificationMsg = 12;
 | 
						|
}
 | 
						|
 | 
						|
message TransportToRuleEngineMsg {
 | 
						|
  SessionInfoProto sessionInfo = 1;
 | 
						|
  PostTelemetryMsg postTelemetry = 2;
 | 
						|
  PostAttributeMsg postAttributes = 3;
 | 
						|
  ToDeviceRpcResponseMsg toDeviceRPCCallResponse = 4;
 | 
						|
  ToServerRpcRequestMsg toServerRPCCallRequest = 5;
 | 
						|
}
 | 
						|
 | 
						|
/**
 | 
						|
 * TB Core Data Structures
 | 
						|
 */
 | 
						|
 | 
						|
message TbSubscriptionProto {
 | 
						|
  string serviceId = 1;
 | 
						|
  string sessionId = 2;
 | 
						|
  int32 subscriptionId = 3;
 | 
						|
  string entityType = 4;
 | 
						|
  int64 tenantIdMSB = 5;
 | 
						|
  int64 tenantIdLSB = 6;
 | 
						|
  int64 entityIdMSB = 7;
 | 
						|
  int64 entityIdLSB = 8;
 | 
						|
}
 | 
						|
 | 
						|
message TbTimeSeriesSubscriptionProto {
 | 
						|
  TbSubscriptionProto sub = 1;
 | 
						|
  bool allKeys = 2;
 | 
						|
  repeated TbSubscriptionKetStateProto keyStates = 3;
 | 
						|
  int64 startTime = 4;
 | 
						|
  int64 endTime = 5;
 | 
						|
  bool latestValues = 6;
 | 
						|
}
 | 
						|
 | 
						|
message TbAttributeSubscriptionProto {
 | 
						|
  TbSubscriptionProto sub = 1;
 | 
						|
  bool allKeys = 2;
 | 
						|
  repeated TbSubscriptionKetStateProto keyStates = 3;
 | 
						|
  string scope = 4;
 | 
						|
}
 | 
						|
 | 
						|
message TbAlarmSubscriptionProto {
 | 
						|
  TbSubscriptionProto sub = 1;
 | 
						|
  int64 ts = 2;
 | 
						|
}
 | 
						|
 | 
						|
message TbSubscriptionUpdateProto {
 | 
						|
  string sessionId = 1;
 | 
						|
  int32 subscriptionId = 2;
 | 
						|
  int32 errorCode = 3;
 | 
						|
  string errorMsg = 4;
 | 
						|
  repeated TbSubscriptionUpdateValueListProto data = 5;
 | 
						|
}
 | 
						|
 | 
						|
message TbAlarmSubscriptionUpdateProto {
 | 
						|
  string sessionId = 1;
 | 
						|
  int32 subscriptionId = 2;
 | 
						|
  int32 errorCode = 3;
 | 
						|
  string errorMsg = 4;
 | 
						|
  string alarm = 5;
 | 
						|
  bool deleted = 6;
 | 
						|
}
 | 
						|
 | 
						|
message TbAttributeUpdateProto {
 | 
						|
  string entityType = 1;
 | 
						|
  int64 entityIdMSB = 2;
 | 
						|
  int64 entityIdLSB = 3;
 | 
						|
  int64 tenantIdMSB = 4;
 | 
						|
  int64 tenantIdLSB = 5;
 | 
						|
  string scope = 6;
 | 
						|
  repeated TsKvProto data = 7;
 | 
						|
}
 | 
						|
 | 
						|
message TbAlarmUpdateProto {
 | 
						|
  string entityType = 1;
 | 
						|
  int64 entityIdMSB = 2;
 | 
						|
  int64 entityIdLSB = 3;
 | 
						|
  int64 tenantIdMSB = 4;
 | 
						|
  int64 tenantIdLSB = 5;
 | 
						|
  string alarm = 6;
 | 
						|
}
 | 
						|
 | 
						|
message TbAlarmDeleteProto {
 | 
						|
  string entityType = 1;
 | 
						|
  int64 entityIdMSB = 2;
 | 
						|
  int64 entityIdLSB = 3;
 | 
						|
  int64 tenantIdMSB = 4;
 | 
						|
  int64 tenantIdLSB = 5;
 | 
						|
  string alarm = 6;
 | 
						|
}
 | 
						|
 | 
						|
message TbAttributeDeleteProto {
 | 
						|
  string entityType = 1;
 | 
						|
  int64 entityIdMSB = 2;
 | 
						|
  int64 entityIdLSB = 3;
 | 
						|
  int64 tenantIdMSB = 4;
 | 
						|
  int64 tenantIdLSB = 5;
 | 
						|
  string scope = 6;
 | 
						|
  repeated string keys = 7;
 | 
						|
}
 | 
						|
 | 
						|
message TbTimeSeriesDeleteProto {
 | 
						|
  string entityType = 1;
 | 
						|
  int64 entityIdMSB = 2;
 | 
						|
  int64 entityIdLSB = 3;
 | 
						|
  int64 tenantIdMSB = 4;
 | 
						|
  int64 tenantIdLSB = 5;
 | 
						|
  repeated string keys = 6;
 | 
						|
}
 | 
						|
 | 
						|
message TbTimeSeriesUpdateProto {
 | 
						|
  string entityType = 1;
 | 
						|
  int64 entityIdMSB = 2;
 | 
						|
  int64 entityIdLSB = 3;
 | 
						|
  int64 tenantIdMSB = 4;
 | 
						|
  int64 tenantIdLSB = 5;
 | 
						|
  repeated TsKvProto data = 6;
 | 
						|
}
 | 
						|
 | 
						|
message TbSubscriptionCloseProto {
 | 
						|
  string sessionId = 1;
 | 
						|
  int32 subscriptionId = 2;
 | 
						|
}
 | 
						|
 | 
						|
message TbSubscriptionKetStateProto {
 | 
						|
  string key = 1;
 | 
						|
  int64 ts = 2;
 | 
						|
}
 | 
						|
 | 
						|
message TbSubscriptionUpdateValueListProto {
 | 
						|
  string key = 1;
 | 
						|
  repeated TbSubscriptionUpdateTsValue tsValue = 2;
 | 
						|
}
 | 
						|
 | 
						|
message TbSubscriptionUpdateTsValue {
 | 
						|
  int64 ts = 1;
 | 
						|
  optional string value = 2;
 | 
						|
}
 | 
						|
 | 
						|
/**
 | 
						|
 * TB Core to TB Core messages
 | 
						|
 */
 | 
						|
 | 
						|
message DeviceStateServiceMsgProto {
 | 
						|
  int64 tenantIdMSB = 1;
 | 
						|
  int64 tenantIdLSB = 2;
 | 
						|
  int64 deviceIdMSB = 3;
 | 
						|
  int64 deviceIdLSB = 4;
 | 
						|
  bool added = 5;
 | 
						|
  bool updated = 6;
 | 
						|
  bool deleted = 7;
 | 
						|
}
 | 
						|
 | 
						|
message SubscriptionMgrMsgProto {
 | 
						|
  TbTimeSeriesSubscriptionProto telemetrySub = 1;
 | 
						|
  TbAttributeSubscriptionProto attributeSub = 2;
 | 
						|
  TbSubscriptionCloseProto subClose = 3;
 | 
						|
  TbTimeSeriesUpdateProto tsUpdate = 4;
 | 
						|
  TbAttributeUpdateProto attrUpdate = 5;
 | 
						|
  TbAttributeDeleteProto attrDelete = 6;
 | 
						|
  TbAlarmSubscriptionProto alarmSub = 7;
 | 
						|
  TbAlarmUpdateProto alarmUpdate = 8;
 | 
						|
  TbAlarmDeleteProto alarmDelete = 9;
 | 
						|
  TbTimeSeriesDeleteProto tsDelete = 10;
 | 
						|
}
 | 
						|
 | 
						|
message LocalSubscriptionServiceMsgProto {
 | 
						|
  TbSubscriptionUpdateProto subUpdate = 1;
 | 
						|
  TbAlarmSubscriptionUpdateProto alarmSubUpdate = 2;
 | 
						|
}
 | 
						|
 | 
						|
message FromDeviceRPCResponseProto {
 | 
						|
  int64 requestIdMSB = 1;
 | 
						|
  int64 requestIdLSB = 2;
 | 
						|
  string response = 3;
 | 
						|
  int32 error = 4;
 | 
						|
}
 | 
						|
 | 
						|
message EdgeNotificationMsgProto {
 | 
						|
  int64 tenantIdMSB = 1;
 | 
						|
  int64 tenantIdLSB = 2;
 | 
						|
  int64 edgeIdMSB = 3;
 | 
						|
  int64 edgeIdLSB = 4;
 | 
						|
  string type = 5;
 | 
						|
  string action = 6;
 | 
						|
  int64 entityIdMSB = 7;
 | 
						|
  int64 entityIdLSB = 8;
 | 
						|
  string entityType = 9;
 | 
						|
  string body = 10;
 | 
						|
  PostTelemetryMsg postTelemetryMsg = 11;
 | 
						|
  PostAttributeMsg postAttributesMsg = 12;
 | 
						|
}
 | 
						|
 | 
						|
/**
 | 
						|
   TB Core to Version Control Service
 | 
						|
 */
 | 
						|
message CommitRequestMsg {
 | 
						|
  string txId = 1; // To correlate prepare, add, delete and push messages
 | 
						|
  PrepareMsg prepareMsg = 2;
 | 
						|
  AddMsg addMsg = 3;
 | 
						|
  DeleteMsg deleteMsg = 4;
 | 
						|
  PushMsg pushMsg = 5;
 | 
						|
  AbortMsg abortMsg = 6;
 | 
						|
}
 | 
						|
 | 
						|
message CommitResponseMsg {
 | 
						|
  string commitId = 1;
 | 
						|
  string name = 2;
 | 
						|
  int32 added = 3;
 | 
						|
  int32 modified = 4;
 | 
						|
  int32 removed = 5;
 | 
						|
}
 | 
						|
 | 
						|
message PrepareMsg {
 | 
						|
  string commitMsg = 1;
 | 
						|
  string branchName = 2;
 | 
						|
}
 | 
						|
 | 
						|
message AddMsg {
 | 
						|
  string relativePath = 1;
 | 
						|
  string entityDataJson = 2;
 | 
						|
}
 | 
						|
 | 
						|
message DeleteMsg {
 | 
						|
  string relativePath = 1;
 | 
						|
}
 | 
						|
 | 
						|
message PushMsg {
 | 
						|
}
 | 
						|
 | 
						|
message AbortMsg {
 | 
						|
}
 | 
						|
 | 
						|
message ListVersionsRequestMsg {
 | 
						|
  string branchName = 1;
 | 
						|
  string entityType = 2;
 | 
						|
  int64 entityIdMSB = 3;
 | 
						|
  int64 entityIdLSB = 4;
 | 
						|
}
 | 
						|
 | 
						|
message EntityVersionProto {
 | 
						|
  int64 ts = 1;
 | 
						|
  string id = 2;
 | 
						|
  string name = 3;
 | 
						|
}
 | 
						|
 | 
						|
message ListVersionsResponseMsg {
 | 
						|
  repeated EntityVersionProto versions = 1;
 | 
						|
}
 | 
						|
 | 
						|
message ListEntitiesRequestMsg {
 | 
						|
  string branchName = 1;
 | 
						|
  string versionId = 2;
 | 
						|
  string entityType = 3;
 | 
						|
}
 | 
						|
 | 
						|
message VersionedEntityInfoProto {
 | 
						|
  string entityType = 1;
 | 
						|
  int64 entityIdMSB = 2;
 | 
						|
  int64 entityIdLSB = 3;
 | 
						|
}
 | 
						|
 | 
						|
message ListEntitiesResponseMsg {
 | 
						|
  repeated VersionedEntityInfoProto entities = 1;
 | 
						|
}
 | 
						|
 | 
						|
message ListBranchesRequestMsg {
 | 
						|
}
 | 
						|
 | 
						|
message ListBranchesResponseMsg {
 | 
						|
  repeated string branches = 1;
 | 
						|
}
 | 
						|
 | 
						|
message EntityContentRequestMsg {
 | 
						|
  string versionId = 1;
 | 
						|
  string entityType = 2;
 | 
						|
  int64 entityIdMSB = 3;
 | 
						|
  int64 entityIdLSB = 4;
 | 
						|
}
 | 
						|
 | 
						|
message EntityContentResponseMsg {
 | 
						|
  string data = 1;
 | 
						|
}
 | 
						|
 | 
						|
message EntitiesContentRequestMsg {
 | 
						|
  string versionId = 1;
 | 
						|
  string entityType = 2;
 | 
						|
  int32 offset = 3;
 | 
						|
  int32 limit = 4;
 | 
						|
}
 | 
						|
 | 
						|
message EntitiesContentResponseMsg {
 | 
						|
  repeated string data = 1;
 | 
						|
}
 | 
						|
 | 
						|
message GenericRepositoryRequestMsg {}
 | 
						|
 | 
						|
message GenericRepositoryResponseMsg {}
 | 
						|
 | 
						|
message ToVersionControlServiceMsg {
 | 
						|
  string nodeId = 1;
 | 
						|
  int64 tenantIdMSB = 2;
 | 
						|
  int64 tenantIdLSB = 3;
 | 
						|
  int64 requestIdMSB = 4;
 | 
						|
  int64 requestIdLSB = 5;
 | 
						|
  bytes vcSettings = 6;
 | 
						|
  GenericRepositoryRequestMsg initRepositoryRequest = 7;
 | 
						|
  GenericRepositoryRequestMsg testRepositoryRequest = 8;
 | 
						|
  GenericRepositoryRequestMsg clearRepositoryRequest = 9;
 | 
						|
  CommitRequestMsg commitRequest = 10;
 | 
						|
  ListVersionsRequestMsg listVersionRequest = 11;
 | 
						|
  ListEntitiesRequestMsg listEntitiesRequest = 12;
 | 
						|
  ListBranchesRequestMsg listBranchesRequest = 13;
 | 
						|
  EntityContentRequestMsg entityContentRequest = 14;
 | 
						|
  EntitiesContentRequestMsg entitiesContentRequest = 15;
 | 
						|
}
 | 
						|
 | 
						|
message VersionControlResponseMsg {
 | 
						|
  int64 requestIdMSB = 1;
 | 
						|
  int64 requestIdLSB = 2;
 | 
						|
  string error = 3;
 | 
						|
  GenericRepositoryResponseMsg genericResponse = 4;
 | 
						|
  CommitResponseMsg commitResponse = 5;
 | 
						|
  ListBranchesResponseMsg listBranchesResponse = 6;
 | 
						|
  ListEntitiesResponseMsg listEntitiesResponse = 7;
 | 
						|
  ListVersionsResponseMsg listVersionsResponse = 8;
 | 
						|
  EntityContentResponseMsg entityContentResponse = 9;
 | 
						|
  EntitiesContentResponseMsg entitiesContentResponse = 10;
 | 
						|
}
 | 
						|
 | 
						|
/**
 | 
						|
 * Main messages;
 | 
						|
 */
 | 
						|
 | 
						|
/* Request from Transport Service to ThingsBoard Core Service */
 | 
						|
message TransportApiRequestMsg {
 | 
						|
  ValidateDeviceTokenRequestMsg validateTokenRequestMsg = 1;
 | 
						|
  ValidateDeviceX509CertRequestMsg validateX509CertRequestMsg = 2;
 | 
						|
  GetOrCreateDeviceFromGatewayRequestMsg getOrCreateDeviceRequestMsg = 3;
 | 
						|
  GetEntityProfileRequestMsg entityProfileRequestMsg = 4;
 | 
						|
  LwM2MRequestMsg lwM2MRequestMsg = 5;
 | 
						|
  ValidateBasicMqttCredRequestMsg validateBasicMqttCredRequestMsg = 6;
 | 
						|
  ProvisionDeviceRequestMsg provisionDeviceRequestMsg = 7;
 | 
						|
  ValidateDeviceLwM2MCredentialsRequestMsg validateDeviceLwM2MCredentialsRequestMsg = 8;
 | 
						|
  GetResourceRequestMsg resourceRequestMsg = 9;
 | 
						|
  GetOtaPackageRequestMsg otaPackageRequestMsg = 10;
 | 
						|
  GetSnmpDevicesRequestMsg snmpDevicesRequestMsg = 11;
 | 
						|
  GetDeviceRequestMsg deviceRequestMsg = 12;
 | 
						|
  GetDeviceCredentialsRequestMsg deviceCredentialsRequestMsg = 13;
 | 
						|
  GetAllQueueRoutingInfoRequestMsg getAllQueueRoutingInfoRequestMsg = 14;
 | 
						|
}
 | 
						|
 | 
						|
/* Response from ThingsBoard Core Service to Transport Service */
 | 
						|
message TransportApiResponseMsg {
 | 
						|
  ValidateDeviceCredentialsResponseMsg validateCredResponseMsg = 1;
 | 
						|
  GetOrCreateDeviceFromGatewayResponseMsg getOrCreateDeviceResponseMsg = 2;
 | 
						|
  GetEntityProfileResponseMsg entityProfileResponseMsg = 3;
 | 
						|
  ProvisionDeviceResponseMsg provisionDeviceResponseMsg = 4;
 | 
						|
  GetSnmpDevicesResponseMsg snmpDevicesResponseMsg = 5;
 | 
						|
  LwM2MResponseMsg lwM2MResponseMsg = 6;
 | 
						|
  GetResourceResponseMsg resourceResponseMsg = 7;
 | 
						|
  GetOtaPackageResponseMsg otaPackageResponseMsg = 8;
 | 
						|
  GetDeviceResponseMsg deviceResponseMsg = 9;
 | 
						|
  GetDeviceCredentialsResponseMsg deviceCredentialsResponseMsg = 10;
 | 
						|
  repeated GetQueueRoutingInfoResponseMsg getQueueRoutingInfoResponseMsgs = 11;
 | 
						|
}
 | 
						|
 | 
						|
/* Messages that are handled by ThingsBoard Core Service */
 | 
						|
message ToCoreMsg {
 | 
						|
  TransportToDeviceActorMsg toDeviceActorMsg = 1;
 | 
						|
  DeviceStateServiceMsgProto deviceStateServiceMsg = 2;
 | 
						|
  SubscriptionMgrMsgProto toSubscriptionMgrMsg = 3;
 | 
						|
  bytes toDeviceActorNotificationMsg = 4;
 | 
						|
  EdgeNotificationMsgProto edgeNotificationMsg = 5;
 | 
						|
}
 | 
						|
 | 
						|
/* High priority messages with low latency are handled by ThingsBoard Core Service separately */
 | 
						|
message ToCoreNotificationMsg {
 | 
						|
  LocalSubscriptionServiceMsgProto toLocalSubscriptionServiceMsg = 1;
 | 
						|
  FromDeviceRPCResponseProto fromDeviceRpcResponse = 2;
 | 
						|
  bytes componentLifecycleMsg = 3;
 | 
						|
  bytes edgeEventUpdateMsg = 4;
 | 
						|
  QueueUpdateMsg queueUpdateMsg = 5;
 | 
						|
  QueueDeleteMsg queueDeleteMsg = 6;
 | 
						|
  VersionControlResponseMsg vcResponseMsg = 7;
 | 
						|
}
 | 
						|
 | 
						|
/* Messages that are handled by ThingsBoard RuleEngine Service */
 | 
						|
message ToRuleEngineMsg {
 | 
						|
  int64 tenantIdMSB = 1;
 | 
						|
  int64 tenantIdLSB = 2;
 | 
						|
  bytes tbMsg = 3;
 | 
						|
  repeated string relationTypes = 4;
 | 
						|
  string failureMessage = 5;
 | 
						|
}
 | 
						|
 | 
						|
message ToRuleEngineNotificationMsg {
 | 
						|
  bytes componentLifecycleMsg = 1;
 | 
						|
  FromDeviceRPCResponseProto fromDeviceRpcResponse = 2;
 | 
						|
  QueueUpdateMsg queueUpdateMsg = 3;
 | 
						|
  QueueDeleteMsg queueDeleteMsg = 4;
 | 
						|
}
 | 
						|
 | 
						|
/* Messages that are handled by ThingsBoard Transport Service */
 | 
						|
message ToTransportMsg {
 | 
						|
  int64 sessionIdMSB = 1;
 | 
						|
  int64 sessionIdLSB = 2;
 | 
						|
  SessionCloseNotificationProto sessionCloseNotification = 3;
 | 
						|
  GetAttributeResponseMsg getAttributesResponse = 4;
 | 
						|
  AttributeUpdateNotificationMsg attributeUpdateNotification = 5;
 | 
						|
  ToDeviceRpcRequestMsg toDeviceRequest = 6;
 | 
						|
  ToServerRpcResponseMsg toServerResponse = 7;
 | 
						|
  EntityUpdateMsg entityUpdateMsg = 8;
 | 
						|
  EntityDeleteMsg entityDeleteMsg = 9;
 | 
						|
  ProvisionDeviceResponseMsg provisionResponse = 10;
 | 
						|
  ToTransportUpdateCredentialsProto toTransportUpdateCredentialsNotification = 11;
 | 
						|
  ResourceUpdateMsg resourceUpdateMsg = 12;
 | 
						|
  ResourceDeleteMsg resourceDeleteMsg = 13;
 | 
						|
  UplinkNotificationMsg uplinkNotificationMsg = 14;
 | 
						|
  QueueUpdateMsg queueUpdateMsg = 15;
 | 
						|
  QueueDeleteMsg queueDeleteMsg = 16;
 | 
						|
}
 | 
						|
 | 
						|
message UsageStatsKVProto{
 | 
						|
  string key = 1;
 | 
						|
  int64 value = 2;
 | 
						|
}
 | 
						|
 | 
						|
message ToUsageStatsServiceMsg {
 | 
						|
  int64 tenantIdMSB = 1;
 | 
						|
  int64 tenantIdLSB = 2;
 | 
						|
  int64 entityIdMSB = 3;
 | 
						|
  int64 entityIdLSB = 4;
 | 
						|
  repeated UsageStatsKVProto values = 5;
 | 
						|
  int64 customerIdMSB = 6;
 | 
						|
  int64 customerIdLSB = 7;
 | 
						|
}
 | 
						|
 | 
						|
message ToOtaPackageStateServiceMsg {
 | 
						|
  int64 ts = 1;
 | 
						|
  int64 tenantIdMSB = 2;
 | 
						|
  int64 tenantIdLSB = 3;
 | 
						|
  int64 deviceIdMSB = 4;
 | 
						|
  int64 deviceIdLSB = 5;
 | 
						|
  int64 otaPackageIdMSB = 6;
 | 
						|
  int64 otaPackageIdLSB = 7;
 | 
						|
  string type = 8;
 | 
						|
}
 | 
						|
 | 
						|
 |