so, nächstes Problem.
Das Script funktioniert, jedoch stürzt der Javascript Adapter bei Fehlern ab.
Ich wollte es nun in ein try / catch verpacken.
Der Adapter stürzt jetzt zwar nicht mehr ab, aber der Fehler wird bei catch nicht sauber in der Konsole ausgegeben.
Wo liegt mein Fehler?
try {
return new Promise((resolve, reject) => {
let Ergebnis = 0
let settings = [
'import "timezone"',
'import "date"',
'option location = timezone.location(name: "Europe/Berlin")',
'from(bucket: "'+Bucket+'")',
'|> range(start: -'+Start+')',
'|> filter(fn: (r) => r["_measurement"] == "'+Datenpunkt+'")',
'|> filter(fn: (r) => r["_field"] == "value")',
'|> aggregateWindow(every: '+Aggregation+', fn: '+fn+', createEmpty: false) ',
].join('');
sendTo('influxdb.0', 'query', settings, function (query) {
Ergebnis = query.result[0].map(elm => ({
t: (elm.ts !== null && elm.ts !== undefined) ? elm.ts : null,
y: (elm._value !== null && elm._value !== undefined) ? elm._value : null
}))
resolve(Ergebnis)
})
})
} catch (error) {
console.warn(error)
}