#We should go to a thread
1 messages · Page 1 of 1 (latest)
It seemed to get better when I made the deferrable loads very small. Roughly matches my actuals.
"perfect optimization"
That graph is looking nice.. You have a 10kW inverter, what size battery? How is your pricing setup?
I have 20kW inverter, and just over 20kW of panels.
My current energy pricing is :
Power Import
Peak (3pm-9pm) $0.3652 per kWh
Off-Peak (other) $0.2002 per kWh
Power Export
Peak (4pm – 9pm) $0.106 per kWh
Sholder (9pm – 10am) & (2pm-4pm) $0.055 per kWh
Off-Peak (10am-2pm) $0.039 per kWh
but the export is not configured like that in emhass
UI did not support so many export prices. I didn't change the time stuff at all yet.
OK, well setup your peak/ off-peak imports and maybe just set export to maybe the average of 0.05, to get things going.
list_peak_hours_periods_start_hours:
- peak_hours_periods_start_hours: "15:00"
list_peak_hours_periods_end_hours:
- peak_hours_periods_end_hours: "21:00"
list_treat_deferrable_load_as_semi_cont:
- treat_deferrable_load_as_semi_cont: true
load_peak_hours_cost: 0.3652
load_offpeak_hours_cost: 0.2002
photovoltaic_production_sell_price: 0.05
maybe include three inverters of that model to get ~ 20 kW with 18 x 370W panels on each
why are the inverters/panels data so out of date?
uses a library called pvlib, david has been talking about upgraded to a more recent snap shot.
(notes)
Panels are actually (Jinko) 43 x JKM470N-60HL4 (about half east, half west, 22 degrees)
Inverter is actually (Goodwe) 1 x GW20K-DT (3P 2MPPT)
Battery is actually (Tesla) 1 x Powerwall 2
I have two inverters and half East half West, so this is useful. 2x 7.5 kW inverters but 18.5 kWp panels:
list_pv_module_model:
- pv_module_model: Advance_Power_API_M370
- pv_module_model: Advance_Power_API_M370
list_pv_inverter_model:
- pv_inverter_model: SolarEdge_Technologies_Ltd___SE7600A_US__208V_
- pv_inverter_model: SolarEdge_Technologies_Ltd___SE7600A_US__208V_
list_surface_tilt:
- surface_tilt: 18
- surface_tilt: 10
list_surface_azimuth:
- surface_azimuth: 90
- surface_azimuth: 270
list_modules_per_string:
- modules_per_string: 29
- modules_per_string: 21
list_strings_per_inverter:
- strings_per_inverter: 1
- strings_per_inverter: 1
It's astonishingly slack to be using March 2019 data in September 2023.
Have you been able to setup additional inverters, in the config to get closer to 20 kWp?
I'm staring blankly at the configuration yaml at the moment. Wondering what values to use, and what is impact of same
Or just use the 20kW SolarEdge:
SolarEdge_Technologies_Ltd___SE20K__480V_
OK will try that
Need to scale the panels to match something that exists. There is a jinko that's 420W so fairly close. Sec.
How do I convert the string in the csv to something for the yaml?
all special characters to _. Hmm
Just replace all of the special charaters including spaces to _
list_pv_module_model:
- pv_module_model: Jinko_Solar_Co___Ltd_JKM410M_72HL
list_pv_inverter_model:
- pv_inverter_model: SolarEdge_Technologies_Ltd___SE20K__480V_
list_surface_tilt:
- surface_tilt: 22
- surface_tilt: 22
list_surface_azimuth:
- surface_azimuth: 90
- surface_azimuth: 270
list_modules_per_string:
- modules_per_string: 24
- modules_per_string: 25
list_strings_per_inverter:
- strings_per_inverter: 2
Scaled 43*470W to 49*410W
So, using day-ahead, it's only predicting 4.4kW for today + tomorrow, when it's actually twice that already...
what does perfect return?
Looks about the same as today/yesterday in perfect. ie ~8kW peak. It's only early spring here.
You should also have some new sensors in HA; sensor.p_batt_forecast, p_load_forecast, p_grid_forecast, p_soc_batt_forecast, with attributes for the next 24 hours.
Sec, will look.
Next steps are to get a curl command working as an automation to call the REST end points, in stead of pressing the buttons on the web interface. https://emhass.readthedocs.io/en/latest/intro.html#usage
I use the rest_command integration in place of the curl command, but the documentation is written around curl to get it running.
I'm offline for a meeting now, will catch in with you later.
thanks, ttyl, I should probably do some work too 🙂
you can get the most recent inverter/panel list from SAM. I just downloaded their tool and got the CSV's from the installation files
however I noticed that pvlib has some inverters/panels that SAM doesn't have. So I merged the two
pvlib.pvsystem.retrieve_sam(name=None, path=str(path))
you can do this to search in the custom CSV located at path
How did you get on? Any joy with the REST payloads via curl?
I’m sure that would be fine, but unless it controls something it’s kindof pointless right?
That how it updates the forecasts for your battery via an automation calling a shell command with the curl payload instead of you pushing the optimise & publish button on front page. For day ahead you call the optimisation once a day and the call the publish endpoint every five minutes to update the forecasts.
Even without controlling your battery or deferrable loads it can still give you insights into the optimal plan for your battery.
It's PV estimate (on day ahead) is useless. About half what it should be...
But the shell commands seem to run (at least they return HTTP201)
shell_command:
dayahead_optim: "curl -i -H \"Content-Type:application/json\" -X POST -d '{}' http://localhost:5000/action/dayahead-optim"
publish_data: "curl -i -H \"Content-Type:application/json\" -X POST -d '{}' http://localhost:5000/action/publish-data"
I feed my own PV estimate from SolCast so I have control:
Looks like emhass added it's own scheduled jobs to call those shell_commands...
It's still way under-estimating my solar tho
EMHASS doesn't provide any automations you need to set them up yourself.
I 100% don't remember setting up those
Sounds like you would be better with one of the other forecast models: https://emhass.readthedocs.io/en/latest/forecasts.html#pv-power-production-forecast
I actually just inject my own forecasts from SolCast and ignore all the solar forecasting from EMHASS: https://emhass.readthedocs.io/en/latest/forecasts.html#example-using-solcast-forecast-amber-prices
Can you post their content I'm intrigued..
sec
alias: EMHASS day-ahead optimization
trigger:
- platform: time
at: "05:30:00"
action:
- service: shell_command.dayahead_optim
data: {}
alias: EMHASS publish data
trigger:
- minutes: /5
platform: time_pattern
action:
- service: shell_command.publish_data
data: {}
Maybe I did it, and forgot. I pasted the shell command yaml from one of the docs I was reading....
# for emhass
shell_command:
dayahead_optim: 'curl -i -H "Content-Type:application/json" -X POST -d ''{}'' http://localhost:5000/action/dayahead-optim'
publish_data: 'curl -i -H "Content-Type:application/json" -X POST -d ''{}'' http://localhost:5000/action/publish-data'
Looks like day-ahead automation was created 12:05:07 on 13/sep
Which is off the top of my logs
I think I must have done this: https://github.com/davidusb-geek/emhass#common-for-any-installation-method