Перейти к содержанию

Протокол

Оглавление

Схема классов

/svg/protos/key/keyapis/telemetry_metric/v1/keyapis_telemetry_metric_measurement_v1.proto.svg

keyapis/telemetry_metric/v1/keyapis_telemetry_metric_measurement_v1.proto

Сервис реализует функционал управления измерениями

MeasurementService

Сервис измерений

Название метода Описание Тип запроса Тип ответа
PostMeasurement Метод сохранения измерений. Метод доступен для: service, application(telemetry:edit) keyapis.telemetry_metric.v1.PostMeasurementRequest keyapis.telemetry_metric.v1.PostMeasurementResponse
PostMeasurementHalfDuplex Полудуплексный метод сохранения потока измерений. Метод доступен для: service, application(telemetry:edit) keyapis.telemetry_metric.v1.PostMeasurementHalfDuplexRequest stream keyapis.telemetry_metric.v1.PostMeasurementHalfDuplexResponse
GetMeasurementList Метод получения списка измерений. Метод доступен для: service, application(telemetry:read или telemetry:edit) keyapis.telemetry_metric.v1.GetMeasurementListRequest keyapis.telemetry_metric.v1.GetMeasurementListResponse stream
GetMeasurementCount Метод получения количества измерений. Метод доступен для: service, application(telemetry:read или telemetry:edit) keyapis.telemetry_metric.v1.GetMeasurementCountRequest keyapis.telemetry_metric.v1.GetMeasurementCountResponse
GetMeasurementConvertedList Метод получения списка преобразованных измерений. Метод доступен для: service, application(telemetry:read или telemetry:edit) keyapis.telemetry_metric.v1.GetMeasurementConvertedListRequest keyapis.telemetry_metric.v1.GetMeasurementConvertedListResponse stream
GetMeasurementConvertedCount Метод получения количества преобразованных измерений. Метод доступен для: service, application(telemetry:read или telemetry:edit) keyapis.telemetry_metric.v1.GetMeasurementConvertedCountRequest keyapis.telemetry_metric.v1.GetMeasurementConvertedCountResponse

GetMeasurementConvertedCountRequest

Запрос получения количества преобразованных измерений

Поле Описание Тип Признак
filter Параметры фильтрации измерений keyapis.telemetry_metric.v1.MeasurementFilter

GetMeasurementConvertedCountResponse

Ответ на запрос получения количества преобразованных измерений

Поле Описание Тип Признак
data Всего измерений optional int32

GetMeasurementConvertedListRequest

Запрос получения списка преобразованных измерений

Поле Описание Тип Признак
filter Параметры фильтрации измерений keyapis.telemetry_metric.v1.MeasurementFilter
paging Параметры пагинации по измерениям optional keyapis.telemetry_metric.v1.MeasurementPaging

GetMeasurementConvertedListResponse

Ответ на запрос получения списка преобразованных измерений

Поле Описание Тип Признак
data Значение измерения optional keyapis.telemetry_metric.v1.Measurement

GetMeasurementCountRequest

Запрос получения количества измерений

Поле Описание Тип Признак
filter Параметры фильтрации измерений keyapis.telemetry_metric.v1.MeasurementFilter

GetMeasurementCountResponse

Ответ на запрос получения количества измерений

Поле Описание Тип Признак
data Всего измерений optional int32

GetMeasurementListRequest

Запрос получения списка измерений

Поле Описание Тип Признак
filter Параметры фильтрации измерений keyapis.telemetry_metric.v1.MeasurementFilter
paging Параметры пагинации по измерениям optional keyapis.telemetry_metric.v1.MeasurementPaging

GetMeasurementListResponse

Ответ на запрос получения списка измерений

Поле Описание Тип Признак
data Значение измерения optional keyapis.telemetry_metric.v1.Measurement

Measurement

Измерение. Очередь key.telemetry_consumer.measurement_stream_request.v1

Поле Описание Тип Признак
indicator_id Идентификатор int32 REQUIRED
value Значение float REQUIRED
synced_at Временная метка сбора счётчиком. Если не передано берётся серверное время google.protobuf.Timestamp
fias_id ФИАС google.protobuf.StringValue
device_id Идентификатор устройства google.protobuf.Int32Value
device_parent_id Идентификатор родительского устройства google.protobuf.Int32Value
device_model Модель устройства google.protobuf.StringValue
device_type Тип устройства keyapis.telemetry_metric.v1.Measurement.DeviceType
metric_type Тип энергоресурса keyapis.telemetry_metric.v1.Measurement.MetricType
changed_at Дата последнего изменения. Заполняется и обновляется сервером. Заполняется при создании и изменении. Является версией объекта google.protobuf.Timestamp OUTPUT_ONLY
utc_offset Сдвиг таймзоны относительно UTC для даты synced_at int32
unit_type Тип единицы измерения, в которой представлено, получаемое измерение keyapis.telemetry_metric.v1.Measurement.UnitType

MeasurementFilter

Фильтр измерений. При передаче массива в параметр фильтра элементы массива работают в выборке через ИЛИ. При передаче нескольких разных параметров фильтра они работают в выборке через И

Поле Описание Тип Признак
fias_ids По ФИАСам repeated string
device_ids По идентификаторам repeated int32
indicator_ids По идентификаторам индикаторов repeated int32
begin_synced_at От даты синхронизации включительно (>=) google.protobuf.Timestamp
end_synced_at До даты синхронизации (<) google.protobuf.Timestamp
device_models По моделям устройств repeated string
device_types По типам устройств repeated keyapis.telemetry_metric.v1.Measurement.DeviceType
metric_types По типам измерений repeated keyapis.telemetry_metric.v1.Measurement.MetricType
is_border_measurements_only Ограничение результатов только пограничными значениями для периода. Если border_measurements_only=null возвращаем измерения по условиям фильтра, уникальные по (indicator_id, synced_at). Если border_measurements_only=falsе возвращаем измерения по условиям фильтра, уникальные по (indicator_id, synced_at). Если заданы border_measurements_only=true, begin_synced_at, end_synced_at возвращаем два измерения ближайшие к границам периода. Если заданы border_measurements_only=true, и не задана end_synced_at возвращаем одно измерение ближайшее к begin_synced_at. Если заданы border_measurements_only=true, и не задана begin_synced_at возвращаем одно измерение ближайшее к end_synced_at. Если заданы border_measurements_only=true и не заданы begin_synced_at и end_synced_at возвращаем ошибку валидации параметров google.protobuf.BoolValue

MeasurementPaging

Параметры пагинации измерений

Поле Описание Тип Признак
order_by_type Тип значения сортировки. По умолчанию: SYNCED_AT keyapis.telemetry_metric.v1.MeasurementPaging.OrderByType
direction_type Тип направления сортировки. По умолчанию: DESC keyapis.telemetry_metric.v1.MeasurementPaging.DirectionType
limit Количество записей на страницу. Минимальное значение: 1. Максимальное значение: 100. По умолчанию: 20. Если значение 0 (не передано), то выставляем значение по умолчанию int32
offset Сдвиг. По умолчанию: 0 int32

PostMeasurementHalfDuplexRequest

Запрос сохранения потока измерения

Поле Описание Тип Признак
data Измерение keyapis.telemetry_metric.v1.Measurement REQUIRED

PostMeasurementHalfDuplexResponse

Ответ на запрос сохранения потока измерений

PostMeasurementRequest

Запрос сохранения измерения

Поле Описание Тип Признак
data Измерение keyapis.telemetry_metric.v1.Measurement REQUIRED

PostMeasurementResponse

Ответ на запрос сохранения измерения

Measurement.DeviceType

Справочник типов устройств

Номер Тип Название
0 DEVICE_TYPE_UNKNOWN Значение не указано
1 HUB Коммуникационный модуль
2 PULSE_COUNTER_RECORDER Счетчик импульсов - регистратор
3 PULSE_COUNTER_RECORDER_LR Счетчик импульсов - регистратор LoRaWAN
4 METERING_DEVICE Прибор учета расхода коммунальных услуг
5 INTERFACE_CONVERTER Конвертер интерфейсов
6 M_BUS_HUB M-BUS концентратор
7 COMMUNICATION_MODULE_LR Модуль связи LoRaWAN
8 BASE_LR Базовая станция LoRaWAN

Measurement.MetricType

Справочние типов энергоресурсов

Номер Тип Название
0 METRIC_TYPE_UNKNOWN Значение не указано
1 HOT_WATER Горячая вода
2 COLD_WATER Холодная вода
3 HEAT Теплоэнергия
4 GAS Газ
5 ELECTRICITY Электроэнергия

Measurement.UnitType

Справочник типов единиц измерений

Номер Тип Название
0 UNIT_TYPE_UNKNOWN Значение не указано
1 PERCENT Процент
2 C Градус по Цельсию
3 WT Ватт
4 GKAL Гигакалория
5 VALUE Количество
6 KWH Киловaтт-час
7 KG_CM2 Килограмм на квадратный сантиметр
8 KGF_CM2 Килограмм-сила на квадратный сантиметр
9 M3 Кубический метр
10 M3_H Кубический метр в час
11 MPA Мегапаскаль
12 MS Миллисекунда
13 BOOLEAN Флаг состояния
14 T Тонна
15 T_H Тонна в час
16 H Час
17 NON_MEASURABLE Безразмерная величина
18 IMP Импульс
19 J Джоуль
20 KJ Килоджоуль
21 GJ Гигаджоуль
22 WTH Ватт-час
23 KWT Киловатт
24 MIN Минута
25 S Секунда

MeasurementPaging.DirectionType

Справочник типов направлений сортировки

Номер Тип Название
0 DIRECTION_TYPE_UNKNOWN Значение не указано
1 DESC От большего к меньшему
2 ASC От меньшего к большему

MeasurementPaging.OrderByType

Справочник типов значений сортировки

Номер Тип Название
0 ORDER_BY_TYPE_UNKNOWN Значение не указано
1 INDICATOR_ID По идентификатору индикатора
2 SYNCED_AT По дате synced_at

Скалярные типы значений

.proto Type Примечание Python Go Ruby C# C++ Java PHP
double float float64 Float double double double float
float float float32 Float float float float float
int32 Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint32 instead. int int32 Bignum or Fixnum (as required) int int32 int integer
int64 Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint64 instead. int/long int64 Bignum long int64 long integer/string
uint32 Uses variable-length encoding. int/long uint32 Bignum or Fixnum (as required) uint uint32 int integer
uint64 Uses variable-length encoding. int/long uint64 Bignum or Fixnum (as required) ulong uint64 long integer/string
sint32 Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int32s. int int32 Bignum or Fixnum (as required) int int32 int integer
sint64 Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int64s. int/long int64 Bignum long int64 long integer/string
fixed32 Always four bytes. More efficient than uint32 if values are often greater than 2^28. int uint32 Bignum or Fixnum (as required) uint uint32 int integer
fixed64 Always eight bytes. More efficient than uint64 if values are often greater than 2^56. int/long uint64 Bignum ulong uint64 long integer/string
sfixed32 Always four bytes. int int32 Bignum or Fixnum (as required) int int32 int integer
sfixed64 Always eight bytes. int/long int64 Bignum long int64 long integer/string
bool boolean bool TrueClass/FalseClass bool bool boolean boolean
string A string must always contain UTF-8 encoded or 7-bit ASCII text. str/unicode string String (UTF-8) string string String string
bytes May contain any arbitrary sequence of bytes. str []byte String (ASCII-8BIT) ByteString string ByteString string