Feature: EMS Aktiv-Checkbox pro Kathrein-Wallbox-Gerät (v1.8.4)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
retr0
2026-04-29 08:53:39 +02:00
parent 3ab74a8c21
commit 4242ca01f6
3 changed files with 10 additions and 3 deletions
+1 -1
View File
@@ -1,5 +1,5 @@
name: ShineBridge
version: "1.8.3"
version: "1.8.4"
slug: shinebridge
description: Growatt Wechselrichter lokal in Home Assistant — Modbus TCP via ShineLAN-X, MQTT Discovery, Web UI
url: https://gitea.bitfire.work/retr0/shinebridge
+1 -1
View File
@@ -254,7 +254,7 @@ def _poll_loop(inv_cfg: Dict[str, Any], stop: threading.Event):
values["grid_power"] = values["total_power"]
# EMS: PV-Überschuss aus anderen Geräten holen und Ladestrom regeln
if ems is not None and values is not None:
if ems is not None and values is not None and inv_cfg.get("ems_enabled", True):
pv_surplus = _get_pv_surplus()
# 0x0060 manchmal nicht lesbar → 1 (EV Connected) annehmen,
# damit EMS aktiviert; Wallbox ignoriert Befehle wenn kein Auto da
+8 -1
View File
@@ -290,7 +290,12 @@
<input type="number" id="modal-interval" value="30" min="5"></div>
<div id="ems-section" style="display:none; border-top:1px solid var(--border); margin-top:14px; padding-top:14px;">
<div style="font-size:12px; font-weight:600; text-transform:uppercase; letter-spacing:.06em; color:var(--accent); margin-bottom:12px;">EMS — Ladesteuerung</div>
<div style="display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;">
<div style="font-size:12px; font-weight:600; text-transform:uppercase; letter-spacing:.06em; color:var(--accent);">EMS — Ladesteuerung</div>
<label style="cursor:pointer;display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text-dim)">
<input type="checkbox" id="ems-enabled" checked style="width:auto;margin:0"> Aktiv
</label>
</div>
<div class="field"><label>Mindest-PV-Überschuss (W)</label>
<input type="number" id="ems-min-pv" value="1400" min="100" step="100">
<div style="font-size:11px;color:var(--muted);margin-top:3px">Mindestleistung für PV-Laden (min. 6A × 230V = 1380W)</div></div>
@@ -781,6 +786,7 @@ async function openModal(invId) {
document.getElementById("ems-timeout").value = inv.ems_timeout ?? 4;
document.getElementById("ems-target-hour").value = inv.ems_target_hour ?? 6;
document.getElementById("ems-phases").value = inv.ems_phases ?? 3;
document.getElementById("ems-enabled").checked = inv.ems_enabled ?? true;
} else {
document.getElementById("modal-title").textContent = "Gerät hinzufügen";
document.getElementById("modal-id").value = "";
@@ -828,6 +834,7 @@ async function saveInverter() {
inv.ems_timeout = parseFloat(document.getElementById("ems-timeout").value);
inv.ems_target_hour = parseInt(document.getElementById("ems-target-hour").value);
inv.ems_phases = parseInt(document.getElementById("ems-phases").value);
inv.ems_enabled = document.getElementById("ems-enabled").checked;
}
const idx = invertersList.findIndex(i => i.id === id);
if (idx >= 0) invertersList[idx] = inv; else invertersList.push(inv);