Chantier etape 1 : detection de la censure de la production PV
Sans injection reseau, PV_mesuree = min(ressource, conso + absorption batterie). La mesure est donc censuree a droite des que la batterie est pleine ou que le reseau alimente AC-IN. Mesure sur l'historique du 28/07 au 24/08 : 48 % des heures de jour sont censurees, 77 a 96 % a partir de 13 h. Un profil de production bati sur la mesure brute mesure en realite sa propre consommation. src/energy-balance/HA_SNAPSHOT_TEMPLATE.json.tpl : 26 champs, dont tous les signaux qu'aucun workflow ne lisait jusqu'ici — etats des trois MPPT, etat VE.Bus, alarme de surcharge onduleur, ESS BatteryLife, etat du bus DC, statut natif de la borne, prevision horaire, elevation du soleil. src/energy-balance/CENSORSHIP.js : qualifie chaque echantillon (censure et ses motifs, exploitabilite) et verifie en continu l'identite du bus DC PV + VE.Bus = batterie, qui boucle a 95 W pres — un capteur qui derive devient detectable. Ne decide rien. tests/energy-balance/ : 10 scenarios, dont un snapshot reel du 24/08 14:29 (soleil 52 degres, prevision 3462 W, production bridee a 1159 W, SOC 94 %) correctement classe censure. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01KKzkkVTG6KXnGXFFC7X9XJ
This commit is contained in:
37
src/energy-balance/HA_SNAPSHOT_TEMPLATE.json.tpl
Normal file
37
src/energy-balance/HA_SNAPSHOT_TEMPLATE.json.tpl
Normal file
@@ -0,0 +1,37 @@
|
||||
{{ {
|
||||
"ts": now().isoformat(),
|
||||
|
||||
"pv_power_w": states("sensor.victron_pv_power_system"),
|
||||
|
||||
"house_ac_power_w": states("sensor.victron_consumption_power_l1"),
|
||||
"vebus_ac_out_l1_power_w": states("sensor.victron_ve_bus_ac_out_l1_power"),
|
||||
"evcs_ac_power_w": states("sensor.victron_evcs_ac_power"),
|
||||
|
||||
"soc_percent": states("sensor.victron_battery_soc"),
|
||||
"battery_current_a": states("sensor.victron_battery_current"),
|
||||
"battery_voltage_v": states("sensor.victron_battery_voltage"),
|
||||
"vebus_dc_power_w": states("sensor.victron_ve_bus_dc_power_system"),
|
||||
|
||||
"grid_switch": states("switch.edf_general_ok_switch"),
|
||||
"acin1_available": states("sensor.victron_ac_in1_available"),
|
||||
"grid_power_l1_w": states("sensor.victron_grid_power_l1"),
|
||||
|
||||
"multiplus_state": states("sensor.airtria_mpii_v1_state"),
|
||||
"multiplus_overload_alarm": states("sensor.airtria_mpii_v1_overload_alarm"),
|
||||
"system_state": states("sensor.gx_device_system_state"),
|
||||
"ess_batterylife_state": states("sensor.gx_device_ess_batterylife_state"),
|
||||
"dc_battery_state": states("sensor.gx_device_dc_battery_state"),
|
||||
|
||||
"mppt_1_state": states("sensor.airtria_mppt1_state"),
|
||||
"mppt_2_state": states("sensor.mppt_450_200_hq2449yr9pt_state"),
|
||||
"mppt_3_state": states("sensor.v1_state"),
|
||||
|
||||
"evcs_native_status": states("sensor.evcs_hq2239dnt7p_status"),
|
||||
|
||||
"forecast_today_remaining_kwh": states("sensor.energy_production_today_remaining"),
|
||||
"forecast_today_kwh": states("sensor.energy_production_today"),
|
||||
"forecast_tomorrow_kwh": states("sensor.energy_production_tomorrow"),
|
||||
"forecast_next_hour_w": states("sensor.power_production_next_hour"),
|
||||
|
||||
"sun_elevation": state_attr("sun.sun", "elevation")
|
||||
} | tojson }}
|
||||
Reference in New Issue
Block a user