-
Notifications
You must be signed in to change notification settings - Fork 31
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
First time user configuration comments #48
Comments
|
Changing log level to DEBUG doesn't seem to produce any additional information. |
hass_url: empty
|
Thank you for your comments, they are really constructive and should improve and ease the user experience with this add-on. There is a lot of room for improvements and those points that you noticed are just a bunch of them. On your error and the error message the text where the
So for this type of error there two things are the most common source of error. Check those and feel free to reply if you find any other issues. |
Could I suggest there are a lot of advanced settings details in the add-on configuration page, that is quite confusing for first time users. I help a few people set up EMHASS for the first time and the biggest issue is the initial setup. Could I recommend a simplification of the initial add-on setup for a basic configuration, advanced settings could still be available via the YAML interface and then even more advanced settings can be available via the command line/ curl/ REST interface. The EMHASS kWp model is a lot easier to set up than the pvlib interface, so I would suggest that the add-on configuration page switch to the kWp model as most people know what their system is. 5 kWp seems to be a standard configuration here as well, so could be a good default. Similarly for the battery, there are detailed settings that could be hidden in YAML, with the most important being battery capacity (Wh). power_load(_no_var_loads) could I also make a suggestion regarding the no_vars component of power load. The need for no_var_loads is problematic for many users as they need to create a template sensor (which is non trivial for many first time users) and then they have to wait two days for history which again raises the barriers to entry for first time users. I actually calculate my power_load_no_var_loads differently, by using the deferrable forecasts in place of the actual values:
EMHASS could calculate this internally as it know what each of the deferrable load forecasts are and the user would only need to supply their current load sensor, which is generally available from solar / battery monitoring already so they don't need to await two days. A YAML option could be available for exiting users or those who wanted to calculate using the traditional calculations for power_load_no_var_loads. My suggestions: ADD-ON User interface configuration: Hidden in YAML configuration: On the WEB UI, I recommend removing the ML forecaster buttons as advanced users can access this via the Curl payloads. |
Echoing the OP comments:
|
These are very nice ideas for improvement.
|
A stop gap may be to create a page in EMHASS doc's (Foulder) and/or modify the DOCS.md to help explain each parameter/setup step by step. Maybe include some basic copy and past configuration yaml examples for common implementations. In terms of modifying the parameter names and descriptions to more understandable. You my like to look at modifying the config_emhass.yaml & en.yaml files respectively. They should be relatively easy to understand. May want to fork, edit these files, and perform a pull request to help out.
Let me know if this is possible, and i will (given spear time) integrate this feature and create a pull request. Alternatively, once all the parameters have been pulled in on EMHASS, if someone could create a order of (required & optional) or (most likely to least likely) and post it here. Either I, or another person, could update the configuration file. Edit: on second thought it may be good to create an enhancement request (or make) to homeassistant to support drop down selects in addon configuration files. |
This was very similar to my experience. I have no deferrable loads, but, the error message just says "0 is not a valid input" and the lists all of the variable in the config, so I had no idea what the cause was. |
Hi =) I'm a first time user, and I run into the same problems as mentioned above...I do not get it to run sadly...
anyhow the project is amazing =). I hope I get it to run sometime =). Thanks for this Addon =) |
Sure there is room for improvement but there are many reasons for which that error could be obtained.
The add-on documentation seems pretty clear to me. But could you please elaborate, what are those variables with similar names?
I don't understand the problem here... This is working as any other add-on that leverages an API isn't it?
Again this seems clear fro the add-on documentation and translations.
The first element of the list applies to first deferrable load, the second element of the list applies to second deferrable load, and so on... |
Q1 Answer?
This is something I would like to improve. May have a look at this issue this evening. Q2 Answer?
I think I know the confusion here. For why the variables are off in the other information sources. The variable names have been changed in the addon options/config to make it more understandable to the user. The associations between the emhass addon and emhass can be found where they merge in the PR from davidusb-geek/emhass#181 # create associations list
# _conf, key, options key, 'options key in list'
...
# variables in retrieve_hass_conf
associations.append(['retrieve_hass_conf', 'freq', 'optimization_time_step'])
associations.append(['retrieve_hass_conf', 'days_to_retrieve', 'historic_days_to_retrieve'])
associations.append(['retrieve_hass_conf', 'var_PV', 'sensor_power_photovoltaics'])
associations.append(['retrieve_hass_conf', 'var_load', 'sensor_power_load_no_var_loads'])
associations.append(['retrieve_hass_conf', 'load_negative', 'load_negative'])
associations.append(['retrieve_hass_conf', 'set_zero_min', 'set_zero_min'])
associations.append(['retrieve_hass_conf', 'method_ts_round', 'method_ts_round'])
# variables in params_secrets
associations.append(['params_secrets', 'solcast_api_key', 'optional_solcast_api_key'])
associations.append(['params_secrets', 'solcast_rooftop_id', 'optional_solcast_rooftop_id'])
associations.append(['params_secrets', 'solar_forecast_kwp', 'optional_solar_forecast_kwp'])
associations.append(['params_secrets', 'time_zone', 'time_zone'])
associations.append(['params_secrets', 'lat', 'Latitude'])
associations.append(['params_secrets', 'lon', 'Longitude'])
associations.append(['params_secrets', 'alt', 'Altitude'])
# variables in optim_conf
associations.append(['optim_conf', 'set_use_battery', 'set_use_battery'])
associations.append(['optim_conf', 'num_def_loads', 'number_of_deferrable_loads'])
associations.append(['optim_conf', 'P_deferrable_nom', 'list_nominal_power_of_deferrable_loads', 'nominal_power_of_deferrable_loads'])
associations.append(['optim_conf', 'def_total_hours', 'list_operating_hours_of_each_deferrable_load', 'operating_hours_of_each_deferrable_load'])
associations.append(['optim_conf', 'treat_def_as_semi_cont', 'list_treat_deferrable_load_as_semi_cont', 'treat_deferrable_load_as_semi_cont'])
associations.append(['optim_conf', 'set_def_constant', 'list_set_deferrable_load_single_constant', 'set_deferrable_load_single_constant'])
associations.append(['optim_conf', 'weather_forecast_method', 'weather_forecast_method'])
associations.append(['optim_conf', 'load_forecast_method', 'load_forecast_method'])
associations.append(['optim_conf', 'delta_forecast', 'delta_forecast_daily'])
associations.append(['optim_conf', 'load_cost_forecast_method', 'load_cost_forecast_method'])
associations.append(['optim_conf', 'load_cost_hp', 'load_peak_hours_cost'])
associations.append(['optim_conf', 'load_cost_hc', 'load_offpeak_hours_cost'])
associations.append(['optim_conf', 'prod_price_forecast_method', 'production_price_forecast_method'])
associations.append(['optim_conf', 'prod_sell_price', 'photovoltaic_production_sell_price'])
associations.append(['optim_conf', 'set_total_pv_sell', 'set_total_pv_sell'])
associations.append(['optim_conf', 'lp_solver', 'lp_solver'])
associations.append(['optim_conf', 'lp_solver_path', 'lp_solver_path'])
associations.append(['optim_conf', 'set_nocharge_from_grid', 'set_nocharge_from_grid'])
associations.append(['optim_conf', 'set_nodischarge_to_grid', 'set_nodischarge_to_grid'])
associations.append(['optim_conf', 'set_battery_dynamic', 'set_battery_dynamic'])
associations.append(['optim_conf', 'battery_dynamic_max', 'battery_dynamic_max'])
associations.append(['optim_conf', 'battery_dynamic_min', 'battery_dynamic_min'])
associations.append(['optim_conf', 'weight_battery_discharge', 'weight_battery_discharge'])
associations.append(['optim_conf', 'weight_battery_charge', 'weight_battery_charge'])
associations.append(['optim_conf', 'def_start_timestep', 'list_start_timesteps_of_each_deferrable_load', 'start_timesteps_of_each_deferrable_load'])
associations.append(['optim_conf', 'def_end_timestep', 'list_end_timesteps_of_each_deferrable_load', 'end_timesteps_of_each_deferrable_load'])
# variables in plant_conf
associations.append(['plant_conf', 'P_grid_max', 'maximum_power_from_grid'])
associations.append(['plant_conf', 'module_model', 'list_pv_module_model', 'pv_module_model' ])
associations.append(['plant_conf', 'inverter_model', 'list_pv_inverter_model', 'pv_inverter_model' ])
associations.append(['plant_conf', 'surface_tilt', 'list_surface_tilt', 'surface_tilt' ])
associations.append(['plant_conf', 'surface_azimuth', 'list_surface_azimuth', 'surface_azimuth'])
associations.append(['plant_conf', 'modules_per_string','list_modules_per_string', 'modules_per_string'])
associations.append(['plant_conf', 'strings_per_inverter', 'list_strings_per_inverter', 'strings_per_inverter'])
associations.append(['plant_conf', 'Pd_max', 'battery_discharge_power_max'])
associations.append(['plant_conf', 'Pc_max', 'battery_charge_power_max'])
associations.append(['plant_conf', 'eta_disch', 'battery_discharge_efficiency'])
associations.append(['plant_conf', 'eta_ch', 'battery_charge_efficiency'])
associations.append(['plant_conf', 'Enom', 'battery_nominal_energy_capacity'])
associations.append(['plant_conf', 'SOCmin', 'battery_minimum_state_of_charge'])
associations.append(['plant_conf', 'SOCmax', 'battery_maximum_state_of_charge'])
associations.append(['plant_conf', 'SOCtarget', 'battery_target_state_of_charge']) FYI. The addon parameters can be refereed to as option parameters as HA creates a options.json file of your parameters in the addon configuration page. Q3 Answer?
The interface allows incoming 0.0.0.0:5000 to default making it accessible to the LAN. Yeah I have thought about this too. Maybe at some point we can setup a verible that switches from localhost to 0.0.0.0. For future reference. That means setting a param.get('web_ui_url',"0.0.0.0") here: https://github.com/davidusb-geek/emhass/blob/f7e98416ae84e1e7989e0bd2f6b364b579a75da5/src/emhass/web_server.py#L176. And creating that param everywhere else (en.yaml,config.yaml,utils.py) Q6 Answer?
You can thank Json formatting for that one. but the first in the list = the first defferable, and so on. They get converted to a array in emhass. the variable names is just for the json. |
davidusb-geek/emhass#196 tries to fix Q1 😁 |
Hey great thanks! Sorry that it took me longer to answer...@GeoDerp for the cool question structure :-) it was exactly what I meant :-). @davidusb-geek thanks for all the work! I love the approach of the addon! |
For those who want to know the difference between There is a new page that could hopefully help the common questions: https://emhass.readthedocs.io/en/latest/differences.html |
Great work, but a pain to configure indeed. It took me several attempts to finally start getting results I understand. Looking for a PV model in some 10M item excel made me cry a bit. Of course my panels weren't there. Now I returned again and I definitely see some nice improvements like direct solcast integration (providing API key). Still it doesn't fit me as I have 2 sets of PVs on both sides of the roof. So my ideas:
This is how my emhass package file looks like:
Just look at that Voodoo templates. I still don't know why I should add And I still didn't get to fun parts like ML. Because I need enough history for that and I just created the "load_no_var" sensor. |
Besides what everyone is writing, I also will say I got no deferrable loads so not sure what I should do there AND my inverter does not show at all, in fact Victron does not show at all when I would assume it's a well known brand... It's also asking me for my panels incline and azimuth but not my latitude/long which would tell whether my incline is optimal and if my azimuth is correct given I'm in the southern hemisphere |
This guide should assist: |
Having just downloaded emhass as an addin under HAOS, now is the best time to note the difficulties I found with getting started. These are little details in what looks like an important tool for improving renewable energy efficiency and these comments are meant to be helpful!
The text was updated successfully, but these errors were encountered: