ae7f3e4349b149efa59cf6b47f900d67bb9f681e
…
…
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] - Verbraucher B:
[0,500,1500,2000] - Differenz D = 3000 W
- A erhält 1000 W → Rest 2000 W
- B erhält 1500 W → Rest 500 W
- Nächster Zyklus oder weitere Verteilschritte mit Rest 500 W
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
Description
Languages
PHP
98%
HTML
2%