"""Seed the database with sample sensor data.""" import random from datetime import datetime, timedelta, timezone from app import create_app from models import Sensor, SensorReadout, db def seed(): app = create_app() with app.app_context(): sensors = [ Sensor(name="outdoor-station"), Sensor(name="indoor-unit"), Sensor(name="greenhouse-probe"), ] db.session.add_all(sensors) db.session.flush() types = ["temperature", "pressure", "humidity"] base_time = datetime.now(timezone.utc) - timedelta(seconds=30 * 300) readouts = [] for sensor in sensors: t = base_time for i in range(300): readouts.append( SensorReadout( sensor_id=sensor.id, type="temperature", value=round(random.uniform(18.0, 28.0), 2), timestamp=t, ) ) readouts.append( SensorReadout( sensor_id=sensor.id, type="pressure", value=round(random.uniform(1008.0, 1018.0), 2), timestamp=t, ) ) readouts.append( SensorReadout( sensor_id=sensor.id, type="humidity", value=round(random.uniform(35.0, 65.0), 2), timestamp=t, ) ) t += timedelta(seconds=30) db.session.add_all(readouts) db.session.commit() sensor_count = Sensor.query.count() readout_count = SensorReadout.query.count() print(f"Seeded {sensor_count} sensors and {readout_count} readouts.") if __name__ == "__main__": seed()