corrected problem with havg

api.js
   - unnecessary export deleted
   - import of logit added

actions/data4map.js
   - logits removed

databases/influx.js
   - logits removed

databases/mongo.js
   - logits removed

sensorspecials/noise.js
   - repeated code put to a function
   - correctred hour count at havg

package.json
  "version": "1.2.2",
  "date": "2023-04-24",
This commit is contained in:
rxf
2023-04-24 11:54:30 +02:00
parent 144f36e0a0
commit 2cf418756d
6 changed files with 56 additions and 46 deletions
+2 -2
View File
@@ -86,7 +86,7 @@ export var getData4map = async (params) => {
north = parseFloat(val[3])
east = parseFloat(val[2])
west = parseFloat(val[0])
logit(`getData4map: S=${south} N=${north} E=${east} W=${west}`)
// logit(`getData4map: S=${south} N=${north} E=${east} W=${west}`)
}
if (!((params.poly === undefined) || (params.poly === ' '))){
poly = JSON.parse(params.poly)
@@ -173,7 +173,7 @@ export var getData4map = async (params) => {
}
aktData.push(oneAktData)
}
logit(`Query duration: ${start.diffNow('seconds').toObject().seconds * -1} sec`)
// logit(`Query duration: ${start.diffNow('seconds').toObject().seconds * -1} sec`)
ret = {
err: null,
options: {
+1 -1
View File
@@ -40,7 +40,7 @@ export const influxRead = async (query) => {
} catch (e) {
return returnOnError(erg, e, influxRead.name)
}
logit(`Influx read time: ${start.diffNow('seconds').toObject().seconds * -1} sec`)
// logit(`Influx read time: ${start.diffNow('seconds').toObject().seconds * -1} sec`)
return erg
}
+2 -2
View File
@@ -27,10 +27,10 @@ export const properties_collection = 'pptest'
export const connectMongo = async () => {
try {
logit(`Try to connect to ${MONGO_URL}`)
// logit(`Try to connect to ${MONGO_URL}`)
// let client = await MongoClient.connect(MONGO_URL, { useNewUrlParser: true , useUnifiedTopology: true })
let client = await MongoClient.connect(MONGO_URL)
logit(`Mongodbase connected to ${MONGO_URL}`)
// logit(`Mongodbase connected to ${MONGO_URL}`)
return client
}
catch(error){
+2 -2
View File
@@ -1,7 +1,7 @@
{
"name": "sensorapi",
"version": "1.2.1",
"date": "2023-04-21",
"version": "1.2.2",
"date": "2023-04-24",
"private": true,
"scripts": {
"start": "node ./bin/www.js",
+2 -1
View File
@@ -8,7 +8,8 @@ import * as getAKWs from "../actions/getAKWData.js";
import * as holAddr from "../actions/getaddress.js";
export const apiRouter = express.Router();
export const chartapiRouter = express.Router();
import { logit, logerror } from '../utilities/logit.js'
const cmdTable = [
+47 -38
View File
@@ -206,6 +206,16 @@ async function getdavgData(opts) {
return {err: erg.err, values: val}
}
// addDatetime
// add the actual date to wert, if werte is undefined
const addDatetime = (werte, item) => {
if (werte.datetime === undefined) {
let dt = DateTime.fromISO(item.datetime, {zone: 'utc'})
werte.datetime = dt.startOf('day').toISO()
}
}
// *********************************************
// getdaynightData
@@ -246,31 +256,30 @@ async function getdaynightData(opts) {
// The received hourly data array always (!!) starts at 0h00 local (!) time.
// So to calculate day values, we skip the first 6 hour and start from there
// now we add 16 hour for day and following 8 hour for night
for (let i = 6; i < erg.values.length;) {
const length = erg.values.length
for (let i = 6; i < length;) {
let dsum = 0, dcnt = 0;
let nsum = 0, ncnt = 0;
let werte = {};
for (let k = 0; k < 16; k++, i++) {
const item = erg.values[i]
if (item.n_sum != -1) {
if (werte.datetime === undefined) {
let dt = DateTime.fromISO(item.datetime, {zone: 'utc'})
werte.datetime = dt.startOf('day').toISO()
if ( i < length) {
const item = erg.values[i]
if (item.n_sum != -1) {
addDatetime(werte, item)
dsum += item.n_sum;
dcnt += item.count;
}
dsum += item.n_sum;
dcnt += item.count;
}
}
if (i < (erg.values.length - 8)) {
if (i < (length - 8)) {
const item = erg.values[i]
for (let k = 0; k < 8; k++, i++) {
if (item.n_sum != -1) {
if (werte.datetime === undefined) {
let dt = DateTime.fromISO(item.datetime, {zone: 'utc'})
werte.datetime = dt.startOf('day').toISO()
if (i < length) {
if (item.n_sum != -1) {
addDatetime(werte, item)
nsum += item.n_sum;
ncnt += item.count;
}
nsum += item.n_sum;
ncnt += item.count;
}
}
} else {
@@ -348,44 +357,42 @@ async function getLdenData(opts) {
// So to calculate day values, we skip the first 6 hour and start from there
// now we add 12 hour for day and following 4 hour for evening and
// additional 8 hours for night
for (let i = 6; i < erg.values.length;) {
const length = erg.values.length
for (let i = 6; i < length;) {
let dsum = 0, dcnt = 0;
let nsum = 0, ncnt = 0;
let esum = 0, ecnt = 0;
let werte = {};
let dayAVG = 0, evnAVG = 0, nightAVG = 0;
for (let k = 0; k < 12; k++, i++) {
const item = erg.values[i]
if (item.n_sum != -1) {
if (werte.datetime == undefined) {
let dt = DateTime.fromISO(item.datetime, {zone: 'utc'})
werte.datetime = dt.startOf('day').toISO()
if ( i < length) {
const item = erg.values[i]
if (item.n_sum != -1) {
addDatetime(werte, item)
dsum += item.n_sum;
dcnt += item.count;
}
dsum += item.n_sum;
dcnt += item.count;
}
}
for (let k = 0; k < 4; k++, i++) {
const item = erg.values[i]
if (item.n_sum != -1) {
if (werte.datetime == undefined) {
let dt = DateTime.fromISO(item.datetime, {zone: 'utc'})
werte.datetime = dt.startOf('day').toISO()
if ( i < length) {
const item = erg.values[i]
if (item.n_sum != -1) {
addDatetime(werte, item)
esum += item.n_sum;
ecnt += item.count;
}
esum += item.n_sum;
ecnt += item.count;
}
}
if (i < (erg.values.length - 8)) {
for (let k = 0; k < 8; k++, i++) {
const item = erg.values[i]
if (item.n_sum != -1) {
if (werte.datetime == undefined) {
let dt = DateTime.fromISO(item.datetime, {zone: 'utc'})
werte.datetime = dt.startOf('day').toISO()
if (i < length) {
const item = erg.values[i]
if (item.n_sum != -1) {
addDatetime(werte, item)
nsum += item.n_sum;
ncnt += item.count;
}
nsum += item.n_sum;
ncnt += item.count;
}
}
} else {
@@ -487,7 +494,9 @@ peak = data
// To easily extract the values, we copy the data from docs into a new array, so that the
// hour in an element in docs becomes the index into the new array (for every new day this
// index will be incremented by 24). Missing values are marked by: {n_sum=-1, n_AVG=-1}.
let hoursArr = new Array(opts.span * 24); // generate new array
// For havg add the missed hours to the arry
const misshours = DateTime.fromISO(ret.values[0].datetime, {zone: 'utc'}).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, {zone: 'utc'}).get('day') // calc first day
let k = 0