emhass 0.12.3__tar.gz → 0.12.4__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (154) hide show
  1. {emhass-0.12.3 → emhass-0.12.4}/.devcontainer/devcontainer.json +1 -1
  2. {emhass-0.12.3 → emhass-0.12.4}/CHANGELOG.md +4 -0
  3. {emhass-0.12.3 → emhass-0.12.4}/Dockerfile +3 -3
  4. {emhass-0.12.3 → emhass-0.12.4}/PKG-INFO +1 -1
  5. {emhass-0.12.3 → emhass-0.12.4}/docs/conf.py +1 -1
  6. {emhass-0.12.3 → emhass-0.12.4}/pyproject.toml +1 -1
  7. {emhass-0.12.3 → emhass-0.12.4}/src/emhass/web_server.py +5 -0
  8. {emhass-0.12.3 → emhass-0.12.4}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
  9. {emhass-0.12.3 → emhass-0.12.4}/.github/dependabot.yml +0 -0
  10. {emhass-0.12.3 → emhass-0.12.4}/.github/workflows/codecov.yaml +0 -0
  11. {emhass-0.12.3 → emhass-0.12.4}/.github/workflows/codeql.yml +0 -0
  12. {emhass-0.12.3 → emhass-0.12.4}/.github/workflows/docker-build-test.yaml +0 -0
  13. {emhass-0.12.3 → emhass-0.12.4}/.github/workflows/publish_docker-test.yaml +0 -0
  14. {emhass-0.12.3 → emhass-0.12.4}/.github/workflows/publish_docker.yaml +0 -0
  15. {emhass-0.12.3 → emhass-0.12.4}/.github/workflows/python-test.yml +0 -0
  16. {emhass-0.12.3 → emhass-0.12.4}/.github/workflows/updatePVLibDB.yaml +0 -0
  17. {emhass-0.12.3 → emhass-0.12.4}/.github/workflows/upload-package-to-pypi.yaml +0 -0
  18. {emhass-0.12.3 → emhass-0.12.4}/.gitignore +0 -0
  19. {emhass-0.12.3 → emhass-0.12.4}/.python-version +0 -0
  20. {emhass-0.12.3 → emhass-0.12.4}/.readthedocs.yaml +0 -0
  21. {emhass-0.12.3 → emhass-0.12.4}/CODE_OF_CONDUCT.md +0 -0
  22. {emhass-0.12.3 → emhass-0.12.4}/CONTRIBUTING.md +0 -0
  23. {emhass-0.12.3 → emhass-0.12.4}/LICENSE +0 -0
  24. {emhass-0.12.3 → emhass-0.12.4}/MANIFEST.in +0 -0
  25. {emhass-0.12.3 → emhass-0.12.4}/README.md +0 -0
  26. {emhass-0.12.3 → emhass-0.12.4}/data/data_load_cost_forecast.csv +0 -0
  27. {emhass-0.12.3 → emhass-0.12.4}/data/data_load_forecast.csv +0 -0
  28. {emhass-0.12.3 → emhass-0.12.4}/data/data_prod_price_forecast.csv +0 -0
  29. {emhass-0.12.3 → emhass-0.12.4}/data/data_weather_forecast.csv +0 -0
  30. {emhass-0.12.3 → emhass-0.12.4}/data/heating_prediction.csv +0 -0
  31. {emhass-0.12.3 → emhass-0.12.4}/data/opt_res_latest.csv +0 -0
  32. {emhass-0.12.3 → emhass-0.12.4}/data/opt_res_perfect_optim_cost.csv +0 -0
  33. {emhass-0.12.3 → emhass-0.12.4}/data/opt_res_perfect_optim_profit.csv +0 -0
  34. {emhass-0.12.3 → emhass-0.12.4}/data/opt_res_perfect_optim_self-consumption.csv +0 -0
  35. {emhass-0.12.3 → emhass-0.12.4}/data/test_response_get_data_get_method.pbz2 +0 -0
  36. {emhass-0.12.3 → emhass-0.12.4}/data/test_response_scrapper_get_method.pbz2 +0 -0
  37. {emhass-0.12.3 → emhass-0.12.4}/data/test_response_solarforecast_get_method.pbz2 +0 -0
  38. {emhass-0.12.3 → emhass-0.12.4}/data/test_response_solcast_get_method.pbz2 +0 -0
  39. {emhass-0.12.3 → emhass-0.12.4}/deploy_docker.mk +0 -0
  40. {emhass-0.12.3 → emhass-0.12.4}/docs/Makefile +0 -0
  41. {emhass-0.12.3 → emhass-0.12.4}/docs/_static/css/custom.css +0 -0
  42. {emhass-0.12.3 → emhass-0.12.4}/docs/config.md +0 -0
  43. {emhass-0.12.3 → emhass-0.12.4}/docs/develop.md +0 -0
  44. {emhass-0.12.3 → emhass-0.12.4}/docs/differences.md +0 -0
  45. {emhass-0.12.3 → emhass-0.12.4}/docs/emhass.md +0 -0
  46. {emhass-0.12.3 → emhass-0.12.4}/docs/forecasts.md +0 -0
  47. {emhass-0.12.3 → emhass-0.12.4}/docs/images/Community_button.svg +0 -0
  48. {emhass-0.12.3 → emhass-0.12.4}/docs/images/Documentation_button.svg +0 -0
  49. {emhass-0.12.3 → emhass-0.12.4}/docs/images/EMHASS_Add_on_button.svg +0 -0
  50. {emhass-0.12.3 → emhass-0.12.4}/docs/images/EMHASS_button.svg +0 -0
  51. {emhass-0.12.3 → emhass-0.12.4}/docs/images/Issues_button.svg +0 -0
  52. {emhass-0.12.3 → emhass-0.12.4}/docs/images/deferrable_timewindow_addon_config.png +0 -0
  53. {emhass-0.12.3 → emhass-0.12.4}/docs/images/deferrable_timewindow_edge_cases.png +0 -0
  54. {emhass-0.12.3 → emhass-0.12.4}/docs/images/deferrable_timewindow_evexample.png +0 -0
  55. {emhass-0.12.3 → emhass-0.12.4}/docs/images/emhass_logo.png +0 -0
  56. {emhass-0.12.3 → emhass-0.12.4}/docs/images/emhass_logo.svg +0 -0
  57. {emhass-0.12.3 → emhass-0.12.4}/docs/images/ems_schema.png +0 -0
  58. {emhass-0.12.3 → emhass-0.12.4}/docs/images/ems_schema.svg +0 -0
  59. {emhass-0.12.3 → emhass-0.12.4}/docs/images/forecasted_PV_data.png +0 -0
  60. {emhass-0.12.3 → emhass-0.12.4}/docs/images/hp_hc_periods.png +0 -0
  61. {emhass-0.12.3 → emhass-0.12.4}/docs/images/hp_hc_periods.svg +0 -0
  62. {emhass-0.12.3 → emhass-0.12.4}/docs/images/inputs_cost_price.png +0 -0
  63. {emhass-0.12.3 → emhass-0.12.4}/docs/images/inputs_cost_price.svg +0 -0
  64. {emhass-0.12.3 → emhass-0.12.4}/docs/images/inputs_dayahead.png +0 -0
  65. {emhass-0.12.3 → emhass-0.12.4}/docs/images/inputs_dayahead.svg +0 -0
  66. {emhass-0.12.3 → emhass-0.12.4}/docs/images/inputs_power.png +0 -0
  67. {emhass-0.12.3 → emhass-0.12.4}/docs/images/inputs_power.svg +0 -0
  68. {emhass-0.12.3 → emhass-0.12.4}/docs/images/inputs_power_load_forecast.svg +0 -0
  69. {emhass-0.12.3 → emhass-0.12.4}/docs/images/load_forecast_knn_bare.svg +0 -0
  70. {emhass-0.12.3 → emhass-0.12.4}/docs/images/load_forecast_knn_bare_backtest.svg +0 -0
  71. {emhass-0.12.3 → emhass-0.12.4}/docs/images/load_forecast_knn_optimized.svg +0 -0
  72. {emhass-0.12.3 → emhass-0.12.4}/docs/images/load_forecast_production.svg +0 -0
  73. {emhass-0.12.3 → emhass-0.12.4}/docs/images/naive_forecast.png +0 -0
  74. {emhass-0.12.3 → emhass-0.12.4}/docs/images/naive_forecast.svg +0 -0
  75. {emhass-0.12.3 → emhass-0.12.4}/docs/images/optim_results_PV_Batt_defLoads_dayaheadOptim.png +0 -0
  76. {emhass-0.12.3 → emhass-0.12.4}/docs/images/optim_results_PV_Batt_defLoads_dayaheadOptim.svg +0 -0
  77. {emhass-0.12.3 → emhass-0.12.4}/docs/images/optim_results_PV_Batt_defLoads_dayaheadOptim_SOC.png +0 -0
  78. {emhass-0.12.3 → emhass-0.12.4}/docs/images/optim_results_PV_Batt_defLoads_dayaheadOptim_SOC.svg +0 -0
  79. {emhass-0.12.3 → emhass-0.12.4}/docs/images/optim_results_PV_defLoads_dayaheadOptim.png +0 -0
  80. {emhass-0.12.3 → emhass-0.12.4}/docs/images/optim_results_PV_defLoads_dayaheadOptim.svg +0 -0
  81. {emhass-0.12.3 → emhass-0.12.4}/docs/images/optim_results_PV_defLoads_perfectOptim.png +0 -0
  82. {emhass-0.12.3 → emhass-0.12.4}/docs/images/optim_results_PV_defLoads_perfectOptim.svg +0 -0
  83. {emhass-0.12.3 → emhass-0.12.4}/docs/images/optim_results_bar_plot.png +0 -0
  84. {emhass-0.12.3 → emhass-0.12.4}/docs/images/optim_results_defLoads_dayaheadOptim.png +0 -0
  85. {emhass-0.12.3 → emhass-0.12.4}/docs/images/optim_results_defLoads_dayaheadOptim.svg +0 -0
  86. {emhass-0.12.3 → emhass-0.12.4}/docs/images/optimization_graphics.png +0 -0
  87. {emhass-0.12.3 → emhass-0.12.4}/docs/images/optimization_graphics.svg +0 -0
  88. {emhass-0.12.3 → emhass-0.12.4}/docs/images/thermal_load_diagram.svg +0 -0
  89. {emhass-0.12.3 → emhass-0.12.4}/docs/images/workflow.png +0 -0
  90. {emhass-0.12.3 → emhass-0.12.4}/docs/images/workflow.svg +0 -0
  91. {emhass-0.12.3 → emhass-0.12.4}/docs/index.md +0 -0
  92. {emhass-0.12.3 → emhass-0.12.4}/docs/intro.md +0 -0
  93. {emhass-0.12.3 → emhass-0.12.4}/docs/log.txt +0 -0
  94. {emhass-0.12.3 → emhass-0.12.4}/docs/lpems.md +0 -0
  95. {emhass-0.12.3 → emhass-0.12.4}/docs/make.bat +0 -0
  96. {emhass-0.12.3 → emhass-0.12.4}/docs/mlforecaster.md +0 -0
  97. {emhass-0.12.3 → emhass-0.12.4}/docs/mlregressor.md +0 -0
  98. {emhass-0.12.3 → emhass-0.12.4}/docs/requirements.txt +0 -0
  99. {emhass-0.12.3 → emhass-0.12.4}/docs/study_case.md +0 -0
  100. {emhass-0.12.3 → emhass-0.12.4}/docs/thermal_model.md +0 -0
  101. {emhass-0.12.3 → emhass-0.12.4}/gunicorn.conf.py +0 -0
  102. {emhass-0.12.3 → emhass-0.12.4}/options.json +0 -0
  103. {emhass-0.12.3 → emhass-0.12.4}/scripts/dayahead_optim.sh +0 -0
  104. {emhass-0.12.3 → emhass-0.12.4}/scripts/load_clustering.py +0 -0
  105. {emhass-0.12.3 → emhass-0.12.4}/scripts/load_forecast_sklearn.py +0 -0
  106. {emhass-0.12.3 → emhass-0.12.4}/scripts/optim_results_analysis.py +0 -0
  107. {emhass-0.12.3 → emhass-0.12.4}/scripts/publish_data.sh +0 -0
  108. {emhass-0.12.3 → emhass-0.12.4}/scripts/read_csv_plot_data.py +0 -0
  109. {emhass-0.12.3 → emhass-0.12.4}/scripts/requirements.txt +0 -0
  110. {emhass-0.12.3 → emhass-0.12.4}/scripts/save_pvlib_module_inverter_database.py +0 -0
  111. {emhass-0.12.3 → emhass-0.12.4}/scripts/script_debug_forecasts.py +0 -0
  112. {emhass-0.12.3 → emhass-0.12.4}/scripts/script_debug_optim.py +0 -0
  113. {emhass-0.12.3 → emhass-0.12.4}/scripts/script_simple_thermal_model.py +0 -0
  114. {emhass-0.12.3 → emhass-0.12.4}/scripts/script_thermal_model_optim.py +0 -0
  115. {emhass-0.12.3 → emhass-0.12.4}/scripts/special_config_analysis.py +0 -0
  116. {emhass-0.12.3 → emhass-0.12.4}/scripts/special_options.json +0 -0
  117. {emhass-0.12.3 → emhass-0.12.4}/scripts/use_cases_analysis.py +0 -0
  118. {emhass-0.12.3 → emhass-0.12.4}/secrets_emhass(example).yaml +0 -0
  119. {emhass-0.12.3 → emhass-0.12.4}/src/emhass/__init__.py +0 -0
  120. {emhass-0.12.3 → emhass-0.12.4}/src/emhass/command_line.py +0 -0
  121. {emhass-0.12.3 → emhass-0.12.4}/src/emhass/data/associations.csv +0 -0
  122. {emhass-0.12.3 → emhass-0.12.4}/src/emhass/data/cec_inverters.pbz2 +0 -0
  123. {emhass-0.12.3 → emhass-0.12.4}/src/emhass/data/cec_modules.pbz2 +0 -0
  124. {emhass-0.12.3 → emhass-0.12.4}/src/emhass/data/config_defaults.json +0 -0
  125. {emhass-0.12.3 → emhass-0.12.4}/src/emhass/data/emhass_inverters.csv +0 -0
  126. {emhass-0.12.3 → emhass-0.12.4}/src/emhass/data/emhass_modules.csv +0 -0
  127. {emhass-0.12.3 → emhass-0.12.4}/src/emhass/forecast.py +0 -0
  128. {emhass-0.12.3 → emhass-0.12.4}/src/emhass/img/emhass_icon.png +0 -0
  129. {emhass-0.12.3 → emhass-0.12.4}/src/emhass/machine_learning_forecaster.py +0 -0
  130. {emhass-0.12.3 → emhass-0.12.4}/src/emhass/machine_learning_regressor.py +0 -0
  131. {emhass-0.12.3 → emhass-0.12.4}/src/emhass/optimization.py +0 -0
  132. {emhass-0.12.3 → emhass-0.12.4}/src/emhass/retrieve_hass.py +0 -0
  133. {emhass-0.12.3 → emhass-0.12.4}/src/emhass/static/advanced.html +0 -0
  134. {emhass-0.12.3 → emhass-0.12.4}/src/emhass/static/basic.html +0 -0
  135. {emhass-0.12.3 → emhass-0.12.4}/src/emhass/static/configuration_list.html +0 -0
  136. {emhass-0.12.3 → emhass-0.12.4}/src/emhass/static/configuration_script.js +0 -0
  137. {emhass-0.12.3 → emhass-0.12.4}/src/emhass/static/data/param_definitions.json +0 -0
  138. {emhass-0.12.3 → emhass-0.12.4}/src/emhass/static/img/emhass_icon.png +0 -0
  139. {emhass-0.12.3 → emhass-0.12.4}/src/emhass/static/img/emhass_logo_short.svg +0 -0
  140. {emhass-0.12.3 → emhass-0.12.4}/src/emhass/static/img/feather-sprite.svg +0 -0
  141. {emhass-0.12.3 → emhass-0.12.4}/src/emhass/static/script.js +0 -0
  142. {emhass-0.12.3 → emhass-0.12.4}/src/emhass/static/style.css +0 -0
  143. {emhass-0.12.3 → emhass-0.12.4}/src/emhass/templates/configuration.html +0 -0
  144. {emhass-0.12.3 → emhass-0.12.4}/src/emhass/templates/index.html +0 -0
  145. {emhass-0.12.3 → emhass-0.12.4}/src/emhass/templates/template.html +0 -0
  146. {emhass-0.12.3 → emhass-0.12.4}/src/emhass/utils.py +0 -0
  147. {emhass-0.12.3 → emhass-0.12.4}/tests/__init__.py +0 -0
  148. {emhass-0.12.3 → emhass-0.12.4}/tests/test_command_line_utils.py +0 -0
  149. {emhass-0.12.3 → emhass-0.12.4}/tests/test_forecast.py +0 -0
  150. {emhass-0.12.3 → emhass-0.12.4}/tests/test_machine_learning_forecaster.py +0 -0
  151. {emhass-0.12.3 → emhass-0.12.4}/tests/test_machine_learning_regressor.py +0 -0
  152. {emhass-0.12.3 → emhass-0.12.4}/tests/test_optimization.py +0 -0
  153. {emhass-0.12.3 → emhass-0.12.4}/tests/test_retrieve_hass.py +0 -0
  154. {emhass-0.12.3 → emhass-0.12.4}/tests/test_utils.py +0 -0
@@ -44,6 +44,6 @@
44
44
  }
45
45
  },
46
46
 
47
- "postCreateCommand": ["uv", "pip", "install", "--cache-dir", ".cache", "--verbose", ".[test]"]
47
+ "postCreateCommand": [ "uv", "pip", "install", "--cache-dir", ".cache", "--verbose", ".[test]" ]
48
48
 
49
49
  }
@@ -1,5 +1,9 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.12.4 - 2025-01-27
4
+ ### Patch fix
5
+ - Fixed bugs on gunicorn logger and missing CBC modules
6
+
3
7
  ## 0.12.3 - 2025-01-26
4
8
  ### Improvement
5
9
  - PVLib DBs append custom EMHASS modules and inverters. Thanks to @GeoDerp
@@ -34,10 +34,10 @@ RUN apt-get update \
34
34
  libhdf5-hl-100 \
35
35
  libhdf5-103-1 \
36
36
  libhdf5-dev \
37
- libhdf5-serial-dev
37
+ libhdf5-serial-dev \
38
38
  # # cbc
39
- # coinor-cbc \
40
- # coinor-libcbc-dev
39
+ coinor-cbc \
40
+ coinor-libcbc-dev
41
41
 
42
42
  # libffi-dev \
43
43
  # gfortran \
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: emhass
3
- Version: 0.12.3
3
+ Version: 0.12.4
4
4
  Summary: An Energy Management System for Home Assistant
5
5
  Project-URL: Homepage, https://github.com/davidusb-geek/emhass
6
6
  Author-email: David HERNANDEZ <davidusb@gmail.com>
@@ -22,7 +22,7 @@ copyright = '2021-2025, David HERNANDEZ'
22
22
  author = 'David HERNANDEZ'
23
23
 
24
24
  # The full version, including alpha/beta/rc tags
25
- release = '0.12.3'
25
+ release = '0.12.4'
26
26
 
27
27
  # -- General configuration ---------------------------------------------------
28
28
 
@@ -6,7 +6,7 @@ build-backend = "hatchling.build"
6
6
 
7
7
  [project]
8
8
  name = "emhass"
9
- version = "0.12.3"
9
+ version = "0.12.4"
10
10
  description = "An Energy Management System for Home Assistant"
11
11
  readme = "README.md"
12
12
  requires-python = ">=3.10, <3.12"
@@ -45,6 +45,7 @@ from emhass.utils import (
45
45
 
46
46
  # Define the Flask instance
47
47
  app = Flask(__name__)
48
+
48
49
  emhass_conf = {}
49
50
  entity_path = Path
50
51
  params_secrets = {}
@@ -59,6 +60,9 @@ def create_app(settings_override=None):
59
60
  :return: Flask app
60
61
  """
61
62
  global app
63
+ gunicorn_logger = logging.getLogger("gunicorn.error")
64
+ app.logger.handlers = gunicorn_logger.handlers
65
+ app.logger.setLevel(logging.INFO)
62
66
  main()
63
67
  return app
64
68
 
@@ -553,6 +557,7 @@ def main(
553
557
  global emhass_conf
554
558
  global entity_path
555
559
  global injection_dict
560
+ global app
556
561
  # Pre formatted config parameters
557
562
  config = {}
558
563
  # Secrets
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes