feat: add pvlib pv forecast provider (#1214)

Add a PV forecast provider that calculates the forecast using a PVLib system model
and weather forecast from the EOS weather forecast provider.

Additional module and inverter models can be easily added as the database
is build from PVLib and SAM databases and a bundled csv file.

The module model and inververt model names are provided by new endpoints
to be used in configuration.

The provider is based on the fantastic work of EMHASS. See
https://github.com/davidusb-geek/emhass/blob/master/src/emhass/forecast.py

A short description of the provider is added to the documentation.

Besides the new features there are the fixes and improvements:

* feat: improve EOSdash config page

* fix: kex_to_series for start_datetime

  Make key_to_series always start the series at start_datetime.

* fix: default provider for GENETIC and GENETIC0 optimization

  To make the default less dependent on internet servers (with API changes and
  availability issues) the default for PVForecast is set to PVForecastPVLib
  and for ElecPrice to ElecPriceFixed. The default weather provider is changed
  to OpenMeteo.

* fix: EOSdash display resampled prediction values

  Make EOSdash display resampled prediction values where  resampling fits to
  the prediction value type. Use bar width that fits to 15 minutes value samples.

* chore: add a UI hints system to EOSdash

  The UI hints system eases the definition of forms for configuration items.
  There are also forms for items in maps and lists. These forms allow to add and delete
  items to/ from  maps and lists. The forms ensure that all required fields of newly
  added items are filled.

* chore: Create an enum for valid optimization algorithms

* chore. Make config also provide the available energy management modes.

  Used for configuration hints.

* chore: Randomize default device id in configuration

Signed-off-by: Bobby Noelte <b0661n0e17e@gmail.com>
This commit is contained in:
Bobby Noelte
2026-08-07 13:13:17 +02:00
committed by GitHub
parent 9189fc890e
commit 894790f577
49 changed files with 29242 additions and 667 deletions
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,10 @@
Name,Vac,Pso,Paco,Pdco,Vdco,C0,C1,C2,C3,Pnt,Vdcmax,Idcmax,Mppt_low,Mppt_high,CEC_Date,CEC_hybrid,CEC_Type
Units,V,W,W,W,V,1/W,1/V,1/V,1/V,W,V,A,V,V,,,
[0],inv_snl_ac_voltage,inv_snl_pso,inv_snl_paco,inv_snl_pdco,inv_snl_vdco,inv_snl_c0,inv_snl_c1,inv_snl_c2,inv_snl_c3,inv_snl_pnt,inv_snl_vdcmax,inv_snl_idcmax,inv_snl_mppt_low,inv_snl_mppt_hi,inv_cec_date,inv_cec_hybrid,inv_cec_type
Sungrow: SH25T,400,250,27500,26000,600,-0.0000828,-0.000759,-0.0001722,-0.0000414,25,1100,80,200,950,01/01/2025,Y,Hybrid
Sungrow: SH20T,400,200,22000,21000,600,-0.00007584,-0.0007245,-0.0001587,-0.00003834,25,1100,80,200,950,01/01/2025,Y,Hybrid
Sungrow: SH15T,400,150,16500,15700,600,-0.000069,-0.00069,-0.000138,-0.0000345,25,1100,80,200,950,01/01/2025,Y,Hybrid
Sungrow: SH10RT,400,100,11000,10467,600,-0.00005892,-0.0006555,-0.0001173,-0.00002934,25,1100,80,200,950,01/01/2025,Y,Hybrid
Sungrow: SH6RT,400,55,6000,6120,600,-0.000108,-0.001202,-0.000215,-0.0000538,25,1000,25,200,950,01/01/2025,Y,Hybrid
Sungrow: SH10RS,400,100,10000,9500,600,-0.000065,-0.00075,-0.00013,-0.000032,25,1000,25,250,850,01/01/2025,N,Grid-Tie
Fox ESS: KH/KA10,240,32,10500,15000,360,-0.000001128,-0.000001128,0.0025,0.0025,15,600,20,80,500,01/01/2025,Y,Hybrid
1 Name Vac Pso Paco Pdco Vdco C0 C1 C2 C3 Pnt Vdcmax Idcmax Mppt_low Mppt_high CEC_Date CEC_hybrid CEC_Type
2 Units V W W W V 1/W 1/V 1/V 1/V W V A V V
3 [0] inv_snl_ac_voltage inv_snl_pso inv_snl_paco inv_snl_pdco inv_snl_vdco inv_snl_c0 inv_snl_c1 inv_snl_c2 inv_snl_c3 inv_snl_pnt inv_snl_vdcmax inv_snl_idcmax inv_snl_mppt_low inv_snl_mppt_hi inv_cec_date inv_cec_hybrid inv_cec_type
4 Sungrow: SH25T 400 250 27500 26000 600 -0.0000828 -0.000759 -0.0001722 -0.0000414 25 1100 80 200 950 01/01/2025 Y Hybrid
5 Sungrow: SH20T 400 200 22000 21000 600 -0.00007584 -0.0007245 -0.0001587 -0.00003834 25 1100 80 200 950 01/01/2025 Y Hybrid
6 Sungrow: SH15T 400 150 16500 15700 600 -0.000069 -0.00069 -0.000138 -0.0000345 25 1100 80 200 950 01/01/2025 Y Hybrid
7 Sungrow: SH10RT 400 100 11000 10467 600 -0.00005892 -0.0006555 -0.0001173 -0.00002934 25 1100 80 200 950 01/01/2025 Y Hybrid
8 Sungrow: SH6RT 400 55 6000 6120 600 -0.000108 -0.001202 -0.000215 -0.0000538 25 1000 25 200 950 01/01/2025 Y Hybrid
9 Sungrow: SH10RS 400 100 10000 9500 600 -0.000065 -0.00075 -0.00013 -0.000032 25 1000 25 250 850 01/01/2025 N Grid-Tie
10 Fox ESS: KH/KA10 240 32 10500 15000 360 -0.000001128 -0.000001128 0.0025 0.0025 15 600 20 80 500 01/01/2025 Y Hybrid
@@ -0,0 +1,9 @@
Name,Manufacturer,Technology,Bifacial,STC,PTC,A_c,Length,Width,N_s,I_sc_ref,V_oc_ref,I_mp_ref,V_mp_ref,alpha_sc,beta_oc,T_NOCT,a_ref,I_L_ref,I_o_ref,R_s,R_sh_ref,Adjust,gamma_pmp,BIPV,Version,Date
Units,,,,,,m2,m,m,,A,V,A,V,A/K,V/K,C,V,A,A,Ohm,Ohm,%,%/K,,,
[0],lib_manufacturer,cec_material,lib_is_bifacial,,,cec_area,lib_length,lib_width,cec_n_s,cec_i_sc_ref,cec_v_oc_ref,cec_i_mp_ref,cec_v_mp_ref,cec_alpha_sc,cec_beta_oc,cec_t_noct,cec_a_ref,cec_i_l_ref,cec_i_o_ref,cec_r_s,cec_r_sh_ref,cec_adjust,cec_gamma_pmp,,,
Jinko Solar JKM475N-60HL4-V,Jinko Solar,Mono-c-Si,0,475.0,432.0,2.16,1.903,1.134,120,14.23,42.54,13.49,35.21,0.046,-0.17,45.0,1.3,14.23,2e-7,0.2,300.0,1,-0.003,N,2021.08.01,01/03/2021
Hanwha Q CELLS Q.PEAK L-G5 300W,Hanwha Q CELLS,Mono-c-Si,N,300.0,273.0,1.67,1.67,1.0,72,9.57,39.58,9.01,33.29,0.0006,-0.33,45.0,1.2,9.58,1e-10,0.5,1500,1,-0.38,N,2019.08.01,01/03/2019
Risen RSM40-8-390M,Risen,Mono-c-Si,0,390.0,355.0,1.82,1.755,1.038,80,13.98,40.70,13.19,31.8,0.048,-0.15,45.0,1.25,13.98,1.9e-7,0.38,445.0,1,-0.35,N,2024.01.01,01/04/2024
AIKO-A475-MAH54Mw,AIKO,Mono-c-Si,0,475.0,432.3,1.99,1.757,1.134,108,14.35,41.24,13.66,34.80,0.0072,-0.091,45.0,1.2,14.35,5.0e-10,0.20,1000,1,-0.26,N,2024.12.01,14/05/2025
Jolywood JW-HD108N-420W,Jolywood,Mono-c-Si,1,420.0,382.0,1.96,1.728,1.134,108,13.98,37.9,13.17,31.9,0.0064,-0.10,42.0,1.2,13.98,5.0e-10,0.20,1000,1,-0.32,N,2022.10.01,09/12/2025
Huasun HS-182-B108-DSN440,Huasun,Mono-c-Si,1,440.0,400.0,1.95,1.722,1.134,108,13.05,41.91,12.53,35.12,0.0052,-0.10,44.0,1.3,13.05,1e-9,0.22,900,1,-0.26,N,2023.04.17,01/01/2026
1 Name Manufacturer Technology Bifacial STC PTC A_c Length Width N_s I_sc_ref V_oc_ref I_mp_ref V_mp_ref alpha_sc beta_oc T_NOCT a_ref I_L_ref I_o_ref R_s R_sh_ref Adjust gamma_pmp BIPV Version Date
2 Units m2 m m A V A V A/K V/K C V A A Ohm Ohm % %/K
3 [0] lib_manufacturer cec_material lib_is_bifacial cec_area lib_length lib_width cec_n_s cec_i_sc_ref cec_v_oc_ref cec_i_mp_ref cec_v_mp_ref cec_alpha_sc cec_beta_oc cec_t_noct cec_a_ref cec_i_l_ref cec_i_o_ref cec_r_s cec_r_sh_ref cec_adjust cec_gamma_pmp
4 Jinko Solar JKM475N-60HL4-V Jinko Solar Mono-c-Si 0 475.0 432.0 2.16 1.903 1.134 120 14.23 42.54 13.49 35.21 0.046 -0.17 45.0 1.3 14.23 2e-7 0.2 300.0 1 -0.003 N 2021.08.01 01/03/2021
5 Hanwha Q CELLS Q.PEAK L-G5 300W Hanwha Q CELLS Mono-c-Si N 300.0 273.0 1.67 1.67 1.0 72 9.57 39.58 9.01 33.29 0.0006 -0.33 45.0 1.2 9.58 1e-10 0.5 1500 1 -0.38 N 2019.08.01 01/03/2019
6 Risen RSM40-8-390M Risen Mono-c-Si 0 390.0 355.0 1.82 1.755 1.038 80 13.98 40.70 13.19 31.8 0.048 -0.15 45.0 1.25 13.98 1.9e-7 0.38 445.0 1 -0.35 N 2024.01.01 01/04/2024
7 AIKO-A475-MAH54Mw AIKO Mono-c-Si 0 475.0 432.3 1.99 1.757 1.134 108 14.35 41.24 13.66 34.80 0.0072 -0.091 45.0 1.2 14.35 5.0e-10 0.20 1000 1 -0.26 N 2024.12.01 14/05/2025
8 Jolywood JW-HD108N-420W Jolywood Mono-c-Si 1 420.0 382.0 1.96 1.728 1.134 108 13.98 37.9 13.17 31.9 0.0064 -0.10 42.0 1.2 13.98 5.0e-10 0.20 1000 1 -0.32 N 2022.10.01 09/12/2025
9 Huasun HS-182-B108-DSN440 Huasun Mono-c-Si 1 440.0 400.0 1.95 1.722 1.134 108 13.05 41.91 12.53 35.12 0.0052 -0.10 44.0 1.3 13.05 1e-9 0.22 900 1 -0.26 N 2023.04.17 01/01/2026