feat: Remove test scenario functionality and update related components for real MQTT data usage
This commit is contained in:
parent
fd8cacd62b
commit
738ae59c69
5 changed files with 36 additions and 290 deletions
|
@ -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;
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue