Skip to content

v4.9.0

Choose a tag to compare

@ABovsh ABovsh released this 17 May 13:53
· 246 commits to main since this release

Eveus 4.9.0 — Writable schedules, controls, and a ready-to-paste dashboard

This is the stable 4.9.0 release, consolidating everything from the 4.9.0-rc series. Major focus: you can now manage the charger's on-device schedules, clock, and adaptive mode directly from Home Assistant, plus a polished Lovelace dashboard ships with the integration.

✨ Schedules — writable from HA

Two on-device schedule slots are now fully controllable without touching the charger's web UI:

  • switch.eveus_schedule_1_enabled / switch.eveus_schedule_2_enabled — arm or disarm each slot.
  • time.eveus_schedule_1_start / _stop and time.eveus_schedule_2_start / _stop — native HA time pickers for each slot's window. Shift your night-tariff window from the dashboard or an automation.

✨ Adaptive mode — on/off control

  • switch.eveus_adaptive_mode — toggle the charger's adaptive (voltage-sag throttle) feature. Pairs with the existing Adaptive Charging / Current Limit / Voltage Threshold diagnostic sensors.

✨ Clock & time zone

  • select.eveus_time_zone — readable & writable time-zone offset, range -12..+14.
  • button.eveus_sync_time — push HA's current time to the charger in one click. No more drifting clocks.

✨ 3-phase support

  • New Phases field (1 or 3) in setup and reconfigure. Existing single-phase setups are migrated transparently.
  • When Phases = 3, four additional sensors are exposed: Current Phase 2, Current Phase 3, Voltage Phase 2, Voltage Phase 3.

✨ Leakage current sensors

  • sensor.eveus_leakage_current (mA) — live RCD reading. 0 is normal; non-zero indicates a ground-fault leak.
  • sensor.eveus_leakage_current_peak (mA) — peak-hold leakage value, useful for catching transient faults.

✨ Quick refresh

  • button.eveus_force_refresh — trigger an immediate coordinator poll instead of waiting for the next tick.

📊 Lovelace dashboard

A ready-to-paste dashboard ships in docs/dashboard.yaml, with logically grouped sections:

  • EV Battery — the four optional input_number.ev_* helpers (Battery Capacity / Initial SOC / Target SOC / Charging Loss) plus the SOC sensors and ETA Finish in one place.
  • Now — live status tiles (State, Car, Power, Current, Voltage, Substate).
  • Charging Controls — current slider, Stop Charging, One Charge, Force Refresh.
  • Session — duration, energy, cost.
  • Last 24 h — power, current, voltage mini-graph cards.
  • Adaptive — adaptive mode switch + status sensors.
  • Schedule 1 / Schedule 2 — enable switch + start/stop time pickers + window summary.
  • Clock & Time Zone — time-zone select, charger clock, sync button.
  • Counters — lifetime energy + Counter A / Counter B (each with cost + reset button).
  • Tariffs — active rate + primary / Rate 2 / Rate 3 schedules and prices.
  • Diagnostics — connection quality, ground, temperatures, leakage, internal battery.

Requires the mini-graph-card HACS frontend. See the README's Dashboard section for install steps.

🐛 Fixes

  • Starting a charging session now reflects within ~10–20 s instead of waiting up to a minute for the next idle poll.
  • Connection Quality reports unknown on internal error instead of falsely showing 100%.
  • Diagnostics endpoint no longer raises when called before setup completes — it returns a partial payload instead.
  • Reconfigure / reauth / repair flows now preserve device_number correctly in multi-charger setups.

🔒 Security & UX

  • Config-flow and reauth password fields are now masked.
  • Diagnostic dumps redact host and unique_id in addition to credentials.
  • A warning is logged when the charger is configured over plain HTTP (Basic Auth in cleartext).

⚠️ Breaking

  • switch.eveus_reset_counter_a was removed and replaced by button.eveus_reset_counter_a (proper one-shot reset). button.eveus_reset_counter_b mirrors it. Update any dashboards or automations that referenced the old switch entity.

Upgrade

HACS → Eveus EV Charger → Update → restart Home Assistant. Existing entity IDs and unique IDs are preserved.