4.8 KiB
4.8 KiB
Enelix Manager
Dieses Modul steuert in festgelegten Intervallen die Leistungsverteilung auf Verbraucher-Instanzen, wählt zwischen Solarladen und Peak-Shaving und verteilt die Leistung in definierten Schritten an die Verbraucher.
Inhaltsverzeichnis
- Funktionsumfang
- Voraussetzungen
- Installation
- Instanz anlegen & Konfiguration
- Statusvariablen
- WebFront / Bedienung
- Mapping auf Code-Komponenten
- Zukünftige Erweiterungen
1. Funktionsumfang
- Zyklische Steuerung: In konfigurierbaren Intervallen (
Interval) wird die Energieverteilung über den TimerTimer_DistributeEnergyausgelöst. - Betriebsmodus: Automatische oder statische Umschaltung zwischen Solarladen (
Is_Peak_Shaving = false) und Peak-Shaving (Is_Peak_Shaving = true), abhängig vomNetzbezugund den parametrierten Schwellwerten. - Priorisierung: Sortierung der Verbraucher nach
PV_Prio(Solarmodus) oderSperre_Prio(Peak-Shaving). Bei gleicher Priorität entscheidet dieBezogene_Energie. - Energieverteilung: Die verbleibende Leistung wird basierend auf den
PowerStepsder Verbraucher abgearbeitet und zugeteilt. - Externe Steuerung (Hauptmanager): Integration in übergeordnete Managementsysteme (z.B. V-ZEV, LEG) über die Variablen
DatenHochundDatenZuruck, Funktion ist in der aktuellen Version erst beschränkt verfügbar.
2. Voraussetzungen
- IP-Symcon ≥ 8.0
- Modul-URL:
https://git.belevo.ch/dh/enelix.git - Zuweisung der Verbraucher-Instanzen in der
Verbraucher_Liste
3. Installation
- In IP-Symcon Module Control öffnen
- Hinzufügen → Git-Repository
- URL eintragen: https://git.belevo.ch/dh/enelix.git
- Modul installieren
4. Instanz anlegen & Konfiguration
4.1 Instanz anlegen
- Rechtsklick Instanzen → Instanz hinzufügen
- Filter: Belevo
- Auswahl: Manager
4.2 Properties
| Name | Typ | Beschreibung |
|---|---|---|
| Peakleistung | Integer | Sollwert-Vorgabe für Peak-Shaving (Watt) |
| Ueberschussleistung | Integer | Sollwert-Vorgabe für Solarladen (Watt) |
| Netzbezug | Integer | Objekt-ID der Variable mit dem aktuellen Netzbezug |
| Verbraucher_Liste | String | JSON-Liste aller zu steuernden Verbraucher-Instanzen |
| UmschaltpunktStatisch | Boolean | Aktiviert statische Umschaltpunkte (Ignoriert dynamische Mittelwertberechnung) |
| Umschalt_Solarladen | Integer | Schwellwert für den Wechsel in den Solarladen-Modus (bei statischer Umschaltung) |
| Umschalt_Peakshaving | Integer | Schwellwert für den Wechsel in den Peak-Shaving-Modus (bei statischer Umschaltung) |
| HauptmanagerAktiv | Boolean | Aktiviert die externe Steuerung durch einen übergeordneten Manager |
| ManagerID | Integer | Eindeutige ID für die externe Manager-Kommunikation |
| DatenHoch | Integer | Objekt-ID der Variable zum Senden von JSON-Daten an den Hauptmanager |
| DatenZuruck | Integer | Objekt-ID der Variable zum Empfangen von JSON-Daten vom Hauptmanager |
| Interval | Integer | Berechnungsintervall für den Timer und die neuverteilung der Leistungsdaten in Sekunden |
5. Statusvariablen
| Ident | Typ | Beschreibung |
|---|---|---|
| Is_Peak_Shaving | Boolean | Modusanzeige (false = Solarladen, true = Peak-Shaving) |
6. WebFront / Bedienung
Dem Managermodul müssen bei Erstinbetriebnahme eine Variable mit dem zu regelnden Netzbezug sowie die zu Steuernden Verbraucher konfiguriert werden. Anschliessend läuft das Modul autononom gemäss Funktionsumfang. Einzig wird im WebFront der aktuelle Modus über die Statusvariable Is_Peak_Shaving visualisiert.
7. Mapping auf Code-Komponenten
| Komponente | Funktion im Code (module.php) |
|---|---|
| Timer-Registrierung | ApplyChanges() setzt das Intervall für Timer_DistributeEnergy. |
| Zyklischer Aufruf | Timer löst RequestAction() mit dem Ident DistributeEnergy aus. |
| Mode-Entscheidlogik | Dynamisch: Abgleich von $Netzbezug mit Mittelwert aus Peak und Überschuss. Statisch: Schwellwertprüfung über Properties Umschalt_Solarladen / Umschalt_Peakshaving. |
| Leistungszuteilung | Funktion DistributeEnergy() berechnet die Schritte und steuert Verbraucher via IPS_RequestAction(..., "SetAktuelle_Leistung", ...). |
| Externe Kommunikation | Funktion DistributeEnergy_Extern() liest/schreibt Arrays über die festgelegten Variablen-IDs. |
8. Zukünftige Erweiterungen
- Automatische Registrierung neuer Verbraucher (ohne manuelles Eintragen, Eingetragen auf Verbruacherseite)