emhass 0.10.2__tar.gz → 0.10.3__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.
- {emhass-0.10.2 → emhass-0.10.3}/CHANGELOG.md +5 -0
- {emhass-0.10.2 → emhass-0.10.3}/PKG-INFO +2 -2
- {emhass-0.10.2 → emhass-0.10.3}/README.md +1 -1
- {emhass-0.10.2 → emhass-0.10.3}/setup.py +1 -1
- {emhass-0.10.2 → emhass-0.10.3}/src/emhass/utils.py +10 -7
- {emhass-0.10.2 → emhass-0.10.3}/src/emhass.egg-info/PKG-INFO +2 -2
- {emhass-0.10.2 → emhass-0.10.3}/CODE_OF_CONDUCT.md +0 -0
- {emhass-0.10.2 → emhass-0.10.3}/CONTRIBUTING.md +0 -0
- {emhass-0.10.2 → emhass-0.10.3}/LICENSE +0 -0
- {emhass-0.10.2 → emhass-0.10.3}/MANIFEST.in +0 -0
- {emhass-0.10.2 → emhass-0.10.3}/data/data_load_cost_forecast.csv +0 -0
- {emhass-0.10.2 → emhass-0.10.3}/data/data_load_forecast.csv +0 -0
- {emhass-0.10.2 → emhass-0.10.3}/data/data_prod_price_forecast.csv +0 -0
- {emhass-0.10.2 → emhass-0.10.3}/data/data_train_load_clustering.pkl +0 -0
- {emhass-0.10.2 → emhass-0.10.3}/data/data_train_load_forecast.pkl +0 -0
- {emhass-0.10.2 → emhass-0.10.3}/data/data_weather_forecast.csv +0 -0
- {emhass-0.10.2 → emhass-0.10.3}/data/heating_prediction.csv +0 -0
- {emhass-0.10.2 → emhass-0.10.3}/data/opt_res_latest.csv +0 -0
- {emhass-0.10.2 → emhass-0.10.3}/data/opt_res_perfect_optim_cost.csv +0 -0
- {emhass-0.10.2 → emhass-0.10.3}/data/opt_res_perfect_optim_profit.csv +0 -0
- {emhass-0.10.2 → emhass-0.10.3}/data/opt_res_perfect_optim_self-consumption.csv +0 -0
- {emhass-0.10.2 → emhass-0.10.3}/data/test_df_final.pkl +0 -0
- {emhass-0.10.2 → emhass-0.10.3}/data/test_response_get_data_get_method.pbz2 +0 -0
- {emhass-0.10.2 → emhass-0.10.3}/data/test_response_scrapper_get_method.pbz2 +0 -0
- {emhass-0.10.2 → emhass-0.10.3}/data/test_response_solarforecast_get_method.pbz2 +0 -0
- {emhass-0.10.2 → emhass-0.10.3}/data/test_response_solcast_get_method.pbz2 +0 -0
- {emhass-0.10.2 → emhass-0.10.3}/pyproject.toml +0 -0
- {emhass-0.10.2 → emhass-0.10.3}/setup.cfg +0 -0
- {emhass-0.10.2 → emhass-0.10.3}/src/emhass/__init__.py +0 -0
- {emhass-0.10.2 → emhass-0.10.3}/src/emhass/command_line.py +0 -0
- {emhass-0.10.2 → emhass-0.10.3}/src/emhass/data/cec_inverters.pbz2 +0 -0
- {emhass-0.10.2 → emhass-0.10.3}/src/emhass/data/cec_modules.pbz2 +0 -0
- {emhass-0.10.2 → emhass-0.10.3}/src/emhass/forecast.py +0 -0
- {emhass-0.10.2 → emhass-0.10.3}/src/emhass/machine_learning_forecaster.py +0 -0
- {emhass-0.10.2 → emhass-0.10.3}/src/emhass/machine_learning_regressor.py +0 -0
- {emhass-0.10.2 → emhass-0.10.3}/src/emhass/optimization.py +0 -0
- {emhass-0.10.2 → emhass-0.10.3}/src/emhass/retrieve_hass.py +0 -0
- {emhass-0.10.2 → emhass-0.10.3}/src/emhass/static/advanced.html +0 -0
- {emhass-0.10.2 → emhass-0.10.3}/src/emhass/static/basic.html +0 -0
- {emhass-0.10.2 → emhass-0.10.3}/src/emhass/static/img/emhass_icon.png +0 -0
- {emhass-0.10.2 → emhass-0.10.3}/src/emhass/static/img/emhass_logo_short.svg +0 -0
- {emhass-0.10.2 → emhass-0.10.3}/src/emhass/static/img/feather-sprite.svg +0 -0
- {emhass-0.10.2 → emhass-0.10.3}/src/emhass/static/script.js +0 -0
- {emhass-0.10.2 → emhass-0.10.3}/src/emhass/static/style.css +0 -0
- {emhass-0.10.2 → emhass-0.10.3}/src/emhass/templates/index.html +0 -0
- {emhass-0.10.2 → emhass-0.10.3}/src/emhass/templates/template.html +0 -0
- {emhass-0.10.2 → emhass-0.10.3}/src/emhass/web_server.py +0 -0
- {emhass-0.10.2 → emhass-0.10.3}/src/emhass.egg-info/SOURCES.txt +0 -0
- {emhass-0.10.2 → emhass-0.10.3}/src/emhass.egg-info/dependency_links.txt +0 -0
- {emhass-0.10.2 → emhass-0.10.3}/src/emhass.egg-info/entry_points.txt +0 -0
- {emhass-0.10.2 → emhass-0.10.3}/src/emhass.egg-info/requires.txt +0 -0
- {emhass-0.10.2 → emhass-0.10.3}/src/emhass.egg-info/top_level.txt +0 -0
- {emhass-0.10.2 → emhass-0.10.3}/tests/test_command_line_utils.py +0 -0
- {emhass-0.10.2 → emhass-0.10.3}/tests/test_forecast.py +0 -0
- {emhass-0.10.2 → emhass-0.10.3}/tests/test_machine_learning_forecaster.py +0 -0
- {emhass-0.10.2 → emhass-0.10.3}/tests/test_machine_learning_regressor.py +0 -0
- {emhass-0.10.2 → emhass-0.10.3}/tests/test_optimization.py +0 -0
- {emhass-0.10.2 → emhass-0.10.3}/tests/test_retrieve_hass.py +0 -0
- {emhass-0.10.2 → emhass-0.10.3}/tests/test_utils.py +0 -0
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: emhass
|
3
|
-
Version: 0.10.
|
3
|
+
Version: 0.10.3
|
4
4
|
Summary: An Energy Management System for Home Assistant
|
5
5
|
Home-page: https://github.com/davidusb-geek/emhass
|
6
6
|
Author: David HERNANDEZ
|
@@ -122,7 +122,7 @@ Installation instructions and example Home Assistant automation configurations a
|
|
122
122
|
|
123
123
|
You must follow these steps to make EMHASS work properly:
|
124
124
|
|
125
|
-
1) Define all the parameters in the configuration file according to your installation. See the description for each parameter in the **configuration** section.
|
125
|
+
1) Define all the parameters in the configuration file according to your installation method. For the add-on method you need to use the configuration pane directly on the add-on page. For other installation methods it should be needed to set the variables using the `config_emhass.yaml` file. See below for details on the installation methods. See the description for each parameter in the **configuration** section. If you have a PV installation then this dedicated webapp can be useful to find your inverter and solar panel models: [https://emhass-pvlib-database.streamlit.app/](https://emhass-pvlib-database.streamlit.app/)
|
126
126
|
|
127
127
|
2) You most notably will need to define the main data entering EMHASS. This will be the `sensor.power_photovoltaics` for the name of the your hass variable containing the PV produced power and the variable `sensor.power_load_no_var_loads` for the load power of your household excluding the power of the deferrable loads that you want to optimize.
|
128
128
|
|
@@ -87,7 +87,7 @@ Installation instructions and example Home Assistant automation configurations a
|
|
87
87
|
|
88
88
|
You must follow these steps to make EMHASS work properly:
|
89
89
|
|
90
|
-
1) Define all the parameters in the configuration file according to your installation. See the description for each parameter in the **configuration** section.
|
90
|
+
1) Define all the parameters in the configuration file according to your installation method. For the add-on method you need to use the configuration pane directly on the add-on page. For other installation methods it should be needed to set the variables using the `config_emhass.yaml` file. See below for details on the installation methods. See the description for each parameter in the **configuration** section. If you have a PV installation then this dedicated webapp can be useful to find your inverter and solar panel models: [https://emhass-pvlib-database.streamlit.app/](https://emhass-pvlib-database.streamlit.app/)
|
91
91
|
|
92
92
|
2) You most notably will need to define the main data entering EMHASS. This will be the `sensor.power_photovoltaics` for the name of the your hass variable containing the PV produced power and the variable `sensor.power_load_no_var_loads` for the load power of your household excluding the power of the deferrable loads that you want to optimize.
|
93
93
|
|
@@ -19,7 +19,7 @@ long_description = (here / 'README.md').read_text(encoding='utf-8')
|
|
19
19
|
|
20
20
|
setup(
|
21
21
|
name='emhass', # Required
|
22
|
-
version='0.10.
|
22
|
+
version='0.10.3', # Required
|
23
23
|
description='An Energy Management System for Home Assistant', # Optional
|
24
24
|
long_description=long_description, # Optional
|
25
25
|
long_description_content_type='text/markdown', # Optional (see note above)
|
@@ -807,6 +807,10 @@ def build_params(params: dict, params_secrets: dict, options: dict, addon: int,
|
|
807
807
|
params["optim_conf"]["def_total_hours"] = [i["operating_hours_of_each_deferrable_load"] for i in options.get("list_operating_hours_of_each_deferrable_load")]
|
808
808
|
if options.get("list_treat_deferrable_load_as_semi_cont", None) != None:
|
809
809
|
params["optim_conf"]["treat_def_as_semi_cont"] = [i["treat_deferrable_load_as_semi_cont"] for i in options.get("list_treat_deferrable_load_as_semi_cont")]
|
810
|
+
if options.get("list_set_deferrable_load_single_constant", None) != None:
|
811
|
+
params["optim_conf"]["set_def_constant"] = [i["set_deferrable_load_single_constant"] for i in options.get("list_set_deferrable_load_single_constant")]
|
812
|
+
if options.get("list_set_deferrable_startup_penalty", None) != None:
|
813
|
+
params["optim_conf"]["def_start_penalty"] = [i["set_deferrable_startup_penalty"] for i in options.get("list_set_deferrable_startup_penalty")]
|
810
814
|
params["optim_conf"]["weather_forecast_method"] = options.get("weather_forecast_method", params["optim_conf"]["weather_forecast_method"])
|
811
815
|
# Update optional param secrets
|
812
816
|
if params["optim_conf"]["weather_forecast_method"] == "solcast":
|
@@ -817,12 +821,6 @@ def build_params(params: dict, params_secrets: dict, options: dict, addon: int,
|
|
817
821
|
params["optim_conf"]["load_forecast_method"] = options.get("load_forecast_method", params["optim_conf"]["load_forecast_method"])
|
818
822
|
params["optim_conf"]["delta_forecast"] = options.get("delta_forecast_daily", params["optim_conf"]["delta_forecast"])
|
819
823
|
params["optim_conf"]["load_cost_forecast_method"] = options.get("load_cost_forecast_method", params["optim_conf"]["load_cost_forecast_method"])
|
820
|
-
if options.get("list_set_deferrable_load_single_constant", None) != None:
|
821
|
-
params["optim_conf"]["set_def_constant"] = [i["set_deferrable_load_single_constant"] for i in options.get("list_set_deferrable_load_single_constant")]
|
822
|
-
|
823
|
-
if options.get("list_set_deferrable_startup_penalty", None) != None:
|
824
|
-
params["optim_conf"]["def_start_penalty"] = [i["set_deferrable_startup_penalty"] for i in options.get("list_set_deferrable_startup_penalty")]
|
825
|
-
|
826
824
|
if (options.get("list_peak_hours_periods_start_hours", None) != None and options.get("list_peak_hours_periods_end_hours", None) != None):
|
827
825
|
start_hours_list = [i["peak_hours_periods_start_hours"] for i in options["list_peak_hours_periods_start_hours"]]
|
828
826
|
end_hours_list = [i["peak_hours_periods_end_hours"] for i in options["list_peak_hours_periods_end_hours"]]
|
@@ -889,7 +887,12 @@ def build_params(params: dict, params_secrets: dict, options: dict, addon: int,
|
|
889
887
|
if params['optim_conf']['num_def_loads'] is not len(params['optim_conf']['treat_def_as_semi_cont']):
|
890
888
|
logger.warning("treat_def_as_semi_cont / list_treat_deferrable_load_as_semi_cont does not match number in num_def_loads, adding default values to parameter")
|
891
889
|
for x in range(len(params['optim_conf']['treat_def_as_semi_cont']), params['optim_conf']['num_def_loads']):
|
892
|
-
params['optim_conf']['treat_def_as_semi_cont'].append(True)
|
890
|
+
params['optim_conf']['treat_def_as_semi_cont'].append(True)
|
891
|
+
if params['optim_conf']['num_def_loads'] is not len(params['optim_conf']['def_start_penalty']):
|
892
|
+
logger.warning("def_start_penalty / list_set_deferrable_startup_penalty does not match number in num_def_loads, adding default values to parameter")
|
893
|
+
for x in range(len(params['optim_conf']['def_start_penalty']), params['optim_conf']['num_def_loads']):
|
894
|
+
params['optim_conf']['def_start_penalty'].append(0.0)
|
895
|
+
# days_to_retrieve should be no less then 2
|
893
896
|
if params['optim_conf']['num_def_loads'] is not len(params['optim_conf']['def_total_hours']):
|
894
897
|
logger.warning("def_total_hours / list_operating_hours_of_each_deferrable_load does not match number in num_def_loads, adding default values to parameter")
|
895
898
|
for x in range(len(params['optim_conf']['def_total_hours']), params['optim_conf']['num_def_loads']):
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: emhass
|
3
|
-
Version: 0.10.
|
3
|
+
Version: 0.10.3
|
4
4
|
Summary: An Energy Management System for Home Assistant
|
5
5
|
Home-page: https://github.com/davidusb-geek/emhass
|
6
6
|
Author: David HERNANDEZ
|
@@ -122,7 +122,7 @@ Installation instructions and example Home Assistant automation configurations a
|
|
122
122
|
|
123
123
|
You must follow these steps to make EMHASS work properly:
|
124
124
|
|
125
|
-
1) Define all the parameters in the configuration file according to your installation. See the description for each parameter in the **configuration** section.
|
125
|
+
1) Define all the parameters in the configuration file according to your installation method. For the add-on method you need to use the configuration pane directly on the add-on page. For other installation methods it should be needed to set the variables using the `config_emhass.yaml` file. See below for details on the installation methods. See the description for each parameter in the **configuration** section. If you have a PV installation then this dedicated webapp can be useful to find your inverter and solar panel models: [https://emhass-pvlib-database.streamlit.app/](https://emhass-pvlib-database.streamlit.app/)
|
126
126
|
|
127
127
|
2) You most notably will need to define the main data entering EMHASS. This will be the `sensor.power_photovoltaics` for the name of the your hass variable containing the PV produced power and the variable `sensor.power_load_no_var_loads` for the load power of your household excluding the power of the deferrable loads that you want to optimize.
|
128
128
|
|
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
|
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
|