Skip to content

Releases: LeoAlioth/Dynamic_OCPP_EVSE

Dynamic OCPP EVSE 2.0.6-dev.20260413.2025

13 Apr 20:25

Choose a tag to compare

Changes since 2.0.5-dev.20260413.2020:

  • version bump

Load Juggler 2.0.5

24 Mar 21:30

Choose a tag to compare

Improvements

  • Automatic unit conversion: Power and current sensors now auto-convert units at runtime:
  • Unit-based entity filtering: Entity selectors now filter by unit_of_measurement instead of device_class, allowing selection of sensors from integrations that don't set device_class properly.

Dynamic OCPP EVSE 2.0.5-rc.20260324.2132

24 Mar 21:32

Choose a tag to compare

Improvements

  • Automatic unit conversion: Power and current sensors now auto-convert units at runtime:
  • Unit-based entity filtering: Entity selectors now filter by unit_of_measurement instead of device_class, allowing selection of sensors from integrations that don't set device_class properly.

Load Juggler 2.0.4

23 Feb 18:21

Choose a tag to compare

BREAKING: Existing 1.x users must remove and re-add the integration.

New Features

  • Per-load operating modes: each charger/load has its own operating mode instead of a site-wide setting. EVSE modes: Standard, Solar Priority, Solar Only, Excess. Smart Load modes: Continuous, Solar Only, Excess.
  • Mixed-mode operation: run different chargers in different modes simultaneously (e.g., one charger in Standard while another waits for Solar Only).
  • Source-aware dual-pool distribution: physical (grid + inverter), solar, and excess power pools tracked independently — each charger draws from the pools its mode allows.
  • Multi-charger support with 4 distribution modes (Shared, Priority, Optimized, Strict).
  • Smart Load support: non-OCPP controllable loads (e.g., granny charger behind a Shelly smart plug) with binary on/off control, configurable power rating, and phase assignment.
  • Asymmetric inverter support: flexible power pool across phases.
  • Battery integration: SOC thresholds, charge/discharge power limits, battery-aware solar derivation.
  • 2-phase OBC charger support (e.g., VW eGolf, eUp, ID.3 base).
  • Charger phase mapping (L1/L2/L3 → A/B/C) with per-phase constraint enforcement.
  • Power-based charging: send watts instead of amps via OCPP charge rate unit auto-detection.
  • Dedicated solar power entity: direct inverter-side solar sensor instead of CT-derived.
  • Per-phase inverter output entities: optional sensors for each inverter phase with parallel/series wiring topology.
  • Entity auto-detection: battery, solar, inverter, power monitoring, and wiring topology entities for 12 inverter brands.
  • Max import power limiter: cap grid import independently of breaker rating.
  • HA service actions: set_operating_mode, set_distribution_mode, set_max_current, set_min_current.
  • Available current display for idle chargers.
  • EVSE charging status sensor with mode-aware status messages (Battery Priority, Insufficient Solar, No Excess, etc.).
  • Hub status sensor — shows site configuration health (OK, Initializing, No power measurement, Grid sensors unavailable) with detailed warnings as attributes.
  • Solar/Excess grace period: configurable hold-at-minimum timer before pausing when conditions drop, preventing rapid on/off cycling.
  • Auto-detect grid CT inversion: correlates charger draw vs grid current direction, fires persistent notification after repeated inverted readings.
  • Auto-detect phase mapping: correlates charger draw vs per-phase grid deltas, notifies on wiring mismatch (opt-in).
  • Auto-detect OCPP meter sample interval: uses charger's MeterValueSampleInterval as default update frequency.
  • Auto-detect smart plug power monitor: discovers power sensors for Shelly, Sonoff, Tasmota, Kasa, Tuya plugs.
  • Circuit groups: shared breaker limits for co-located loads. Group loads under a sub-breaker with a per-phase current limit. Post-distribution enforcement ensures combined allocation never exceeds the circuit limit.
  • Off-grid support: grid CT entities are now optional. When no grid CTs are configured, the system infers active phases from inverter output entities and treats grid current as 0A. Solar production is derived from inverter output using a unified formula that works for both grid and off-grid sites.

Resilience Improvements

  • Grid CT stale detection: when configured grid CT sensors become unavailable, the system holds the last known EMA value. After 60s of continuous unavailability, all chargers fall to minimum current. Recovery is automatic with a log message.
  • Sensor unavailability handling: _UNAVAILABLE sentinel pattern — solar, battery, and inverter sensors automatically hold their last EMA value during brief unavailability instead of decaying to 0.
  • OCPP/switch error handling: set_charge_rate and plug switch commands wrapped in try-except to prevent update cycle crashes if the OCPP integration restarts.
  • Input validation: NaN/Inf guard in EMA smoothing, voltage ≤0 fallback to 230V, plug empty-phase crash fix, stale circuit group member filtering.

Bug Fixes

  • Fixed charging instability from feedback loop oscillation (EMA smoothing + Schmitt trigger dead band + dual-frequency updates).
  • Fixed grid CT feedback loop overcorrection when charger reports inflated per-phase draws (per-phase draw clamping).
  • Fixed battery power sensor false-positive detection matching phone batteries.
  • Fixed entity state lookup using shared hass.data store instead of entity ID guessing.
  • Fixed battery SOC target/min sliders not feeding into calculation engine.
  • Fixed EVSE min/max current sliders missing value clamping.
  • Fixed connector status "Finishing"/"Faulted" treated as active — now correctly stops allocation and skips OCPP profiles.
  • Fixed entity selector clearing (suggested_value instead of default so X button truly clears).
  • Fixed options flow Submit → Next button on non-final steps.
  • Fixed config entry not reloading on options change (stale battery sliders persisting).
  • Fixed total_site_available_power and available_grid_power not capped by max_grid_import_power.

UX Improvements

  • Redesigned configuration flow with contextual help text, entity pickers, and number selectors.
  • Phase mapping fields hidden on single-phase sites to prevent misconfiguration.
  • Charger names auto-prettified from OCPP entity IDs.
  • Phase B/C sensors hidden on single-phase sites.
  • Hub sensor renames: shorter, consistent naming (Current X Power / Available X Power), added Current Solar Power sensor.
  • Structured debug logging with human-readable charger names, raw+smoothed value display.
  • Charge pause duration in minutes (was seconds) for consistency.
  • Default hub name changed to "Site Load Management".

Dynamic OCPP EVSE 2.0.4-rc.20260223.1824

23 Feb 18:24

Choose a tag to compare

BREAKING: Existing 1.x users must remove and re-add the integration.

New Features

  • Per-load operating modes: each charger/load has its own operating mode instead of a site-wide setting. EVSE modes: Standard, Solar Priority, Solar Only, Excess. Smart Load modes: Continuous, Solar Only, Excess.
  • Mixed-mode operation: run different chargers in different modes simultaneously (e.g., one charger in Standard while another waits for Solar Only).
  • Source-aware dual-pool distribution: physical (grid + inverter), solar, and excess power pools tracked independently — each charger draws from the pools its mode allows.
  • Multi-charger support with 4 distribution modes (Shared, Priority, Optimized, Strict).
  • Smart Load support: non-OCPP controllable loads (e.g., granny charger behind a Shelly smart plug) with binary on/off control, configurable power rating, and phase assignment.
  • Asymmetric inverter support: flexible power pool across phases.
  • Battery integration: SOC thresholds, charge/discharge power limits, battery-aware solar derivation.
  • 2-phase OBC charger support (e.g., VW eGolf, eUp, ID.3 base).
  • Charger phase mapping (L1/L2/L3 → A/B/C) with per-phase constraint enforcement.
  • Power-based charging: send watts instead of amps via OCPP charge rate unit auto-detection.
  • Dedicated solar power entity: direct inverter-side solar sensor instead of CT-derived.
  • Per-phase inverter output entities: optional sensors for each inverter phase with parallel/series wiring topology.
  • Entity auto-detection: battery, solar, inverter, power monitoring, and wiring topology entities for 12 inverter brands.
  • Max import power limiter: cap grid import independently of breaker rating.
  • HA service actions: set_operating_mode, set_distribution_mode, set_max_current, set_min_current.
  • Available current display for idle chargers.
  • EVSE charging status sensor with mode-aware status messages (Battery Priority, Insufficient Solar, No Excess, etc.).
  • Hub status sensor — shows site configuration health (OK, Initializing, No power measurement, Grid sensors unavailable) with detailed warnings as attributes.
  • Solar/Excess grace period: configurable hold-at-minimum timer before pausing when conditions drop, preventing rapid on/off cycling.
  • Auto-detect grid CT inversion: correlates charger draw vs grid current direction, fires persistent notification after repeated inverted readings.
  • Auto-detect phase mapping: correlates charger draw vs per-phase grid deltas, notifies on wiring mismatch (opt-in).
  • Auto-detect OCPP meter sample interval: uses charger's MeterValueSampleInterval as default update frequency.
  • Auto-detect smart plug power monitor: discovers power sensors for Shelly, Sonoff, Tasmota, Kasa, Tuya plugs.
  • Circuit groups: shared breaker limits for co-located loads. Group loads under a sub-breaker with a per-phase current limit. Post-distribution enforcement ensures combined allocation never exceeds the circuit limit.
  • Off-grid support: grid CT entities are now optional. When no grid CTs are configured, the system infers active phases from inverter output entities and treats grid current as 0A. Solar production is derived from inverter output using a unified formula that works for both grid and off-grid sites.

Resilience Improvements

  • Grid CT stale detection: when configured grid CT sensors become unavailable, the system holds the last known EMA value. After 60s of continuous unavailability, all chargers fall to minimum current. Recovery is automatic with a log message.
  • Sensor unavailability handling: _UNAVAILABLE sentinel pattern — solar, battery, and inverter sensors automatically hold their last EMA value during brief unavailability instead of decaying to 0.
  • OCPP/switch error handling: set_charge_rate and plug switch commands wrapped in try-except to prevent update cycle crashes if the OCPP integration restarts.
  • Input validation: NaN/Inf guard in EMA smoothing, voltage ≤0 fallback to 230V, plug empty-phase crash fix, stale circuit group member filtering.

Bug Fixes

  • Fixed charging instability from feedback loop oscillation (EMA smoothing + Schmitt trigger dead band + dual-frequency updates).
  • Fixed grid CT feedback loop overcorrection when charger reports inflated per-phase draws (per-phase draw clamping).
  • Fixed battery power sensor false-positive detection matching phone batteries.
  • Fixed entity state lookup using shared hass.data store instead of entity ID guessing.
  • Fixed battery SOC target/min sliders not feeding into calculation engine.
  • Fixed EVSE min/max current sliders missing value clamping.
  • Fixed connector status "Finishing"/"Faulted" treated as active — now correctly stops allocation and skips OCPP profiles.
  • Fixed entity selector clearing (suggested_value instead of default so X button truly clears).
  • Fixed options flow Submit → Next button on non-final steps.
  • Fixed config entry not reloading on options change (stale battery sliders persisting).
  • Fixed total_site_available_power and available_grid_power not capped by max_grid_import_power.

UX Improvements

  • Redesigned configuration flow with contextual help text, entity pickers, and number selectors.
  • Phase mapping fields hidden on single-phase sites to prevent misconfiguration.
  • Charger names auto-prettified from OCPP entity IDs.
  • Phase B/C sensors hidden on single-phase sites.
  • Hub sensor renames: shorter, consistent naming (Current X Power / Available X Power), added Current Solar Power sensor.
  • Structured debug logging with human-readable charger names, raw+smoothed value display.
  • Charge pause duration in minutes (was seconds) for consistency.
  • Default hub name changed to "Site Load Management".

Dynamic OCPP EVSE 2.0.3-rc.20260219.1612

19 Feb 16:12

Choose a tag to compare

BREAKING: Existing 1.x users must remove and re-add the integration.

New Features

  • Per-load operating modes: each charger/load has its own operating mode instead of a site-wide setting. EVSE modes: Standard, Solar Priority, Solar Only, Excess. Smart Load modes: Continuous, Solar Only, Excess.
  • Mixed-mode operation: run different chargers in different modes simultaneously (e.g., one charger in Standard while another waits for Solar Only).
  • Source-aware dual-pool distribution: physical (grid + inverter), solar, and excess power pools tracked independently — each charger draws from the pools its mode allows.
  • Multi-charger support with 4 distribution modes (Shared, Priority, Optimized, Strict).
  • Smart Load support: non-OCPP controllable loads (e.g., granny charger behind a Shelly smart plug) with binary on/off control, configurable power rating, and phase assignment.
  • Asymmetric inverter support: flexible power pool across phases.
  • Battery integration: SOC thresholds, charge/discharge power limits, battery-aware solar derivation.
  • 2-phase OBC charger support (e.g., VW eGolf, eUp, ID.3 base).
  • Charger phase mapping (L1/L2/L3 → A/B/C) with per-phase constraint enforcement.
  • Power-based charging: send watts instead of amps via OCPP charge rate unit auto-detection.
  • Dedicated solar power entity: direct inverter-side solar sensor instead of CT-derived.
  • Per-phase inverter output entities: optional sensors for each inverter phase with parallel/series wiring topology.
  • Entity auto-detection: battery, solar, inverter, power monitoring, and wiring topology entities for 12 inverter brands.
  • Max import power limiter: cap grid import independently of breaker rating.
  • HA service actions: set_operating_mode, set_distribution_mode, set_max_current, set_min_current.
  • Available current display for idle chargers.
  • EVSE charging status sensor with mode-aware status messages (Battery Priority, Insufficient Solar, No Excess, etc.).
  • Solar/Excess grace period: configurable hold-at-minimum timer before pausing when conditions drop, preventing rapid on/off cycling.
  • Auto-detect grid CT inversion: correlates charger draw vs grid current direction, fires persistent notification after repeated inverted readings.
  • Auto-detect phase mapping: correlates charger draw vs per-phase grid deltas, notifies on wiring mismatch (opt-in).
  • Auto-detect OCPP meter sample interval: uses charger's MeterValueSampleInterval as default update frequency.
  • Auto-detect smart plug power monitor: discovers power sensors for Shelly, Sonoff, Tasmota, Kasa, Tuya plugs.

Bug Fixes

  • Fixed charging instability from feedback loop oscillation (EMA smoothing + Schmitt trigger dead band + dual-frequency updates).
  • Fixed grid CT feedback loop overcorrection when charger reports inflated per-phase draws (per-phase draw clamping).
  • Fixed battery power sensor false-positive detection matching phone batteries.
  • Fixed entity state lookup using shared hass.data store instead of entity ID guessing.
  • Fixed battery SOC target/min sliders not feeding into calculation engine.
  • Fixed EVSE min/max current sliders missing value clamping.
  • Fixed connector status "Finishing"/"Faulted" treated as active — now correctly stops allocation and skips OCPP profiles.
  • Fixed entity selector clearing (suggested_value instead of default so X button truly clears).
  • Fixed options flow Submit → Next button on non-final steps.
  • Fixed config entry not reloading on options change (stale battery sliders persisting).

UX Improvements

  • Redesigned configuration flow with contextual help text, entity pickers, and number selectors.
  • Phase mapping fields hidden on single-phase sites to prevent misconfiguration.
  • Charger names auto-prettified from OCPP entity IDs.
  • Phase B/C sensors hidden on single-phase sites.
  • Hub sensor renames: shorter, consistent naming (Current X Power / Available X Power), added Current Solar Power sensor.
  • Structured debug logging with human-readable charger names, raw+smoothed value display.
  • Charge pause duration in minutes (was seconds) for consistency.

Dynamic OCPP EVSE 1.2.1

14 Feb 08:20

Choose a tag to compare

1.2.1

Improvements

  • Added configurable power buffer for grid protection.
  • Default charging mode selection.
  • Single-phase operation support.
  • Configurable OCPP profile stack level.
  • Fixed charging instability on standard charge modes.
  • Fixed missing entities during updates.
  • Input number slider definitions updated.