You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit 789bb30
Browse filesBrowse the repository at this point in the historyBrowse files
Antonio ...
committed
feat: v2.6.0 — mass bug fixing & improvement (issues #36–#42)
Grouped release closing seven reports. Fully backward compatible — the
two new features are opt-in; the bug fixes are transparent.
- #37 (bug): daily SOC-target numbers used non-existent mdi:calendar-<weekday>
icons → empty icon in HA. Map to valid mdi:calendar-week / -weekend.
- #39 (bug): Hybrid Mode PRIORITY_EV_FREE guard compared soc_home < 100 instead
of the configured evsc_hybrid_battery_full_threshold (inconsistent with the
IDLE-entry / keep-alive guards). Now uses threshold (default 95% → no-op or
more permissive).
- #41 (bug, cosmetic): telemetry logged the GAS 302 redirect HTML as a raw body
before the status check → looked like an error. Skip the body on the 302 happy
path; keep it for 2xx/errors.
- #40 (improvement, detection-only): idle INFO log flood (~48k lines/day).
Solar Surplus / Priority Balancer / Night Smart Charge now log the verbose
block at INFO only on actionable / approaching ticks, DEBUG otherwise.
Diagnostic sensors still update every tick. No behaviour change.
- #38 (enhancement): self-tuning RIDING_EDGE step-up for Generic chargers — jump
2 levels after 2 consecutive stable single-level step-ups (Tuya unaffected).
- #36 (feature/safety): optional grid_available binary_sensor. When OFF
(debounced) Night Smart Charge grid mode stops terminally so it doesn't drain
the home battery during a grid outage on hybrid Battery First/UPS inverters.
Fail-safe reader (is_grid_available): unmapped or unavailable/unknown → None →
never a spurious stop. New STOP_REASON_GRID_LOSS.
- #42 (feature): customizable nighttime window via two opt-in numbers
(evsc_nighttime_sunset_offset / _sunrise_offset, 0–120 min, default 0).
Positive values extend the night window that gates Solar Surplus.
Entity counts: +2 always-created numbers (#42) → 69 / 55. #36 is a mapped
sensor (counts unchanged).
Tests: new tests/test_v260_fixes.py (#36 fail-safe reader, #42 offsets);
test_config_flow counts 69/55. Full suite green except the pre-existing
environment-only baseline failures (identical on clean master).
VERSION = "2.6.0".
Full suite green except the pre-existing environment-only baseline failures
854
+
(identical on clean master).
855
+
856
+
**Upgrade priority**: 🟢 RECOMMENDED for hybrid-inverter installs (map
857
+
`grid_available` for outage protection #36) and anyone bothered by the INFO log
858
+
flood (#40). ⚪ Otherwise low-impact — the bug fixes are transparent and the two
859
+
features are opt-in.
860
+
861
+
---
862
+
760
863
### v2.5.1 (2026-06-04)
761
864
**FIX: Stale "SKIPPED: Nighttime" on the Solar Surplus diagnostic + self-diagnosable astral times ([issue #34](https://github.com/antbald/ha-ev-smart-charger/issues/34), xion2000)**
Copy file name to clipboardExpand all lines: README.md
+7Lines changed: 7 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -54,6 +54,8 @@ Most projects target one charger brand or assume a single-phase home. EV Smart C
54
54
55
55
> **🔋 New in v2.4.0** — the same **battery-power sensor** now also protects **Night Smart Charge grid mode**. On hybrid "Battery First" inverters, grid-mode charging can silently drain the home battery (grid stays ≈ 0 W) instead of pulling from the grid; v2.4.0 stops the session once the battery is being drained *and* has reached `home_battery_min_soc`, making that floor effective in grid mode just like it already is in battery mode. **No-op without the sensor.** Solves [issue #33](https://github.com/antbald/ha-ev-smart-charger/issues/33).
56
56
57
+
> **🆕 New in v2.6.0** — mass bug-fix & improvement release (issues #36–#42). Highlights: an optional **`grid_available` binary sensor** ([issue #36](https://github.com/antbald/ha-ev-smart-charger/issues/36)) stops Night Smart Charge grid mode during a **grid outage** so it doesn't drain the home battery on hybrid Battery First / UPS inverters (fail-safe: an unavailable sensor never triggers a false stop); a **customizable nighttime window** ([issue #42](https://github.com/antbald/ha-ev-smart-charger/issues/42)) via two opt-in offset numbers (start before sunset / end after sunrise); and a big **INFO log-noise reduction** ([issue #40](https://github.com/antbald/ha-ev-smart-charger/issues/40)) — idle ticks no longer flood the HA log. Also: valid day icons (#37), faster Generic-charger ramp-up (#38), a consistent Hybrid full-battery threshold (#39), and a cleaner telemetry log (#41). **All backward compatible** — the two features are opt-in.
58
+
57
59
---
58
60
59
61
## 📸 Preview
@@ -416,9 +418,12 @@ The charger switch entity is used as the unique ID for the config entry. Adding
416
418
| Home consumption | Yes |`W`|
417
419
| Grid import | Yes |`W`|
418
420
| EV charging power (v2.2.0) | No |`W`|
421
+
| Grid available (v2.6.0) | No |`binary_sensor`|
419
422
420
423
**EV charging power (v2.2.0):** the most reliable signal for whether the car is actually drawing current — when mapped it becomes the single source of truth for charging detection (and the dashboard's green "EV charging" banner), overriding the status string. In three-phase mode map all three per-phase sensors (they are summed) or leave all blank. The sensor must report positive watts while charging; if yours reports negative, wrap it in a template sensor (`{{ states('sensor.your_power') | float(0) | abs }}`) — the diagnostic sensor's `charging_power_w` will read a flat 0 W if the sign is reversed.
421
424
425
+
**Grid available (v2.6.0 — [issue #36](https://github.com/antbald/ha-ev-smart-charger/issues/36)):** optional `binary_sensor` (on = grid present, off = grid lost), typically exposed by hybrid inverter integrations (e.g. `binary_sensor.inverter_grid`). On hybrid "Battery First"/UPS inverters a grid outage is invisible to the integration (every power sensor keeps reporting), so Night Smart Charge **grid mode** would keep drawing — now from the home battery — during the outage. When mapped and OFF (sustained for the grid-import delay, default 30 s), the grid-mode session stops. **Fail-safe:** an `unavailable`/`unknown` state (e.g. at HA boot or an inverter-integration restart) is treated as "unknown" and never triggers a stop. Leave empty to keep the previous behaviour.
426
+
422
427
### Step 4 — PV Forecast
423
428
424
429
| Field | Required | Unit |
@@ -554,6 +559,8 @@ When a day's flag is **ON** and the EV target is not yet reached at sunrise, Nig
554
559
|`evsc_night_charge_amperage`|`16`|`6–32`| A | Amperage for overnight charging sessions. |
555
560
|`evsc_min_solar_forecast_threshold`|`20`|`0–100`| kWh | If tomorrow's forecast ≥ this value, Night Smart Charge uses home battery mode instead of grid mode. |
556
561
|`evsc_night_pv_handoff_threshold`|`0`|`0–5000`| W |**v2.3.0 (opt-in).**`0` = disabled (stop at astronomical sunrise). When > 0, on `car_ready` OFF days Night Smart Charge continues past sunrise and hands off to Solar Surplus once measured `fv_production` stays ≥ this value for 5 min (hard-capped at `evsc_car_ready_time`). Recommended ~200 W, above your inverter's idle reading. See the high-latitude note in [Night Smart Charge](#night-smart-charge). |
562
+
|`evsc_nighttime_sunset_offset`|`0`|`0–120`| min |**v2.6.0 (opt-in — [issue #42](https://github.com/antbald/ha-ev-smart-charger/issues/42)).** Minutes **before** sunset at which the nighttime window starts. `0` = astronomical sunset. Extends the window where Solar Surplus is skipped ("SKIPPED: Nighttime"). |
563
+
|`evsc_nighttime_sunrise_offset`|`0`|`0–120`| min |**v2.6.0 (opt-in — [issue #42](https://github.com/antbald/ha-ev-smart-charger/issues/42)).** Minutes **after** sunrise at which the nighttime window ends. `0` = astronomical sunrise. Delays when Solar Surplus resumes in the morning. |
0 commit comments