Puffer und Symcon Shelly Mqtt Bei deide sind aber noch im testing
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:
- Einzelhaus-Anschlüsse
- ZEV/V-ZEV-Verbundsysteme
- Lastenmanagement-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 Tarifgestaltung ü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
- In IP-Symcon Module Control öffnen
- Hinzufügen → Git-Repository
- URL eintragen: https://git.belevo.ch/dh/Symcon_Belevo_Energiemanagement_testing.git
- Modul installieren und IP-Symcon neu starten
1. Manager-Instanz anlegen
- Rechtsklick auf Instanzen → Instanz hinzufügen
- Filter: Belevo
- „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 Soll–Ist-Differenz |
2. Verbraucher-Instanzen anlegen
Für jedes zu steuernde Gerät:
- Rechtsklick auf Instanzen → Instanz hinzufügen
- Filter: Belevo
- „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 | Aktuell angeforderte Leistung (W) | |
| Aktuelle_Leistung | Float | Vom Manager zugewiesene Leistung im aktuellen Zyklus (W) | |
| Bezogene_Energie | Float | Wh | Kumulierte Energieabnahme seit Zyklusstart (Wh) |
| Leistung_Delta | Float | 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 Soll–Ist-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]Prio 1 5 kWh aktuell 2000 W - Verbraucher B:
[0,500,1500,2500]Prio 2 0 kWh aktuell 500 W - Verbraucher C:
[0,500,1500,4000]Prio 2 10 kWh aktuell 0 W - Verbraucher D:
[0,500,1200,2500]Prio 2 15 kWh aktuell 0 W - Verbraucher E:
[0,200,1500]Prio 3 15 kWh aktuell 0 W
Sortierte Stufen-Arrays
Prio 1
[A0], [A1000], [A2000]
Prio 2
[B0], [C0], [D0],
[B500], [C500], [D500],
[D1200], [B1500], [C1500],
[B2500], [D2500], [C4000]
Prio 3
[E0], [E200], [E1500]
Verteilungsschritte
-
Delta berechnen
- Netzbezug = –5000 W
- Sollwert = 0 W
→ Differenz D = 5000 W
-
Bereits verteilte Leistungen aufsummieren
- A = 2000 W
- B = 500 W
→ GesamtVerteilbareLeistung = 5000 + 2000 + 500 = 7500 W
-
Prio 1
7500 − 0 W (A0) = 7500 7500 − 1000 W (A1000) = 6500 (6500 + 1000 W vorher) − 2000 W (A2000) = 5500
→ A erhält 2000 W
→ Rest: 5500 W
- Prio 2
5500 − 0 W (B0) = 5500 5500 − 0 W (C0) = 5500 5500 − 0 W (D0) = 5500 5500 − 500 W (B500) = 5000 5000 − 500 W (C500) = 4500 4500 − 500 W (D500) = 4000 (4000 + 500 W vorher) − 1200 W (D1200) = 3300 (3300 + 500 W vorher) − 1500 W (B1500) = 2300 (2300 + 500 W vorher) − 1500 W (C1500) = 1300 (1300 + 1500 W vorher) − 2500 W (B2500) = 300 (300 + 1500 W vorher) − 2500 W (C2500) → negativ → nicht möglich
→ B erhält 2500 W, C 1500 W, D 1200 W
→ Rest: 300 W
- Prio 3
300 − 0 W (E0) = 300 300 − 200 W (E200) = 100
→ E erhält 200 W
→ Verteilung beendet (Rest 100 W ungenutzt)
Durch dieses Verfahren – Aufaddierung der bereits verteilten Leistungen, Sortierung nach Priorität und Fairness sowie sukzessive Abarbeitung der Stufen-Arrays – wird die Gesamtleistung optimal und gerecht auf alle Verbraucher verteilt.
4. Registrierung der Verbraucher
- Aktuell müssen alle Verbraucher manuell in
Verbraucher_Listeeingetragen 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