|
|
|
@ -4,19 +4,24 @@ import { decode_payload } from './DecodePayload.mjs'; |
|
|
|
|
import { get_id_number } from '../Helpers/IdGenerator.mjs'; |
|
|
|
|
|
|
|
|
|
class MessageHandler { |
|
|
|
|
constructor({ ReadingRepo, GatewayRepo }) { |
|
|
|
|
get debug() { |
|
|
|
|
return this.settings.logging.debug; |
|
|
|
|
} |
|
|
|
|
constructor({ settings, ReadingRepo, GatewayRepo }) { |
|
|
|
|
this.settings = settings; |
|
|
|
|
this.repo_reading = ReadingRepo; |
|
|
|
|
this.repo_gateway = GatewayRepo; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
async handle(message) { |
|
|
|
|
console.log(message); |
|
|
|
|
if(this.debug) console.log(message); |
|
|
|
|
|
|
|
|
|
let decoded_payload = decode_payload(message.payload_raw); |
|
|
|
|
console.log(decoded_payload); |
|
|
|
|
if(this.debug) console.log(decoded_payload); |
|
|
|
|
|
|
|
|
|
let rssis = []; |
|
|
|
|
for(let gw in message.metadata.gateways) { |
|
|
|
|
for(let gw of message.metadata.gateways) { |
|
|
|
|
if(this.debug) console.log("gateway ", gw); |
|
|
|
|
// Insert the gateway info into the database if it doesn't exist already
|
|
|
|
|
if(!this.repo_gateway.exists(gw.gtw_id)) { |
|
|
|
|
this.repo_gateway.add({ |
|
|
|
@ -28,8 +33,8 @@ class MessageHandler { |
|
|
|
|
|
|
|
|
|
// Generate an RSSI object
|
|
|
|
|
rssis.push({ |
|
|
|
|
id: get_id_number, |
|
|
|
|
gateway_id: this.repo_gateway, |
|
|
|
|
id: await get_id_number(), |
|
|
|
|
gateway_id: gw.gtw_id, |
|
|
|
|
rssi: gw.rssi, |
|
|
|
|
snr: gw.snr, |
|
|
|
|
channel: gw.channel |
|
|
|
|