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:
+2
-2
@@ -86,7 +86,7 @@ export var getData4map = async (params) => {
|
|||||||
north = parseFloat(val[3])
|
north = parseFloat(val[3])
|
||||||
east = parseFloat(val[2])
|
east = parseFloat(val[2])
|
||||||
west = parseFloat(val[0])
|
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 === ' '))){
|
if (!((params.poly === undefined) || (params.poly === ' '))){
|
||||||
poly = JSON.parse(params.poly)
|
poly = JSON.parse(params.poly)
|
||||||
@@ -173,7 +173,7 @@ export var getData4map = async (params) => {
|
|||||||
}
|
}
|
||||||
aktData.push(oneAktData)
|
aktData.push(oneAktData)
|
||||||
}
|
}
|
||||||
logit(`Query duration: ${start.diffNow('seconds').toObject().seconds * -1} sec`)
|
// logit(`Query duration: ${start.diffNow('seconds').toObject().seconds * -1} sec`)
|
||||||
ret = {
|
ret = {
|
||||||
err: null,
|
err: null,
|
||||||
options: {
|
options: {
|
||||||
|
|||||||
+1
-1
@@ -40,7 +40,7 @@ export const influxRead = async (query) => {
|
|||||||
} catch (e) {
|
} catch (e) {
|
||||||
return returnOnError(erg, e, influxRead.name)
|
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
|
return erg
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+2
-2
@@ -27,10 +27,10 @@ export const properties_collection = 'pptest'
|
|||||||
|
|
||||||
export const connectMongo = async () => {
|
export const connectMongo = async () => {
|
||||||
try {
|
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, { useNewUrlParser: true , useUnifiedTopology: true })
|
||||||
let client = await MongoClient.connect(MONGO_URL)
|
let client = await MongoClient.connect(MONGO_URL)
|
||||||
logit(`Mongodbase connected to ${MONGO_URL}`)
|
// logit(`Mongodbase connected to ${MONGO_URL}`)
|
||||||
return client
|
return client
|
||||||
}
|
}
|
||||||
catch(error){
|
catch(error){
|
||||||
|
|||||||
+2
-2
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"name": "sensorapi",
|
"name": "sensorapi",
|
||||||
"version": "1.2.1",
|
"version": "1.2.2",
|
||||||
"date": "2023-04-21",
|
"date": "2023-04-24",
|
||||||
"private": true,
|
"private": true,
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"start": "node ./bin/www.js",
|
"start": "node ./bin/www.js",
|
||||||
|
|||||||
+2
-1
@@ -8,7 +8,8 @@ import * as getAKWs from "../actions/getAKWData.js";
|
|||||||
import * as holAddr from "../actions/getaddress.js";
|
import * as holAddr from "../actions/getaddress.js";
|
||||||
|
|
||||||
export const apiRouter = express.Router();
|
export const apiRouter = express.Router();
|
||||||
export const chartapiRouter = express.Router();
|
import { logit, logerror } from '../utilities/logit.js'
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
const cmdTable = [
|
const cmdTable = [
|
||||||
|
|||||||
+47
-38
@@ -206,6 +206,16 @@ async function getdavgData(opts) {
|
|||||||
return {err: erg.err, values: val}
|
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
|
// getdaynightData
|
||||||
@@ -246,31 +256,30 @@ async function getdaynightData(opts) {
|
|||||||
// The received hourly data array always (!!) starts at 0h00 local (!) time.
|
// 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
|
// 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
|
// 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 dsum = 0, dcnt = 0;
|
||||||
let nsum = 0, ncnt = 0;
|
let nsum = 0, ncnt = 0;
|
||||||
let werte = {};
|
let werte = {};
|
||||||
for (let k = 0; k < 16; k++, i++) {
|
for (let k = 0; k < 16; k++, i++) {
|
||||||
const item = erg.values[i]
|
if ( i < length) {
|
||||||
if (item.n_sum != -1) {
|
const item = erg.values[i]
|
||||||
if (werte.datetime === undefined) {
|
if (item.n_sum != -1) {
|
||||||
let dt = DateTime.fromISO(item.datetime, {zone: 'utc'})
|
addDatetime(werte, item)
|
||||||
werte.datetime = dt.startOf('day').toISO()
|
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]
|
const item = erg.values[i]
|
||||||
for (let k = 0; k < 8; k++, i++) {
|
for (let k = 0; k < 8; k++, i++) {
|
||||||
if (item.n_sum != -1) {
|
if (i < length) {
|
||||||
if (werte.datetime === undefined) {
|
if (item.n_sum != -1) {
|
||||||
let dt = DateTime.fromISO(item.datetime, {zone: 'utc'})
|
addDatetime(werte, item)
|
||||||
werte.datetime = dt.startOf('day').toISO()
|
nsum += item.n_sum;
|
||||||
|
ncnt += item.count;
|
||||||
}
|
}
|
||||||
nsum += item.n_sum;
|
|
||||||
ncnt += item.count;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
@@ -348,44 +357,42 @@ async function getLdenData(opts) {
|
|||||||
// So to calculate day values, we skip the first 6 hour and start from there
|
// 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
|
// now we add 12 hour for day and following 4 hour for evening and
|
||||||
// additional 8 hours for night
|
// 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 dsum = 0, dcnt = 0;
|
||||||
let nsum = 0, ncnt = 0;
|
let nsum = 0, ncnt = 0;
|
||||||
let esum = 0, ecnt = 0;
|
let esum = 0, ecnt = 0;
|
||||||
let werte = {};
|
let werte = {};
|
||||||
let dayAVG = 0, evnAVG = 0, nightAVG = 0;
|
let dayAVG = 0, evnAVG = 0, nightAVG = 0;
|
||||||
for (let k = 0; k < 12; k++, i++) {
|
for (let k = 0; k < 12; k++, i++) {
|
||||||
const item = erg.values[i]
|
if ( i < length) {
|
||||||
if (item.n_sum != -1) {
|
const item = erg.values[i]
|
||||||
if (werte.datetime == undefined) {
|
if (item.n_sum != -1) {
|
||||||
let dt = DateTime.fromISO(item.datetime, {zone: 'utc'})
|
addDatetime(werte, item)
|
||||||
werte.datetime = dt.startOf('day').toISO()
|
dsum += item.n_sum;
|
||||||
|
dcnt += item.count;
|
||||||
}
|
}
|
||||||
dsum += item.n_sum;
|
|
||||||
dcnt += item.count;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
for (let k = 0; k < 4; k++, i++) {
|
for (let k = 0; k < 4; k++, i++) {
|
||||||
const item = erg.values[i]
|
if ( i < length) {
|
||||||
if (item.n_sum != -1) {
|
const item = erg.values[i]
|
||||||
if (werte.datetime == undefined) {
|
if (item.n_sum != -1) {
|
||||||
let dt = DateTime.fromISO(item.datetime, {zone: 'utc'})
|
addDatetime(werte, item)
|
||||||
werte.datetime = dt.startOf('day').toISO()
|
esum += item.n_sum;
|
||||||
|
ecnt += item.count;
|
||||||
}
|
}
|
||||||
esum += item.n_sum;
|
|
||||||
ecnt += item.count;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (i < (erg.values.length - 8)) {
|
if (i < (erg.values.length - 8)) {
|
||||||
for (let k = 0; k < 8; k++, i++) {
|
for (let k = 0; k < 8; k++, i++) {
|
||||||
const item = erg.values[i]
|
if (i < length) {
|
||||||
if (item.n_sum != -1) {
|
const item = erg.values[i]
|
||||||
if (werte.datetime == undefined) {
|
if (item.n_sum != -1) {
|
||||||
let dt = DateTime.fromISO(item.datetime, {zone: 'utc'})
|
addDatetime(werte, item)
|
||||||
werte.datetime = dt.startOf('day').toISO()
|
nsum += item.n_sum;
|
||||||
|
ncnt += item.count;
|
||||||
}
|
}
|
||||||
nsum += item.n_sum;
|
|
||||||
ncnt += item.count;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} 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
|
// 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
|
// 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}.
|
// 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
|
hoursArr.fill(emptyValues) // fill array with 'empty' values
|
||||||
let startDay = DateTime.fromISO(ret.values[0].datetime, {zone: 'utc'}).get('day') // calc first day
|
let startDay = DateTime.fromISO(ret.values[0].datetime, {zone: 'utc'}).get('day') // calc first day
|
||||||
let k = 0
|
let k = 0
|
||||||
|
|||||||
Reference in New Issue
Block a user