ul-data-logger-api-sdk 3.3.1__tar.gz → 3.3.3__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {ul_data_logger_api_sdk-3.3.1 → ul_data_logger_api_sdk-3.3.3}/PKG-INFO +1 -1
- {ul_data_logger_api_sdk-3.3.1 → ul_data_logger_api_sdk-3.3.3}/data_logger_api_sdk.py +27 -0
- {ul_data_logger_api_sdk-3.3.1 → ul_data_logger_api_sdk-3.3.3}/pyproject.toml +1 -1
- {ul_data_logger_api_sdk-3.3.1 → ul_data_logger_api_sdk-3.3.3}/types/api_base_stations.py +14 -1
- ul_data_logger_api_sdk-3.3.3/types/api_uplink_signal.py +29 -0
- {ul_data_logger_api_sdk-3.3.1 → ul_data_logger_api_sdk-3.3.3}/.gitignore +0 -0
- {ul_data_logger_api_sdk-3.3.1 → ul_data_logger_api_sdk-3.3.3}/__init__.py +0 -0
- {ul_data_logger_api_sdk-3.3.1 → ul_data_logger_api_sdk-3.3.3}/data_logger_sdk_config.py +0 -0
- {ul_data_logger_api_sdk-3.3.1 → ul_data_logger_api_sdk-3.3.3}/py.typed +0 -0
- {ul_data_logger_api_sdk-3.3.1 → ul_data_logger_api_sdk-3.3.3}/types/__init__.py +0 -0
- {ul_data_logger_api_sdk-3.3.1 → ul_data_logger_api_sdk-3.3.3}/types/api_bs_traffic_stats.py +0 -0
- {ul_data_logger_api_sdk-3.3.1 → ul_data_logger_api_sdk-3.3.3}/types/api_device_data_history.py +0 -0
- {ul_data_logger_api_sdk-3.3.1 → ul_data_logger_api_sdk-3.3.3}/types/api_last_bs_data_by_device_macs.py +0 -0
- {ul_data_logger_api_sdk-3.3.1 → ul_data_logger_api_sdk-3.3.3}/types/api_packet_types.py +0 -0
- {ul_data_logger_api_sdk-3.3.1 → ul_data_logger_api_sdk-3.3.3}/types/api_protocol_types.py +0 -0
|
@@ -26,6 +26,10 @@ from data_logger_api_sdk.types.api_base_stations import (
|
|
|
26
26
|
ApiBaseStationSystemLogsListResult,
|
|
27
27
|
)
|
|
28
28
|
from data_logger_api_sdk.types.api_bs_traffic_stats import ApiBsTrafficStatsResponse, ApiDeviceTrafficStatsQuery
|
|
29
|
+
from data_logger_api_sdk.types.api_uplink_signal import (
|
|
30
|
+
ApiDeviceUplinkSignalLatestResponse,
|
|
31
|
+
ApiDeviceUplinkSignalsListResult,
|
|
32
|
+
)
|
|
29
33
|
from data_logger_api_sdk.types.api_device_data_history import ApiDeviceDataHistoryBody, ApiDeviceDataHistoryResponse
|
|
30
34
|
from data_logger_api_sdk.types.api_last_bs_data_by_device_macs import ApiDeviceLastBsDataResponse, ApiDeviceMacsListBodyModel
|
|
31
35
|
from data_logger_api_sdk.types.api_packet_types import ApiPacketTypesListResponse
|
|
@@ -191,6 +195,29 @@ class DataLoggerApiSdk:
|
|
|
191
195
|
)
|
|
192
196
|
return ApiBaseStationsListResult(items=items, total_count=total_count)
|
|
193
197
|
|
|
198
|
+
def get_uplink_signal_latest(
|
|
199
|
+
self,
|
|
200
|
+
limit: int,
|
|
201
|
+
offset: int = 0,
|
|
202
|
+
macs: List[int] | None = None,
|
|
203
|
+
) -> ApiDeviceUplinkSignalsListResult:
|
|
204
|
+
"""GET /uplink-signal-latest — последний uplink-сигнал каждого мака.
|
|
205
|
+
|
|
206
|
+
Последний по метеру, группировка по маку (один мак = одна строка);
|
|
207
|
+
macs — рантайм-фильтр по конкретным устройствам. bs_id —
|
|
208
|
+
идентификатор БС Data Logger (= external_bs_id потребителя).
|
|
209
|
+
"""
|
|
210
|
+
query: Dict[str, Any] = {"limit": limit, "offset": offset}
|
|
211
|
+
if macs:
|
|
212
|
+
query["mac"] = macs
|
|
213
|
+
items, total_count = self._request_list_payload_once(
|
|
214
|
+
ApiMethod.GET,
|
|
215
|
+
"/uplink-signal-latest",
|
|
216
|
+
List[ApiDeviceUplinkSignalLatestResponse], # type: ignore
|
|
217
|
+
query,
|
|
218
|
+
)
|
|
219
|
+
return ApiDeviceUplinkSignalsListResult(items=items, total_count=total_count)
|
|
220
|
+
|
|
194
221
|
def get_base_station(
|
|
195
222
|
self,
|
|
196
223
|
base_station_id: UUID,
|
|
@@ -65,7 +65,12 @@ class ApiBaseStationDetailResponse(ApiBaseStationResponse):
|
|
|
65
65
|
|
|
66
66
|
|
|
67
67
|
class ApiBaseStationLogResponse(JsonApiResponsePayload):
|
|
68
|
-
"""Элемент ответа GET /base-stations/<uuid>/logs (ApiBsLogsResponse на стороне Data Logger).
|
|
68
|
+
"""Элемент ответа GET /base-stations/<uuid>/logs (ApiBsLogsResponse на стороне Data Logger).
|
|
69
|
+
|
|
70
|
+
rssi/snr/protocol_type/packet_type_name/network_sys_type/error_* обогащаются
|
|
71
|
+
из сырого документа пакета (блок meta.bs_http / meta.nbfi_bs0); null, если
|
|
72
|
+
документа нет или в нём нет этих полей.
|
|
73
|
+
"""
|
|
69
74
|
|
|
70
75
|
id: UUID4
|
|
71
76
|
date_created: datetime
|
|
@@ -83,6 +88,14 @@ class ApiBaseStationLogResponse(JsonApiResponsePayload):
|
|
|
83
88
|
|
|
84
89
|
external_document_id: UUID4 | None = None
|
|
85
90
|
|
|
91
|
+
rssi: int | None = None
|
|
92
|
+
snr: int | None = None
|
|
93
|
+
protocol_type: str | None = None
|
|
94
|
+
packet_type_name: str | None = None
|
|
95
|
+
network_sys_type: str | None = None
|
|
96
|
+
error_message: str | None = None
|
|
97
|
+
error_type: str | None = None
|
|
98
|
+
|
|
86
99
|
|
|
87
100
|
class ApiBaseStationLogDetailResponse(ApiBaseStationLogResponse):
|
|
88
101
|
"""Ответ GET /base-stations/<uuid>/logs/<uuid> — лог с сырым JSON пакета (ApiBsLogDetailResponse в DL)."""
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
from datetime import datetime
|
|
2
|
+
from typing import List, NamedTuple
|
|
3
|
+
|
|
4
|
+
from pydantic import UUID4
|
|
5
|
+
from ul_api_utils.api_resource.api_response import JsonApiResponsePayload
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
class ApiDeviceUplinkSignalLatestResponse(JsonApiResponsePayload):
|
|
9
|
+
"""Последний uplink-сигнал мака: элемент ответа GET /uplink-signal-latest.
|
|
10
|
+
|
|
11
|
+
bs_id — идентификатор базовой станции Data Logger (у потребителя unified
|
|
12
|
+
API это external_bs_id, маппинг по серийнику не нужен); bs_identifier —
|
|
13
|
+
серийный номер БС. packet_date — время последнего пакета устройства.
|
|
14
|
+
"""
|
|
15
|
+
|
|
16
|
+
mac: int
|
|
17
|
+
device_id: UUID4
|
|
18
|
+
bs_id: UUID4 | None = None
|
|
19
|
+
bs_identifier: str | None = None
|
|
20
|
+
rssi: int | None = None
|
|
21
|
+
snr: int | None = None
|
|
22
|
+
packet_date: datetime | None = None
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
class ApiDeviceUplinkSignalsListResult(NamedTuple):
|
|
26
|
+
"""Результат спискового вызова: страница элементов и total_count."""
|
|
27
|
+
|
|
28
|
+
items: List[ApiDeviceUplinkSignalLatestResponse]
|
|
29
|
+
total_count: int
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ul_data_logger_api_sdk-3.3.1 → ul_data_logger_api_sdk-3.3.3}/types/api_device_data_history.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|