{{ { "soc_percent": states("sensor.victron_battery_soc"), "battery_current_a": states("sensor.victron_battery_current"), "pv_power_w": states("sensor.victron_pv_power_system"), "pv_power_10m_avg_w": states("sensor.victron_pv_power_10m_avg"), "pv_trend_w": states("sensor.victron_pv_power_trend_w"), "mppt_operation_modes": states.sensor | selectattr('entity_id','search','mppt') | selectattr('entity_id','search','operation_mode') | map(attribute='state') | join(','), "house_ac_power_w": states("sensor.victron_consumption_power_l1"), "house_ac_power_prev_w": states("sensor.victron_consumption_power_l1"), "grid_power_w": states("sensor.victron_grid_power_l1"), "grid_state": states("switch.edf_general_ok_switch"), "victron_acin1_available": states("sensor.victron_ac_in1_available"), "acin1_last_changed_ts": as_timestamp(states.sensor.victron_ac_in1_available.last_changed, 0) if states.sensor.victron_ac_in1_available is not none else 0, "grid_switch_last_changed_ts": as_timestamp(states.switch.edf_general_ok_switch.last_changed, 0) if states.switch.edf_general_ok_switch is not none else 0, "grid_settle_seconds": states("input_number.evcs_grid_settle_seconds"), "grid_setpoint_w": states("number.gx_device_ac_power_setpoint"), "grid_setpoint_idle_w": states("input_number.evcs_grid_setpoint_idle_w"), "today_remaining_kwh": states("sensor.energy_production_today_remaining"), "tomorrow_kwh": states("sensor.energy_production_tomorrow"), "evcs_device_connected": states("binary_sensor.victron_evcs_device_connected"), "evcs_vehicle_connected": states("binary_sensor.victron_evcs_vehicle_connected"), "evcs_status_raw": states("sensor.victron_evcs_status_raw"), "evcs_mode_sensor": states("sensor.victron_evcs_mode"), "evcs_mode_fallback": states("input_text.sensor_victron_evcs_mode"), "evcs_set_current_a": states("sensor.victron_evcs_set_current"), "evcs_command_current_a": states("number.victron_evcs_set_current_command"), "evcs_current_a": states("sensor.victron_evcs_current"), "evcs_ac_power_w": states("sensor.victron_evcs_ac_power"), "evcs_charging_time": states("sensor.victron_evcs_charging_time"), "evcs_session_energy_kwh": states("sensor.evcs_hq2239dnt7p_last_session_energy"), "evcs_charging_switch": states("switch.victron_evcs_charging"), "evcs_auto_start_switch": states("switch.victron_evcs_auto_start"), "controller_enabled": states("input_boolean.victron_evcs_surplus_auto_enabled"), "notifications_enabled": states("input_boolean.victron_evcs_surplus_notifications"), "hard_stop_enabled": states("input_boolean.victron_evcs_hard_stop_enabled"), "charge_permission_now": states("input_boolean.victron_evcs_charge_permission_now"), "control_latch": states("input_boolean.victron_evcs_control_latch"), "departure_priority_enabled": states("input_boolean.victron_evcs_departure_priority_enabled"), "forecast_mode_enabled": states("input_boolean.victron_evcs_forecast_mode_enabled"), "target_current_auto_a": states("input_number.victron_evcs_target_current_auto"), "budget_remaining_kwh": states("input_number.victron_evcs_budget_remaining_kwh"), "projected_end_soc_after_charge": states("input_number.victron_evcs_projected_end_soc_after_charge"), "pv_start_min_w": states("input_number.victron_evcs_pv_start_min_w"), "pv_hold_min_w": states("input_number.victron_evcs_pv_hold_min_w"), "house_ac_headroom_w": states("input_number.victron_evcs_house_ac_headroom_w"), "battery_discharge_soft_a": states("input_number.victron_evcs_battery_discharge_soft_a"), "battery_discharge_hard_a": states("input_number.victron_evcs_battery_discharge_hard_a"), "battery_reserve_up_a": states("input_number.victron_evcs_battery_reserve_up_a"), "battery_neutral_band_a": states("input_number.victron_evcs_battery_neutral_band_a"), "soc_start_min": states("input_number.victron_evcs_soc_start_min"), "modules_en_service": states("input_number.evcs_balance_modules_en_service"), "soc_stop_min": states("input_number.victron_evcs_soc_stop_min"), "current_min_a": states("input_number.victron_evcs_current_min_a"), "current_max_auto_a": states("input_number.victron_evcs_current_max_auto_a"), "grid_current_max_a": states("input_number.evcs_plafond_courant_edf_on"), "current_step_up_a": states("input_number.victron_evcs_current_step_up_a"), "current_step_down_a": states("input_number.victron_evcs_current_step_down_a"), "current_change_cooldown_seconds": states("input_number.victron_evcs_current_change_cooldown_seconds"), "min_run_minutes": states("input_number.victron_evcs_min_run_minutes"), "min_stop_minutes": states("input_number.victron_evcs_min_stop_minutes"), "required_energy_kwh": states("input_number.victron_evcs_required_energy_kwh"), "soc_comfort_target": states("input_number.victron_evcs_soc_comfort_target"), "end_of_day_soc_guard": states("input_number.victron_evcs_end_of_day_soc_guard"), "base_load_remaining_kwh": states("input_number.victron_base_load_remaining_kwh"), "flexible_safety_margin_kwh": states("input_number.victron_flexible_safety_margin_kwh"), "end_of_day_soc_target": states("input_number.victron_end_of_day_soc_target"), "ac_loads_max_safe_w": states("input_number.victron_ac_loads_max_safe_w"), "battery_full_soc": states("input_number.victron_evcs_battery_full_soc"), "battery_full_forecast_min_kwh": states("input_number.victron_evcs_battery_full_forecast_min_kwh"), "forecast_commit_soc_floor": states("input_number.victron_evcs_forecast_commit_soc_floor"), "forecast_commit_min_kwh": states("input_number.victron_evcs_forecast_commit_min_kwh"), "cloud_debt_kwh": states("input_number.victron_evcs_cloud_debt_kwh"), "cloud_debt_max_kwh": states("input_number.victron_evcs_cloud_debt_max_kwh"), "cloud_tolerance_minutes": states("input_number.victron_evcs_cloud_tolerance_minutes"), "cloud_debt_started_at": states("input_datetime.victron_evcs_cloud_debt_started_at"), "battery_soft_breach_at": states("input_text.victron_evcs_battery_soft_breach_at"), "operating_mode_helper": states("input_text.victron_evcs_operating_mode"), "departure_time": states("input_datetime.victron_evcs_departure_time"), "departure_time_jeep": states("input_datetime.victron_evcs_departure_time_jeep"), "evcs_vehicle": states("input_select.victron_evcs_vehicle"), "allow_grid_departure_urgent": states("input_boolean.victron_evcs_allow_grid_departure_urgent"), "last_start_at": states("input_datetime.victron_evcs_last_start_at"), "last_stop_at": states("input_datetime.victron_evcs_last_stop_at"), "last_current_change_at": states("input_datetime.victron_evcs_last_current_change_at"), "day_start_time": states("input_datetime.victron_flexible_day_start_time"), "day_stop_time": states("input_datetime.victron_flexible_day_stop_time"), "vebus_overload": states("binary_sensor.victron_ve_bus_overload"), "vebus_l1_overload": states("binary_sensor.victron_ve_bus_l1_overload"), "vebus_low_battery": states("binary_sensor.victron_ve_bus_low_battery"), "vebus_l1_low_battery": states("binary_sensor.victron_ve_bus_l1_low_battery"), "vebus_ac_out_l1_power_w": states("sensor.victron_ve_bus_ac_out_l1_power"), "vebus_ac_out_l1_current_a": states("sensor.victron_ve_bus_ac_out_l1_current"), "vebus_ac_out_l1_voltage_v": states("sensor.victron_ve_bus_ac_out_l1_voltage"), "vebus_dc_voltage_v": states("sensor.victron_ve_bus_dc_voltage"), "vebus_dc_current_a": states("sensor.victron_ve_bus_dc_current"), "vebus_dc_power_w": states("sensor.victron_ve_bus_dc_power_system"), "vebus_state": states("sensor.victron_ve_bus_state"), "vebus_main_state": states("sensor.victron_ve_bus_main_state"), "last_signature": states("input_text.victron_evcs_control_last_signature"), "hc_night_start_time": states("input_datetime.victron_evcs_hc_night_start"), "hc_night_stop_time": states("input_datetime.victron_evcs_hc_night_stop"), "morning_start_time": states("input_datetime.victron_evcs_morning_start"), "morning_stop_time": states("input_datetime.victron_evcs_morning_stop"), "hc_midday_start_time": states("input_datetime.victron_evcs_hc_midday_start"), "hc_midday_stop_time": states("input_datetime.victron_evcs_hc_midday_stop"), "evening_start_time": states("input_datetime.victron_evcs_evening_start"), "evening_stop_time": states("input_datetime.victron_evcs_evening_stop"), "allow_grid_hc_night": states("input_boolean.victron_evcs_allow_grid_hc_night"), "night_takeover_prev": states("input_boolean.victron_evcs_night_grid_takeover_needed"), "night_grid_session_committed_prev": states("input_boolean.victron_evcs_night_grid_session_committed"), "prev_surplus_state": states("input_text.victron_evcs_surplus_state"), "evcs_night_session_start_soc": states("input_text.victron_evcs_night_session_start_soc"), "evcs_night_session_start_at": states("input_text.victron_evcs_night_session_start_at"), "advisor_apply_night_target": states("input_boolean.evcs_advisor_apply_night_target"), "advisor_night_target_soc": states("input_number.evcs_advisor_night_target_soc"), "advisor_status": states("input_text.evcs_advisor_status"), "advisor_last_run": states("input_text.evcs_advisor_last_run"), "balance_required_soc": states("input_number.evcs_balance_required_soc"), "balance_energy_to_cover_kwh": states("input_number.evcs_balance_energy_to_cover_kwh"), "balance_status": states("input_text.evcs_balance_status"), "balance_last_run": states("input_text.evcs_balance_last_run"), "allow_grid_hc_midday": states("input_boolean.victron_evcs_allow_grid_hc_midday"), "probe_enabled": states("input_boolean.victron_evcs_probe_enabled"), "probe_minutes": states("input_number.victron_evcs_probe_minutes"), "probe_retry_minutes": states("input_number.victron_evcs_probe_retry_minutes"), "probe_current_a": states("input_number.victron_evcs_probe_current_a"), "grid_battery_soft_a": states("input_number.victron_evcs_grid_battery_soft_a"), "grid_battery_hard_a": states("input_number.victron_evcs_grid_battery_hard_a"), "morning_probe_pv_avg_min_w": states("input_number.victron_evcs_morning_probe_pv_avg_min_w"), "morning_probe_pv_trend_min_w": states("input_number.victron_evcs_morning_probe_pv_trend_min_w"), "midday_probe_pv_avg_min_w": states("input_number.victron_evcs_midday_probe_pv_avg_min_w"), "afternoon_probe_pv_avg_min_w": states("input_number.victron_evcs_afternoon_probe_pv_avg_min_w"), "afternoon_probe_soc_min": states("input_number.victron_evcs_afternoon_probe_soc_min"), "afternoon_battery_max_discharge_a": states("input_number.victron_evcs_afternoon_battery_max_discharge_a"), "morning_soc_min": states("input_number.victron_evcs_morning_soc_min"), "midday_soc_min": states("input_number.victron_evcs_midday_soc_min"), "evening_soc_start_min": states("input_number.victron_evcs_evening_soc_start_min"), "evening_soc_stop_min": states("input_number.victron_evcs_evening_soc_stop_min"), "morning_battery_max_discharge_a": states("input_number.victron_evcs_morning_battery_max_discharge_a"), "midday_battery_max_discharge_a": states("input_number.victron_evcs_midday_battery_max_discharge_a"), "evening_battery_max_discharge_a": states("input_number.victron_evcs_evening_battery_max_discharge_a"), "last_block_reason": states("input_text.victron_evcs_last_block_reason"), "blocked_until": states("input_datetime.victron_evcs_blocked_until"), "probe_started_at": states("input_datetime.victron_evcs_probe_started_at"), "victron_evcs_strategy": states("input_select.victron_evcs_strategy"), "evcs_priority_manual_override": states("input_boolean.victron_evcs_priority_manual_override"), "evcs_priority_manual_mode": states("input_select.victron_evcs_priority_manual_mode"), "evcs_priority_manual_reason": states("input_text.victron_evcs_priority_manual_reason"), "evcs_priority_manual_until": states("input_datetime.victron_evcs_priority_manual_until"), "house_spike_grace_minutes": states("input_number.victron_evcs_house_spike_grace_minutes"), "solar_potential_grace_minutes": states("input_number.victron_evcs_solar_potential_grace_minutes"), "step_up_cooldown_seconds": states("input_number.victron_evcs_step_up_cooldown_seconds"), "step_down_cooldown_seconds": states("input_number.victron_evcs_step_down_cooldown_seconds"), "force_mode_auto_revert_minutes": states("input_number.victron_evcs_force_mode_auto_revert_minutes"), "overload_step_down_a": states("input_number.victron_evcs_overload_step_down_a"), "overload_hold_seconds": states("input_number.victron_evcs_overload_hold_seconds"), "overload_stop_after_seconds": states("input_number.victron_evcs_overload_stop_after_seconds"), "batt_discharge_soft_gt90_a": states("input_number.victron_evcs_batt_discharge_soft_gt90_a"), "batt_discharge_hard_gt90_a": states("input_number.victron_evcs_batt_discharge_hard_gt90_a"), "batt_charge_reserve_gt90_a": states("input_number.victron_evcs_batt_charge_reserve_gt90_a"), "batt_soft_tol_gt90_min": states("input_number.victron_evcs_batt_soft_tol_gt90_min"), "batt_hard_tol_gt90_sec": states("input_number.victron_evcs_batt_hard_tol_gt90_sec"), "batt_recovery_gt90_min": states("input_number.victron_evcs_batt_recovery_gt90_min"), "batt_discharge_soft_80_90_a": states("input_number.victron_evcs_batt_discharge_soft_80_90_a"), "batt_discharge_hard_80_90_a": states("input_number.victron_evcs_batt_discharge_hard_80_90_a"), "batt_charge_reserve_80_90_a": states("input_number.victron_evcs_batt_charge_reserve_80_90_a"), "batt_soft_tol_80_90_min": states("input_number.victron_evcs_batt_soft_tol_80_90_min"), "batt_hard_tol_80_90_sec": states("input_number.victron_evcs_batt_hard_tol_80_90_sec"), "batt_recovery_80_90_min": states("input_number.victron_evcs_batt_recovery_80_90_min"), "batt_discharge_soft_60_80_a": states("input_number.victron_evcs_batt_discharge_soft_60_80_a"), "batt_discharge_hard_60_80_a": states("input_number.victron_evcs_batt_discharge_hard_60_80_a"), "batt_charge_reserve_60_80_a": states("input_number.victron_evcs_batt_charge_reserve_60_80_a"), "batt_soft_tol_60_80_min": states("input_number.victron_evcs_batt_soft_tol_60_80_min"), "batt_hard_tol_60_80_sec": states("input_number.victron_evcs_batt_hard_tol_60_80_sec"), "batt_recovery_60_80_min": states("input_number.victron_evcs_batt_recovery_60_80_min"), "batt_discharge_soft_40_60_a": states("input_number.victron_evcs_batt_discharge_soft_40_60_a"), "batt_discharge_hard_40_60_a": states("input_number.victron_evcs_batt_discharge_hard_40_60_a"), "batt_charge_reserve_40_60_a": states("input_number.victron_evcs_batt_charge_reserve_40_60_a"), "batt_soft_tol_40_60_min": states("input_number.victron_evcs_batt_soft_tol_40_60_min"), "batt_hard_tol_40_60_sec": states("input_number.victron_evcs_batt_hard_tol_40_60_sec"), "batt_recovery_40_60_min": states("input_number.victron_evcs_batt_recovery_40_60_min"), "batt_discharge_soft_25_40_a": states("input_number.victron_evcs_batt_discharge_soft_25_40_a"), "batt_discharge_hard_25_40_a": states("input_number.victron_evcs_batt_discharge_hard_25_40_a"), "batt_charge_reserve_25_40_a": states("input_number.victron_evcs_batt_charge_reserve_25_40_a"), "batt_soft_tol_25_40_min": states("input_number.victron_evcs_batt_soft_tol_25_40_min"), "batt_hard_tol_25_40_sec": states("input_number.victron_evcs_batt_hard_tol_25_40_sec"), "batt_recovery_25_40_min": states("input_number.victron_evcs_batt_recovery_25_40_min"), "batt_discharge_soft_lt25_a": states("input_number.victron_evcs_batt_discharge_soft_lt25_a"), "batt_discharge_hard_lt25_a": states("input_number.victron_evcs_batt_discharge_hard_lt25_a"), "batt_charge_reserve_lt25_a": states("input_number.victron_evcs_batt_charge_reserve_lt25_a"), "batt_soft_tol_lt25_min": states("input_number.victron_evcs_batt_soft_tol_lt25_min"), "batt_hard_tol_lt25_sec": states("input_number.victron_evcs_batt_hard_tol_lt25_sec"), "batt_recovery_lt25_min": states("input_number.victron_evcs_batt_recovery_lt25_min"), "evcs_delivery_ratio_ema": states("input_number.victron_evcs_delivery_ratio_ema"), "evcs_delivery_noise_ema": states("input_number.victron_evcs_delivery_noise_ema"), "evcs_no_demand_score_ema": states("input_number.victron_evcs_no_demand_score_ema"), "evcs_no_demand_semantic_active": states("input_boolean.victron_evcs_no_demand_semantic_active"), "evcs_no_demand_since_at": states("input_datetime.victron_evcs_no_demand_since_at"), "evcs_no_demand_filter_eval_at": states("input_datetime.victron_evcs_no_demand_filter_eval_at") } | tojson }}