2022-05-24 11:38:03 +03:00

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;
}