Symcon Belevo Energiemanagement Modul

Dieses Modul implementiert das neuartige Energiemanagementsystem der Belevo AG in IP-Symcon.
Es verteilt elektrische Leistung auf mehrere Verbraucher (z. B. Elektroauto-Ladestationen, Boiler, Speicher) dynamisch nach Priorität und Fairness. Unterstützt werden:

  • Einzel­haus-Anschlüsse
  • ZEV/V-ZEV-Verbundsysteme
  • Lasten­management-Gemeinschaften (LEG)

Besonderheiten & Vorteile

  • Vollständige Skalierbarkeit von Einfamilienhaus über ZEV/V-ZEV bis LEG
  • Standardisierte Schnittstelle für Manager ↔ Verbraucher (kein ständiges Nachkonfigurieren)
  • Fairness bei gleicher Priorität durch Round-Robin-Verteilung der Leistungsschritte
  • Bidirektionaler Betrieb (z. B. Batteriespeicher, bidirektionale Ladestationen)
  • Dynamische Tarif­gestaltung über Prioritätsklassen
  • Automatisches Peak-Shaving ohne teure Netzspitzen
  • Einfaches Hinzufügen/Entfernen von Verbrauchern (aktuell manuell, später automatisch möglich)

Voraussetzungen

  • IP-Symcon ≥ 8.0
  • Zugriff auf das Git-Repository

Installation

  1. In IP-Symcon Module Control öffnen
  2. Hinzufügen → Git-Repository
  3. URL eintragen: https://git.belevo.ch/dh/Symcon_Belevo_Energiemanagement_testing.git
  4. Modul installieren und IP-Symcon neu starten

1. Manager-Instanz anlegen

  1. Rechtsklick auf InstanzenInstanz hinzufügen
  2. Filter: Belevo
  3. „Manager“ auswählen und Instanz erstellen

Manager-Eigenschaften

Property Typ Beschreibung
Zeit_Zwischen_Zustandswechseln Integer (Sek.) Dauer zwischen zwei Zyklen (Default: 5 s)
Interval Integer (Sek.) Haupt-Timerintervall zur Neuberechnung
Sollleistung_Max Float (Watt) Maximale erlaubte Gesamtleistung am Netzanschluss
Ueberschussleistung Float (Watt) Untergrenze für Solarlade-Mode (z. B. 0 W)
HauptmanagerAktiv Boolean Schaltet die gesamte Manager-Logik ein/aus
Verbraucher_Liste InstanceList Liste aller Verbraucher-Instanzen, die der Manager steuern soll

Manager-Statusvariablen

Ident Typ Beschreibung
Is_Peak_Shaving Boolean true = Peak-Shaving-Mode; false = Solarlade-Mode
LetzteBerechnung DateTime Zeitstempel der letzten Ausführung
Aktuelle_Differenz Float (W) Zuletzt berechnete SollIst-Differenz

2. Verbraucher-Instanzen anlegen

Für jedes zu steuernde Gerät:

  1. Rechtsklick auf InstanzenInstanz hinzufügen
  2. Filter: Belevo
  3. „Belevo EMS Verbraucher“ auswählen und Instanz erstellen

Verbraucher-Eigenschaften

Property Typ Beschreibung
PV_Prio Integer Priorität im Solarlade-Mode (niedriger = höhere Priorität)
Sperre_Prio Integer Priorität im Peak-Shaving-Mode (niedriger = höhere Priorität)
PowerSteps String JSON-Array möglicher Leistungsstufen in Watt, z. B. [0,1000,2000]

Automatisch angelegte Variablen

Ident Typ Profil Beschreibung
Power Float Watt~~W Aktuell angeforderte Leistung (W)
Aktuelle_Leistung Float Watt~~W Vom Manager zugewiesene Leistung im aktuellen Zyklus (W)
Bezogene_Energie Float Wh Kumulierte Energieabnahme seit Zyklusstart (Wh)
Leistung_Delta Float Watt~~W Differenz zwischen Power und Aktuelle_Leistung (W)
Idle Boolean true, wenn Verbraucher gerade keine Änderung benötigt

3. Funktionsweise

3.1 Mode-Entscheid

  • In jedem Zyklus liest der Manager den aktuellen Ist-Netzanschlusswert (Summe aller Aktuelle_Leistung).
  • Er berechnet den Schwellwert als
    Threshold = (Sollleistung_Max + Ueberschussleistung) / 2

markdown Kopieren Bearbeiten

  • Ist der Ist-Wert > Threshold, setzt er Peak-Shaving (Is_Peak_Shaving = true), sonst Solarladen (false).
  • Diese Boolean teilt er allen Verbrauchern mit, damit sie ihre PowerSteps-Arrays entsprechend vorbereiten.

3.2 SollIst-Berechnung

  • Differenz D = Sollleistung_Max Ist-Wert
  • D > 0: Bedarf → Solarlade-Zuteilung
  • D < 0: Überschuss → Peak-Shaving-Reduktion

3.3 Leistungszuweisung

  • Zunächst ermittelt der Manager die SollIst-Differenz
    D = Sollleistung_Max  Ist-Netzbezug
    

Dann addiert er alle aktuell zugeteilten Verbraucher­leistungen zum Sollwert:

text Kopieren Bearbeiten GesamtVerteilbareLeistung = D + ∑(bereits zugeteilte Leistungen) Die Verbraucher werden nach Priorität und Fairness sortiert:

Aufsteigend nach PV_Prio (niedrig = höher)

Bei gleicher Priorität Round-Robin anhand Bezogene_Energie (weniger Energie → zuerst)

Innerhalb jeder Prioritätsstufe wird ein „Stufen-Array“ aufgebaut, das alle möglichen Leistungsstufen aller Verbraucher enthält, sortiert nach der Reihenfolge, in der sie zugeteilt werden dürfen.

Beispiel

Gegeben

Sollleistung_Max = 0 W, Ist-Netzbezug = 5000 W → D = 5000 W

Bereits zugeteilte Leistungen: A=2000 W, B=500 W → GesamtVerteilbareLeistung = 5000 + 2000 + 500 = 7500 W

Verbraucher

yaml Kopieren Bearbeiten A: [0,1000,2000], Prio 1, Bezogene_Energie 5 kWh, aktuell 2000 W
B: [0,500,1500,2500], Prio 2, Bezogene_Energie 0 kWh, aktuell 500 W
C: [0,500,1500,4000], Prio 2, Bezogene_Energie 10 kWh, aktuell 0 W
D: [0,500,1200,2500], Prio 2, Bezogene_Energie 15 kWh, aktuell 0 W
E: [0,200,1500], Prio 3, Bezogene_Energie 15 kWh, aktuell 0 W
Stufen-Array pro Prio

yaml Kopieren Bearbeiten Prio 1: A0, A1000, A2000
Prio 2: B0, C0, D0, B500, C500, D500, D1200, B1500, C1500, B2500, D2500, C4000
Prio 3: E0, E200, E1500
Verteilung

Prio 1

7500 W 0 W (A0) = 7500 W

7500 W 1000 W (A1000) = 6500 W

6500 W 2000 W (A2000) = 4500 W → A erhält 2000 W

Prio 2

4500 W 0 W (B0) = 4500 W

4500 W 0 W (C0) = 4500 W

4500 W 0 W (D0) = 4500 W

4500 W 500 W (B500) = 4000 W

4000 W 500 W (C500) = 3500 W

3500 W 500 W (D500) = 3000 W

3000 W 1200 W (D1200)= 1800 W

1800 W 1500 W (B1500)= 300 W

300 W 1500 W (C1500)= (negativ) → nicht möglich → B erhält 2500 W, C 1500 W, D 1200 W

Prio 3

Rest 300 W

300 W 0 W (E0) = 300 W

300 W 200 W (E200) = 100 W → E erhält 200 W (Rest 100 W ungenutzt)

Fazit: Durch Aufaddieren der bereits verteilten Leistungen vor der Neuverteilung und das schrittweise Abarbeiten der Stufen-Arrays in Prioritäts- und Fairness-Reihenfolge wird die verfügbare Gesamtleistung optimal und gerecht auf alle Verbraucher verteilt.


4. Registrierung der Verbraucher

  • Aktuell müssen alle Verbraucher manuell in Verbraucher_Liste eingetragen werden.
  • Zukünftige Versionen werden eine automatische Geräteerkennung unterstützen, so dass neue Verbraucher ohne Konfigurationsaufwand hinzukommen können.

5. Support & Entwicklung

  • Issues & Feature-Requests bitte im Git-Repository eröffnen.
  • Entwickler: Belevo AG
Description
No description provided
Readme 23 MiB
Languages
PHP 98%
HTML 2%