Files
Symcon_Belevo_Energiemanage…/Ansteuerung_Askoheat
2026-06-16 10:54:16 +02:00
..

Enelix-Verbrauchermodul Ansteuerung Askoheat

Dieses Modul integriert einen Askoheat-Heizstab als steuerbaren Boiler-Verbraucher in das Belevo Energiemanagement-System (Enelix). Es berechnet dynamisch verfügbare Leistungsstufen, kommuniziert mit dem übergeordneten Manager und steuert die Askoheat-Leistungsvariable anhand von Boilertemperatur, Zeitplan, Legionellenschutz, PV-Überschuss und Peak-Shaving-Anforderungen.


Inhaltsverzeichnis

  1. Funktionsumfang
  2. Voraussetzungen
  3. Installation
  4. Instanz anlegen & Konfiguration
  5. Statusvariablen & Profile
  6. WebFront / Bedienung
  7. Mapping auf Code-Komponenten
  8. Zukünftige Erweiterungen

1. Funktionsumfang

  • Zyklische Steuerung: In konfigurierbaren Intervallen (Interval) berechnet das Modul die aktuell verfügbaren Leistungsschritte und aktualisiert den Status.
  • Askoheat-Leistungsansteuerung: Die vom Manager zugewiesene Leistung wird auf eine Heizstufe von 0 bis 7 umgerechnet und an die konfigurierte Leistungsvariable (Variable_Leistung) gesendet.
  • PowerSteps-Generierung: Das Modul meldet dem Enelix-Manager ein Array an möglichen Leistungsschritten (PowerSteps), basierend auf Boilertemperatur, Betriebsmodus und Boilergrenzen.
  • Peak-Shaving vs. PV-Überschuss: Im Peak-Shaving-Modus werden Leistungsschritte nur zur Sicherstellung der Mindesttemperatur angeboten. Im PV-Modus können zusätzliche Leistungsschritte bis zur Maximaltemperatur angeboten werden.
  • Temperaturüberwachung: Berücksichtigung von Mindesttemperatur (Mindesttemperatur), Maximaltemperatur (Maximaltemperatur) und Legionellentemperatur (Legionellentemperatur).
  • Temperaturglättung: Optional kann die gemessene Boilertemperatur über eine PT1-Filterung geglättet werden.
  • Zeitplan: Über einen Solltemperatur-Zeitplan kann das Modul prüfen, ob die nächste Zieltemperatur mit der verfügbaren Leistung rechtzeitig erreichbar ist.
  • Legionellenschutz: Wird die Legionellentemperatur längere Zeit nicht erreicht, erhöht das Modul temporär die Temperaturanforderung.
  • Idle-Schutz: Nach einer Leistungsänderung kann eine konfigurierbare Sperrzeit (IdleCounterMax) berücksichtigt werden, bevor weitere Leistungsänderungen erfolgen.

2. Voraussetzungen

  • IP-Symcon >= 8.0
  • Modul-URL: https://git.belevo.ch/dh/enelix.git
  • Vorhandener und eingerichteter Enelix Manager.
  • Askoheat- oder Heizstab-Steuerung mit einer schaltbaren Leistungsstufenvariable.
  • Temperaturfühler als Variable in IP-Symcon.
  • Aktivierte Aktion auf der Leistungsstufenvariable (Variable_Leistung).

3. Installation

  1. In IP-Symcon Module Control öffnen.
  2. Hinzufügen -> Git-Repository.
  3. URL eingeben und Installieren.
  4. IP-Symcon neu starten.

4. Instanz anlegen & Konfiguration

4.1 Instanz anlegen

  • Rechtsklick Instanzen -> Instanz hinzufügen
  • Filter: Belevo
  • Auswahl: Ansteuerung_Askoheat

4.2 Properties

Name Typ Beschreibung
IdleCounterMax NumberSpinner Anzahl der Intervall-Zyklen zwischen zwei Leistungsänderungen.
Interval NumberSpinner Berechnungsintervall in Sekunden.
BoilerLeistung NumberSpinner Maximale Askoheat-Leistung in Watt.
Variable_Leistung SelectVariable Variable, an welche die Askoheat-Heizstufe 0 bis 7 gesendet wird.
Variable_Temperatur_Ist SelectVariable Variable mit der aktuellen Boilertemperatur.
Boilertemperatur_glätten Select Aktiviert die PT1-Glättung der gemessenen Boilertemperatur.
ZeitKonstante NumberSpinner Zeitkonstante des PT1-Filters in Sekunden.
Boilervolumen NumberSpinner Boilervolumen in Litern für die Berechnung der benötigten Wärmemenge.
Zeitplan List Liste aus Uhrzeit und Solltemperatur für geplante Boiler-Zielwerte.

5. Statusvariablen & Profile

Ident Typ Beschreibung
PowerSteps String JSON-Array der dem Manager angebotenen Leistungsschritte.
Aktuelle_Leistung Integer Die aktuell geschaltete Soll-Leistung in Watt.
Power Integer Die aktuell vom Manager zugewiesene Soll-Leistung.
Idle Boolean Status der Sperrzeit (true = bereit für neue Werte, false = gesperrt).
Bezogene_Energie Float Rechnerisch aufsummierte Energie (Leistung x Zeit).
PV_Prio Integer Priorität des Verbrauchers für PV-Optimierung, tiefe Nummer = hohe Priorität.
Sperre_Prio Integer Priorität des Verbrauchers für Peak-Optimierung, tiefe Nummer = hohe Priorität.
Is_Peak_Shaving Boolean Vom Manager übermittelter aktueller Betriebsmodus.
Boilertemperatur Float Aktuelle Boilertemperatur, roh oder geglättet.
Mindesttemperatur Integer Untere Temperaturgrenze für den Boiler.
Maximaltemperatur Integer Obere Temperaturgrenze für PV-Überschussnutzung.
Legionellentemperatur Integer Zieltemperatur für den Legionellenschutz.
LegioCounter Integer Interner Zähler für die Legionellenschutzlogik.
IdleCounter Integer Interner Zähler für die Sperrzeit.
Leistung_Delta Integer Interne Variable für Leistungsdifferenzen.

Es werden keine eigenen Variablenprofile angelegt.


6. WebFront / Bedienung

Die Temperaturgrenzen sowie die Prioritäten werden über folgende Variablen eingestellt:

Mindesttemperatur - Temperatur, unter welcher der Boiler zwingend freigegeben wird.

Maximaltemperatur - Temperatur, bis zu welcher PV-Überschüsse zur Warmwassererzeugung genutzt werden dürfen.

Legionellentemperatur - Zieltemperatur für die Legionellenschutzfunktion.

PV_Prio - Priorität des Verbrauchers für PV-Optimierung, tiefe Nummer = hohe Priorität.

Sperre_Prio - Priorität des Verbrauchers für Peak-Optimierung, tiefe Nummer = hohe Priorität.

PowerSteps - Dem Manager angebotene mögliche Leistungsstufen.

Aktuelle_Leistung - Tatsächlich geschaltete Leistung.

Boilertemperatur - Aktuelle Temperatur des Boilers.


7. Mapping auf Code-Komponenten

Komponente Funktion im Code (module.php)
Timer-Registrierung ApplyChanges() setzt Timer_Do_UserCalc_Verb basierend auf Interval.
Leistungszuteilung SetAktuelle_Leistung($power) setzt Power, Aktuelle_Leistung, Bezogene_Energie und Idle.
Askoheat-Stufenumrechnung SetAktuelle_Leistung($power) rechnet Watt auf eine Heizstufe von 0 bis 7 um.
PowerSteps-Berechnung GetCurrentData($Peak) erstellt die verfügbaren Leistungsstufen abhängig vom Betriebsmodus.
7-Stufen-Berechnung Calc_Seven_Steps($power) erzeugt Leistungsschritte von 0 bis zur maximalen Boilerleistung.
Temperaturglättung GetCurrentData($Peak) berechnet optional die PT1-gefilterte Boilertemperatur.
Zeitplanprüfung getNextTimeAndTemperature(), calculateRemainingTime() und canBoilerReachTemperature().
Wärmemengenberechnung calculateRequiredHeat() berechnet die benötigte Energie für eine Temperaturdifferenz.
Legionellenschutz GetCurrentData($Peak) verwaltet LegioCounter, Maximaltemperatur und Mindesttemperatur.
Idle-Logik ProcessIdleCounter() verwaltet die Sperrzeit zwischen Leistungsänderungen.
Nachtprüfung ist_nachts() prüft den Zeitraum von 22:00 bis 07:00 Uhr.

8. Zukünftige Erweiterungen