diff --git a/actions/data4map.js b/actions/data4map.js index d934bea..285b1b5 100644 --- a/actions/data4map.js +++ b/actions/data4map.js @@ -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: { diff --git a/databases/influx.js b/databases/influx.js index 7a59ba6..9eb28bb 100644 --- a/databases/influx.js +++ b/databases/influx.js @@ -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 } diff --git a/databases/mongo.js b/databases/mongo.js index 9410104..069ff1a 100644 --- a/databases/mongo.js +++ b/databases/mongo.js @@ -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){ diff --git a/package.json b/package.json index fa3c540..f90b92e 100644 --- a/package.json +++ b/package.json @@ -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", diff --git a/routes/api.js b/routes/api.js index 12de650..dbec974 100644 --- a/routes/api.js +++ b/routes/api.js @@ -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 = [ diff --git a/sensorspecials/noise.js b/sensorspecials/noise.js index 7bd64bb..be473de 100644 --- a/sensorspecials/noise.js +++ b/sensorspecials/noise.js @@ -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