Recent Releases of EHMASS
EHMASS - EMHASS version 0.18.1
Improvement
- feat: mask the demand/capacity charge to a tariff demand window (capacity_charge_window) (@hossamnagy)
- Preparing new release v0.18.0 (@davidusb-geek)
Documentation
- docs: add forecast-to-MPC study (@OEB11)
Fix
- fix: size the mlforecaster load forecast history retrieval from the trained model's lags (#1067) (@LesIT1)
- fix: tighten the battery identification RTE guardrail to reject near-lossless fits (@LesIT1)
- Fix: duplicate forecast_dates when Forecast is constructed on an exact half-interval tie second (@LesIT1)
- fix: battery identification no longer counts throughput across recorder gaps (#1051) (@LesIT1)
- fix: keep the relaxed-LP rescue one-shot so it cannot poison the cached problem (#1048) (@LesIT1)
What's Changed
- fix: keep the relaxed-LP rescue one-shot so it cannot poison the cached problem (#1048) by @LesIT1 in https://github.com/davidusb-geek/emhass/pull/1059
- docs: add forecast-to-MPC study by @OEB11 in https://github.com/davidusb-geek/emhass/pull/1062
- fix: battery identification no longer counts throughput across recorder gaps (#1051) by @LesIT1 in https://github.com/davidusb-geek/emhass/pull/1063
- Fix: duplicate forecast_dates when Forecast is constructed on an exact half-interval tie second by @LesIT1 in https://github.com/davidusb-geek/emhass/pull/1064
- feat: mask the demand/capacity charge to a tariff demand window (capacity_charge_window) by @hossamnagy in https://github.com/davidusb-geek/emhass/pull/1066
- fix: tighten the battery identification RTE guardrail to reject near-lossless fits by @LesIT1 in https://github.com/davidusb-geek/emhass/pull/1070
- fix: size the mlforecaster load forecast history retrieval from the trained model's lags (#1067) by @LesIT1 in https://github.com/davidusb-geek/emhass/pull/1071
New Contributors
- @OEB11 made their first contribution in https://github.com/davidusb-geek/emhass/pull/1062
Full Changelog: https://github.com/davidusb-geek/emhass/compare/v0.18.0...v0.18.1
Energy Systems - Building Energy Monitoring
- Python
Published by davidusb-geek 13 days ago
EHMASS - EMHASS version 0.18.0
EMHASS: The Multi-Battery Update
We are thrilled to announce the next version of EMHASS! The headliner for this release is a massive step forward for advanced energy management: Multi-Battery Support.
This highly requested feature allows EMHASS to model and optimize multiple independent batteries simultaneously. This is a game-changer for homes with an Electric Vehicle (EV) alongside stationary home storage, allowing you to manage and optimize their charge/discharge cycles independently.
Alongside multi-battery support, this release brings adaptive conformal inference for PV forecasting, new documentation recipes, and a healthy dose of bug fixes and stability improvements.
A huge thank you to all the contributors who made this release possible!
Improvement
- feat: per-battery identification at number_of_batteries > 1 (@LesIT1)
- feat: self-tune PV forecast bias via adaptive conformal inference (#841) (@Whatsonyourmind)
- feat: support N stationary batteries via the deferrable-loads array pattern (#610 phase 1) (@LesIT1)
Documentation
- docs: re-green Code Quality by formatting the heat topology example (@LesIT1)
- docs: fix ruff formatting (@JoshC1994)
- docs: add the missing heat topology guide (@mohammadrezwankhan)
- docs(cookbook): demand / capacity charge recipe (#623) (@Whatsonyourmind)
Fix
- fix: keep the optim path load history index tz-aware (#1036) (@LesIT1)
- fix: exempt battery identification sensors from the set_zero_min clip (@LesIT1)
- fix: infer publish-data index frequency from the saved CSV (#976) (@LesIT1)
- fix: re-normalise per-load deferrable arrays after runtime overrides (#1040) (@LesIT1)
- fix: warn when a runtime scalar masks a configured per-battery list (#1032 follow-up) (@LesIT1)
- fix: Fix datetime TypeError in _get_closest_index (@davidusb-geek)
- fix: bound set_nodischarge_to_grid export by PV surplus, not raw PV (#795 regression) (@petrister)
- fix: exclude curtailed timesteps from the adjusted PV forecast training data (@scruysberghs)
- fix: continuous time-of-day encoding for the adjusted PV forecast (removes hour-boundary sawtooth) (@scruysberghs)
- fix: weather-forecast-cache never refreshes a stale Solcast cache (#1016) (@SpengeSec)
What's Changed
- fix: exclude curtailed timesteps from the adjusted PV forecast training data by @scruysberghs in https://github.com/davidusb-geek/emhass/pull/1027
- fix: Fix datetime TypeError in _get_closest_index by @davidusb-geek in https://github.com/davidusb-geek/emhass/pull/1029
- fix: bound set_nodischarge_to_grid export by PV surplus, not raw PV (#795 regression) by @petrister in https://github.com/davidusb-geek/emhass/pull/1028
- docs(cookbook): demand / capacity charge recipe (#623) by @Whatsonyourmind in https://github.com/davidusb-geek/emhass/pull/1031
- fix: continuous time-of-day encoding for the adjusted PV forecast (removes hour-boundary sawtooth) by @scruysberghs in https://github.com/davidusb-geek/emhass/pull/1025
- feat: support N stationary batteries via the deferrable-loads array pattern (#610 phase 1) by @LesIT1 in https://github.com/davidusb-geek/emhass/pull/1032
- fix: warn when a runtime scalar masks a configured per-battery list (#1032 follow-up) by @LesIT1 in https://github.com/davidusb-geek/emhass/pull/1037
- style: strip whitespace from two blank lines that landed with #1025 by @LesIT1 in https://github.com/davidusb-geek/emhass/pull/1038
- docs: add the missing heat topology guide by @mohammadrezwankhan in https://github.com/davidusb-geek/emhass/pull/1039
- feat: self-tune PV forecast bias via adaptive conformal inference (#841) by @Whatsonyourmind in https://github.com/davidusb-geek/emhass/pull/1043
- docs: fix ruff formatting by @JoshC1994 in https://github.com/davidusb-geek/emhass/pull/1044
- feat: per-battery identification at number_of_batteries > 1 by @LesIT1 in https://github.com/davidusb-geek/emhass/pull/1046
- docs: re-green Code Quality by formatting the heat topology example by @LesIT1 in https://github.com/davidusb-geek/emhass/pull/1050
- fix: re-normalise per-load deferrable arrays after runtime overrides (#1040) by @LesIT1 in https://github.com/davidusb-geek/emhass/pull/1054
- fix: infer publish-data index frequency from the saved CSV (#976) by @LesIT1 in https://github.com/davidusb-geek/emhass/pull/1055
- fix: exempt battery identification sensors from the set_zero_min clip by @LesIT1 in https://github.com/davidusb-geek/emhass/pull/1056
- fix: keep the optim path load history index tz-aware (#1036) by @LesIT1 in https://github.com/davidusb-geek/emhass/pull/1057
- fix: weather-forecast-cache never refreshes a stale Solcast cache (#1016) by @SpengeSec in https://github.com/davidusb-geek/emhass/pull/1017
- Preparing new release v0.18.0 by @davidusb-geek in https://github.com/davidusb-geek/emhass/pull/1058
New Contributors
- @petrister made their first contribution in https://github.com/davidusb-geek/emhass/pull/1028
- @Whatsonyourmind made their first contribution in https://github.com/davidusb-geek/emhass/pull/1031
- @mohammadrezwankhan made their first contribution in https://github.com/davidusb-geek/emhass/pull/1039
- @JoshC1994 made their first contribution in https://github.com/davidusb-geek/emhass/pull/1044
- @SpengeSec made their first contribution in https://github.com/davidusb-geek/emhass/pull/1017
Full Changelog: https://github.com/davidusb-geek/emhass/compare/v0.17.9...v0.18.0
Energy Systems - Building Energy Monitoring
- Python
Published by davidusb-geek 25 days ago
EHMASS - EMHASS version 0.17.9
Improvement
- Make set_battery_first_priority a soft penalty so it cannot cause infeasibility (#1002) (@LesIT1)
- feat: add forecast-calibration action to compare load forecast methods on your own history (#993) (@LesIT1)
- feat: Opt-in battery self-identification (learn capacity + round-trip efficiency from HA history) (@LesIT1)
- feat(api): add GET /api/v1/plan structured plan output (@OptimalNothing90)
Fix
- fix: guard get_mix_forecast against a missing sensor column (#764) (@LesIT1)
- fix: plumb soc_final through dayahead-optim (#1002) (@twobeass)
- fix: Catch UnicodeDecodeError on torn pickle cache reads in web_server (@hossamnagy)
- fix: hold-last fill for dict forecasts with pre-horizon points (#1003) (@LesIT1)
What's Changed
- feat(api): add GET /api/v1/plan structured plan output by @OptimalNothing90 in https://github.com/davidusb-geek/emhass/pull/995
- fix: hold-last fill for dict forecasts with pre-horizon points (#1003) by @LesIT1 in https://github.com/davidusb-geek/emhass/pull/1004
- feat: Opt-in battery self-identification (learn capacity + round-trip efficiency from HA history) by @LesIT1 in https://github.com/davidusb-geek/emhass/pull/1007
- feat: add forecast-calibration action to compare load forecast methods on your own history (#993) by @LesIT1 in https://github.com/davidusb-geek/emhass/pull/1008
- fix: Catch UnicodeDecodeError on torn pickle cache reads in web_server by @hossamnagy in https://github.com/davidusb-geek/emhass/pull/1010
- fix: plumb soc_final through dayahead-optim (#1002) by @twobeass in https://github.com/davidusb-geek/emhass/pull/1012
- fix: guard get_mix_forecast against a missing sensor column (#764) by @LesIT1 in https://github.com/davidusb-geek/emhass/pull/1013
- Make set_battery_first_priority a soft penalty so it cannot cause infeasibility (#1002) by @LesIT1 in https://github.com/davidusb-geek/emhass/pull/1014
- Preparing new release v0.17.9 by @davidusb-geek in https://github.com/davidusb-geek/emhass/pull/1019
New Contributors
- @twobeass made their first contribution in https://github.com/davidusb-geek/emhass/pull/1012
Full Changelog: https://github.com/davidusb-geek/emhass/compare/v0.17.8...v0.17.9
Energy Systems - Building Energy Monitoring
- Python
Published by davidusb-geek about 2 months ago
EHMASS - EMHASS version 0.17.8
Improvement
- feat: carry over completed operating timesteps for must-run deferrables (closes #983) (@LesIT1)
- feat: optional minimum off-time per deferrable load (#952) (@LesIT1)
- feat: optional def_current_power to pin a deferrable load's current power at t=0 (#605) (@LesIT1)
- feat: optional minimum on-time per deferrable load (#952) (@LesIT1)
- Document InfluxDB arithmetic expressions for sensor parameters (@dewi-ny-je)
Documentation
- docs(cookbook): add EV recipe - EMHASS as planner, evcc as executor (@LesIT1)
- docs: document deferrable_load_max_cost (optional loads with a cost ceiling) (@LesIT1)
Fix
- fix: atomic entity-file writes so continual_publish survives a partial read (@LesIT1)
- fix(thermal): keep solar gains when pv_power_forecast is passed (#997) (@LesIT1)
- fix(thermal): compute cooling demand for thermal_battery sense=cool (#994) (@LesIT1)
- fix: schedule cooling for shared-tank comfort_sense: cool zones (@Thimpey)
- fix: default lp_solver_mip_rel_gap to 0.01 to avoid deep-horizon solver timeouts (#986) (@LesIT1)
- fix: correct forecast dates when host clock differs from configured timezone (#984) (@LesIT1)
- fix: set_nodischarge_to_grid no longer blocks battery discharge to local load on AC-coupled systems (closes #936) (@LesIT1)
- fix: keep shared-tank sources active when operating_hours == 0 (@Thimpey)
What's Changed
- feat: optional minimum on-time per deferrable load (#952) by @LesIT1 in https://github.com/davidusb-geek/emhass/pull/980
- Document InfluxDB arithmetic expressions for sensor parameters by @dewi-ny-je in https://github.com/davidusb-geek/emhass/pull/977
- feat: optional def_current_power to pin a deferrable load's current power at t=0 (#605) by @LesIT1 in https://github.com/davidusb-geek/emhass/pull/982
- fix: correct forecast dates when host clock differs from configured timezone (#984) by @LesIT1 in https://github.com/davidusb-geek/emhass/pull/985
- fix: set_nodischarge_to_grid no longer blocks battery discharge to local load on AC-coupled systems (closes #936) by @LesIT1 in https://github.com/davidusb-geek/emhass/pull/981
- fix: default lp_solver_mip_rel_gap to 0.01 to avoid deep-horizon solver timeouts (#986) by @LesIT1 in https://github.com/davidusb-geek/emhass/pull/988
- feat: optional minimum off-time per deferrable load (#952) by @LesIT1 in https://github.com/davidusb-geek/emhass/pull/987
- docs: document deferrable_load_max_cost (optional loads with a cost ceiling) by @LesIT1 in https://github.com/davidusb-geek/emhass/pull/989
- fix: keep shared-tank sources active when operating_hours == 0 by @Thimpey in https://github.com/davidusb-geek/emhass/pull/975
- docs(cookbook): add EV recipe - EMHASS as planner, evcc as executor by @LesIT1 in https://github.com/davidusb-geek/emhass/pull/990
- fix: schedule cooling for shared-tank comfort_sense: cool zones by @Thimpey in https://github.com/davidusb-geek/emhass/pull/992
- fix(thermal): compute cooling demand for thermal_battery sense=cool (#994) by @LesIT1 in https://github.com/davidusb-geek/emhass/pull/996
- feat: carry over completed operating timesteps for must-run deferrables (closes #983) by @LesIT1 in https://github.com/davidusb-geek/emhass/pull/998
- fix(thermal): keep solar gains when pv_power_forecast is passed (#997) by @LesIT1 in https://github.com/davidusb-geek/emhass/pull/999
- fix: atomic entity-file writes so continual_publish survives a partial read by @LesIT1 in https://github.com/davidusb-geek/emhass/pull/1001
New Contributors
- @dewi-ny-je made their first contribution in https://github.com/davidusb-geek/emhass/pull/977
- @Thimpey made their first contribution in https://github.com/davidusb-geek/emhass/pull/975
Full Changelog: https://github.com/davidusb-geek/emhass/compare/v0.17.7...v0.17.8
Energy Systems - Building Energy Monitoring
- Python
Published by davidusb-geek 2 months ago
EHMASS - EMHASS version 0.17.7
We are excited to announce the latest release of EMHASS! This version brings highly requested features for battery management, significant upgrades to forecasting, and a solid round of bug squashing.
Here are the major highlights of this release:
Advanced Battery & Power Management
- Intermediate Battery SoC Targets: You can now set an optional intermediate State of Charge (SoC) target for a specific timestep.
- Battery First Priority: A new opt-in feature allows you to drain your battery completely before importing from the grid.
- Smarter Curtailment & Preservation: PV curtailment is now scheduled as late as possible, and we’ve introduced a new battery SoC surplus cost (high-SoC dwell penalty) to help preserve battery health.
Enhanced Forecasting & Machine Learning
- Solcast & Open-Meteo Upgrades: Naive-MPC now auto-extends the forecast window to cover the prediction horizon (enabling multi-day Solcast!). We’ve also added a feature to blend Solcast P50/P10 forecasts and improved Open-Meteo fetching with timeouts and cold-start retries.
- MLForecaster Improvements: You can now add optional weather covariates to the ML forecaster, along with new backtest goodness-of-fit metrics to validate your models.
Cost Optimization & Utility Billing
- Demand Charges: Added opt-in capacity/demand charge calculations that include a billing-period peak floor, perfect for more complex utility tariffs.
- InfluxDB Math: You can now use arithmetic expressions directly in InfluxDB var_list entries.
Stability, UI, & Under-the-Hood
- Better Error Handling: Optimization failures now surface gracefully on publish instead of throwing a generic KeyError. We've also fixed weather cache compatibility issues and spurious startup warnings.
- Developer Goodies: We’ve automated OpenAPI JSON generation, greened our code-quality CI, and added per-deferrable command-state sensors.
- Documentation: The docs have been reorganized for better flow, and we've updated the Cookbook and Use Cases sections.
A huge thank you to all the contributors (@LesIT1, @BrettLynch123, @OptimalNothing90 and @Sjeiz) who helped make this release possible!
Improvement
- feat: support arithmetic expressions in InfluxDB var_list entries (@LesIT1)
- style: green the code-quality CI (ruff format + import sort) (@LesIT1)
- feat: schedule PV curtailment as late as possible (closes #342) (@LesIT1)
- feat: opt-in capacity / demand charge with a billing-period peak floor (#623) (@LesIT1)
- feat: add battery SOC surplus cost (high-SOC dwell penalty) (@LesIT1)
- feat(mlforecaster): add backtest goodness-of-fit metrics and extract _build_weather_future helper (@BrettLynch123)
- feat(forecast): blend Solcast P50/P10 via weather_forecast_pv_quantile_bias (@LesIT1)
- feat: warn on unrecognized thermal_config keys (issue #943) (@LesIT1)
- feat: add set_battery_first_priority to drain battery before grid import (closes #834) (@LesIT1)
- feat: add optional weather covariates to the mlforecaster (#847) (@BrettLynch123)
- ci(codecov): skip Codecov upload on fork PRs so the run check can pass (@LesIT1)
- chore: add prek hook to auto-regenerate openapi.json (@OptimalNothing90)
- forecast: add timeout + cold-start retry to the Open-Meteo fetch (@BrettLynch123)
- feat: add optional per-deferrable command-state sensors (@BrettLynch123)
- test: raise node subprocess timeout to 120s for Windows CI flake (@OptimalNothing90)
- naive-mpc: auto-extend forecast window to cover prediction_horizon (enables multi-day Solcast, #404) (@LesIT1)
- Add optional intermediate battery SoC target (soc_target / soc_target_timestep) — addresses #553 (@LesIT1)
- feat: add openapi.json + auto-generation and drift check (@OptimalNothing90)
Documentation
- docs: rearranged main header Use Casses and Cookbook sections (@davidusb-geek)
- docs: correct stale "integer hours only" claim for operating_hours_of_each_deferrable_load + add regression test (#373) (@LesIT1)
Fix
- fix: keep sequence (list-power) deferrable loads active when operating_hours is 0 (closes #887) (@LesIT1)
- fix: recover from schema-incompatible weather forecast cache (issue #932) (@LesIT1)
- fix(utils): stop spurious deferrable_load_max_cost warning on startup (#929) (@LesIT1)
- fix: regenerate committed openapi.json (stale vs param_definitions) (@LesIT1)
- fix: pass soc_init to dayahead-optim from runtime parameters (@Sjeiz)
- fix: restore hybrid inverter AC power defaults to 5000 (#875) (@OptimalNothing90)
- fix: surface infeasible optimization on publish instead of KeyError (#875) (@OptimalNothing90)
- fix: cap aiohttp<3.13 in test extra for aioresponses compatibility (@OptimalNothing90)
- fix: return HTTP 200 (not 201) from JSON API endpoints (@OptimalNothing90)
- fix: close weather cache file before unlink (Windows WinError 32) (@OptimalNothing90)
What's Changed
- fix: close weather cache file before unlink (Windows WinError 32) by @OptimalNothing90 in https://github.com/davidusb-geek/emhass/pull/924
- fix: cap aiohttp<3.13 in test extra for aioresponses compatibility by @OptimalNothing90 in https://github.com/davidusb-geek/emhass/pull/927
- feat: add openapi.json + auto-generation and drift check by @OptimalNothing90 in https://github.com/davidusb-geek/emhass/pull/921
- fix: return HTTP 200 (not 201) from JSON API endpoints by @OptimalNothing90 in https://github.com/davidusb-geek/emhass/pull/925
- fix: surface infeasible optimization on publish instead of KeyError (#875) by @OptimalNothing90 in https://github.com/davidusb-geek/emhass/pull/933
- test: raise node subprocess timeout to 120s for Windows CI flake by @OptimalNothing90 in https://github.com/davidusb-geek/emhass/pull/938
- naive-mpc: auto-extend forecast window to cover prediction_horizon (enables multi-day Solcast, #404) by @LesIT1 in https://github.com/davidusb-geek/emhass/pull/937
- docs: correct stale "integer hours only" claim for operating_hours_of_each_deferrable_load + add regression test (#373) by @LesIT1 in https://github.com/davidusb-geek/emhass/pull/939
- fix: restore hybrid inverter AC power defaults to 5000 (#875) by @OptimalNothing90 in https://github.com/davidusb-geek/emhass/pull/934
- Add optional intermediate battery SoC target (soc_target / soc_target_timestep) — addresses #553 by @LesIT1 in https://github.com/davidusb-geek/emhass/pull/928
- fix: regenerate committed openapi.json (stale vs param_definitions) by @LesIT1 in https://github.com/davidusb-geek/emhass/pull/945
- feat: add optional per-deferrable command-state sensors by @BrettLynch123 in https://github.com/davidusb-geek/emhass/pull/948
- forecast: add timeout + cold-start retry to the Open-Meteo fetch by @BrettLynch123 in https://github.com/davidusb-geek/emhass/pull/950
- chore: add prek hook to auto-regenerate openapi.json by @OptimalNothing90 in https://github.com/davidusb-geek/emhass/pull/951
- fix(utils): stop spurious deferrable_load_max_cost warning on startup (#929) by @LesIT1 in https://github.com/davidusb-geek/emhass/pull/953
- ci(codecov): skip Codecov upload on fork PRs so the run check can pass by @LesIT1 in https://github.com/davidusb-geek/emhass/pull/954
- fix: recover from schema-incompatible weather forecast cache (issue #932) by @LesIT1 in https://github.com/davidusb-geek/emhass/pull/956
- feat: add set_battery_first_priority to drain battery before grid import (closes #834) by @LesIT1 in https://github.com/davidusb-geek/emhass/pull/957
- feat: add optional weather covariates to the mlforecaster (#847) by @BrettLynch123 in https://github.com/davidusb-geek/emhass/pull/955
- fix: keep sequence (list-power) deferrable loads active when operating_hours is 0 (closes #887) by @LesIT1 in https://github.com/davidusb-geek/emhass/pull/958
- feat(forecast): blend Solcast P50/P10 via weather_forecast_pv_quantile_bias by @LesIT1 in https://github.com/davidusb-geek/emhass/pull/961
- feat: warn on unrecognized thermal_config keys (issue #943) by @LesIT1 in https://github.com/davidusb-geek/emhass/pull/959
- feat(mlforecaster): add backtest goodness-of-fit metrics and extract _build_weather_future helper by @BrettLynch123 in https://github.com/davidusb-geek/emhass/pull/962
- docs: rearranged main header Use Casses and Cookbook sections by @davidusb-geek in https://github.com/davidusb-geek/emhass/pull/965
- fix: pass soc_init to dayahead-optim from runtime parameters by @Sjeiz in https://github.com/davidusb-geek/emhass/pull/942
- feat: add battery SOC surplus cost (high-SOC dwell penalty) by @LesIT1 in https://github.com/davidusb-geek/emhass/pull/964
- feat: opt-in capacity / demand charge with a billing-period peak floor (#623) by @LesIT1 in https://github.com/davidusb-geek/emhass/pull/966
- feat: schedule PV curtailment as late as possible (closes #342) by @LesIT1 in https://github.com/davidusb-geek/emhass/pull/968
- style: green the code-quality CI (ruff format + import sort) by @LesIT1 in https://github.com/davidusb-geek/emhass/pull/972
- feat: support arithmetic expressions in InfluxDB var_list entries by @LesIT1 in https://github.com/davidusb-geek/emhass/pull/973
New Contributors
- @LesIT1 made their first contribution in https://github.com/davidusb-geek/emhass/pull/937
- @Sjeiz made their first contribution in https://github.com/davidusb-geek/emhass/pull/942
Full Changelog: https://github.com/davidusb-geek/emhass/compare/v0.17.6...v0.17.7
Energy Systems - Building Energy Monitoring
- Python
Published by davidusb-geek 3 months ago
EHMASS - EMHASS version 0.17.6
Improvement
- feat: add runtime_params.json (machine-readable runtime param schema) (@OptimalNothing90)
- feat: add /healthz liveness/readiness endpoint (@OptimalNothing90)
- optimization: parameterise battery_*_power_max for cache stability (@BrettLynch123)
- test(resilience): parameterised stringly-typed guard for optim_conf array params (@OptimalNothing90)
- optimization: deactivate deferrables whose [start, end] is entirely outside the horizon (@BrettLynch123)
- retrieve_hass: fetch HA history concurrently with asyncio.gather (@BrettLynch123)
- command_line: stop the OptimizationCache invalidating every MPC tick (@BrettLynch123)
- optimization: split optim_solve into build / solve / extract sub-stages (@BrettLynch123)
- Thermal battery for cooling (#11) (@mime24)
- Add optional max cost threshold for deferred loads. (@lutorm)
- test: add schema-contract and defaults-smoke prevention tests (closes #869) (@OptimalNothing90)
Documentation
- docs(advanced_solvers): add Low-Power Hardware Tuning section (@BrettLynch123)
Fix
- fix: atomic, lock-serialized writes to shared entities/metadata.json (@rmounce)
- fix: restore delete-on-stale behaviour for Open-Meteo forecast cache (@tomvanacker85)
- fix: skip single-constant pin when window is outside horizon (#899, follows #873/#910) (@OptimalNothing90)
- fix: deferrable single-constant pin firing on stringly-typed def_current_state (#873) (@OptimalNothing90)
- fix: repair config page rendering for null-default params (#880, #904) (@OptimalNothing90)
- fix: resolve llms.txt links via html_baseurl (#884) (@OptimalNothing90)
- fix(thermal): sense=null guard + thermal_config cooling dynamics (@OptimalNothing90)
- fix: LP retry silently skips battery/inverter constraints on cached-problem paths (@hossamnagy)
- fix(optimization): guard string-null cost_forecast_per_deferrable_load (@OptimalNothing90)
- fix(utils): guard string-null heat_topology in compile_heat_topology and treat_runtimeparams (@OptimalNothing90)
What's Changed
- test: add schema-contract and defaults-smoke prevention tests (closes #869) by @OptimalNothing90 in https://github.com/davidusb-geek/emhass/pull/882
- fix: LP retry silently skips battery/inverter constraints on cached-problem paths by @hossamnagy in https://github.com/davidusb-geek/emhass/pull/885
- Thermal battery for cooling (#11) by @mime24 in https://github.com/davidusb-geek/emhass/pull/888
- docs(advanced_solvers): add Low-Power Hardware Tuning section by @BrettLynch123 in https://github.com/davidusb-geek/emhass/pull/889
- optimization: split optim_solve into build / solve / extract sub-stages by @BrettLynch123 in https://github.com/davidusb-geek/emhass/pull/891
- retrieve_hass: fetch HA history concurrently with asyncio.gather by @BrettLynch123 in https://github.com/davidusb-geek/emhass/pull/895
- optimization: deactivate deferrables whose [start, end] is entirely outside the horizon by @BrettLynch123 in https://github.com/davidusb-geek/emhass/pull/897
- command_line: stop the OptimizationCache invalidating every MPC tick by @BrettLynch123 in https://github.com/davidusb-geek/emhass/pull/893
- test(resilience): parametrised stringly-typed guard for optim_conf array params by @OptimalNothing90 in https://github.com/davidusb-geek/emhass/pull/901
- fix(thermal): sense=null guard + thermal_config cooling dynamics by @OptimalNothing90 in https://github.com/davidusb-geek/emhass/pull/903
- fix: resolve llms.txt links via html_baseurl (#884) by @OptimalNothing90 in https://github.com/davidusb-geek/emhass/pull/906
- fix: repair config page rendering for null-default params (#880, #904) by @OptimalNothing90 in https://github.com/davidusb-geek/emhass/pull/907
- optimization: parameterise battery_*_power_max for cache stability by @BrettLynch123 in https://github.com/davidusb-geek/emhass/pull/909
- fix: deferrable single-constant pin firing on stringly-typed def_current_state (#873) by @OptimalNothing90 in https://github.com/davidusb-geek/emhass/pull/910
- Add optional max cost threshold for deferred loads. by @lutorm in https://github.com/davidusb-geek/emhass/pull/886
- fix: skip single-constant pin when window is outside horizon (#899, follows #873/#910) by @OptimalNothing90 in https://github.com/davidusb-geek/emhass/pull/913
- feat: add /healthz liveness/readiness endpoint by @OptimalNothing90 in https://github.com/davidusb-geek/emhass/pull/914
- feat: add runtime_params.json (machine-readable runtime param schema) by @OptimalNothing90 in https://github.com/davidusb-geek/emhass/pull/915
- fix: restore delete-on-stale behaviour for Open-Meteo forecast cache by @tomvanacker85 in https://github.com/davidusb-geek/emhass/pull/918
- fix: atomic, lock-serialized writes to shared entities/metadata.json by @rmounce in https://github.com/davidusb-geek/emhass/pull/919
- release: prepared release v0.17.6 by @davidusb-geek in https://github.com/davidusb-geek/emhass/pull/920
New Contributors
- @BrettLynch123 made their first contribution in https://github.com/davidusb-geek/emhass/pull/889
- @tomvanacker85 made their first contribution in https://github.com/davidusb-geek/emhass/pull/918
Full Changelog: https://github.com/davidusb-geek/emhass/compare/v0.17.5...v0.17.6
Energy Systems - Building Energy Monitoring
- Python
Published by davidusb-geek 3 months ago
EHMASS - EMHASS version 0.17.5
Fix
- optimization: Guard against string-null
cost_forecast_per_deferrable_load(#879) - utils: Guard against string-null
heat_topologyincompile_heat_topologyandtreat_runtimeparams(#878)
What's Changed
- fix(utils): guard string-null heat_topology in compile_heat_topology and treat_runtimeparams by @OptimalNothing90 in https://github.com/davidusb-geek/emhass/pull/878
- fix(optimization): guard string-null cost_forecast_per_deferrable_load by @OptimalNothing90 in https://github.com/davidusb-geek/emhass/pull/879
Full Changelog: https://github.com/davidusb-geek/emhass/compare/v0.17.4...v0.17.5
Energy Systems - Building Energy Monitoring
- Python
Published by davidusb-geek 3 months ago
EHMASS - EMHASS version 0.17.4
A hotfix patched version.
Fix
- Config Page Crash Resolved (#872, fixes #869): Fixed a critical UI rendering crash on the configuration page introduced in v0.17.3.
- The JavaScript configuration renderer (
buildParamElement) now safely handlesnulland[null, null]defaults without throwing aTypeError. - Newly added parameter types (
array.array.floatforcost_forecast_per_deferrable_loadandobjectforheat_topology) are now correctly recognized and rendered as editable text inputs containing their JSON strings. - This restores the rendering of deferrable loads, batteries, and the Save/Yaml buttons.
- The JavaScript configuration renderer (
Improvement
- Hybrid Heating & Thermal Storage: Added the
heat_topologygraph model to support complex hybrid heating setups and multi-source thermal storage configurations.
What's Changed
- feat: heat_topology graph model for hybrid heating (multi-source thermal storage) by @snauwaertc in https://github.com/davidusb-geek/emhass/pull/862
- fix(config): guard null defaults and add missing input types in buildParamElement by @OptimalNothing90 in https://github.com/davidusb-geek/emhass/pull/872
- New patched version v0.17.4 by @davidusb-geek in https://github.com/davidusb-geek/emhass/pull/874
Full Changelog: https://github.com/davidusb-geek/emhass/compare/v0.17.3...v0.17.4
Energy Systems - Building Energy Monitoring
- Python
Published by davidusb-geek 3 months ago
EHMASS - EMHASS version v0.17.3
Thermal Upgrades, AI Integrations, and Smarter Control
Version 0.17.3 is a massive release packed with advanced thermal modeling, smarter battery management, and a huge leap forward in developer and AI-agent tooling. Thanks to the hard work of our contributors, EMHASS is now more robust, customizable, and easier to integrate than ever.
Here are the major highlights for this release:
🌡️ Thermal & HVAC Overhaul
We’ve vastly expanded the capabilities of the thermal battery model to support a wider array of real-world heating systems:
- Advanced Weather Modeling: Added weather-compensated supply temperatures, buffer floors, and surface solar gain calculations.
- Broader System Support: Introduced a new constant-efficiency mode to support gas, oil, and district heating systems, plus dedicated support for heat pump group hot water.
- Finer Cost Control: Added per-load cost forecasts for thermal batteries.
🔋 Smarter Battery & Load Logic
Optimization gets a major boost with new constraints and grouping logic:
- Deferrable Load Groups: You can now group deferrable loads together for synchronized optimization.
- SOC Protection: Added a tunable penalty for allowing the battery State of Charge (SOC) to drop below a specific threshold.
- Runtime Accuracy: Currently-running single-constant loads are now strictly pinned to the start of the horizon.
- Constraint Fixes: Resolved a logic flaw in the grid/battery interaction constraints and clamped adjusted PV forecasts so they can never drop below zero.
🤖 The "AI & API" Update
We are laying the groundwork for the future of automated coding and custom integrations:
- New API Endpoint: Easily fetch the latest optimization data with the new
GET /api/v1/last-runJSON endpoint. - AI-Ready Documentation: EMHASS now officially supports AI coding agents! We've added
llms.txt, a comprehensiveAGENTS.mdruleset, and specific behavioral guardrails to help AI assistants safely contribute to the project. - Logging & Schemas: Added a runtime banner with per-stage execution timings and updated our parameter schemas with a new structured
unitfield for better machine readability.
🛠 UI, Fixes, & Stability
- Web UI Improvements: Optimization result tables now feature sticky first rows and columns for much easier reading on large datasets.
- Concurrency Caching Fixes: Resolved
pickle.UnpicklingErrorandEOFErrorcrashes that occurred during concurrent reads of cached data files by the web server. - API Protection: Implemented daily call caps and stale cache reuse to prevent exhausting Solcast API rate limits.
- Internationalization: Swept the documentation to replace hardcoded
€/kWhstrings with a more welcoming, globally applicablecurrency/kWh.
A huge thank you to the contributors who made this release possible: @snauwaertc, @OptimalNothing90, @hossamnagy, @kallegrens, @carposio, @lutorm, @sokorn, @m8ram, @torsteinelv, @JosephSalisbury, @rdeknijf, and @dependabot!
Improvement
- feat: weather-compensated supply T and buffer floor for thermal_battery (@snauwaertc)
- feat: per-load cost forecasts and surface solar gain on thermal_battery (@snauwaertc)
- feat: constant-efficiency mode for thermal_battery (gas / oil / district) (@snauwaertc)
- Add a penalty to the battery SOC being below a threshold. (@lutorm)
- feat(api): add GET /api/v1/last-run JSON endpoint (@OptimalNothing90)
- feat(schema): add unit field to param_definitions.json (#826) (@OptimalNothing90)
- chore: add pre-commit hooks mirroring CI ruff checks (@kallegrens)
- build(deps): update skforecast requirement from <0.21.0,>=0.19.1 to >=0.19.1,<0.23.0 (@dependabot[bot])
- Feature: heatpump group hotwater (@sokorn)
- Generalize Load cost forecast value (@m8ram)
- feat(logging): runtime banner + per-stage timings (closes #793) (@OptimalNothing90)
- Pin currently-running single-constant loads to start of horizon (@carposio)
- Add sticky first row and column to optimization results table (@carposio)
- Update optimization.py Fix logic flaw in grid/battery interaction constraints. (@torsteinelv)
- Add llms.txt support to documentation (@OptimalNothing90)
- New version v0.17.2 (@davidusb-geek)
- Adds support for deferrable load groups (@JosephSalisbury)
Documentation
- docs(currency): sweep €/kWh → currency/kWh across docs + code comments (#854) (@OptimalNothing90)
- docs: capture default-values SoT + add AI-coder behavioral guardrails (@OptimalNothing90)
- docs: add develop_ai_coders.md AI-coder contributor onboarding (@OptimalNothing90)
- docs(cookbook): scaffold cookbook section + Node-RED MPC + battery-aware seed recipes (@OptimalNothing90)
- docs(schema): publish plan-output column schema + version constant (@OptimalNothing90)
- docs: add AGENTS.md (vendor-neutral rules for AI coding agents) (@OptimalNothing90)
- docs(study_cases): fix incorrect default-value claims and SOC pairing wording (@OptimalNothing90)
- docs: fix influxdb_measurement example value in passing_data.md (#809) (@OptimalNothing90)
- docs: fix broken link to config_defaults.json (#810) (@OptimalNothing90)
- docs(study_cases): add DHW walkthrough (Phase 1.1, depends on #812) (@OptimalNothing90)
- docs(study_cases): restructure study_case section per #808 (Phase 1) (@OptimalNothing90)
Fix
- fix(ci): skip SonarQube Scan on fork PRs (#857) (@OptimalNothing90)
- Fix pickle.UnpicklingError crash on concurrent reads of cached data files (@hossamnagy)
- fix(test): pin load_forecast_method in test_load_deactivation_zero_operating_timesteps (#856) (@OptimalNothing90)
- fix: handle EOFError when reading pickle cache in web dashboard routes (@hossamnagy)
- fix(config): align config_defaults.json with param_definitions.json per #830 Option-B decision (@OptimalNothing90)
- fix: deduplicate DataFrame index before asfreq() in _apply_df_freq_horizon (@hossamnagy)
- fix: normalize None timesteps and use .get() for safe optim_conf reads (@hossamnagy)
- fix(schema): correct 5 default mismatches in param_definitions.json (@OptimalNothing90)
- fix(utils): wire ignore_pv_feedback_during_curtailment runtime flag (#818) (@OptimalNothing90)
- fix: regression_model default typo (AdaBoostRegression -> AdaBoostRegressor) (@OptimalNothing90)
- Fix sticky header horizontal scroll position on initial show (@carposio)
- fix(forecast): clamp adjusted PV forecast to >= 0 (fixes #521) (@rdeknijf)
- fix: prevent thermal battery infeasibility when q_input_start is zero (@OptimalNothing90)
- fix: add state_class to published sensors and prevent ML crash on short history (@kallegrens)
- fix: prevent Solcast rate limit exhaustion with daily call cap and stale cache reuse (@kallegrens)
What's Changed
- Add sticky first row and column to optimization results table by @carposio in https://github.com/davidusb-geek/emhass/pull/800
- Add llms.txt support to documentation by @OptimalNothing90 in https://github.com/davidusb-geek/emhass/pull/792
- fix(forecast): clamp adjusted PV forecast to >= 0 (fixes #521) by @rdeknijf in https://github.com/davidusb-geek/emhass/pull/790
- Fix sticky header horizontal scroll position on initial show by @carposio in https://github.com/davidusb-geek/emhass/pull/804
- feat(logging): runtime banner + per-stage timings (closes #793) by @OptimalNothing90 in https://github.com/davidusb-geek/emhass/pull/806
- Generalize Load cost forecast value by @m8ram in https://github.com/davidusb-geek/emhass/pull/811
- docs: fix influxdb_measurement example value in passing_data.md (#809) by @OptimalNothing90 in https://github.com/davidusb-geek/emhass/pull/816
- Update optimization.py Fix logic flaw in grid/battery interaction constraints. by @torsteinelv in https://github.com/davidusb-geek/emhass/pull/796
- Pin currently-running single-constant loads to start of horizon by @carposio in https://github.com/davidusb-geek/emhass/pull/805
- fix: regression_model default typo (AdaBoostRegression -> AdaBoostRegressor) by @OptimalNothing90 in https://github.com/davidusb-geek/emhass/pull/817
- docs: fix broken link to config_defaults.json (#810) by @OptimalNothing90 in https://github.com/davidusb-geek/emhass/pull/814
- docs(study_cases): restructure study_case section per #808 (Phase 1) by @OptimalNothing90 in https://github.com/davidusb-geek/emhass/pull/812
- build(deps): update skforecast requirement from <0.21.0,>=0.19.1 to >=0.19.1,<0.23.0 by @dependabot[bot] in https://github.com/davidusb-geek/emhass/pull/821
- docs(study_cases): add DHW walkthrough (Phase 1.1, depends on #812) by @OptimalNothing90 in https://github.com/davidusb-geek/emhass/pull/813
- Feature: heatpump group hotwater by @sokorn in https://github.com/davidusb-geek/emhass/pull/819
- docs(study_cases): fix incorrect default-value claims and SOC pairing wording by @OptimalNothing90 in https://github.com/davidusb-geek/emhass/pull/822
- fix(utils): wire ignore_pv_feedback_during_curtailment runtime flag (#818) by @OptimalNothing90 in https://github.com/davidusb-geek/emhass/pull/829
- docs: add AGENTS.md (vendor-neutral rules for AI coding agents) by @OptimalNothing90 in https://github.com/davidusb-geek/emhass/pull/831
- docs(schema): publish plan-output column schema + version constant by @OptimalNothing90 in https://github.com/davidusb-geek/emhass/pull/835
- docs(cookbook): scaffold cookbook section + Node-RED MPC + battery-aware seed recipes by @OptimalNothing90 in https://github.com/davidusb-geek/emhass/pull/836
- docs: add develop_ai_coders.md AI-coder contributor onboarding by @OptimalNothing90 in https://github.com/davidusb-geek/emhass/pull/838
- fix(schema): correct 5 default mismatches in param_definitions.json by @OptimalNothing90 in https://github.com/davidusb-geek/emhass/pull/830
- fix: normalize None timesteps and use .get() for safe optim_conf reads by @hossamnagy in https://github.com/davidusb-geek/emhass/pull/842
- fix: deduplicate DataFrame index before asfreq() in _apply_df_freq_horizon by @hossamnagy in https://github.com/davidusb-geek/emhass/pull/843
- fix(config): align config_defaults.json with param_definitions.json per #830 Option-B decision by @OptimalNothing90 in https://github.com/davidusb-geek/emhass/pull/845
- fix: prevent Solcast rate limit exhaustion with daily call cap and stale cache reuse by @kallegrens in https://github.com/davidusb-geek/emhass/pull/745
- docs: capture default-values SoT + add AI-coder behavioral guardrails by @OptimalNothing90 in https://github.com/davidusb-geek/emhass/pull/848
- chore: add prek pre-commit hooks mirroring CI ruff checks by @kallegrens in https://github.com/davidusb-geek/emhass/pull/849
- feat(schema): add unit field to param_definitions.json (#826) by @OptimalNothing90 in https://github.com/davidusb-geek/emhass/pull/850
- fix: handle EOFError when reading pickle cache in web dashboard routes by @hossamnagy in https://github.com/davidusb-geek/emhass/pull/852
- fix: add state_class to published sensors and prevent ML crash on short history by @kallegrens in https://github.com/davidusb-geek/emhass/pull/775
- fix(test): pin load_forecast_method in test_load_deactivation_zero_operating_timesteps (#856) by @OptimalNothing90 in https://github.com/davidusb-geek/emhass/pull/858
- feat: constant-efficiency mode for thermal_battery (gas / oil / district) by @snauwaertc in https://github.com/davidusb-geek/emhass/pull/860
- feat(api): add GET /api/v1/last-run JSON endpoint by @OptimalNothing90 in https://github.com/davidusb-geek/emhass/pull/851
- feat: per-load cost forecasts and surface solar gain on thermal_battery by @snauwaertc in https://github.com/davidusb-geek/emhass/pull/861
- Add a penalty to the battery SOC being below a threshold. by @lutorm in https://github.com/davidusb-geek/emhass/pull/859
- feat: weather-compensated supply T and buffer floor for thermal_battery by @snauwaertc in https://github.com/davidusb-geek/emhass/pull/863
- docs(currency): sweep €/kWh → currency/kWh across docs + code comments (#854) by @OptimalNothing90 in https://github.com/davidusb-geek/emhass/pull/867
- fix(ci): skip SonarQube Scan on fork PRs (#857) by @OptimalNothing90 in https://github.com/davidusb-geek/emhass/pull/866
- Fix pickle.UnpicklingError crash on concurrent reads of cached data files by @hossamnagy in https://github.com/davidusb-geek/emhass/pull/864
- Prepared new release, updated CHANGELOG, fixed ruff related issues by @davidusb-geek in https://github.com/davidusb-geek/emhass/pull/868
New Contributors
- @rdeknijf made their first contribution in https://github.com/davidusb-geek/emhass/pull/790
- @m8ram made their first contribution in https://github.com/davidusb-geek/emhass/pull/811
- @torsteinelv made their first contribution in https://github.com/davidusb-geek/emhass/pull/796
- @hossamnagy made their first contribution in https://github.com/davidusb-geek/emhass/pull/842
- @snauwaertc made their first contribution in https://github.com/davidusb-geek/emhass/pull/860
- @lutorm made their first contribution in https://github.com/davidusb-geek/emhass/pull/859
Full Changelog: https://github.com/davidusb-geek/emhass/compare/v0.17.2...v0.17.3
Energy Systems - Building Energy Monitoring
- Python
Published by davidusb-geek 3 months ago
EHMASS - EMHASS version v0.17.2
Improvement
- Added support for deferrable load groups
- Updated versions of workflow actions
Fix
- Prevent thermal battery infeasibility when
q_input_startis zero - Clean session closure to prevent aiohttp timeouts
- Resolve
UnboundLocalErrorforinv_stress_confon infeasible retry - Fix DST-boundary crashes in forecast date range computation
- Fix documentation for location
- Support out-of-band initial SOC recovery in naive MPC
What's Changed
- fix: support out-of-band initial SOC recovery in naive MPC by @martinarva in https://github.com/davidusb-geek/emhass/pull/761
- Fix documentation for location by @niobos in https://github.com/davidusb-geek/emhass/pull/762
- fix: resolve UnboundLocalError for inv_stress_conf on infeasible retry by @OptimalNothing90 in https://github.com/davidusb-geek/emhass/pull/771
- fix: clean session closure to prevent aiohttp timeouts by @kallegrens in https://github.com/davidusb-geek/emhass/pull/774
- Fix DST-boundary crashes in forecast date range computation by @carposio in https://github.com/davidusb-geek/emhass/pull/766
- Updated versions of workflow actions by @davidusb-geek in https://github.com/davidusb-geek/emhass/pull/759
- Adds support for deferrable load groups by @JosephSalisbury in https://github.com/davidusb-geek/emhass/pull/784
- fix: prevent thermal battery infeasibility when q_input_start is zero by @OptimalNothing90 in https://github.com/davidusb-geek/emhass/pull/785
- New version v0.17.2 by @davidusb-geek in https://github.com/davidusb-geek/emhass/pull/791
New Contributors
- @martinarva made their first contribution in https://github.com/davidusb-geek/emhass/pull/761
- @niobos made their first contribution in https://github.com/davidusb-geek/emhass/pull/762
- @OptimalNothing90 made their first contribution in https://github.com/davidusb-geek/emhass/pull/771
- @carposio made their first contribution in https://github.com/davidusb-geek/emhass/pull/766
- @JosephSalisbury made their first contribution in https://github.com/davidusb-geek/emhass/pull/784
Full Changelog: https://github.com/davidusb-geek/emhass/compare/v0.17.1...v0.17.2
Energy Systems - Building Energy Monitoring
- Python
Published by davidusb-geek 4 months ago
EHMASS - EMHASS version v0.17.1
Improvement
- Added
set_deferrable_max_startupsparameter to enforce a hard physical limit on the maximum number of times a deferrable load can be turned on during an optimization horizon, preventing unwanted chattering - Added new Websocket section to documentation
- Improving coverage: MLForecaster, web server and command line utils
- Improved automatic testing: Add tests for converting nested parameters to config, deferrable load padding, export time range parsing, NaN handling, and resampling/filtering of time series data. Add an MPC cache behavior test to verify cache hits for non-structural plant changes and cache misses for structural plant changes
- Deactivate binary variables for non-thermal loads with 0 operating timesteps to reduce MIP solve time
Fix
- Ensure cached MPC optimizers are invalidated when structural plant configuration changes while still updating runtime-dependent parameters on cache hits
- Prevent stale internal optimization configuration by refreshing cached optimizer plant and optimization configs with latest runtime values
- Fixed logging initialization issue
- Fixed an issue where the REST API sends 'Bearer empty' when the token is not configured in the add-on
- Gracefully skip days with no history data during REST API retrieval
- Fixed Solcast API Accept header and sub-30min resampling issues
- Fix to REST API authentication fails when token is set to "empty" in addon mode issue
What's Changed
- New emhass release v0.17.0 by @davidusb-geek in https://github.com/davidusb-geek/emhass/pull/732
- Multiple improvements and fixes after v0.17.0 by @davidusb-geek in https://github.com/davidusb-geek/emhass/pull/735
- Second round of improvements and fixes after v0.17.0 by @davidusb-geek in https://github.com/davidusb-geek/emhass/pull/737
- fix: Solcast Accept header and sub-30min resampling by @kallegrens in https://github.com/davidusb-geek/emhass/pull/739
- fix: gracefully skip days with no history data in REST API retrieval by @kallegrens in https://github.com/davidusb-geek/emhass/pull/740
- Fix: REST API sends 'Bearer empty' when token not configured in addon… by @who2us in https://github.com/davidusb-geek/emhass/pull/742
- Fix include all parameter into cache hit/miss by @sokorn in https://github.com/davidusb-geek/emhass/pull/743
- Deactivate binary variables for non-thermal loads with 0 operating timesteps to reduce MIP solve time by @sokorn in https://github.com/davidusb-geek/emhass/pull/744
- Fixing dynamic lenghts affecting thermal loads and preparing for v0.17.1 by @davidusb-geek in https://github.com/davidusb-geek/emhass/pull/748
New Contributors
- @kallegrens made their first contribution in https://github.com/davidusb-geek/emhass/pull/739
- @who2us made their first contribution in https://github.com/davidusb-geek/emhass/pull/742
Full Changelog: https://github.com/davidusb-geek/emhass/compare/v0.17.0...v0.17.1
Energy Systems - Building Energy Monitoring
- Python
Published by davidusb-geek 5 months ago
EHMASS - EMHASS version 0.17.0
Improvement
- Added caching for the Optimization object to use warm start (@sokorn)
- Add thermal inertia extension for thermal battery model (@sokorn)
- Added parameter for relative MIP gap (@sokorn)
- Enhance HA add-on file management to use addon_configs folder (@mime24)
- Rename 'add-on' to 'app' (@AJediIAm)
- Update skforecast requirement from <0.20.0,>=0.19.1 to >=0.19.1,<0.21.0 (@dependabot)
Fix
- Reuse HTTP session across post_data calls (@sokorn)
- Handle corrupted metadata.json file (@rmounce)
- Pin cvxpy version to <1.8.0 (@rmounce)
- Fix ruff format in retrieve_hass.py (@mime24)
⚠️ POSSIBLE BREAKING CHANGE: HA Add-on File Management
This release updates how EMHASS handles file management within Home Assistant, aligning with the new HA standard of using the dedicated /addon_configs folder for user-facing configuration files.
- What changed: Configuration and data files have been migrated to the new
addon_configsdirectory structure. - Why it might break your setup: If you are an advanced user who has written custom shell commands, external scripts, or backup automations that point strictly to the old hardcoded
/share/emhassor/configdirectory paths, those paths will likely fail after this update. - Action Required: Please review any custom automations or scripts that read from or write to EMHASS files directly and update the paths to reflect the new
/addon_configs/location.
What's Changed
- Update skforecast requirement from <0.20.0,>=0.19.1 to >=0.19.1,<0.21.0 by @dependabot[bot] in https://github.com/davidusb-geek/emhass/pull/712
- Added caching for the Optimization object to use warm start by @sokorn in https://github.com/davidusb-geek/emhass/pull/711
- Added parameter for relative MIP gap by @sokorn in https://github.com/davidusb-geek/emhass/pull/714
- Hot fix for KeyError P_PV by @davidusb-geek in https://github.com/davidusb-geek/emhass/pull/709
- Pin cvxpy version to <1.8.0 by @rmounce in https://github.com/davidusb-geek/emhass/pull/715
- Handle corrupted metadata.json file by @rmounce in https://github.com/davidusb-geek/emhass/pull/716
- Enhancement for HA addon-file management - use addon_configs folder by @mime24 in https://github.com/davidusb-geek/emhass/pull/719
- add thermal inertia extension for thermal battery model by @sokorn in https://github.com/davidusb-geek/emhass/pull/721
- fix ruff format in retrieve_hass.py by @mime24 in https://github.com/davidusb-geek/emhass/pull/722
- Rename 'add-on' to 'app' by @AJediIAm in https://github.com/davidusb-geek/emhass/pull/725
- fix: reuse HTTP session across post_data calls by @sokorn in https://github.com/davidusb-geek/emhass/pull/729
Full Changelog: https://github.com/davidusb-geek/emhass/compare/v0.16.2...v0.17.0
Energy Systems - Building Energy Monitoring
- Python
Published by davidusb-geek 6 months ago
EHMASS - EMHASS version 0.16.2
Improvement
- Added support for a thermal inertia parameter for the basic thermal model
- Handle time-dependent battery weights (@rmounce)
Fix
- Fix Docker signal handling with tini and pin uvicorn version (@rmounce)
- Fix "typical" load forecast method fails with maximum_power_from_grid as vector (list)
- Fix warning logging messages on sensor_replace_zero
- Fix for correct handling of open-meteo temp_air variable
What's Changed
- Fix Docker signal handling with tini and pin uvicorn version by @rmounce in https://github.com/davidusb-geek/emhass/pull/698
- Added support for a thermal inertia on the basic thermal model by @davidusb-geek in https://github.com/davidusb-geek/emhass/pull/704
- Handle time-dependent battery weights by @rmounce in https://github.com/davidusb-geek/emhass/pull/699
- Fix for correct handling of open-meteo temp_air variable by @davidusb-geek in https://github.com/davidusb-geek/emhass/pull/702
- Fix typical load when maximum_power_from_grid is a list and uneeded w… by @davidusb-geek in https://github.com/davidusb-geek/emhass/pull/706
Full Changelog: https://github.com/davidusb-geek/emhass/compare/v0.16.1...v0.16.2
Energy Systems - Building Energy Monitoring
- Python
Published by davidusb-geek 7 months ago
EHMASS - EMHASS version 0.16.1
Fix
- Hot fix for InfluxDB not passed credentials
- Fixed optimization window size mismatch issue
- Fixed optim_status key not found error when falling back to LP problem
What's Changed
- Hot fix for InfluxDB not passed credentials by @davidusb-geek in https://github.com/davidusb-geek/emhass/pull/695
Full Changelog: https://github.com/davidusb-geek/emhass/compare/v0.16.0...v0.16.1
Energy Systems - Building Energy Monitoring
- Python
Published by davidusb-geek 7 months ago
EHMASS - EMHASS version 0.16.0
🚀 Major Optimization Engine Overhaul
This release marks a significant milestone in the evolution of EMHASS. We have completely re-engineered the core optimization backend, moving from PuLP to CVXPY. This modern, vectorized architecture unlocks substantial performance improvements and paves the way for advanced energy management features.
Key Highlights
- ⚡ CVXPY & Vectorization: The constraint generation logic has been rewritten using vectorization. This mathematical streamlining allows EMHASS to construct optimization problems significantly faster, reducing overhead especially for complex configurations or long prediction horizons. Benchmarks show optimization times are 4-5x faster, clocking in at approximately 0.1s per iteration for standard use cases compared to previous implementation.
- 🏎️ HiGHS Solver Standard: We have adopted HiGHS as the new default solver. HiGHS is a state-of-the-art, open-source linear optimization solver that offers vastly superior performance and stability compared to the legacy CBC/GLPK solvers.
- 📦 Simplified Dependencies: No more system-level dependencies! Because HiGHS is bundled as a Python wheel, the Docker image is lighter, and installation is more robust—you no longer need to install
coinor-cbcorglpkvia apt. - 🔧 Commercial Solver Support: Power users with licenses for Gurobi or CPLEX can now easily plug them in via environment variables (
LP_SOLVER=GUROBI) without code modifications, thanks to the standardized interface of CVXPY. - 🏗️ Modular Architecture: The optimization class has been refactored into smaller, testable helper methods, improving code maintainability and making it easier for contributors to add new constraints (like the new internal gains logic for thermal batteries) without breaking existing features.
Improvement
- Refactor optimization.py to use cvxpy
- Added internal gains factor to heating demand calculation (@sokorn)
- Add vector support for maximum power to or from grid (@mk2lehe)
⚠️ BREAKING CHANGE: Solver Configuration
We have modernized the optimization backend to use CVXPY. As a result, the solver configuration has been simplified and both lp_solver and lp_solver_path parameters have been removed.
- Removed:
lp_solverandlp_solver_pathare no longer supported in the configuration. - New Default: The application now defaults to the HiGHS solver, which is bundled directly with EMHASS. No external binary paths or apt packages are required.
- Commercial Solvers: If you wish to use Gurobi or CPLEX (requiring your own license), you must now specify this using the
LP_SOLVERenvironment variable (e.g.,LP_SOLVER=GUROBI), rather than the configuration file.
Action Required:
- Remove
lp_solverandlp_solver_pathfrom your configuration files (config.jsonoroptions.json) to avoid validation warnings. - If you previously relied on a custom solver path, ensure you are satisfied with the new default HiGHS solver (recommended) or configure the environment variable for a commercial alternative.
What's Changed
- Added internal gains factor to heating demand calculation by @sokorn in https://github.com/davidusb-geek/emhass/pull/684
- Missing unit convertion for load_power by @sokorn in https://github.com/davidusb-geek/emhass/pull/690
- Add vector support for maximum power to or from grid by @mk2lehe in https://github.com/davidusb-geek/emhass/pull/687
- Refactor optimization.py to use cvxpy by @davidusb-geek in https://github.com/davidusb-geek/emhass/pull/688
- Solve secrets handling and MILP big-M solve hang issues by @davidusb-geek in https://github.com/davidusb-geek/emhass/pull/693
New Contributors
- @mk2lehe made their first contribution in https://github.com/davidusb-geek/emhass/pull/687
Full Changelog: https://github.com/davidusb-geek/emhass/compare/v0.15.6...v0.16.0
Energy Systems - Building Energy Monitoring
- Python
Published by davidusb-geek 7 months ago
EHMASS - EMHASS version 0.15.6
Improvement
- New feature that allows users to disable SSL communication with Home Assistant
Fix
- Fix issues with missing
long_train_data.pklfile and load power sensor name updated by the user - Fix broken MLRegressor by removing unnecessary loading of a CSV file
- Fix missing outdoor temperature data for thermal model
What's Changed
- Fix missing outdoor temperature data for thermal model by @davidusb-geek in https://github.com/davidusb-geek/emhass/pull/679
- Fix broken MLRegressor with not needed load treatment of a CSV file by @davidusb-geek in https://github.com/davidusb-geek/emhass/pull/681
- New feature to allow to disable SSL communication with Home Assistant by @davidusb-geek in https://github.com/davidusb-geek/emhass/pull/682
- Fix issues with missing file and updated load power sensor name by @davidusb-geek in https://github.com/davidusb-geek/emhass/pull/683
Full Changelog: https://github.com/davidusb-geek/emhass/compare/v0.15.5...v0.15.6
Energy Systems - Building Energy Monitoring
- Python
Published by davidusb-geek 7 months ago
EHMASS - EMHASS version 0.15.5
Fix
- Fix the thermal load parsing to use it on any type of optimization
What's Changed
- Fix the thermal load parsing to use it on any type of optimization by @davidusb-geek in https://github.com/davidusb-geek/emhass/pull/678
Full Changelog: https://github.com/davidusb-geek/emhass/compare/v0.15.4...v0.15.5
Energy Systems - Building Energy Monitoring
- Python
Published by davidusb-geek 7 months ago
EHMASS - EMHASS version 0.15.4
Refactor Home Assistant data retrieval, forecasting, optimization, and publishing flows for better structure, error handling, and configurability while enhancing docs, web UI, and CI integration.
Improvement
- Support selecting PV module and inverter models by approximate power rating in addition to explicit database names
- Introduce helper contexts and structured helpers for optimization setup, publishing, and forecast preparation
- Add explicit SonarCloud analysis and Codecov integration in CI workflow
- Added support to publish emhass package to conda repository
- Improved documentation: Reorganize and expand documentation sections, including for using InfluxDB as a data source and for passing secret parameters, clarifying differences between Docker/Python deployments and the Home Assistant add-on, and moving this content into the passing_data guide. Change theme to PyData Sphinx Theme
- Added extensive unit tests around Home Assistant data retrieval helpers, PV adjustment behavior, regressor preparation errors, weather forecast method branching, thermal loads publishing, and web server runtime parameter handling
- Update existing optimization and CLI tests to use mocks for heavy optimization routines allowing faster tests
Fix
- Ensure InfluxDB is prioritized over WebSocket and REST when configured as a data source to avoid redundant queries to Home Assistant
- Fix runtime parameter parsing in the web server to properly handle malformed JSON payloads and default safely to empty parameters
What's Changed
- SonarQube code improvements by @davidusb-geek in https://github.com/davidusb-geek/emhass/pull/677
Full Changelog: https://github.com/davidusb-geek/emhass/compare/v0.15.3...v0.15.4
Energy Systems - Building Energy Monitoring
- Python
Published by davidusb-geek 8 months ago
EHMASS - EMHASS version 0.15.3
What's Changed
- Solve power limits when is hybrid inverter true and false by @davidusb-geek in https://github.com/davidusb-geek/emhass/pull/658
- Update skforecast by @gieljnssns in https://github.com/davidusb-geek/emhass/pull/661
- Make n_trials in tune configurable by @gieljnssns in https://github.com/davidusb-geek/emhass/pull/662
- Codecov Coverage improvements by @davidusb-geek in https://github.com/davidusb-geek/emhass/pull/660
- Adding new dynamic frontend options by @davidusb-geek in https://github.com/davidusb-geek/emhass/pull/663
- Add new inverter and module entries by @F21 in https://github.com/davidusb-geek/emhass/pull/669
- Revert "Implement inverter AC input limit constraint" by @rmounce in https://github.com/davidusb-geek/emhass/pull/666
- Add hybrid inverter stress cost by @rmounce in https://github.com/davidusb-geek/emhass/pull/667
- Documentation for inverter stress cost feature by @davidusb-geek in https://github.com/davidusb-geek/emhass/pull/672
- Implement thermal battery for underfloor heating from Langer & Volling (2020) by @sokorn in https://github.com/davidusb-geek/emhass/pull/668
- Update thermal battery parameters to support per-timestep temperature… by @sokorn in https://github.com/davidusb-geek/emhass/pull/674
- Fix/influxdb skip renaming by @sokorn in https://github.com/davidusb-geek/emhass/pull/676
- New thermal load plot and other several fixes by @davidusb-geek in https://github.com/davidusb-geek/emhass/pull/675
New Contributors
- @F21 made their first contribution in https://github.com/davidusb-geek/emhass/pull/669
Full Changelog: https://github.com/davidusb-geek/emhass/compare/v0.15.2...v0.15.3
Energy Systems - Building Energy Monitoring
- Python
Published by davidusb-geek 8 months ago
EHMASS - EMHASS version 0.15.2
Improvement
- Update documentation and parameter definitions for adjusted PV regression models to include all available scikit-learn options (@sokorn)
- Removed device class and unit of measurement for optim status (@mime24)
Fix
- Fixing some docs math mode and rearrange sections
- Refactor REST API data retrieval to reuse one aiohttp ClientSession, solve issue #648 (@gieljnssns)
- Change regressor parameter to estimator in forecaster
- Remove warning log for runtime parameters parsing
What's Changed
- Remove warning log for runtime parameters parsing by @davidusb-geek in https://github.com/davidusb-geek/emhass/pull/647
- Change regressor parameter to estimator in forecaster by @davidusb-geek in https://github.com/davidusb-geek/emhass/pull/649
- Use one ClientSession by @gieljnssns in https://github.com/davidusb-geek/emhass/pull/650
- removed device class and unit of measurement for optim status by @mime24 in https://github.com/davidusb-geek/emhass/pull/652
- Update documentation and parameter definitions for adjusted PV regres… by @sokorn in https://github.com/davidusb-geek/emhass/pull/654
- Fixing some docs math mode and rearrange sections by @davidusb-geek in https://github.com/davidusb-geek/emhass/pull/656
New Contributors
- @mime24 made their first contribution in https://github.com/davidusb-geek/emhass/pull/652
Full Changelog: https://github.com/davidusb-geek/emhass/compare/v0.15.1...v0.15.2
Energy Systems - Building Energy Monitoring
- Python
Published by davidusb-geek 8 months ago
EHMASS - EMHASS version 0.15.1
Fix
- Hot fix for thermal model semi-continuous mode and continual publish caped to 60s
What's Changed
- Hot fix for thermal model semi-continuous mode and continual publish … by @davidusb-geek in https://github.com/davidusb-geek/emhass/pull/646
Full Changelog: https://github.com/davidusb-geek/emhass/compare/v0.15.0...v0.15.1
Energy Systems - Building Energy Monitoring
- Python
Published by davidusb-geek 9 months ago
EHMASS - EMHASS version 0.15.0
Improvement
- Added support for async emhass code (@gieljnssns)
- Added support for websocket data retrieval (@gieljnssns)
- Add feature to cache pv regression model (@sokorn)
- Added support for a more comprehensive list of
scikit-learnmodels for both ML Forecaster and Regressor classes - Improved documentation re-arranged sections
- Thermal model improvements:
- Implemented a Min/Max temperature control, proposed by @werdnum
- Implemented needed unit tests
- Improved documentation
Fix
- Fixed warning message because pickle files saved with old Numpy version
- A buch of code refactor following SonarCloud Code Analysis
- Solved runtime param optimization_time_step not recognized, issue #563
- Attempt at solving data publish problem when containing both battery sensor definitions and a def_load_config, issue #587
- Fix timezone comparison issue with InfluxDB (@sokorn)
- Update skforecast requirement from <0.19.0,>=0.18.0 to >=0.18.0,<0.20.0
- Implement inverter AC input limit constraint
What's Changed
- Thermal model improvements by @davidusb-geek in https://github.com/davidusb-geek/emhass/pull/637
- Emhass async + websocket data retrieval by @gieljnssns in https://github.com/davidusb-geek/emhass/pull/626
- Code fix sonar cube by @davidusb-geek in https://github.com/davidusb-geek/emhass/pull/640
- Add feature to cache pv regression model by @sokorn in https://github.com/davidusb-geek/emhass/pull/638
- Implement inverter AC input limit constraint by @davidusb-geek in https://github.com/davidusb-geek/emhass/pull/643
- Fix timezone comparison issue with InfluxDB by @sokorn in https://github.com/davidusb-geek/emhass/pull/642
- Update skforecast requirement from <0.19.0,>=0.18.0 to >=0.18.0,<0.20.0 by @dependabot[bot] in https://github.com/davidusb-geek/emhass/pull/641
- Add new inverter and module data entries to CSV and database files by @sokorn in https://github.com/davidusb-geek/emhass/pull/645
- Added support for a more comprehensive list of Scikit-Learn models by @davidusb-geek in https://github.com/davidusb-geek/emhass/pull/644
Full Changelog: https://github.com/davidusb-geek/emhass/compare/v0.14.1...v0.15.0
Energy Systems - Building Energy Monitoring
- Python
Published by davidusb-geek 9 months ago
EHMASS - EMHASS version 0.14.1
0.14.1 - 2025-11-29
Improvement
- Improved InfluxDB version support documentation
- Adjust ML forecast tune lags with optizimation_time_step (@sokorn)
- Improved documentation for MLRegressor (@sokorn)
- Update description for semi_cont load parameter (@purcell-lab)
Fix
- Refactored proposed changes for HA independent configuration
- Fixed behavior to run EMHASS independently from HA (@Jahper)
- Proposed solution to Maximum battery charging rate issue #613
- Proposed solution to solve issue with missing use of split_date_delta
What's Changed
- Proposed solution to Maximum battery charging rate issue #613 by @davidusb-geek in https://github.com/davidusb-geek/emhass/pull/616
- Update description for semi_cont load parameter by @purcell-lab in https://github.com/davidusb-geek/emhass/pull/615
- Proposed solution to solve issue with missing use of split_date_delta by @davidusb-geek in https://github.com/davidusb-geek/emhass/pull/617
- Minor adjustment in MLRegressor documentation. by @sokorn in https://github.com/davidusb-geek/emhass/pull/618
- Feature: HA independant configuration by @Jahper in https://github.com/davidusb-geek/emhass/pull/628
- Refactored proposed changes for HA independent config by @davidusb-geek in https://github.com/davidusb-geek/emhass/pull/634
- Added additional support for hass_url types by @davidusb-geek in https://github.com/davidusb-geek/emhass/pull/635
- Adjust ML forecast tune lags with optizimation_time_step by @sokorn in https://github.com/davidusb-geek/emhass/pull/625
- Clarify supported InfluxDB version support. by @r0oland in https://github.com/davidusb-geek/emhass/pull/631
New Contributors
- @r0oland made their first contribution in https://github.com/davidusb-geek/emhass/pull/631
Full Changelog: https://github.com/davidusb-geek/emhass/compare/v0.14.0...v0.14.1
Energy Systems - Building Energy Monitoring
- Python
Published by davidusb-geek 9 months ago
EHMASS - EMHASS version 0.14.0
What's Changed
- Fix decimal precision for unit_load_cost and unit_prod_price sensors by @scruysberghs in https://github.com/davidusb-geek/emhass/pull/591
- Fix for pytz.exceptions.NonExistentTimeError with Open Meteo weather source during DST change by @paulhomes in https://github.com/davidusb-geek/emhass/pull/592
- Reduce severity of logged Open Meteo forecast_days minimum override message by @paulhomes in https://github.com/davidusb-geek/emhass/pull/593
- Add InfluxDB integration for enhanced historical data retrieval by @scruysberghs in https://github.com/davidusb-geek/emhass/pull/586
- Improvements to timezone handling and testing, use ISO8601 date format, fixes to pass linting checks by @Crosenhain in https://github.com/davidusb-geek/emhass/pull/594
- Update forecast.py to align CSV data with prediction window by @nielskool in https://github.com/davidusb-geek/emhass/pull/598
- Resolve time zone handling issues across daylight savings changes by @Squazel in https://github.com/davidusb-geek/emhass/pull/601
- Fix InfluxDB future data query and use_influxdb parameter type by @scruysberghs in https://github.com/davidusb-geek/emhass/pull/608
- Added SSL feature for InfluxDB by @sokorn in https://github.com/davidusb-geek/emhass/pull/604
- Fix timestamp exception by @Jahper in https://github.com/davidusb-geek/emhass/pull/609
- Feature/export influxdb to csv by @scruysberghs in https://github.com/davidusb-geek/emhass/pull/600
- Document forecast data formats and usage examples by @scruysberghs in https://github.com/davidusb-geek/emhass/pull/603
- Added a new unittest to test the csv generation feature from influxdb… by @davidusb-geek in https://github.com/davidusb-geek/emhass/pull/614
New Contributors
- @Squazel made their first contribution in https://github.com/davidusb-geek/emhass/pull/601
- @sokorn made their first contribution in https://github.com/davidusb-geek/emhass/pull/604
- @Jahper made their first contribution in https://github.com/davidusb-geek/emhass/pull/609
Full Changelog: https://github.com/davidusb-geek/emhass/compare/v0.13.5...v0.14.0
Energy Systems - Building Energy Monitoring
- Python
Published by davidusb-geek 10 months ago
EHMASS - EMHASS version 0.13.5
Improvement
- Use SVG render mode for Plotly figures (@Crosenhain)
- Constrain PV curtailment of hybrid inverter (@rmounce)
Fix
- Fix operating_timesteps_of_each_deferrable_load validation formula (@scruysberghs)
What's Changed
- utils.py: use SVG render mode for Plotly figures by @Crosenhain in https://github.com/davidusb-geek/emhass/pull/577
- Constrain PV curtailment of hybrid inverter by @rmounce in https://github.com/davidusb-geek/emhass/pull/579
- Fix operating_timesteps_of_each_deferrable_load validation formula by @scruysberghs in https://github.com/davidusb-geek/emhass/pull/583
Full Changelog: https://github.com/davidusb-geek/emhass/compare/v0.13.4...v0.13.5
Energy Systems - Building Energy Monitoring
- Python
Published by davidusb-geek 11 months ago
EHMASS - EMHASS version 0.13.4
A new release of EMHASS with a bunch of fixes and new features...
Improvement
- Added support for minimum power value for each deferrable load
- Add configuration for hybrid inverter input power limit and efficiency (@rmounce)
- Add runtime parameter to prevent PV forecast feedback loop during curtailment (@scruysberghs)
- Update Docker documentation for volume mounting of config.json (@cabberley)
- Apply ruff formatting for improved code consistency (@polyfloyd)
- Set executable permissions for
__main__entrypoints and remove unused shebangs (@polyfloyd) - Correct minor typos in README documentation (@Ultimation)
Fix
- Fixed naive load power forecast shifted timestamp issue #516
- Fix Docker build for aarch64 architecture (@polyfloyd)
What's Changed
- Let CONTRIBUTING.md refer to docs by @polyfloyd in https://github.com/davidusb-geek/emhass/pull/535
- Simplify HTML template loading by @polyfloyd in https://github.com/davidusb-geek/emhass/pull/537
- Use delta_forecast_daily to determine the number of days of forecast data to fetch from Open-Meteo by @paulhomes in https://github.com/davidusb-geek/emhass/pull/538
- feat(aiko): add an akio module by @GeoDerp in https://github.com/davidusb-geek/emhass/pull/543
- Added new dict format for sensors by @Gruek in https://github.com/davidusb-geek/emhass/pull/542
- Update development documentation to use uv by @polyfloyd in https://github.com/davidusb-geek/emhass/pull/541
- Set +x for main entrypoints and remove unused shebangs by @polyfloyd in https://github.com/davidusb-geek/emhass/pull/549
- ruff format by @polyfloyd in https://github.com/davidusb-geek/emhass/pull/550
- Updates to Readme.md Docker section for volume mounting of config.json by @cabberley in https://github.com/davidusb-geek/emhass/pull/555
- Fix aarch64 docker build by @polyfloyd in https://github.com/davidusb-geek/emhass/pull/551
- Add runtime parameter to prevent PV forecast feedback loop during cur… by @scruysberghs in https://github.com/davidusb-geek/emhass/pull/566
- Docs: Tiny typo at top of README by @Ultimation in https://github.com/davidusb-geek/emhass/pull/568
- Hybrid inverter input power limit and efficiency configuration by @rmounce in https://github.com/davidusb-geek/emhass/pull/571
- Fix problem with naive load forecast, issue 516 by @davidusb-geek in https://github.com/davidusb-geek/emhass/pull/522
- Adding support for deferrable minimum power by @davidusb-geek in https://github.com/davidusb-geek/emhass/pull/575
New Contributors
- @polyfloyd made their first contribution in https://github.com/davidusb-geek/emhass/pull/535
- @cabberley made their first contribution in https://github.com/davidusb-geek/emhass/pull/555
- @Ultimation made their first contribution in https://github.com/davidusb-geek/emhass/pull/568
- @rmounce made their first contribution in https://github.com/davidusb-geek/emhass/pull/571
Full Changelog: https://github.com/davidusb-geek/emhass/compare/v0.13.3...v0.13.4
Energy Systems - Building Energy Monitoring
- Python
Published by davidusb-geek about 1 year ago
EHMASS - EMHASS version 0.13.3
Improvement
- Enhance optimization solver capabilities by adding HiGHS solver, improving thread configuration, and updating solver support across the project (@Crosenhain)
- Update spelling and extended some error messages to include more troubleshooting information (@kcoffau)
Fix
- Fixed incorrect indentation in a for loop, leaving relevant constraints out of the optimisation (@purcell_lab)
What's Changed
- HiGHS solver, fix glpk solver, config num_threads by @Crosenhain in https://github.com/davidusb-geek/emhass/pull/530
- Update retrieve_hass.py by @kcoffau in https://github.com/davidusb-geek/emhass/pull/531
- Update indentation in for k in range by @purcell-lab in https://github.com/davidusb-geek/emhass/pull/532
New Contributors
- @kcoffau made their first contribution in https://github.com/davidusb-geek/emhass/pull/531
Full Changelog: https://github.com/davidusb-geek/emhass/compare/v0.13.2...v0.13.3
Energy Systems - Building Energy Monitoring
- Python
Published by davidusb-geek over 1 year ago
EHMASS - EMHASS version 0.13.2
Release number 100!!! 🎉
Improvement
- Improved README and development documentation (@Crosenhain and @gieljnssns)
- Improved forecasting and optimization classes logging (@purcell_lab)
Fix
- Fixed ML Regressor for correct time zone treatment (@gieljnssns)
- Fixed long standing problem to allow thermal and standard loads to be scheduled (@purcell_lab)
- Fixing Missing files in python package issue (@pail23)
- Fixed improper handling of home assistant API errors (@Gruek)
- Remove an extraneous comma in the pd.to_datetime() method call in retrieve_hass.py (@GeoDerp)
- Fixed the SettingWithCopyWarning Pandas problem and PV sensor handling when set_use_adjusted_pv is false (@paulhomes)
What's Changed
- Prevent SettingWithCopyWarning by @paulhomes in https://github.com/davidusb-geek/emhass/pull/518
- Ignore sensor_power_photovoltaics_forecast when set_use_adjusted_pv is false by @paulhomes in https://github.com/davidusb-geek/emhass/pull/520
- chore(retrieve): rm random comma by @GeoDerp in https://github.com/davidusb-geek/emhass/pull/523
- Fixed improper handling of home assistant API errors by @Gruek in https://github.com/davidusb-geek/emhass/pull/524
- forecast.py - updated logging by @purcell-lab in https://github.com/davidusb-geek/emhass/pull/525
- Ml regressor fix by @gieljnssns in https://github.com/davidusb-geek/emhass/pull/526
- Add python files to source package by @pail23 in https://github.com/davidusb-geek/emhass/pull/527
- Allows thermal and standard loads to be scheduled by @purcell-lab in https://github.com/davidusb-geek/emhass/pull/528
- Update P_grid description in README.md by @Crosenhain in https://github.com/davidusb-geek/emhass/pull/529
New Contributors
- @Gruek made their first contribution in https://github.com/davidusb-geek/emhass/pull/524
- @Crosenhain made their first contribution in https://github.com/davidusb-geek/emhass/pull/529
Full Changelog: https://github.com/davidusb-geek/emhass/compare/v0.13.1...v0.13.2
Energy Systems - Building Energy Monitoring
- Python
Published by davidusb-geek over 1 year ago
EHMASS - EMHASS version 0.13.1
Improvement
- Add timeout and thread configuration for different LP solvers (CBC, GLPK, COIN). Thanks to @GeoDerp
- Clean up actions and add sourcery scan action. Thanks to @GeoDerp
- Cache Open-Meteo JSON reponse locally to reduce the number of API calls and add resilience. Thanks to @paulhomes
Fix
- Update default weight battery value in config_defaults.json. Thanks to @purcell-lab
- Fix forecast output assignment and avoid SettingWithCopyWarning. Thanks to @radim2tej
- Fix for get_mix_forecast ValueError: cannot convert float NaN to integer. Thanks to @paulhomes
- Fix for hard-coded actual/forecast PV sensor names. Thanks to @paulhomes
- Update pyproject.toml to solve issue #495: Missing files in python package after 0.12.5. Thanks to @GeoDerp
What's Changed
- Fix for hard-coded actual/forecast PV sensor names by @paulhomes in https://github.com/davidusb-geek/emhass/pull/499
- Update pyproject.toml by @davidusb-geek in https://github.com/davidusb-geek/emhass/pull/498
- Fix forecast output assignment and avoid SettingWithCopyWarning by @radim2tej in https://github.com/davidusb-geek/emhass/pull/508
- Fix for get_mix_forecast ValueError: cannot convert float NaN to integer by @paulhomes in https://github.com/davidusb-geek/emhass/pull/502
- Cache Open-Meteo JSON reponse locally to reduce the number of API calls and add resilience by @paulhomes in https://github.com/davidusb-geek/emhass/pull/503
- Update config_defaults.json - weight_battery by @purcell-lab in https://github.com/davidusb-geek/emhass/pull/510
- feat(sourcery): clean up actions and add sourcery scan action by @GeoDerp in https://github.com/davidusb-geek/emhass/pull/512
- fix(toml): adjust toml and imports by @GeoDerp in https://github.com/davidusb-geek/emhass/pull/513
- feat(lpsolver): add timeout by @GeoDerp in https://github.com/davidusb-geek/emhass/pull/514
Full Changelog: https://github.com/davidusb-geek/emhass/compare/v0.13.0...v0.13.1
Energy Systems - Building Energy Monitoring
- Python
Published by davidusb-geek over 1 year ago
EHMASS - v0.13.0
A new method to adjust PV forecast!
Checkout the upgraded documentation here: https://emhass.readthedocs.io/en/latest/forecasts.html#adjusting-pv-forecasts-using-machine-learning
Improvement
- Added a new feature to automatically adjust PV forecast using historical actual/forecast data
- Added Support for multiple days forecasting with CSV data. Thanks to @nielskool for this contribution!
- Refactored a new method
retrieve_home_assistant_dataincommand_line - Unified default training data for ML algorithms using
data/long_train_data.pkl - Added a presentation stack using
marp
Fix
- Fixed Value has dtype incompatible with int64 error, issue #465
- Fixed Runtime "delta_forecast_daily" not recognized, issue #479
- Attempt to fix Missing files in python package after 0.12.5, issue #495
- Fixed workflow for macos tests
What's Changed
- Support multiple days forecasting with CSV data. by @nielskool in https://github.com/davidusb-geek/emhass/pull/485
- Replace any overnight negative PV power values with zero by @paulhomes in https://github.com/davidusb-geek/emhass/pull/494
- Change csv datetime to the correct local time zone by @nielskool in https://github.com/davidusb-geek/emhass/pull/491
- Adjust PV forecasts by @davidusb-geek in https://github.com/davidusb-geek/emhass/pull/476
New Contributors
- @nielskool made their first contribution in https://github.com/davidusb-geek/emhass/pull/485
Full Changelog: https://github.com/davidusb-geek/emhass/compare/v0.12.8...v0.13.0
Energy Systems - Building Energy Monitoring
- Python
Published by davidusb-geek over 1 year ago
EHMASS - EMHASS version 0.12.8
This release comes with a special improvement for weather forecast, we are replacing the scrapper method with a new method using the Open-Meteo API: https://open-meteo.com/
This API provides high resolution forecasts at 15min intervals for any location in the world.
A big improvement to obtain accurate PV production forecasts.
Improvement
- Added a new method for weather forecast: open-meteo. This offers a very nice API to obtain weather forecasts. We are dropping the old scrapper method, if you were using the scapper method you just need to change the Weather forecast method to open-meteo
- Added support to
device_classdefinition when posting sensors to HA. Thanks to @paulhomes for this contribution - Improved github workflow Python testing
- Updated documentation
Fix
- Fixed TZ shift issue when using the typical load power forecaster
What's Changed
- Init caching by @GeoDerp in https://github.com/davidusb-geek/emhass/pull/472
- feat(forecast-cache): add caching to solar-forecast by @GeoDerp in https://github.com/davidusb-geek/emhass/pull/474
- Added device_class for sensors published to Home Assistant by @paulhomes in https://github.com/davidusb-geek/emhass/pull/471
- Implementing open-meteo API by @davidusb-geek in https://github.com/davidusb-geek/emhass/pull/469
New Contributors
- @paulhomes made their first contribution in https://github.com/davidusb-geek/emhass/pull/471
Full Changelog: https://github.com/davidusb-geek/emhass/compare/v0.12.7...v0.12.8
Energy Systems - Building Energy Monitoring
- Python
Published by davidusb-geek over 1 year ago
EHMASS - EMHASS version 0.12.7
Improvement
- A first batch of improvements (code reliability) proposed by SonarQube
Fix
- Added missing files to Dockerfile
- Changes to the Dockerfile to make
/app/datafolder persistent. Thanks to @scruysberghs - Fixing errors with missing sensor
power_load_no_var_loads. Thanks to @scruysberghs - Improved documentation and fixed automated testing for code quality. Thanks to @GeoDerp
What's Changed
- Fix SonarQube error by @GeoDerp in https://github.com/davidusb-geek/emhass/pull/450
- A first batch of Sonar fixes by @davidusb-geek in https://github.com/davidusb-geek/emhass/pull/449
- fallback to what is set in the config by @scruysberghs in https://github.com/davidusb-geek/emhass/pull/458
New Contributors
- @scruysberghs made their first contribution in https://github.com/davidusb-geek/emhass/pull/458
Full Changelog: https://github.com/davidusb-geek/emhass/compare/v0.12.6...v0.12.7
Energy Systems - Building Energy Monitoring
- Python
Published by davidusb-geek over 1 year ago
EHMASS - EMHASS version 0.12.6
Some needed fixes and improvements
0.12.6 - 2025-02-09
Improvement
- Improved warning message in case of wrong URL setting
- Improved testing on typical load forecast method with different time steps
Fix
- Solved missing file problem: data_load_cost_forecast.csv
- Fixed warning issue on
findallmethod
What's Changed
- Fixed findall warning issue by @davidusb-geek in https://github.com/davidusb-geek/emhass/pull/448
- Update Dockerfile to solve issue #451 by @davidusb-geek in https://github.com/davidusb-geek/emhass/pull/452
- Check changing time steps on typical load forecast method by @davidusb-geek in https://github.com/davidusb-geek/emhass/pull/453
Full Changelog: https://github.com/davidusb-geek/emhass/compare/v0.12.5...v0.12.6
Energy Systems - Building Energy Monitoring
- Python
Published by davidusb-geek over 1 year ago
EHMASS - EMHASS version 0.12.5
Improvement
- Implemented new package manager uv resulting in faster builds. Thanks to @GeoDerp
- Implemented SonarQube automatic code review. Thanks to @GeoDerp
- Better management of SOC min/max to solve issue: MPC optim status infeasible when SOC lower than min SOC
Fix
- Reverted back skforecast to latest version
- Fixed issue with list index out of range. Thanks to @meks007 for identifying and reporting this
What's Changed
- Update .readthedocs.yaml by @davidusb-geek in https://github.com/davidusb-geek/emhass/pull/437
- Update utils.py by @davidusb-geek in https://github.com/davidusb-geek/emhass/pull/442
- Revert skforecast by @GeoDerp in https://github.com/davidusb-geek/emhass/pull/440
- feat(SonarQube): add SonarQube to readme by @GeoDerp in https://github.com/davidusb-geek/emhass/pull/443
- Fixed issue related to 444 by @davidusb-geek in https://github.com/davidusb-geek/emhass/pull/445
Full Changelog: https://github.com/davidusb-geek/emhass/compare/v0.12.4...v0.12.5
Energy Systems - Building Energy Monitoring
- Python
Published by davidusb-geek over 1 year ago
EHMASS - EMHASS version v0.12.4
This is a patched version
Patch fix
- Fixed bugs on gunicorn logger and missing CBC modules
What's Changed
- Small fixes gunicorn_logger and cbc by @GeoDerp in https://github.com/davidusb-geek/emhass/pull/434
Full Changelog: https://github.com/davidusb-geek/emhass/compare/v0.12.3...v0.12.4
Energy Systems - Building Energy Monitoring
- Python
Published by davidusb-geek over 1 year ago
EHMASS - EMHASS version 0.12.3
A new release with some interesting improvements and needed fixes.
Improvement
- PVLib DBs append custom EMHASS modules and inverters. Thanks to @GeoDerp
- Added a
def_total_timestepparameter (runtime only for now) that can be used instead ofdef_total_hoursfor passing timestep number instead of hour number. Thanks to @GeoDerp - Updated list of currencies in utils.py. Thanks to @BDVGitHub
- Multiple roof_id support. Thanks to @radim2tej
Fix
- Fix inconsistencies with Modules and Inverters from PVLib (thanks to help from @RafAustralia)
- Fix issue with NAN sensors causing crash errors if incorrect (error handling) @purcell-lab
- Fix Database path on optimization file (Thanks to @paulhomes for finding this issue)
- Fixed weight_battery_charge sign problem. Thanks to @radim2tej
- Fixed bug with out of index in list when retrieving config params from HA
What's Changed
- Debugging issue of list index out of range, solution proposed by @davidusb-geek in https://github.com/davidusb-geek/emhass/pull/418
- Update utils.py by @BDVGitHub in https://github.com/davidusb-geek/emhass/pull/417
- PVLib DBs append custom EMHASS modules and inverters by @GeoDerp in https://github.com/davidusb-geek/emhass/pull/419
- Multiple roof_id support by @radim2tej in https://github.com/davidusb-geek/emhass/pull/423
- Update utils.py by @BDVGitHub in https://github.com/davidusb-geek/emhass/pull/424
- WIP emhass csv append modules and fix inverters syntax and semantics by @GeoDerp in https://github.com/davidusb-geek/emhass/pull/426
- Fixed weight_battery_charge. by @radim2tej in https://github.com/davidusb-geek/emhass/pull/430
New Contributors
- @BDVGitHub made their first contribution in https://github.com/davidusb-geek/emhass/pull/417
Full Changelog: https://github.com/davidusb-geek/emhass/compare/v0.12.2...v0.12.3
Energy Systems - Building Energy Monitoring
- Python
Published by davidusb-geek over 1 year ago
EHMASS - EMHASS version 0.12.2
Patch fix
- Fixed Problem with calling weather-forecast-cache
Improvement
- Updated readthedocs.yml, got rid of duplicated requirements.txt
What's Changed
- Fix Problem with calling weather-forecast-cache by @davidusb-geek in https://github.com/davidusb-geek/emhass/pull/415
- Update utils.py by @radim2tej in https://github.com/davidusb-geek/emhass/pull/414
New Contributors
- @radim2tej made their first contribution in https://github.com/davidusb-geek/emhass/pull/414
Full Changelog: https://github.com/davidusb-geek/emhass/compare/v0.12.1...v0.12.2
Energy Systems - Building Energy Monitoring
- Python
Published by davidusb-geek over 1 year ago
EHMASS - EMHASS version 0.12.1
Patch fix
- Fixed error with retrieve config from HA
What's Changed
- Update README.md by @davidusb-geek in https://github.com/davidusb-geek/emhass/pull/410
- get_ha_config add error handling by @GeoDerp in https://github.com/davidusb-geek/emhass/pull/411
Full Changelog: https://github.com/davidusb-geek/emhass/compare/v0.12.0...v0.12.1
Energy Systems - Building Energy Monitoring
- Python
Published by davidusb-geek over 1 year ago
EHMASS - EMHASS version 0.12.0
0.12.0 - 2024-12-29
BREAKING CHANGE
- The solar PV system is now optional. If you have a PV system then use the switch on the webui or set the
set_use_pvparameter toTrue.
Improvement
- A new load power forecast method based on statistic and typical household load power consumption. This and the optional PV, will make it easier for new users to on-board EMHASS because this new default behavior does not require any data retrieval from Home Assistant or any other external source.
- Updated documentation.
What's Changed
- Update README.md by @AJediIAm in https://github.com/davidusb-geek/emhass/pull/403
- Added support to retrieve configuration data directly from HA by @davidusb-geek in https://github.com/davidusb-geek/emhass/pull/399
- configuration page init pv switch by @GeoDerp in https://github.com/davidusb-geek/emhass/pull/407
- generate test image from master by @GeoDerp in https://github.com/davidusb-geek/emhass/pull/408
- Make PV system optional by @davidusb-geek in https://github.com/davidusb-geek/emhass/pull/405
- Updated documentation and new release by @davidusb-geek in https://github.com/davidusb-geek/emhass/pull/409
New Contributors
- @AJediIAm made their first contribution in https://github.com/davidusb-geek/emhass/pull/403
Full Changelog: https://github.com/davidusb-geek/emhass/compare/v0.11.4...v0.12.0
Energy Systems - Building Energy Monitoring
- Python
Published by davidusb-geek over 1 year ago
EHMASS - EMHASS version 0.11.4
Fix
- Fix bug when treating runtime params, fix optimization_time_step timedelta
What's Changed
- treat_runtimeparams fix optimization_time_step timedelta by @GeoDerp in https://github.com/davidusb-geek/emhass/pull/396
Full Changelog: https://github.com/davidusb-geek/emhass/compare/v0.11.3...v0.11.4
Energy Systems - Building Energy Monitoring
- Python
Published by davidusb-geek over 1 year ago
EHMASS - EMHASS version 0.11.3
Improvement
- Runtime parameters now support all config parameters
- Adopted the Ruff code fomatting
- Added a Github Actions for Google OSV security code scan
- Updated the param_definitions.json
- Bump skforecast from 0.13.0 to 0.14.0. This needed upgrading a bunch of deprecated options. Notably skforcast now uses the time series cross-validation object (cv) from sklearn
Fix
- Updated the default battery optimization weights
- Fix publish_data defaulting to opt_res_latest, tweak warning logs
- Added MLForecaster options to load_forecast_method for param_definitions.json
What's Changed
- Recommendation, bump get_legacy_yaml_parse to get_yaml_parse by @GeoDerp in https://github.com/davidusb-geek/emhass/pull/367
- param_definitions.json add mlforecaster option to load_forecast_method by @GeoDerp in https://github.com/davidusb-geek/emhass/pull/370
- Fix publish_data defaulting to opt_res_latest, tweak warning logs. by @GeoDerp in https://github.com/davidusb-geek/emhass/pull/375
- Bump skforecast from 0.13.0 to 0.14.0 by @dependabot in https://github.com/davidusb-geek/emhass/pull/376
- Update param_definitions.json by @purcell-lab in https://github.com/davidusb-geek/emhass/pull/379
- Update default battery weights by @purcell-lab in https://github.com/davidusb-geek/emhass/pull/380
- Runtime parameters, support all config parameters by @GeoDerp in https://github.com/davidusb-geek/emhass/pull/387
- Revert "Runtime parameters, support all config parameters" by @davidusb-geek in https://github.com/davidusb-geek/emhass/pull/395
- Ruff format by @GeoDerp in https://github.com/davidusb-geek/emhass/pull/388
- Github Actions - Google OSV scan by @GeoDerp in https://github.com/davidusb-geek/emhass/pull/392
Full Changelog: https://github.com/davidusb-geek/emhass/compare/v0.11.2...v0.11.3
Energy Systems - Building Energy Monitoring
- Python
Published by davidusb-geek over 1 year ago
EHMASS - EMHASS version 0.11.2
Improvement
- Added support to retrieve HA configuration. This will be used in the future to automatically retrieve some parameters as the currency
Fix
- utils fix runtime parameter merge bugs
- configuration_script.js fix placeholder value bug
What's Changed
- configuration_script.js fix placeholder value bug by @GeoDerp in https://github.com/davidusb-geek/emhass/pull/364
- utils fix runtime parameter merge bugs by @GeoDerp in https://github.com/davidusb-geek/emhass/pull/366
Full Changelog: https://github.com/davidusb-geek/emhass/compare/v0.11.1...v0.11.2
Energy Systems - Building Energy Monitoring
- Python
Published by davidusb-geek almost 2 years ago
EHMASS - EMHASS version 0.11.1
Fix
- Fix parameter saving and duplicate battery bugs
- utils.py add more specific logging information for config
- Fix issue where thermal runtime parameters were not being propagated into optim_conf
What's Changed
- Update README.md by @GeoDerp in https://github.com/davidusb-geek/emhass/pull/358
- Fix parameter saving and duplicate battery bugs by @GeoDerp in https://github.com/davidusb-geek/emhass/pull/361
- utils.py add more specific logging information for config by @GeoDerp in https://github.com/davidusb-geek/emhass/pull/362
- Fix issue where thermal runtime parameters were not being propagated into optim_conf by @werdnum in https://github.com/davidusb-geek/emhass/pull/336
Full Changelog: https://github.com/davidusb-geek/emhass/compare/v0.11.0...v0.11.1
Energy Systems - Building Energy Monitoring
- Python
Published by davidusb-geek almost 2 years ago
EHMASS - EMHASS version 0.11.0
This version marks huge improvement works by @GeoDerp aiming to simplfy the intial and normal setup of EMHASS. The workflow for setting the EMHASS configuration regardless of the installation method has now been centralized on the single config.json file. The webserver has now a configuration tab that can be used to to modify and save the config.json file.
The complete discussion of the changes on this thread:
https://github.com/davidusb-geek/emhass/pull/334
Automatic version bot improvements
- Bump h5py from 3.11.0 to 3.12.1
- Bump markupsafe from 2.1.5 to 3.0.2
Fix
- Revert to myst-parser==3.0.1 to solve documentation compilation failures
What's Changed
- Fix typos, and improve spelling and grammar throughout the docs by @Moohan in https://github.com/davidusb-geek/emhass/pull/333
- Only automatically set the DateTimeIndex frequency if no "freq" is set in retrieve_hass_conf by @werdnum in https://github.com/davidusb-geek/emhass/pull/335
- Bump skforecast from 0.12.1 to 0.13.0 by @dependabot in https://github.com/davidusb-geek/emhass/pull/337
- Bump myst-parser from 3.0.1 to 4.0.0 by @dependabot in https://github.com/davidusb-geek/emhass/pull/338
- README.md adjust badges by @GeoDerp in https://github.com/davidusb-geek/emhass/pull/331
- Develop.md fix and append unittests info by @GeoDerp in https://github.com/davidusb-geek/emhass/pull/303
- Standalone and Add-on merge by @GeoDerp in https://github.com/davidusb-geek/emhass/pull/334
- Bump h5py from 3.11.0 to 3.12.1 by @dependabot in https://github.com/davidusb-geek/emhass/pull/349
- Bump markupsafe from 2.1.5 to 3.0.2 by @dependabot in https://github.com/davidusb-geek/emhass/pull/356
New Contributors
- @Moohan made their first contribution in https://github.com/davidusb-geek/emhass/pull/333
Full Changelog: https://github.com/davidusb-geek/emhass/compare/v0.10.6...v0.11.0
Energy Systems - Building Energy Monitoring
- Python
Published by davidusb-geek almost 2 years ago
EHMASS - EMHASS version 0.10.6
Fix
- Fixed bug on predicted room temeprature publish, wrong key on DataFrame
What's Changed
- Added missing support for predicted temp publish, prepared new release by @davidusb-geek in https://github.com/davidusb-geek/emhass/pull/327
Full Changelog: https://github.com/davidusb-geek/emhass/compare/v0.10.5...v0.10.6
Energy Systems - Building Energy Monitoring
- Python
Published by davidusb-geek about 2 years ago
EHMASS - EMHASS version 0.10.5
Improvement
- Added support for pubishing thermal load data, namely the predicted room temperature
Full Changelog: https://github.com/davidusb-geek/emhass/compare/v0.10.4...v0.10.5
Energy Systems - Building Energy Monitoring
- Python
Published by davidusb-geek about 2 years ago
EHMASS - EMHASS version 0.10.4
In this release a new thermal modeling for deferrable loads.
Thanks to @werdnum for this contribution!
Improvement
- Added a new thermal modeling, see the new section in the documentation for help to implement this of model for thermal deferrable loads
- Improved documentation
What's Changed
- Fix issue where setfreq seems to be trying to set the frequency to zero by @werdnum in https://github.com/davidusb-geek/emhass/pull/325
- Davidusb geek/dev/thermal model by @davidusb-geek in https://github.com/davidusb-geek/emhass/pull/326
Full Changelog: https://github.com/davidusb-geek/emhass/compare/v0.10.3...v0.10.4
Energy Systems - Building Energy Monitoring
- Python
Published by davidusb-geek about 2 years ago
EHMASS - EMHASS version 0.10.3
Some minor improvements on this release:
Improvement
- Added improved support for
def_start_penaltyoption - Improved documentation
Energy Systems - Building Energy Monitoring
- Python
Published by davidusb-geek about 2 years ago
EHMASS - EMHASS version 0.10.2
In this release:
Improvement
- Weather forecast caching and Solcast method fix by @GeoDerp
- Added a new configuration parameter to control wether we compute PV curtailment or not
- Added hybrid inverter to data publish
- It is now possible to pass these battery parameters at runtime:
SOCmin,SOCmax,Pd_maxandPc_max
Fix
- Fixed problem with negative PV forecast values in optimization.py, by @GeoDerp
What's Changed
- Bump skforecast from 0.12.0 to 0.12.1 by @dependabot in https://github.com/davidusb-geek/emhass/pull/293
- weather_forecast_cache (solcast) by @GeoDerp in https://github.com/davidusb-geek/emhass/pull/300
- P_PV_curtailment, add minimum of 0 by @GeoDerp in https://github.com/davidusb-geek/emhass/pull/316
- forecast-cache action to weather-forecast-cache by @GeoDerp in https://github.com/davidusb-geek/emhass/pull/320
- Davidusb geek/dev/new params improv by @davidusb-geek in https://github.com/davidusb-geek/emhass/pull/307
Full Changelog: https://github.com/davidusb-geek/emhass/compare/v0.10.1...v0.10.2
Energy Systems - Building Energy Monitoring
- Python
Published by davidusb-geek about 2 years ago
EHMASS - EMHASS version 0.10.1
0.10.1 - 2024-06-03
Fix
- Fixed PV curtailment maximum possible value constraint
- Added PV curtailement to variable to publish to HA
What's Changed
- Fixed PV curtailment limitation and publish by @davidusb-geek in https://github.com/davidusb-geek/emhass/pull/298
Full Changelog: https://github.com/davidusb-geek/emhass/compare/v0.10.0...v0.10.1
Energy Systems - Building Energy Monitoring
- Python
Published by davidusb-geek about 2 years ago
EHMASS - EMHASS version 0.10.0
Improvement
- Added support for hybrid inverters
- Implemented a new
continual_publishservice that avoid the need of setting a special automation for data publish. Thanks to @GeoDerp - Implement a deferrable load start penalty functionality. Thanks to @werdnum
- This feature also implement a
def_current_statethat can be passed at runtime to let the optimization consider that a deferrable load is currently scheduled or under operation when launching the optimization task
- This feature also implement a
Fix
- Fixed forecast methods to treat delta_forecast higher than 1 day
- Fixed solar.forecast wrong interpolation of nan values
What's Changed
- Update forecasts.md by @g1za in https://github.com/davidusb-geek/emhass/pull/288
- continual_publish service by @GeoDerp in https://github.com/davidusb-geek/emhass/pull/284
- Fix root_path issue #283 by @GeoDerp in https://github.com/davidusb-geek/emhass/pull/285
- Implement start penalty functionality by @werdnum in https://github.com/davidusb-geek/emhass/pull/291
- Davidusb geek/dev/hybrid inverter def seq by @davidusb-geek in https://github.com/davidusb-geek/emhass/pull/296
New Contributors
- @werdnum made their first contribution in https://github.com/davidusb-geek/emhass/pull/291
Full Changelog: https://github.com/davidusb-geek/emhass/compare/v0.9.1...v0.10.0
Energy Systems - Building Energy Monitoring
- Python
Published by davidusb-geek about 2 years ago
EHMASS - EMHASS version 0.9.1
Fix
- Fix patch for issue with paths to modules and inverters database
- Fixed code formatting, or at least trying to keep a unique format
What's Changed
- Adjusted Readme hyperlink Buttons by @GeoDerp in https://github.com/davidusb-geek/emhass/pull/276
Full Changelog: https://github.com/davidusb-geek/emhass/compare/v0.9.0...v0.9.1
Energy Systems - Building Energy Monitoring
- Python
Published by davidusb-geek over 2 years ago
EHMASS - EMHASS version 0.9.0
Improvement
- On this new version we now have a new method to train a regression model using Scikit-Learn methods. This is the contribution of @gieljnssns. Check the dedicated section in the documentation to this new feature: https://emhass.readthedocs.io/en/latest/mlregressor.html
- Again another bunch of nice improvements by @GeoDerp:
- Added Dictionary var containing EMHASS paths
- MLForcaster error suppression
- Add
freqas runtime parameter - Improved documentation added README buttons
- Bumping dependencies:
- Bump h5py from 3.10.0 to 3.11.0
- Bump myst-parser from 2.0.0 to 3.0.1
- Bump skforecast from 0.11.0 to 0.12.0
What's Changed
- Dynamic paths with emhass config dict, some mlforcaster error suppression by @GeoDerp in https://github.com/davidusb-geek/emhass/pull/247
- patch: Tests still succeed when sensor param changes in emhass_config by @GeoDerp in https://github.com/davidusb-geek/emhass/pull/253
- Bump h5py from 3.10.0 to 3.11.0 by @dependabot in https://github.com/davidusb-geek/emhass/pull/254
- utils.py add freq as runtime parameters by @GeoDerp in https://github.com/davidusb-geek/emhass/pull/255
- Add a function to predict a value from a csv file. Part2 by @gieljnssns in https://github.com/davidusb-geek/emhass/pull/260
- Readme Buttons by @GeoDerp in https://github.com/davidusb-geek/emhass/pull/267
- mlregressor.md adjusted curl examples by @GeoDerp in https://github.com/davidusb-geek/emhass/pull/272
- Bump myst-parser from 2.0.0 to 3.0.1 by @dependabot in https://github.com/davidusb-geek/emhass/pull/263
- Bump skforecast from 0.11.0 to 0.12.0 by @dependabot in https://github.com/davidusb-geek/emhass/pull/274
New Contributors
- @gieljnssns made their first contribution in https://github.com/davidusb-geek/emhass/pull/260
Full Changelog: https://github.com/davidusb-geek/emhass/compare/v0.8.6...v0.9.0
Energy Systems - Building Energy Monitoring
- Python
Published by davidusb-geek over 2 years ago
EHMASS - EMHASS version 0.8.6
Fix
- Fixed bug from forecast out method related to issue 240
- Fix patch for some issues with package file paths
What's Changed
- Fix - Fixed bug from forecast out method related to issue 240 by @davidusb-geek in https://github.com/davidusb-geek/emhass/pull/250
Full Changelog: https://github.com/davidusb-geek/emhass/compare/v0.8.5...v0.8.6
Energy Systems - Building Energy Monitoring
- Python
Published by davidusb-geek over 2 years ago
EHMASS - EMHASS version 0.8.5
Improvement
- Simplified fetch urls to relatives
- Improved code for passed forecast data error handling in utils.py
- Added new tests for forecast longer than 24h by changing parameter
delta_forecast - Added new files for updated PV modules and inverters database for use with PVLib
- Added a new webapp to help configuring modules and inverters: https://emhass-pvlib-database.streamlit.app/
- Added a new
P_to_grid_maxvariable, different from the currentP_from_grid_maxoption
Fix
- style.css auto format and adjusted table styling
- Changed pandas datetime rounding to nonexistent='shift_forward' to help survive DST change
- Dropped support for Python 3.9
What's Changed
- utils.py removed list_hp_periods def load no check by @GeoDerp in https://github.com/davidusb-geek/emhass/pull/237
- Simplified fetch urls to relatives by @GeoDerp in https://github.com/davidusb-geek/emhass/pull/239
- style.css auto format and adjusted table styling by @GeoDerp in https://github.com/davidusb-geek/emhass/pull/241
- patch fix cec path issue by @GeoDerp in https://github.com/davidusb-geek/emhass/pull/249
Full Changelog: https://github.com/davidusb-geek/emhass/compare/v0.8.4...v0.8.5
Energy Systems - Building Energy Monitoring
- Python
Published by davidusb-geek over 2 years ago
EHMASS - EMHASS version 0.8.4
Improvement
- Improved documentation
- Improved logging errors on missing day info
Fix
- Missing round treatment for DST survival in utils.py
- Webui large icons fix
What's Changed
- Missing round treatment for DST survival in utils.py by @davidusb-geek in https://github.com/davidusb-geek/emhass/pull/228
- Index icon fix by @GeoDerp in https://github.com/davidusb-geek/emhass/pull/231
- Improve weight_battery description by @purcell-lab in https://github.com/davidusb-geek/emhass/pull/232
- retrieve_hass.py error day info by @GeoDerp in https://github.com/davidusb-geek/emhass/pull/234
Full Changelog: https://github.com/davidusb-geek/emhass/compare/v0.8.3...v0.8.4
Energy Systems - Building Energy Monitoring
- Python
Published by davidusb-geek over 2 years ago
EHMASS - EMHASS version 0.8.3
Fix
- Fixed web_server options_json bug in standalone fix
What's Changed
- web_server options_json bug in standalone fix by @GeoDerp in https://github.com/davidusb-geek/emhass/pull/226
- README.md standalone timezone info by @GeoDerp in https://github.com/davidusb-geek/emhass/pull/227
Full Changelog: https://github.com/davidusb-geek/emhass/compare/v0.8.2...v0.8.3
Energy Systems - Building Energy Monitoring
- Python
Published by davidusb-geek over 2 years ago
EHMASS - EMHASS version 0.8.2
Improvement
- Proposed a new solution to survive DST using special option of Pandas
roundmethod - Added option to
web_serverto initdata_pathas an options param - Styling docs and html files on webui
- Advanced and basic pages improvements on webui
Fix
- Fixed support for ARM achitectures
What's Changed
- Advanced and Basic Pages by @GeoDerp in https://github.com/davidusb-geek/emhass/pull/212
- web_server.py, info logger about passed runtime params by @GeoDerp in https://github.com/davidusb-geek/emhass/pull/213
- Web Server ARG/ENV redundancy if missing secrets file , Docs added differences page by @GeoDerp in https://github.com/davidusb-geek/emhass/pull/214
- basic.html fixed typo by @GeoDerp in https://github.com/davidusb-geek/emhass/pull/217
- Docs, support custom.css and differences.md by @GeoDerp in https://github.com/davidusb-geek/emhass/pull/219
- docs requirements.txt bump sphinx by @GeoDerp in https://github.com/davidusb-geek/emhass/pull/221
- custom.css, slight table fix by @GeoDerp in https://github.com/davidusb-geek/emhass/pull/222
- web_server addon mode init data_path options param by @GeoDerp in https://github.com/davidusb-geek/emhass/pull/223
- Docker, requirements and amhf support by @GeoDerp in https://github.com/davidusb-geek/emhass/pull/216
Full Changelog: https://github.com/davidusb-geek/emhass/compare/v0.8.1...v0.8.2
Energy Systems - Building Energy Monitoring
- Python
Published by davidusb-geek over 2 years ago
EHMASS - EMHASS version 0.8.1
Improvement
- Improved documentation
Fix
- Persistent data storage fix
- Docker Standalone Publish Workspace Fix
What's Changed
- conf.py, Docs not presenting develop.md by @GeoDerp in https://github.com/davidusb-geek/emhass/pull/206
- Docker Standalone Publish Workspace Fix by @GeoDerp in https://github.com/davidusb-geek/emhass/pull/207
- persistent storage docs by @GeoDerp in https://github.com/davidusb-geek/emhass/pull/209
- web_server tweaked addon url/secret handling by @GeoDerp in https://github.com/davidusb-geek/emhass/pull/210
Full Changelog: https://github.com/davidusb-geek/emhass/compare/v0.8.0...v0.8.1
Energy Systems - Building Energy Monitoring
- Python
Published by davidusb-geek over 2 years ago
EHMASS - EMHASS version 0.8.0
Improvement
- Thanks to the great work from @GeoDerp we now have a unified/centralized Dockerfile that allows for testing different installation configuration methods in one place. This greatly helps testing, notably emulating the add-on environment. This will improve overall testing for both teh core code and the add-on. Again many thanks!
- There were also a lot of nice improveements from @GeoDerp to the webui, namely: styling, dynamic table, optimization feedback after button press, logging, a new clear button, etc.
- From now on we will unify the semantic versioning for both the main core code and the add-on.
What's Changed
- Centralized docker file for all use cases by @GeoDerp in https://github.com/davidusb-geek/emhass/pull/200
- html clear button to remove input data from localStorage by @GeoDerp in https://github.com/davidusb-geek/emhass/pull/201
Full Changelog: https://github.com/davidusb-geek/emhass/compare/v0.7.8...v0.8.0
Energy Systems - Building Energy Monitoring
- Python
Published by davidusb-geek over 2 years ago
EHMASS - EMHASS version 0.7.8
Improvement
Added some nice logging functionalities and responsiveness on the webui.
Thanks to @GeoDerp for this great work!
- new actionLogs.txt is generated in datapath storing sessions app.logger info
- on successful html button press, fetch is called to get html containing latest table data
- on html button press, If app.logger ERROR is present, send action log back and present on page.
What's Changed
- Dynamic tables & error logger feedback by @GeoDerp in https://github.com/davidusb-geek/emhass/pull/196
Full Changelog: https://github.com/davidusb-geek/emhass/compare/v0.7.7...v0.7.8
Energy Systems - Building Energy Monitoring
- Python
Published by davidusb-geek over 2 years ago
EHMASS - EMHASS version 0.7.7
Improvement
- Bumped the webui. Index/style added runtime parameter dictionary inputs. Thanks to @GeoDerp
- Added two additional testing environment options. Thanks to @GeoDerp
Fix
- Bump markupsafe from 2.1.4 to 2.1.5
What's Changed
- Optional: two additional testing environment options by @GeoDerp in https://github.com/davidusb-geek/emhass/pull/182
- Bump markupsafe from 2.1.4 to 2.1.5 by @dependabot in https://github.com/davidusb-geek/emhass/pull/185
- index/style added runtime parameter dictionary inputs by @GeoDerp in https://github.com/davidusb-geek/emhass/pull/190
Full Changelog: https://github.com/davidusb-geek/emhass/compare/v0.7.6...v0.7.7
Energy Systems - Building Energy Monitoring
- Python
Published by davidusb-geek over 2 years ago
EHMASS - EMHASS version 0.7.6
Fix
- Fixed number of startups constraint for deferrable load at the begining of the optimization period
- Fixed list of bools from options.json
- Fixed some testing and debugging scripts
What's Changed
- Update optimization.py by @davidusb-geek in https://github.com/davidusb-geek/emhass/pull/183
Full Changelog: https://github.com/davidusb-geek/emhass/compare/v0.7.5...v0.7.6
Energy Systems - Building Energy Monitoring
- Python
Published by davidusb-geek over 2 years ago
EHMASS - EMHASS version 0.7.5
Fix
- Fixing again "perform_backtest": "false" has no effect
Full Changelog: https://github.com/davidusb-geek/emhass/compare/v0.7.4...v0.7.5
Energy Systems - Building Energy Monitoring
- Python
Published by davidusb-geek over 2 years ago
EHMASS - EMHASS version 0.7.4
Fix
- Fixed broken build params method. Reverting back to alternate PR from @GeoDerp
What's Changed
- Fix - Several bug fixes, see CHANGELOG by @davidusb-geek in https://github.com/davidusb-geek/emhass/pull/179
Full Changelog: https://github.com/davidusb-geek/emhass/compare/v0.7.3...v0.7.4
Energy Systems - Building Energy Monitoring
- Python
Published by davidusb-geek over 2 years ago
EHMASS - EMHASS version 0.7.3
Fix
- Fixed bug when booleans, solving "perform_backtest": "false" has no effect
- Refactored util.py method to handle optional parameters
- Updated web server, solving runtime issues
- Solved issue passing solcast and solar.forecast runtime params
- Updated documentation requirements
What's Changed
- Update lpems.md by @davidusb-geek in https://github.com/davidusb-geek/emhass/pull/173
- Update requirements.txt by @davidusb-geek in https://github.com/davidusb-geek/emhass/pull/172
- style.css increased mobile Plotly support by @GeoDerp in https://github.com/davidusb-geek/emhass/pull/170
- Alternative method to Utils optional options by @GeoDerp in https://github.com/davidusb-geek/emhass/pull/169
- Issue #154: "perform_backtest": "false" has no effect by @davidusb-geek in https://github.com/davidusb-geek/emhass/pull/174
- "perform_backtest": "false" has no effect Fix by @GeoDerp in https://github.com/davidusb-geek/emhass/pull/175
- perform_backtest fix try no.2 by @GeoDerp in https://github.com/davidusb-geek/emhass/pull/177
Full Changelog: https://github.com/davidusb-geek/emhass/compare/v0.7.2...v0.7.3
Energy Systems - Building Energy Monitoring
- Python
Published by davidusb-geek over 2 years ago
EHMASS - EMHASS version 0.7.2
Patched new version wer server issues of missing list types
What's Changed
- Deferrable timewindow documentation by @michaelpiron in https://github.com/davidusb-geek/emhass/pull/165
- Deferrable timewindow documentation 2 by @michaelpiron in https://github.com/davidusb-geek/emhass/pull/166
- Fix optional bugs by @GeoDerp in https://github.com/davidusb-geek/emhass/pull/164
Full Changelog: https://github.com/davidusb-geek/emhass/compare/v0.7.1...v0.7.2
Energy Systems - Building Energy Monitoring
- Python
Published by davidusb-geek over 2 years ago
EHMASS - EMHASS version 0.7.1
Fix
- Patched new version wer server issues accessing correct paths
What's Changed
- possible data path and addon arg fix by @GeoDerp in https://github.com/davidusb-geek/emhass/pull/161
- Fix - Updated web server, solving runtime issues by @davidusb-geek in https://github.com/davidusb-geek/emhass/pull/162
- Fix - New patched version by @davidusb-geek in https://github.com/davidusb-geek/emhass/pull/163
Full Changelog: https://github.com/davidusb-geek/emhass/compare/v0.7.0...v0.7.1
Energy Systems - Building Energy Monitoring
- Python
Published by davidusb-geek over 2 years ago
EHMASS - EMHASS version 0.7.0
Improvement
- Added a new feature to provide operating time windows for deferrable loads. Thanks to @michaelpiron
- Added lots of new options to be configured by the user. Thanks to @GeoDerp
- Updated stylesheet with mobile & dark theme by @GeoDerp
- Improved launch.json to fully test EMHASS on different configurations. Thanks to @GeoDerp
- Added new script to debug and develop new time series clustering feature
- Improved documentation. Thanks to @g1za
Fix
- Updated github workflow actions/checkout to v4 and actions/setup-python to v5
- Changed default values for weight_battery_discharge and weight_battery_charge to zero
- Renamed classes to conform to PEP8
- Bump markupsafe from 2.1.3 to 2.1.4
What's Changed
- Optimizer documentation aligned with code by @michaelpiron in https://github.com/davidusb-geek/emhass/pull/143
- Updated stylesheet with mobile & dark theme by @GeoDerp in https://github.com/davidusb-geek/emhass/pull/146
- Bump markupsafe from 2.1.3 to 2.1.4 by @dependabot in https://github.com/davidusb-geek/emhass/pull/150
- Time limit for deferrable loads by @michaelpiron in https://github.com/davidusb-geek/emhass/pull/153
- options.json increased supported parameters by @GeoDerp in https://github.com/davidusb-geek/emhass/pull/149
- Added new scripts for debugging and testing new clustering feature by @davidusb-geek in https://github.com/davidusb-geek/emhass/pull/157
- Make options optional by @GeoDerp in https://github.com/davidusb-geek/emhass/pull/158
- Feat - Prepared new version, see CHANGELOG by @davidusb-geek in https://github.com/davidusb-geek/emhass/pull/160
New Contributors
- @GeoDerp made their first contribution in https://github.com/davidusb-geek/emhass/pull/146
Full Changelog: https://github.com/davidusb-geek/emhass/compare/v0.6.2...v0.7.0
Energy Systems - Building Energy Monitoring
- Python
Published by davidusb-geek over 2 years ago
EHMASS - EMHASS version 0.6.2
Improvement
- Added option to pass additional weight for battery usage
- Improved coverage
Fix
- Updated optimization constraints to solve conflict for
set_def_constantandtreat_def_as_semi_contcases
What's Changed
- Documentation: updated published values by @g1za in https://github.com/davidusb-geek/emhass/pull/140
- Fix - Fixed conflict on constraints by @davidusb-geek in https://github.com/davidusb-geek/emhass/pull/142
Full Changelog: https://github.com/davidusb-geek/emhass/compare/v0.6.1...v0.6.2
Energy Systems - Building Energy Monitoring
- Python
Published by davidusb-geek over 2 years ago
EHMASS - EMHASS version 0.6.1
Fix
- Patching EMHASS for Python 3.11. New explicit dependecy h5py==3.10.0
- Updated Dockerfile to easily test add-on build
Energy Systems - Building Energy Monitoring
- Python
Published by davidusb-geek over 2 years ago
EHMASS - EMHASS version 0.6.0
New release 0.6.0!!!
Improvement
- Now Python 3.11 is fully supported, thanks to @pail23
- We now publish the optimization status on sensor.optim_status
- Bumped setuptools, skforecast, numpy, scipy, pandas
- A good bunch of documentation improvements thanks to @g1za
- Improved code coverage (a little bit ;-)
Fix
- Some fixes managing time zones, thanks to @pail23
- Bug fix on grid cost function equation, thanks to @michaelpiron
- Applying a first set of fixes proposed by @smurfix:
- Don't ignore HTTP errors
- Handle missing variable correctly
- Slight error message improvement
- Just use the default solver
- Get locations from environment in non-app mode
- Tolerate running directly from source
What's Changed
- Update optimization.py by @michaelpiron in https://github.com/davidusb-geek/emhass/pull/135
- Bump skforecast from 0.10.1 to 0.11.0 by @dependabot in https://github.com/davidusb-geek/emhass/pull/132
- Documentation integration by @g1za in https://github.com/davidusb-geek/emhass/pull/136
- Upgrade to python 3.11 by @pail23 in https://github.com/davidusb-geek/emhass/pull/131
- Fix - Preparing version 0.6.0, see CHANGELOG by @davidusb-geek in https://github.com/davidusb-geek/emhass/pull/137
New Contributors
- @michaelpiron made their first contribution in https://github.com/davidusb-geek/emhass/pull/135
- @pail23 made their first contribution in https://github.com/davidusb-geek/emhass/pull/131
Full Changelog: https://github.com/davidusb-geek/emhass/compare/v0.5.1...v0.6.0
Energy Systems - Building Energy Monitoring
- Python
Published by davidusb-geek over 2 years ago
EHMASS - EMHASS version 0.5.1
Improvement
- Improved documentation, thanks to @g1za
- Bumped skforecast to 0.10.1
- Added a new initial script for exploration of time series clustering. This will one day replace the need to configure the house load sensor with substracted deferrable load consumption
Fix
- Updated automated tesing, dropped support for Python 3.8
What's Changed
- Explain how to use the tune command - mlforecaster.md by @g1za in https://github.com/davidusb-geek/emhass/pull/114
- Bump skforecast from 0.9.1 to 0.10.0 by @dependabot in https://github.com/davidusb-geek/emhass/pull/110
- Update README.md by @g1za in https://github.com/davidusb-geek/emhass/pull/115
- Update forecasts.md by @g1za in https://github.com/davidusb-geek/emhass/pull/117
- Improvements in the documentation by @g1za in https://github.com/davidusb-geek/emhass/pull/118
- Bump skforecast from 0.10.0 to 0.10.1 by @dependabot in https://github.com/davidusb-geek/emhass/pull/119
- Drooping support for Python 3.8 by @davidusb-geek in https://github.com/davidusb-geek/emhass/pull/120
New Contributors
- @g1za made their first contribution in https://github.com/davidusb-geek/emhass/pull/114
Full Changelog: https://github.com/davidusb-geek/emhass/compare/v0.5.0...v0.5.1
Energy Systems - Building Energy Monitoring
- Python
Published by davidusb-geek almost 3 years ago
EHMASS - EMHASS version 0.5.0
Improvement
- Finally added support for ingress thanks to the work from @siku2
- Added a devcontainer and pave the way for ingress access
Fix
- Added some code to fix some numerical syntax issues in tables
What's Changed
- Fix - Added some code to fix some numerical syntax issues in tables by @davidusb-geek in https://github.com/davidusb-geek/emhass/pull/105
- Add devcontainer and pave the way for ingress access by @siku2 in https://github.com/davidusb-geek/emhass/pull/106
New Contributors
- @siku2 made their first contribution in https://github.com/davidusb-geek/emhass/pull/106
Full Changelog: https://github.com/davidusb-geek/emhass/compare/v0.4.15...v0.5.0
Energy Systems - Building Energy Monitoring
- Python
Published by davidusb-geek almost 3 years ago
EHMASS - EMHASS version 0.4.15
Improvement
- Bumped pvlib to 0.10.1
- Updated documentation for forecasts methods.
Fix
- Fixed error message on utils.py
What's Changed
- Fix - Fixed error message on utils.py by @davidusb-geek in https://github.com/davidusb-geek/emhass/pull/99
- Update setup.py by @davidusb-geek in https://github.com/davidusb-geek/emhass/pull/102
- bump pvlib to v0.10.1 by @davidusb-geek in https://github.com/davidusb-geek/emhass/pull/103
Full Changelog: https://github.com/davidusb-geek/emhass/compare/v0.4.14...v0.4.15
Energy Systems - Building Energy Monitoring
- Python
Published by davidusb-geek about 3 years ago
EHMASS - EMHASS version 0.4.14
Improvement
- Bumped skforecast to latest 0.9.1.
- The standalone dockerfile was updated by @majorfrog to include the CBC solver.
Fix
- Fix rounding for price & cost forecasts by @purcell-lab
What's Changed
- Fix rounding for price & cost forecasts by @purcell-lab in https://github.com/davidusb-geek/emhass/pull/96
- Bump skforecast from 0.8.1 to 0.9.0 by @dependabot in https://github.com/davidusb-geek/emhass/pull/95
- Bump skforecast from 0.9.0 to 0.9.1 by @dependabot in https://github.com/davidusb-geek/emhass/pull/97
Full Changelog: https://github.com/davidusb-geek/emhass/compare/v0.4.13...v0.4.14
Energy Systems - Building Energy Monitoring
- Python
Published by davidusb-geek about 3 years ago
EHMASS - EMHASS version 0.4.13
Some interesting improvements and some needed fixes:
Improvement
- Added support for data reconstruction when missing values on last window for ML forecaster prediction.
- Added treatment of SOCtarget passed at runtime for day-ahead optimization.
- Added publish_prefix key to pass a common prefix to all published data.
Fix
- Patched sensor rounding problem.
- Bump myst-parser from 1.0.0 to 2.0.0
- Fixed missing attributes is the sensors when using the custom IDs.
What's Changed
- Bump markupsafe from 2.1.2 to 2.1.3 by @dependabot in https://github.com/davidusb-geek/emhass/pull/86
- Update retrieve_hass.py by @davidusb-geek in https://github.com/davidusb-geek/emhass/pull/91
- Update Dockerfile by @majorfrog in https://github.com/davidusb-geek/emhass/pull/92
- Bump myst-parser from 1.0.0 to 2.0.0 by @dependabot in https://github.com/davidusb-geek/emhass/pull/89
New Contributors
- @majorfrog made their first contribution in https://github.com/davidusb-geek/emhass/pull/92
Full Changelog: https://github.com/davidusb-geek/emhass/compare/v0.4.12...v0.4.13
Energy Systems - Building Energy Monitoring
- Python
Published by davidusb-geek about 3 years ago
EHMASS - EMHASS version 0.4.12
Improvement
- Added forecasts for unit_prod_price and unit_load_cost.
- Improved documentation.
Fix
- Bump skforecast from 0.8.0 to 0.8.1
What's Changed
- Bump skforecast from 0.8.0 to 0.8.1 by @dependabot in https://github.com/davidusb-geek/emhass/pull/81
- Update retrieve_hass.py by @davidusb-geek in https://github.com/davidusb-geek/emhass/pull/84
Full Changelog: https://github.com/davidusb-geek/emhass/compare/v0.4.11...v0.4.12
Energy Systems - Building Energy Monitoring
- Python
Published by davidusb-geek about 3 years ago
EHMASS - EMHASS version 0.4.11
Improvement
- Adding new constraints to limit the dynamics (kW/sec) of deferrable loads and battery power. The LP formulation works correctly and a work should be done on integrating the user input parameters to control this functionality.
- Added new constraint to avoid battery discharging to the grid.
- Added possibility to set the logging level.
Fix
- Bumped version of skforecast from 0.6.0 to 0.8.1. Doing this mainly implies changing how the exogenous data is passed to fit and predict methods.
- Fixed wrong path for csv files when using load cost and prod price forecasts.
What's Changed
- Dev/skforecast bump optim dynamics by @davidusb-geek in https://github.com/davidusb-geek/emhass/pull/80
Full Changelog: https://github.com/davidusb-geek/emhass/compare/v0.4.10...v0.4.11
Energy Systems - Building Energy Monitoring
- Python
Published by davidusb-geek over 3 years ago
EHMASS - EMHASS version 0.4.10
Fix
- Fixed wrong name of new cost sensor.
- Fixed units of measurements of costs to €/kWh.
- Added color sequence to plot figures, now avery line should be plotted with a different color.
What's Changed
- Update utils.py to publish prod cost by @purcell-lab in https://github.com/davidusb-geek/emhass/pull/77
Full Changelog: https://github.com/davidusb-geek/emhass/compare/v0.4.9...v0.4.10
Energy Systems - Building Energy Monitoring
- Python
Published by davidusb-geek over 3 years ago
EHMASS - EMHASS version 0.4.9
Fix
- Updated default value for total number of days for ML model training.
- Added publish of unit_load_cost and unit_prod_price sensors.
- Improved docs intro.
- Bump myst-parser from 0.18.1 to 1.0.0
What's Changed
- Update machine_learning_forecaster.py by @davidusb-geek in https://github.com/davidusb-geek/emhass/pull/68
- Update to Introduction by @purcell-lab in https://github.com/davidusb-geek/emhass/pull/72
- Bump myst-parser from 0.18.1 to 1.0.0 by @dependabot in https://github.com/davidusb-geek/emhass/pull/63
Full Changelog: https://github.com/davidusb-geek/emhass/compare/v0.4.8...v0.4.9
Energy Systems - Building Energy Monitoring
- Python
Published by davidusb-geek over 3 years ago
EHMASS - EMHASS version 0.4.8
Fix
- Fixed to correct index length for ML forecaster prediction series.
Full Changelog: https://github.com/davidusb-geek/emhass/compare/v0.4.7...v0.4.8
Energy Systems - Building Energy Monitoring
- Python
Published by davidusb-geek over 3 years ago
EHMASS - EMHASS version 0.4.7
Fix
- Fixed wrong column name for var_load when using predict with ML forecaster.
Full Changelog: https://github.com/davidusb-geek/emhass/compare/v0...v0.4.7
Energy Systems - Building Energy Monitoring
- Python
Published by davidusb-geek over 3 years ago
EHMASS - EMHASS version 0.4.6
Fix
- Fixed wrong path for saved ML forecaster model.
Full Changelog: https://github.com/davidusb-geek/emhass/compare/v0.4.5...v0.4.6
Energy Systems - Building Energy Monitoring
- Python
Published by davidusb-geek over 3 years ago
EHMASS - EMHASS version 0.4.5
Fix
- Fixed default behavior for passed data.
- Added a new graph for tune results.
Full Changelog: https://github.com/davidusb-geek/emhass/compare/v0.4.4...v0.4.5
Energy Systems - Building Energy Monitoring
- Python
Published by davidusb-geek over 3 years ago
EHMASS - EMHASS version 0.4.4
Fix
- Added missing possibility to set the method for load forecast to 'mlforecaster'.
- Fixed logging formatting.
Full Changelog: https://github.com/davidusb-geek/emhass/compare/v0.4.3...v0.4.4
Energy Systems - Building Energy Monitoring
- Python
Published by davidusb-geek over 3 years ago
EHMASS - EMHASS version 0.4.3
Some bug fixing
Fix
- Fixed logging.
- Fixed missing module on docker standalone mode.
Full Changelog: https://github.com/davidusb-geek/emhass/compare/v0.4.2...v0.4.3
Energy Systems - Building Energy Monitoring
- Python
Published by davidusb-geek over 3 years ago
EHMASS - EMHASS version 0.4.2
Some bug fixes.
Full Changelog: https://github.com/davidusb-geek/emhass/compare/v0.4.1...v0.4.2
Energy Systems - Building Energy Monitoring
- Python
Published by davidusb-geek over 3 years ago
EHMASS - EMHASS version 0.4.1
Some nice improvements adapted to the new version v0.4.x:
Improvement
- Improved the documentation and the in-code docstrings.
- Added the possibility to save the optimized model after a tuning routine.
- Added the possibility to publish predict results to a Home Assistant sensor.
- Added the possibility to provide custom entity_id, unit_of_measurement and friendly_name for each published data.
Full Changelog: https://github.com/davidusb-geek/emhass/compare/v0.4.0...v0.4.1
Energy Systems - Building Energy Monitoring
- Python
Published by davidusb-geek over 3 years ago
EHMASS - EMHASS version 0.4.0
The new Machine Learning forecast module is here!
This will provide a better forecast model for the load power consumption forecast.
Improvement
- A brand new load forecast module and more... The new forecast module can actually be used to forecast any Home Assistant variable. The API provides fit, predict and tune methods. By the default it provides a more efficient way to forecast the power load consumption. It is based on the skforecast module that uses scikit-learn regression models considering auto-regression lags as features. The hyperparameter optimization is proposed using bayesian optimization from the optuna module.
- A new documentation section covering the new forecast module.
Fix
- Fixed Solar.Forecast issues with lists of parameters.
- Fixed latex equations rendering on documentation, dropped Mathjax.
- Refactored images in documentation, now using only SVG for plotly figures.
- Bumped requirements to latest non-conflicting versions.
What's Changed
- Update jinja2 requirement from <3.1 to <3.2 by @dependabot in https://github.com/davidusb-geek/emhass/pull/53
- Bump markupsafe from 2.0.1 to 2.1.2 by @dependabot in https://github.com/davidusb-geek/emhass/pull/52
- Dev/new forecast part1 by @davidusb-geek in https://github.com/davidusb-geek/emhass/pull/57
- Dev/new forecast part2 by @davidusb-geek in https://github.com/davidusb-geek/emhass/pull/59
Full Changelog: https://github.com/davidusb-geek/emhass/compare/v0.3.36...v0.4.0
Energy Systems - Building Energy Monitoring
- Python
Published by davidusb-geek over 3 years ago
EHMASS - EMHASS version 0.3.36
Full Changelog: https://github.com/davidusb-geek/emhass/compare/v0.3.35...v0.3.36
Energy Systems - Building Energy Monitoring
- Python
Published by davidusb-geek over 3 years ago
EHMASS - EMHASS version 0.3.35
Fix
- Fixed access to injection_dict for the first time that emhass is used.
Full Changelog: https://github.com/davidusb-geek/emhass/compare/v0.3.34...v0.3.35
Energy Systems - Building Energy Monitoring
- Python
Published by davidusb-geek over 3 years ago
EHMASS - EMHASS version 0.3.34
Fix
- Fixed bugs with paths again, now using the official pathlib everywhere.
Full Changelog: https://github.com/davidusb-geek/emhass/compare/v0.3.32...v0.3.34
Energy Systems - Building Energy Monitoring
- Python
Published by davidusb-geek over 3 years ago
EHMASS - EMHASS version 0.3.32
Fix
- Fixed bugs on handling data folder name.
- Improved warning messages when passing list of values with items detected as non digits.
What's Changed
- Update web_server.py by @treynaer in https://github.com/davidusb-geek/emhass/pull/43
New Contributors
- @treynaer made their first contribution in https://github.com/davidusb-geek/emhass/pull/43
Full Changelog: https://github.com/davidusb-geek/emhass/compare/v0.3.29...v0.3.32
Energy Systems - Building Energy Monitoring
- Python
Published by davidusb-geek over 3 years ago
EHMASS - EMHASS version 0.3.29
Improvement: Implemented data storage to survive add-on restarts.
Full Changelog: https://github.com/davidusb-geek/emhass/compare/v0.3.28...v0.3.29
Energy Systems - Building Energy Monitoring
- Python
Published by davidusb-geek over 3 years ago
EHMASS - EMHASS version v0.3.25
Fixed dependencies, uniform working versions of Numpy, Pandas
Full Changelog: https://github.com/davidusb-geek/emhass/compare/v0.3.24...v0.3.25
Energy Systems - Building Energy Monitoring
- Python
Published by davidusb-geek over 3 years ago
EHMASS - EMHASS version 0.3.24
Fixed dependencies, rolled back to older fixed Numpy and Pandas versions.
Full Changelog: https://github.com/davidusb-geek/emhass/compare/v0.3.23...v0.3.24
Energy Systems - Building Energy Monitoring
- Python
Published by davidusb-geek over 3 years ago
EHMASS - EMHASS version 0.3.23
A quick fix release.
Fix
- Fixed missing integration of additional
set_nocharge_from_gridin the web server. - Improved the documentation.
Full Changelog: https://github.com/davidusb-geek/emhass/compare/v0.3.22...v0.3.23
Energy Systems - Building Energy Monitoring
- Python
Published by davidusb-geek over 3 years ago
EHMASS - EMHASS version 0.3.22
This version comes with some improvements and fixes. Most notably the possibility to add a constraint to forbidden charging the battery from the grid.
Improvement
- Improved unittest for mock get requests
- Improved coverage
Fix
- Code works even if no battery data is configured
- Added more explicit logging error message in the case of no data retrieved from Home Assistant
What's Changed
- Bump myst-parser from 0.14.0 to 0.18.1 by @dependabot in https://github.com/davidusb-geek/emhass/pull/28
- Bump markupsafe from 2.0.1 to 2.1.1 by @dependabot in https://github.com/davidusb-geek/emhass/pull/30
- Bump sphinx from 3.5.4 to 5.3.0 by @dependabot in https://github.com/davidusb-geek/emhass/pull/29
- Bump docutils from 0.16 to 0.19 by @dependabot in https://github.com/davidusb-geek/emhass/pull/31
- Bump sphinx-rtd-theme from 0.5.2 to 1.1.1 by @dependabot in https://github.com/davidusb-geek/emhass/pull/32
- Create CODE_OF_CONDUCT.md by @davidusb-geek in https://github.com/davidusb-geek/emhass/pull/33
- Bump markupsafe from 2.1.1 to 2.1.2 by @dependabot in https://github.com/davidusb-geek/emhass/pull/39
New Contributors
- @dependabot made their first contribution in https://github.com/davidusb-geek/emhass/pull/28
Full Changelog: https://github.com/davidusb-geek/emhass/compare/v0.3.21...v0.3.22
Energy Systems - Building Energy Monitoring
- Python
Published by davidusb-geek over 3 years ago
EHMASS - EMHASS version 0.3.21
Fix
- Fixed docstrings
- Added github worflows for coverage and automatic package compiling
- Fixing interpolation for Forecast.Solar data
Full Changelog: https://github.com/davidusb-geek/emhass/compare/v0.3.20...v0.3.21
Energy Systems - Building Energy Monitoring
- Python
Published by davidusb-geek almost 4 years ago