Team Status Report for 02-08-2025

Risks : 

  1. Right now, our load forecasting model is trained on synthetic data. Main risk is overfitting to synthetic data. Once we switch to real-time power consumption logs from ESP32 sensors, our model may struggle to adapt to real-world variations such as sudden spikes in energy usage (a heater turning on) or unusual load drops (someone turning off all appliances).

Mitigation : Collect real IoT data logs from ESPHome devices to improve model accuracy. Implement outlier detection to ignore unusual spikes or drops in power usage. Use XGBoost & RandomForest models, which handle nonlinear patterns better. Will plan to use multiple forecasting models (XGBoost, ARIMA, LSTMs) and use ensemble methods to combine predictions.

2. The reliability and quality of the optimization algorithms are directly dependent on the quality of the forecast data (for load forecasting + solar power + grid prices). Lower forecast errors lead to more accurate optimization results, whereas high forecast errors can lead to bad optimization outcomes

Changes : 

No significant design changes have been made to the system yet.

Progress:

  • Solcast API integration for access to real-time weather forecasts
  • Load forecasting module that predicts load for next 24h within household

 

Maya’s Status Report for 2025-02-08

## Progress This Week:
1. **Home Assistant Setup:**
– Successfully installed Home Assistant in a Docker container on a Raspberry Pi 5.
– Configured basic settings, including network connectivity and user interface customization.
– Ensured stable operation and tested core functionalities.

2. **ESPHome Integration:**
– Set up ESPHome on an ESP32 device for real-time sensor data collection and ability to control devices
– Established a stable connection between ESPHome and Home Assistant.
– Began integrating initial sensors for monitoring energy consumption.

3. **Initial Integration and Testing:**
– Successfully connected Home Assistant with ESPHome for data transmission.
– Verified real-time data logging and responsiveness of the system.
– Identified potential areas for improvement in communication latency and data accuracy.

## Challenges Encountered:
– Minor connectivity issues between ESP32 and Home Assistant, requiring additional troubleshooting.
– Need for additional sensors and actuators to improve data collection and power optimization insights.

## Next Steps:
– Expand ESPHome integration with additional sensors for more comprehensive energy monitoring.
– Optimize Raspberry Pi and Docker settings to enhance performance and reliability.
– Begin logging and analyzing power consumption trends for future optimization strategies.
– Possibly switch to a more robust communication protocol between the ESP32 and Pi

## Conclusion:
This week marked a significant step forward with the successful setup of Home Assistant and ESPHome. Moving forward, the focus will be on refining integrations, expanding sensor/actuator coverage, and implementing automation for improved energy efficiency.

Anya’s Status Report for 2/8/25

Work Accomplished  (code available at https://github.com/erika-24/smart-watt)

  • Started working on a ML-based time-series forecasting model to predict load demand from training dataset (semi-synthetic for now). Used skforecast models (LinearRegression, ElasticNet, KNeighborsRegressor, RandomForestRegressor, XGBoost).
  • Some challenges while writing code : How to handle missing values in data. I used forward fill and backward fill for now, will try using other interpolation methods as well as see what the output looks like if rows with missing data are deleted.Final output: Generated a 48-step ahead forecast (30-minute intervals) for future load demand.

For the photovoltaic power output forecast,

  • Integrated Solcast API to fetch solar power forecast data for energy optimization.
  • Implemented API calls with rooftop ID and API key authentication.
  • Parsed JSON responses and converted them into Pandas DataFrames for easier analysis

I also started doing research on the cost function and objective functions as well as constraints to optimize.  The approach will likely be a combination of linear programming (objective fn is affine) and model predictive control.

Progress :

My progress is on track with regards to the Gantt Chart. I set up synthetic data pipeline for now, but will switch to live IoT device logs.

Things to do for next week:

Current Approach: Using synthetic training data for load forecasting.
Next Step:  Retrieve real-time power consumption logs from IoT/smart meter devices that we plan to use for the demo.
1.  Set up an IoT device integration (ESP32 with a smart plug for getting power consumption data).
2. Use MQTT or ESPHome API to stream real-time power consumption data.
3.  Store device logs in InfluxDB or a time-series database.

Current Approach: Integrated PV output from Solcast, but not yet synchronized with load forecasts.
Next Step: Merge solar and load forecasts to optimize energy storage & grid consumption.

Action Plan:
1. Align solar forecast timestamps with predicted load timestamps.
2. Start implementing the optimization algorithm (Linear Programming, MPC) to balance solar vs. grid power usage

3. Evaluate forecasting accuracy with r2_score and MAE/RMSE

4. Implement hyperparameter tuning for XGBoost to improve accuracy