feat: tracker location based on multiple location providers #5

Merged
localhorst merged 19 commits from feature/ttn-location-algo into main 2025-01-02 14:57:34 +01:00
Showing only changes of commit 4994b8a246 - Show all commits
@@ -3,12 +3,23 @@ import {
TtnMessageReceivedEvent, TtnMessageReceivedEvent,
TtnMessageReceivedEventName, TtnMessageReceivedEventName,
} from "../event/ttnMessageReceivedEvent"; } from "../event/ttnMessageReceivedEvent";
import { container } from "tsyringe";
import { LocationService } from "../services/locationService";
const locationService = container.resolve(LocationService);
domainEventEmitter.on( domainEventEmitter.on(
TtnMessageReceivedEventName, TtnMessageReceivedEventName,
async (event: TtnMessageReceivedEvent) => { async (event: TtnMessageReceivedEvent) => {
console.log(event); console.log(event);
var wifi_based_latitude!: number;
var wifi_based_longitude!: number;
var gnss_based_latitude!: number; // Should this be set here?
var gnss_based_longitude!: number; // Should this be set here?
var ttn_gw_based_latitude!: number;
var ttn_gw_based_longitude!: number;
if (!event.ttnGateways || event.ttnGateways.length === 0) { if (!event.ttnGateways || event.ttnGateways.length === 0) {
console.log("No TTN Gateway location received!") console.log("No TTN Gateway location received!")
} else { } else {
@@ -30,12 +41,23 @@ domainEventEmitter.on(
}; };
console.log("Tracker location based on TTN Gateway location:", virtualLocation); console.log("Tracker location based on TTN Gateway location:", virtualLocation);
ttn_gw_based_latitude = virtualLocation.latitude;
ttn_gw_based_longitude = virtualLocation.longitude;
} }
{
// TODO: parse Wifi location here
}
const newLocation = await locationService.createLocation({
lp_ttn_end_device_uplinks_id: event.lp_ttn_end_device_uplinks_id,
ttn_gw_latitude: ttn_gw_based_latitude,
ttn_gw_longitude: ttn_gw_based_longitude,
});
console.log(newLocation)
} }
); );