viele Anpassungen

This commit is contained in:
2023-11-07 08:05:54 +00:00
parent 91e55f58bf
commit 70f928d961
12 changed files with 134 additions and 74 deletions
+19 -8
View File
@@ -1,5 +1,6 @@
// Data preparation for fetching noise data
// rxf 2023-03-05
const DBASE = process.env.DBASE || 'mongo'
import {returnOnError} from "../utilities/reporterror.js";
import { getActData, getAvgData, getLongAvg, calcRange} from "../actions/getsensorData.js"
@@ -41,7 +42,7 @@ export const getNoiseData = async (params, possibles, props) => {
sid: opts.sensorid,
indoor: props.location[0].indoor,
span: opts.span,
start: DateTime.fromISO(opts.start.slice(7)),
start: DateTime.fromISO(opts.start.slice(7)).toUTC().toISO(),
data: opts.data,
peak: opts.peak,
count: erg.values.length,
@@ -422,8 +423,18 @@ const getAPIprops = (opt) => {
}
const getNoiseAVGData = async (opts) => {
let retI = await influx.fetchNoiseAVGData(opts)
let ret = await mongo.fetchNoiseAVGData(opts)
let ret
if (DBASE === 'mongo') {
ret = await mongo.fetchNoiseAVGData(opts)
} else if (DBASE === 'influx') {
ret = await influx.fetchNoiseAVGData(opts)
// Influx stores the average from 00:00h to 01:00h as 01:00h, so we have to shift the time 1 hour back
for (let x=0; x < ret.values.length; x++) {
ret.values[x].datetime = DateTime.fromISO(ret.values[x].datetime).toUTC().minus({hours:1}).toISO()
}
} else {
ret.err = 'DBASEUNKNOWN'
}
if(ret.err) {
return returnOnError(ret, ret.err, getNoiseAVGData.name)
@@ -441,19 +452,19 @@ const getNoiseAVGData = async (opts) => {
if (opts.long) {
emptyValues.n_sum = -1
}
const misshours = DateTime.fromISO(ret.values[0].datetime).get('hour')
const misshours = DateTime.fromISO(ret.values[0].datetime).toUTC().get('hour')
let hoursArr = new Array(opts.span * 24 + misshours); // generate new array
hoursArr.fill(emptyValues) // fill array with 'empty' values
let startDay = DateTime.fromISO(ret.values[0].datetime).get('day') // calc first day
let startDay = DateTime.fromISO(ret.values[0].datetime).toUTC().get('day') // calc first day
let k = 0
for (let d of ret.values) { // loop through docs
let stunde = DateTime.fromISO(d.datetime).get('hour') // get current hour
let day = DateTime.fromISO(d.datetime).get('day') // get current day
let stunde = DateTime.fromISO(d.datetime).toUTC().get('hour') // get current hour
let day = DateTime.fromISO(d.datetime).toUTC().get('day') // get current day
if (day != startDay) { // if date has changed
k += 24 // increment index by 24
startDay = day
}
hoursArr[k+stunde] = d // copy date into hourArray
hoursArr[k + stunde] = d // copy date into hourArray
}
return { err: ret.err, values: hoursArr}
}