Files

95 lines
4.6 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Belevo EMS Hauptmanager
Das **Belevo EMS Hauptmanager**-Modul fasst mehrere untergeordnete **Belevo EMS Manager**-Instanzen zusammen und verteilt die globale verfügbare Leistung direkt auf die einzelnen Verbraucher-Instanzen nicht nur auf die Manager. Jeder Unter-Manager meldet seine Verbraucher-Daten als JSON, der Hauptmanager berechnet die finalen Zuweisungen und liefert für jeden Unter-Manager ein JSON mit den fertigen Verbraucher-Leistungen zurück.
---
## Inhaltsverzeichnis
1. [Beschreibung](#beschreibung)
2. [Voraussetzungen](#voraussetzungen)
3. [Installation](#installation)
4. [Instanz anlegen & Konfiguration](#instanz-anlegen--konfiguration)
5. [Statusvariablen](#statusvariablen)
6. [Funktionsweise](#funktionsweise)
1. [Mode-Entscheid](#1-mode-entscheid)
2. [Datenaggregation](#2-datenaggregation)
3. [Globale Soll-Ist-Differenz](#3-globale-soll-ist-differenz)
4. [Verbraucher-Priorisierung](#4-verbraucher-priorisierung)
5. [Leistungszuweisung](#5-leistungszuweisung)
6. [Rückgabe an Unter-Manager](#6-rückgabe-an-unter-manager)
7. [Beispiel-Workflow](#beispiel-workflow)
8. [Mapping auf Code-Komponenten](#mapping-auf-code-komponenten)
9. [Zukünftige Erweiterungen](#zukünftige-erweiterungen)
10. [Support](#support)
---
## Beschreibung
Der Hauptmanager koordiniert beliebig viele Unter-Manager (z. B. Hausanschluss, ZEV-Cluster, LEG-Center). Jeder Unter-Manager sammelt in seinem Zyklus die Daten aller angeschlossenen Verbraucher (JSON-Array mit Feldern wie `deviceID`, `priority`, `requestedLevels`, `currentDrawn`, `receivedTotal` usw.) und stellt dieses JSON in seiner `DatenZurueck`-Variable bereit. Der Hauptmanager
1. liest alle `DatenZurueck` JSONs der Unter-Manager ein,
2. entscheidet global über Solarlade- oder Peak-Shaving-Mode,
3. berechnet eine einzige **globale** SollIst-Differenz,
4. führt Priorisierung und Fair-Round-Robin über **alle** Verbraucher durch,
5. verteilt die verfügbare Leistung in Stufen (je Verbraucher aus `PowerSteps`),
6. erzeugt für jeden Unter-Manager ein JSON mit den finalen `assignedLevel`-Werten pro `deviceID`,
7. schreibt diese JSONs in die jeweilige `DatenHoch`-Variable.
Die Unter-Manager übernehmen das JSON und senden die fertigen `assignedLevel`-Werte an ihre lokalen Verbraucher-Instanzen.
---
## Voraussetzungen
- IP-Symcon **≥ 8.0**
- Bereits installierte **Belevo EMS Manager**-Instanzen
- Zugriff auf Git-Repository:
https://git.belevo.ch/dh/Symcon_Belevo_Energiemanagement_testing.git
yaml
Kopieren
Bearbeiten
---
## Installation
1. In IP-Symcon **Module Control** öffnen
2. **Hinzufügen → Git-Repository**
3. URL eintragen (s. o.)
4. Modul **„Belevo EMS Hauptmanager“** installieren
5. IP-Symcon neu starten
---
## Instanz anlegen & Konfiguration
1. Rechtsklick auf **Instanzen****Instanz hinzufügen**
2. Filter: **Belevo**
3. **„Belevo EMS Hauptmanager“** auswählen und Instanz erstellen
### Properties
| Name | Typ | Beschreibung |
|------------------------|----------------|------------------------------------------------------------------------------|
| **HauptmanagerAktiv** | Boolean | Schaltet globale Verteilungslogik ein/aus |
| **Interval** | Integer (s) | Zyklusintervall für Verteilung und Mode-Entscheid |
| **Sollleistung_Max** | Float (W) | Max. Gesamtleistung, die verteilt werden darf |
| **Ueberschussleistung**| Float (W) | Untergrenze für Solarlade-Mode (z. B. 0 W) |
| **Manager_Liste** | InstanceList | Liste aller untergeordneten Belevo EMS Manager-Instanzen |
| **DatenZurueck** | SelectVariable | Variable-ID (Integer) in jeder Unter-Manager-Instanz, aus der JSON gelesen wird |
| **DatenHoch** | SelectVariable | Variable-ID in jeder Unter-Manager-Instanz, in die JSON geschrieben wird |
---
## Statusvariablen
| Ident | Typ | Profil | Beschreibung |
|--------------------------|-----------|--------------|-----------------------------------------------------|
| **LetzteBerechnung** | DateTime | — | Zeitstempel der letzten Verteilung |
| **Globale_Differenz** | Float | ~Watt~~W~ | Zuletzt berechnete SollIst-Differenz global (W) |
| **Anzahl_Manager** | Integer | — | Anzahl aktuell verbundener Unter-Manager |
---