fix(v1.8.27): Fahrzeugerkennung + Wizard überschreibt Inverterliste

Bug 1 (inverters.py): Kathrein-Register 0x0061-0x0064 existieren nicht —
(0x0060, 10) schlug daher immer mit IllegalAddress fehl, charging_state
wurde nie gelesen → EMS meldete dauerhaft "kein Fahrzeug". Fix: aufgeteilt
in (0x0060, 1) + (0x0065, 6), sodass die Lücke übersprungen wird.

Bug 2 (index.html): wizardStep2Next() postete [neues_gerät] statt
[...invertersList, neues_gerät] → überschrieb die gesamte Inverterliste.
Wenn der Wizard bei einem bestehenden Setup erschien, flogen alle anderen
Geräte raus. Fix: bestehende Geräte werden beibehalten.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
retr0
2026-05-08 10:58:44 +02:00
co-authored by Claude Sonnet 4.6
parent 5564a50c3c
commit c4047fc804
4 changed files with 9 additions and 6 deletions
+4 -2
View File
@@ -1693,7 +1693,7 @@ async function wizardStep2Next() {
if (!name || !ip) { showToast("Name und IP sind Pflichtfelder", "err"); return; }
const model = document.getElementById("wz-inv-model").value;
const id = Math.random().toString(36).slice(2, 10);
const body = [{
const newInv = {
id,
name,
inverter_model: model,
@@ -1702,7 +1702,9 @@ async function wizardStep2Next() {
modbus_address: parseInt(document.getElementById("wz-inv-addr").value) || 1,
mqtt_topic_prefix: `growatt/${name.toLowerCase().replace(/\s+/g, "_")}`,
update_interval: 30,
}];
};
// Bestehende Geräte behalten — Wizard darf nicht die komplette Liste überschreiben
const body = [...invertersList, newInv];
try {
await fetchJSON(api("api/inverters-config"), {
method: "POST", headers: {"Content-Type": "application/json"},