Fixing hourly

This commit is contained in:
2026-06-27 01:33:16 -04:00
parent 765335369c
commit bea55ac448

View File

@@ -45,12 +45,14 @@ export async function queryHourly(start, end) {
results.forEach(r => {
r.values.forEach(([ts, val]) => {
if(r.metric.__name__.startsWith('system_')) return;
const time = new Date(ts * 1000);
const time = new Date(ts * 1000).toISOString().slice(0, 13) + ':00';
if (!byTime[time]) byTime[time] = {time};
byTime[time][r.metric.__name__.replace('weather_', '')] = parseFloat(val);
});
});
return Object.values(byTime).sort((a, b) => a.time.localeCompare(b.time));
return Object.values(byTime)
.sort((a, b) => a.time.localeCompare(b.time))
.map(r => ({ ...r, time: new Date(r.time) }));
}
export async function queryDaily(start, end) {
@@ -68,7 +70,7 @@ export async function queryDaily(start, end) {
means.forEach(r => {
r.values.forEach(([ts, val]) => {
if(r.metric.__name__.startsWith('system_')) return;
const time = new Date(ts * 1000);
const time = new Date(ts * 1000).toISOString().slice(0, 10);
if (!byTime[time]) byTime[time] = {time};
byTime[time][r.metric.__name__.replace('weather_', '')] = parseFloat(val);
});
@@ -77,7 +79,7 @@ export async function queryDaily(start, end) {
mins.forEach(r => {
if (r.metric.__name__ !== 'temperature') return;
r.values.forEach(([ts, val]) => {
const time = new Date(ts * 1000);
const time = new Date(ts * 1000).toISOString().slice(0, 10);
if (!byTime[time]) byTime[time] = {time};
byTime[time].env_temp_min_c = parseFloat(val);
});
@@ -86,13 +88,15 @@ export async function queryDaily(start, end) {
maxs.forEach(r => {
if (r.metric.__name__ !== 'temperature') return;
r.values.forEach(([ts, val]) => {
const time = new Date(ts * 1000);
const time = new Date(ts * 1000).toISOString().slice(0, 10);
if (!byTime[time]) byTime[time] = {time};
byTime[time].env_temp_max_c = parseFloat(val);
});
});
return Object.values(byTime).sort((a, b) => a.time.localeCompare(b.time));
return Object.values(byTime)
.sort((a, b) => a.time.localeCompare(b.time))
.map(r => ({ ...r, time: new Date(r.time) }));
}
export async function getCoords() {