feat: reworked ttn webhook endpoint logic

This commit is contained in:
2025-01-03 02:01:55 +01:00
parent ffdb644700
commit 62847f569d
17 changed files with 273 additions and 356 deletions

View File

@ -6,14 +6,14 @@ export interface TtnMessage {
};
dev_eui: string;
join_eui: string;
dev_addr: string;
dev_addr?: string;
};
correlation_ids: string[];
received_at: string;
uplink_message: {
session_key_id: string;
session_key_id?: string;
f_port?: number;
f_cnt: number;
f_cnt?: number;
frm_payload?: string;
decoded_payload?: {
err: number;
@ -22,8 +22,8 @@ export interface TtnMessage {
{
measurementId: "4200";
measurementValue: any[];
motionId: number;
timestamp: number;
motionId?: number;
timestamp?: number;
type: "Event Status";
},
{
@ -32,29 +32,29 @@ export interface TtnMessage {
mac: string;
rssi: number;
}[];
motionId: number;
timestamp: number;
motionId?: number;
timestamp?: number;
type: "Wi-Fi Scan";
},
{
measurementId: "3000";
measurementValue: number;
motionId: number;
timestamp: number;
motionId?: number;
timestamp?: number;
type: "Battery";
},
{
measurementId: "4197";
measurementValue: number;
motionId: number;
timestamp: number;
motionId?: number;
timestamp?: number;
type: "Longitude";
},
{
measurementId: "4198";
measurementValue: number;
motionId: number;
timestamp: number;
motionId?: number;
timestamp?: number;
type: "Latitude";
}
]
@ -67,44 +67,44 @@ export interface TtnMessage {
gateway_id: string;
eui?: string;
};
time: string;
time?: string;
timestamp?: number;
rssi: number;
channel_rssi: number;
snr: number;
location: {
snr?: number;
location?: {
latitude: number;
longitude: number;
altitude: number;
altitude?: number;
source?: string;
};
uplink_token: string;
uplink_token?: string;
channel_index?: number;
received_at: string;
received_at?: string;
}[];
settings: {
data_rate: {
lora: {
bandwidth: number;
spreading_factor: number;
coding_rate: string;
coding_rate?: string;
};
};
frequency: string;
timestamp?: number;
time?: Date;
};
received_at: Date;
received_at?: Date;
confirmed?: boolean;
consumed_airtime: string;
version_ids: {
consumed_airtime?: string;
version_ids?: {
brand_id: string;
model_id: string;
hardware_version: string;
firmware_version: string;
band_id: string;
};
network_ids: {
network_ids?: {
net_id: string;
ns_id: string;
tenant_id: string;