Skip to content
David edited this page Feb 5, 2024 · 27 revisions

Welcome to the emhass wiki!

This is the roadmap of this project.

The Add-On for Home Assistant OS users is available here: https://github.com/davidusb-geek/emhass-add-on

TODO

New functionalities

  • Introduce the modeling of constraints during optimization for a thermal energy storage (see Peter Pflaum Thesis: http://www.theses.fr/2017GREAT006).
  • Support for EVs (see Peter Pflaum Thesis).
  • Support modeling of a heat pump. See: Langer et al paper https://arxiv.org/pdf/2009.02349v2.pdf
  • Support V2H and V2G scenarios. See: https://www.sciencedirect.com/science/article/pii/S0306261921014586#s0010
  • Add elasticity to LP formulation in case on infeasible solution.
  • Support for functioning hour period for each deferrable load.
  • Let the user choose the type of mount: TEMPERATURE_MODEL_PARAMETERS['sapm']
  • Add constraint to limit the number of battery cycles
  • Add additional weights to cost functions
  • Create a plotting script to visualize the optimization results.
  • Propose multiple types of cost functions: profit maximization, self-consumption maximization, etc
  • Integrate the possibility of variable tariffs, for purshasing and selling energy to the grid.
  • Support for list of inverters, see: get_power_from_weather in forecast class.
  • Implement an energy management with a Model Predictive Control approach. Consider implementing the receiding horizon approach.
  • Add total energy constraint for each deferrable load.
  • Battery SOC should be an input. For now only SOCinit=SOCend simulations are implemented
  • Add a web server app to run the complete module. This will be the webserver used in the add-on. Separate usage in standalone mode in docker container or in HA add-on mode.
  • Add simple graphics explaining what is this?
  • Expand use case, add battery, test EV as battery with P_discharge=0
  • Allow custom names in published data

Refactoring

  • Change to cvxpy instead of pulp. It is more efficient and better maintained, support more functionalities and allows for direct matrix modeling.
  • Refactor the webui, switch to streamlit.

Related to forecasting improvement

  • Define the type of forecast that should be used from the configuration file.
  • Move get_load_unit_cost from optimization to forecast class: define forecast methods for load and PV production prices.
  • Add simple integration of current/now values for PV and load forecast. This is important for MPC applications with high optimization frequencies. The new forecast can be computed using a mixed one-observation presistnace model and the forecasted values from the current method. This can be the equation for this: $P^{mix}{PV} = \alpha \hat{P}{PV}(k) + \beta P_{PV}(k-1)$
  • Test with LTSM with or without Autoencoders. This was tested using darts and pycaret, but in the end these modules dependencies are too complex to handles and the resulting containers are too big in size (GB's!).
  • Improve load forecasting using a time series forecast algorithm. Some tests were made with fbprophet but results are not completly satisfactory. The model needs some regressors for more accuracy.

Packaging, HA integration, testing

  • EMHASS hass been tested in Home Assistant Core. It need to be tested on Home Assistant Operating System and Home Assistant Container.
  • Create an EMHASS add-on for even easier installation on Home Assistant Operating System and Home Assistant Supervised.
  • Improve testing to be used with no running hass instance.
  • Package everything in a docker container.
  • Package as a docker container with a new Dockerfile simpler than in the add-on
Clone this wiki locally