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 1 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)