feat: Remove test scenario functionality and update related components for real MQTT data usage

This commit is contained in:
Siwat Sirichai 2025-06-21 15:35:24 +07:00
parent fd8cacd62b
commit 738ae59c69
5 changed files with 36 additions and 290 deletions

View file

@ -9,7 +9,7 @@ export interface SensorDataPoint {
value: number; // Changed from pressure to value (0-4095)
timestamp: number;
time: string;
source: 'hardware' | 'mock';
source: 'hardware';
pin?: number;
digitalState?: number;
}
@ -93,39 +93,24 @@ export class SensorDataStorage {
async forceSave() {
await this.saveData();
}
// Generate time series data for a specific timespan
} // Generate time series data for a specific timespan
generateTimeSeriesData(
sensorData: SensorDataPoint[],
timespan: number = 24 * 60 * 60 * 1000
): Array<{ time: string; timestamp: number; value: number }> {
if (sensorData.length === 0) {
// Generate mock data if no real data exists
return this.generateMockTimeSeriesData(timespan);
// Return empty array if no real data exists
return [];
}
return sensorData.map(point => ({
// Filter data by timespan
const cutoffTime = Date.now() - timespan;
const filteredData = sensorData.filter(point => point.timestamp > cutoffTime);
return filteredData.map(point => ({
time: point.time,
timestamp: point.timestamp,
value: point.value
}));
}
private generateMockTimeSeriesData(timespan: number): Array<{ time: string; timestamp: number; value: number }> {
const data = [];
const now = Date.now();
const interval = Math.max(1000, timespan / 288); // At least 1 second intervals, up to 288 points
for (let i = timespan; i >= 0; i -= interval) {
const timestamp = now - i;
const time = new Date(timestamp);
data.push({
time: time.toLocaleTimeString("en-US", { hour12: false }),
timestamp: timestamp,
value: Math.floor(Math.random() * 4096 + Math.sin(i / 60000) * 500 + 2000), // 0-4095 range
});
}
return data;
}
}