viele Anpassungen
This commit is contained in:
+19
-8
@@ -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}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user