| 2026-03-04 |
Fix battery charging: limit max_charging_current to PV surplus
...
When PV can charge battery without grid (Battery First mode),
limit battery_max_charging_current = (PV - Load) / V_bat to prevent
battery from pulling excess power from grid.
Without this fix, battery charged at max 100A even when PV surplus
was only ~55A, resulting in ~500W grid import for battery charging.
Formula: max(5, min(100, (pv_w - load_w) / bat_voltage_v))
Applied in both g12w_wlacz_ladowanie_dzienne and g12w_pv_charging_optimization.
On grid-charge path: restore battery_max_charging_current to 100A.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Wojciech Konieczny
committed
on 4 Mar
|
| 2026-03-03 |
Add grid export/import sensors and improve Deye dashboard
...
- Add template sensor 'Eksport do sieci' (W, positive when exporting to grid)
- Add template sensor 'Pobór z sieci' (W, positive when importing from grid)
Both derived from sensor.inverter_deye_grid_power (negative=export, positive=import)
- Redesign deye_dashboard.yaml:
- Add 'Energia teraz' card: PV, zużycie, eksport, pobór, bateria, tryb
- Add 'Energia dziś' card: daily totals from Deye counters
- Show programs 4 and 5 (previously missing)
- Add history graph: PV + eksport + pobór
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Wojciech Konieczny
committed
on 3 Mar
|

G12W: Smart afternoon charging - use grid only when PV can't charge battery
...
Replaces fixed-threshold logic with energy budget calculation:
- Formula: PV_surplus_W * remaining_hours >= battery_deficit_Wh
- Battery capacity: 14336 Wh (280Ah LFP at 51.2V nominal)
'Włącz ładowanie dzienne 13:00' (12:55 trigger):
- Calculates if PV surplus over full 2h window >= battery deficit
- YES → Battery First, no grid charging needed
- NO → Load First + Grid at 100A (use cheap G12W tariff)
'Optymalizacja PV ładowania dziennego' (every 15min, 13:00-15:00):
- Recalculates with actual remaining time in window
- Dynamically switches between Battery First / Grid as cloud cover changes
- Only triggers grid charging when SOC < 95% and PV genuinely can't finish the job
Example: PV=3358W, Load=1188W, SOC=99%, remaining=1.38h
Surplus=2988 Wh >> Deficit=143 Wh → Battery First, grid import drops 3100W→324W
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Wojciech Konieczny
committed
on 3 Mar
|
Fix heating dashboard: update entity IDs sterownik_1 → ibsystem after server migration
...
- Update all sterownik_1_rs0_id1_* entity refs in heating_dashboard.yaml
- Fix configuration.yaml: update template sensors and utility_meter to use new ibsystem entity IDs
- Remove stray set_heating_curve entry from utility_meter section
- Restore http: section header that was accidentally removed
- All heating dashboard entities now working (T1/T4/T5, moc, COP, energia)
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Wojciech Konieczny
committed
on 3 Mar
|
| 2026-02-11 |
G12W: Ładowanie 13:00-15:00 zawsze w dni robocze
...
Usunięty warunek prognozy < 5 kWh dla dziennego ładowania.
Teraz automatyzacja uruchamia się zawsze Pn-Pt gdy SOC < 95%.
Wojciech Konieczny
committed
on 11 Feb
|
| 2026-02-10 |
Add G12W battery automation, IBSystem MQTT integration, HA configs
...
Zmiany:
- ha-configs/151/: Kopia konfiguracji HA TEST
- automations.yaml: Automatyzacje G12W ładowania baterii
- configuration.yaml: Główna konfiguracja z dashboardami
- dashboards/: Deye, Ogrzewanie, IBSystem, ID35
- ibsystem/: Integracja IBSystem z MQTT
- ibsystem2mqtt_v5.py: Bridge IBSystem → MQTT
- config.yaml: Konfiguracja połączeń
- ibsystem2mqtt_watchdog.sh: Health check i auto-restart
- docs/: Dokumentacja
- G12W_BATTERY_AUTOMATION.md: Opis taryfy i automatyzacji
- IBSYSTEM_MQTT_INTEGRATION.md: Opis integracji MQTT
Kluczowe naprawy:
- Program 6 Deye: zmiana z 21:00 Disabled na 22:00 Grid
- IBSystem: setting.light.X zamiast output.do.X dla sterowania
- Dashboard ID35: prawidłowe entity IDs (ibsystem_rs0_id35_*)
- Watchdog dla ibsystem2mqtt (cron co minutę)
Wojciech Konieczny
committed
on 10 Feb
|