{ "elements": [ { "type": "Label", "caption": "Aufgepasst: Bei Goodwe nur Ladenvariabel auswählen und entladen Dummy Variabel.\nGoodwe braucht nur eine Leistungssoll Variabel. Entlade NICHT auf gleiche Variabel setzen wie Laden\nGoodwe: Laden=11, Entladen=12,\nSolaredge: Laden=3, Entladen=4\nDefault: Laden=1, Entladen=2" }, { "type": "List", "name": "Batteries", "caption": "Batterien", "rowCount": 5, "add": true, "delete": true, "sort": { "column": "typ", "direction": "ascending" }, "columns": [ { "caption": "Typ", "name": "typ", "width": "160px", "add": "", "edit": { "type": "ValidationTextBox" } }, { "caption": "Kapazität", "name": "capazity", "width": "100px", "suffix": " kWh", "add": 0, "edit": { "type": "NumberSpinner", "minimum": 0, "digits": 2 } }, { "caption": "Batterieleistung", "name": "powerbat", "width": "120px", "suffix": " W", "add": 0, "edit": { "type": "NumberSpinner", "minimum": 0, "digits": 0 } }, { "caption": "SoC Variable", "name": "soc", "width": "120px", "add": 0, "edit": { "type": "SelectVariable" } }, { "caption": "Ist-Leistung Register", "name": "register_bat_power", "width": "150px", "add": 0, "edit": { "type": "SelectVariable" } }, { "caption": "Ladeleistung Register", "name": "powerbat_laden", "width": "150px", "add": 0, "edit": { "type": "SelectVariable" } }, { "caption": "Entladeleistung Register", "name": "powerbat_entladen", "width": "160px", "add": 0, "edit": { "type": "SelectVariable" } }, { "caption": "Modus Register", "name": "register_ladenentladen_modus", "width": "140px", "add": 0, "edit": { "type": "SelectVariable" } }, { "caption": "Min. SoC", "name": "minPhysicalSocPct", "width": "100px", "suffix": " %", "add": 5, "edit": { "type": "NumberSpinner", "minimum": 0, "maximum": 30, "digits": 1 } } ], "values": [] }, { "type": "ExpansionPanel", "caption": "SDL / EV Fenster", "items": [ { "type": "NumberSpinner", "name": "SDL_Leistung_Laden", "caption": "SDL Leistung Laden", "suffix": " W", "minimum": 0, "digits": 0 }, { "type": "NumberSpinner", "name": "SDL_Leistung_Entladen", "caption": "SDL Leistung Entladen", "suffix": " W", "minimum": 0, "digits": 0 }, { "type": "NumberSpinner", "name": "ReserveHours", "caption": "SDL Reservezeit", "suffix": " h", "minimum": 0, "maximum": 24, "digits": 2 }, { "type": "NumberSpinner", "name": "SDL_Start_Pos_Config", "caption": "Virtueller SDL Startwert", "suffix": " %", "minimum": 0, "maximum": 100, "digits": 2 }, { "type": "NumberSpinner", "name": "EV_Start_Pos_Config", "caption": "Virtueller EV Startwert", "suffix": " %", "minimum": 0, "maximum": 100, "digits": 2 } ] }, { "type": "ExpansionPanel", "caption": "Regelung", "items": [ { "type": "NumberSpinner", "name": "UpdateInterval", "caption": "Update Intervall", "suffix": " s", "minimum": 1, "digits": 0 }, { "type": "Label", "caption": "EV-SoC Nachberechnung:\n\nAlle X Stunden wird geprüft, ob der virtuelle SDL-SoC bei 50% liegt.\nWenn ja, wird der EV-SoC anhand der physischen Batterie-SoCs neu berechnet.\nDie EV-Toleranz verhindert kleine unnötige Korrekturen.\n\n0 Stunden = automatische EV-Neuberechnung deaktiviert." }, { "type": "NumberSpinner", "name": "EV_Recalc_IntervalHours", "caption": "EV SoC neu berechnen alle", "suffix": " h", "minimum": 0, "maximum": 168, "digits": 2 }, { "type": "NumberSpinner", "name": "EV_Recalc_TolerancePct", "caption": "EV Recalc Toleranz", "suffix": " %", "minimum": 0, "maximum": 100, "digits": 2 }, { "type": "CheckBox", "name": "FilterAktiv", "caption": "Filter für aktuelle EV/SDL Leistung aktiv. Dient für die Visualisierung, um Leistungssprünge zu vermeiden." }, { "type": "Label", "caption": "Filter für aktuelle Leistung:\n\nToleranz (%): Wie stark der Istwert vom Soll abweichen darf\nRampe (W/s): Wie schnell die Leistung verändert wird (Trägheit)\nTreffer: Wie oft ein Wert passen muss, bevor er übernommen wird\n\n→ Höhere Rampe = schneller, aber sprunghafter\n→ Niedrigere Rampe = ruhiger, aber träger" }, { "type": "NumberSpinner", "name": "FilterTolerancePct", "caption": "Filter Toleranz", "suffix": " %", "minimum": 0, "maximum": 100, "digits": 1 }, { "type": "NumberSpinner", "name": "FilterRampWPerSec", "caption": "Filter Rampe", "suffix": " W/s", "minimum": 100, "maximum": 100000, "digits": 0 }, { "type": "NumberSpinner", "name": "FilterHits", "caption": "Filter Treffer bis Übernahme", "minimum": 1, "maximum": 10, "digits": 0 } ] } ], "actions": [ { "type": "Button", "caption": "Virtuelle Konten auf Startwerte zurücksetzen", "onClick": "GEF_ResetVirtualAccounts($id);" }, { "type": "Button", "caption": "Jetzt aktualisieren", "onClick": "GEF_Update($id);" } ] }