Team’s Status Report for 15/02/25

Risks

  1. Need to test how different LP solvers (CVX, PuLP etc) output different results for the optimization and choose which one is the most accurate at reducing energy consumption cost

Changes

Direct communication between the ESP32 and Django backend for storing load consumption data

Schedule & Progress

  • Optimization algorithm framework finalized
  • Design specifications (including components in the embedded layer, ML model, backend and mobile app and communication protocols between these finalized)
  • Design presentation done
  • external API libraries and datasets (and data collection mechanisms for ML models) identified
  • Sketched up a model of the demo house with dimensions and ordered materials accordingly.

    Additional Weekly Questions (A written by anyab, B written by Erika , C written by Maya)
  • Part A :
  • Health: SmartWatt contributes to community health by reducing reliance on non-renewable energy sources (increasing reliance on solar panel energy, which will help decrease air pollution in the long run through all of the fossil fuels that haven’t burnt). Additionally, SmartWatt has an optimization function that maximizes consumption of solar power, thereby reducing the need for drawing power off the grid
  • Welfare: By optimizing energy costs and enhancing efficiency, SmartWatt supports economic welfare, reducing household energy expenses and ensuring consistent power availability for essential needs.
  • Safety : Users can see what their power consumption for different appliances are, and can determine if an appliance is faulty based off the power profile.
  • B : SmartWatt, our household energy optimization and monitoring system, addresses the growing need for sustainable energy management within residential communities. Rising energy costs and increasing awareness of climate change have created a strong societal demand for solutions that reduce consumption, lower utility bills, and promote environmentally responsible behavior. SmartWatt empowers homeowners to monitor and optimize their energy use through real-time analytics, personalized recommendations, and automated control of appliances. By reducing energy waste, SmartWatt not only decreases household expenses but also contributes to broader efforts to lower carbon emissions and combat climate change—issues that affect society as a whole.Socially, SmartWatt fosters a culture of energy-conscious living within neighborhoods and communities. The platform can be extended to include social features that allow users to compare their energy savings with neighbors, participate in local energy-saving challenges, and share tips, encouraging collective action toward sustainability. Additionally, SmartWatt’s affordability and user-friendly interface ensure accessibility for diverse socioeconomic groups, helping low-income households reduce utility costs and alleviate energy poverty. By promoting sustainable habits and supporting energy equity, SmartWatt advances social and environmental responsibility, creating a positive impact on both individuals and their communities

C: Consideration of Economic Factors

SmartWatt is designed to optimize energy consumption in residential homes, directly impacting economic factors by reducing household electricity costs. By integrating real-time monitoring, predictive analytics, and automation, SmartWatt ensures that homeowners can minimize unnecessary energy expenditure, ultimately leading to lower utility bills. The optimization algorithms leverage data from smart sensors to shift power usage to off-peak hours, allowing users to take advantage of lower electricity rates where time-of-use pricing is available.

On a broader scale, SmartWatt contributes to economic efficiency by reducing strain on power grids, decreasing the demand for expensive energy production during peak times. The system also enables better load balancing, which can prevent overuse and extend the lifespan of household appliances, reducing replacement and maintenance costs over time. By making energy management more accessible and cost-effective, SmartWatt supports economic sustainability and affordability, ensuring long-term financial benefits for users while promoting responsible energy consumption at a larger scale.

However, the initial cost may be high as many appliances will need to be wired into Home Assistant for both control and monitoring. With stuff like the ESPHome it is a lot cheaper given some technical knowledge

Anya’s Status Report for 15/02/25

[Code can be viewed at : https://github.com/erika-24/smart-watt]

  1. Defined system parameters for power optimization (including the decision variables, established constraints for battery and load management, and objective function which is a function of grid power and solar energy produced)
  2.  Started working on an optimization class that balances energy production, consumption, and storage.
  • Utilized linear programming to optimize deferrable loads.
  • Considered cost function variations: profit, cost minimization, and self-consumption.
  • Used PuLP LP solver to solve the problem.
  • Ran preliminary simulations on sample energy dataFinalized System Components
    • Selected SQLite as the database for storing load consumption and power data, as well as outputs from the ML model
    • Chose appropriate power sensors (INA226) and relay switches, as well as load profiles for the appliances for our model house
    • Defined the embedded layer for system control (including all interactions between RPi5, Django backend, ML model, circuit components)

Completed the block diagrams for the design presentation and went over it as I will be presenting this week

Schedule & Progress



Waiting on Maya to send me real-time power consumption data once the power sensors arrive, so while the load consumption forecast model is almost done, it needs to be trained on real time data. I would say I am on schedule.

Next Steps

  • Implement improvements to the LP solver configuration (including implementing the self consumption objective function)
  • Begin integration with IoT power monitoring system (research how HTTP requests between ESP32 and the backend occur)
  • Conduct further simulations to validate the algorithm’s robustness (on more real-time load consumption data)
  • Start working on generating a data frame for grid pricing (via API calls)

 

Erika’s Status Report for 2/8/2025

This week, my team presented our proposal to the class. Taking what I learned from the presentation’s feedback, I wrote up an overarching plan for my capstone project. Then, I researched components and implementation ideas. I spent time refining my approach, identifying key technical considerations, and ensuring the feasibility of my design. This foundational work helped me map out the next steps for development.

My progress is on schedule, as I focused on planning and research to ensure a smooth transition into prototyping. If any unforeseen delays arise, I will allocate additional time to testing and debugging to stay on track.

Next week, I aim to finalize my component selection, begin ordering necessary parts, and start initial circuit and system design.

Team Status Report for 02-08-2025

Presented the proposal to the class

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
  • Set up home assistant instance
  • Connect ESPHome to home assistant
  • We have researched and validated the necessary electronics components to execute our plan

 

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