Files
Symcon_Belevo_Energiemanage…/README.md
2025-06-12 15:58:11 +02:00

6.5 KiB
Raw Blame History

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

  • Für jeden Verbraucher wählt der Manager die höchste Stufe aus PowerSteps, die die verbleibende Differenz |D| nicht überschreitet.
  • Er durchläuft die Verbraucher nacheinander (Round-Robin), bis |D| annähernd erschöpft ist.

Beispiel:

  • Verbraucher A: [0,1000,2000]
  • Verbraucher B: [0,500,1500,2000]
  • Differenz D = 3000 W
  1. A erhält 1000 W → Rest 2000 W
  2. B erhält 1500 W → Rest 500 W
  3. Nächster Zyklus oder weitere Verteilschritte mit Rest 500 W

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