1062 lines
24 KiB
Protocol Buffer
1062 lines
24 KiB
Protocol Buffer
/**
|
|
* Copyright © 2016-2023 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;
|
|
SystemInfoProto systemInfo = 10;
|
|
}
|
|
|
|
message SystemInfoProto {
|
|
double cpuUsage = 1;
|
|
double totalCpuUsage = 2;
|
|
int64 memoryUsage = 3;
|
|
int64 totalMemory = 4;
|
|
int64 freeMemory = 5;
|
|
int64 freeDiscSpace = 6;
|
|
int64 totalDiscSpace = 7;
|
|
}
|
|
|
|
/**
|
|
* 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 AttributeValueProto {
|
|
int64 lastUpdateTs = 1;
|
|
KeyValueType type = 2;
|
|
bool has_v = 3;
|
|
bool bool_v = 4;
|
|
int64 long_v = 5;
|
|
double double_v = 6;
|
|
string string_v = 7;
|
|
string json_v = 8;
|
|
}
|
|
|
|
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 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;
|
|
}
|
|
|
|
message DeviceActivityProto {
|
|
int64 tenantIdMSB = 1;
|
|
int64 tenantIdLSB = 2;
|
|
int64 deviceIdMSB = 3;
|
|
int64 deviceIdLSB = 4;
|
|
int64 lastActivityTime = 5;
|
|
}
|
|
|
|
//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 NotificationsSubscriptionProto {
|
|
TbSubscriptionProto sub = 1;
|
|
int32 limit = 2;
|
|
}
|
|
|
|
message NotificationsCountSubscriptionProto {
|
|
TbSubscriptionProto sub = 1;
|
|
}
|
|
|
|
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 NotificationsSubscriptionUpdateProto {
|
|
string sessionId = 1;
|
|
int32 subscriptionId = 2;
|
|
string notificationUpdate = 3;
|
|
string notificationRequestUpdate = 4;
|
|
}
|
|
|
|
message NotificationUpdateProto {
|
|
int64 tenantIdMSB = 1;
|
|
int64 tenantIdLSB = 2;
|
|
int64 recipientIdMSB = 3;
|
|
int64 recipientIdLSB = 4;
|
|
string update = 5;
|
|
}
|
|
|
|
message NotificationRequestUpdateProto {
|
|
int64 tenantIdMSB = 1;
|
|
int64 tenantIdLSB = 2;
|
|
string update = 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;
|
|
bool notifyDevice = 8;
|
|
}
|
|
|
|
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;
|
|
NotificationsSubscriptionProto notificationsSub = 11;
|
|
NotificationsCountSubscriptionProto notificationsCountSub = 12;
|
|
NotificationUpdateProto notificationUpdate = 13;
|
|
NotificationRequestUpdateProto notificationRequestUpdate = 14;
|
|
}
|
|
|
|
message LocalSubscriptionServiceMsgProto {
|
|
TbSubscriptionUpdateProto subUpdate = 1;
|
|
TbAlarmSubscriptionUpdateProto alarmSubUpdate = 2;
|
|
NotificationsSubscriptionUpdateProto notificationsSubUpdate = 3;
|
|
}
|
|
|
|
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 {
|
|
int64 ts = 1;
|
|
string commitId = 2;
|
|
string name = 3;
|
|
string author = 4;
|
|
int32 added = 5;
|
|
int32 modified = 6;
|
|
int32 removed = 7;
|
|
}
|
|
|
|
message PrepareMsg {
|
|
string commitMsg = 1;
|
|
string branchName = 2;
|
|
string authorName = 3;
|
|
string authorEmail = 4;
|
|
}
|
|
|
|
message AddMsg {
|
|
string relativePath = 1;
|
|
string entityDataJsonChunk = 2;
|
|
string chunkedMsgId = 3;
|
|
int32 chunkIndex = 4;
|
|
int32 chunksCount = 5;
|
|
}
|
|
|
|
message DeleteMsg {
|
|
string relativePath = 1;
|
|
}
|
|
|
|
message PushMsg {
|
|
}
|
|
|
|
message AbortMsg {
|
|
}
|
|
|
|
message ListVersionsRequestMsg {
|
|
string branchName = 1;
|
|
string entityType = 2;
|
|
int64 entityIdMSB = 3;
|
|
int64 entityIdLSB = 4;
|
|
int32 pageSize = 5;
|
|
int32 page = 6;
|
|
string textSearch = 7;
|
|
string sortProperty = 8;
|
|
string sortDirection = 9;
|
|
}
|
|
|
|
message EntityVersionProto {
|
|
int64 ts = 1;
|
|
string id = 2;
|
|
string name = 3;
|
|
string author = 4;
|
|
}
|
|
|
|
message ListVersionsResponseMsg {
|
|
repeated EntityVersionProto versions = 1;
|
|
int32 totalPages = 2;
|
|
int64 totalElements = 3;
|
|
bool hasNext = 4;
|
|
}
|
|
|
|
message ListEntitiesRequestMsg {
|
|
string versionId = 1;
|
|
string entityType = 2;
|
|
}
|
|
|
|
message VersionedEntityInfoProto {
|
|
string entityType = 1;
|
|
int64 entityIdMSB = 2;
|
|
int64 entityIdLSB = 3;
|
|
}
|
|
|
|
message ListEntitiesResponseMsg {
|
|
repeated VersionedEntityInfoProto entities = 1;
|
|
}
|
|
|
|
message ListBranchesRequestMsg {
|
|
}
|
|
|
|
message BranchInfoProto {
|
|
string name = 1;
|
|
bool isDefault = 2;
|
|
}
|
|
|
|
message ListBranchesResponseMsg {
|
|
repeated BranchInfoProto branches = 1;
|
|
}
|
|
|
|
message EntityContentRequestMsg {
|
|
string versionId = 1;
|
|
string entityType = 2;
|
|
int64 entityIdMSB = 3;
|
|
int64 entityIdLSB = 4;
|
|
}
|
|
|
|
message EntityContentResponseMsg {
|
|
string data = 1;
|
|
int32 chunkIndex = 2;
|
|
int32 chunksCount = 3;
|
|
}
|
|
|
|
message EntitiesContentRequestMsg {
|
|
string versionId = 1;
|
|
string entityType = 2;
|
|
int32 offset = 3;
|
|
int32 limit = 4;
|
|
}
|
|
|
|
message EntitiesContentResponseMsg {
|
|
EntityContentResponseMsg item = 1;
|
|
int32 itemIdx = 2;
|
|
int32 itemsCount = 3;
|
|
}
|
|
|
|
message VersionsDiffRequestMsg {
|
|
string path = 1;
|
|
string versionId1 = 2;
|
|
string versionId2 = 3;
|
|
}
|
|
|
|
message VersionsDiffResponseMsg {
|
|
repeated EntityVersionsDiff diff = 1;
|
|
}
|
|
|
|
message EntityVersionsDiff {
|
|
string entityType = 1;
|
|
int64 entityIdMSB = 2;
|
|
int64 entityIdLSB = 3;
|
|
string entityDataAtVersion1 = 4;
|
|
string entityDataAtVersion2 = 5;
|
|
string rawDiff = 6;
|
|
}
|
|
|
|
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;
|
|
VersionsDiffRequestMsg versionsDiffRequest = 16;
|
|
}
|
|
|
|
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;
|
|
VersionsDiffResponseMsg versionsDiffResponse = 11;
|
|
}
|
|
|
|
/**
|
|
* 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;
|
|
DeviceActivityProto deviceActivityMsg = 6;
|
|
NotificationSchedulerServiceMsg notificationSchedulerServiceMsg = 7;
|
|
NotificationRuleProcessingServiceMsg notificationRuleProcessingServiceMsg = 8;
|
|
}
|
|
|
|
/* 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;
|
|
bytes toEdgeSyncRequestMsg = 8;
|
|
bytes fromEdgeSyncResponseMsg = 9;
|
|
SubscriptionMgrMsgProto toSubscriptionMgrMsg = 10;
|
|
}
|
|
|
|
/* 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;
|
|
}
|
|
|
|
message NotificationSchedulerServiceMsg {
|
|
int64 tenantIdMSB = 1;
|
|
int64 tenantIdLSB = 2;
|
|
int64 requestIdMSB = 3;
|
|
int64 requestIdLSB = 4;
|
|
int64 ts = 5;
|
|
}
|
|
|
|
message NotificationRuleProcessingServiceMsg {
|
|
bytes trigger = 1;
|
|
}
|