Files

Enelix-Verbrauchermodul Ladestation (EV Charger)

Dieses Modul integriert smarte Ladestationen (Wallboxen) für Elektroautos als steuerbare Verbraucher in das Belevo Energiemanagement-System (Enelix). Es regelt die Ladeleistung dynamisch, unterstützt verschiedene Hersteller-APIs und optimiert das Laden nach PV-Überschuss oder Peak-Shaving-Vorgaben.


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

  • Hersteller-Integration: Native Unterstützung verschiedener Ladestationen und Cloud-APIs (z.B. Smart-me Pico, Easee, eCarUp, generisches MQTT / REST-API).
  • Phasenerkennung: Das Modul erkennt automatisch (über Leistungsschwellen, z.B. > 7500W), ob das Fahrzeug 1-phasig oder 3-phasig lädt, und passt die internen Strom-zu-Leistung-Umrechnungen an.
  • PowerSteps-Generierung: Übersetzt die zulässigen Ladeströme (Ampere) in Watt-Schritte (PowerSteps), die dem Enelix-Manager für die Energieverteilung angeboten werden (abhängig vom definierten Mindestaldestrom, minimal 6A).
  • Verzögerungs- und Schutzlogiken:
    • Ein_Zeit / Aus_Zeit: Mindestlaufzeiten und Pausenzeiten, um den Schütz im Auto und in der Wallbox vor zu häufigem Schalten zu schützen (Taktschutz).
    • Zeit_Zwischen_Zustandswechseln: Dämpfung von Leistungssprüngen.
  • Betriebsmodi:
    • Solarladen: Automatische Regelung nach PV-Überschuss.
    • Sperr-Priorität: Regelung nach Peak-Shaving (Netzbezugsgrenzen).
    • Fahrzeugerkennung: Freigabe der Ladeleistung nur, wenn ein Auto gesteckt (Car_detected) und nicht voll (Car_is_full) ist.
  • Token-Management: Automatischer Login und Token-Refresh für Cloud-basierte Systeme (wie Easee, E-Car-Up).
  • Tarifabhängiges Solarladen Nutzerbasiertes Solarladen mit unterschiedlichen Tarifen für Solar- und Netzladen. Dieese Funktion ist nur über spezielle Token und kostenpflichtigen Konten von drittfirmen aktivierbar. Für weitere Informationen bitte die Belevo AG kontaktieren.

2. Voraussetzungen

  • IP-Symcon ≥ 8.0
  • Modul-URL: https://git.belevo.ch/dh/enelix.git
  • Vorhandener und eingerichteter Enelix Manager.
  • Netzwerkzugriff auf die Ladestation (lokale IP) oder aktive Internetverbindung für Cloud-APIs.

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 InstanzenInstanz hinzufügen
  • Filter: Belevo
  • Auswahl: Ladestation v2 (Verbraucher)

4.2 Properties

Name Typ Beschreibung
IP_Adresse String Lokale IP-Adresse der Ladestation (für lokale APIs).
Ladestation Select/Int Auswahl des API-/Hardware-Typs (z.B. 1=MQTT, 2=REST, 3=Pico, 5=eCarUp, 6=Easee).
ID String Stations-ID (z.B. für Smart-me Pico oder eCarUp).
Seriennummer String Seriennummer der Station (z.B. für Easee).
Username String Benutzername für Cloud-APIs.
Password String Passwort für Cloud-APIs.
Interval NumberSpinner Berechnungsintervall und Polling-Rate (Sekunden).
Max_Current_abs NumberSpinner Absoluter Maximalstrom der Zuleitung/Station in Ampere (z.B. 16 oder 32).
Zeit_Zwischen_Zustandswechseln NumberSpinner Verzögerungszeit zwischen zwei Leistungsanpassungen (in Minuten).
Ein_Zeit NumberSpinner Mindestlaufzeit, wenn die Ladung gestartet wird (Minuten).
Aus_Zeit NumberSpinner Mindestpausenzeit nach einem Ladeabbruch (Minuten).
Token_Easee SelectVariable Referenz auf das externe Easee-Token (Variable).
Token_ECarUp SelectVariable Referenz auf das externe eCarUp-Token (Variable).
IdleCounterMax NumberSpinner Anzahl Interval-Zyklen zwischen Leistungsänderungen (Modul-Idle).

5. Statusvariablen & Profile

Das Modul verwendet viele interne (versteckte) Variablen für die Manager-Kommunikation. Hier die wichtigsten sichtbaren und steuerbaren Variablen:

Ident Typ Profil Beschreibung
Ladebereit Boolean ~Switch Hauptschalter: Ladestation generell freigegeben oder blockiert.
Solarladen Boolean ~Switch Aktiviert den reinen PV-Überschusslade-Modus.
Mindestaldestrom Integer - Minimaler Ladestrom in Ampere (normalerweise mind. 6A für Typ 2).
Is_1_ph Boolean ~Switch Anzeige: Das Fahrzeug lädt aktuell nur auf einer Phase.
Car_detected Boolean ~Switch Status: Ein Fahrzeug ist angesteckt und bereit.
Car_is_full Boolean ~Switch Status: Fahrzeugakku ist voll (Ladestrom < Schwelle).
Pending_Counter Integer Zähler zum Abwarten des Stationszustandes bei Zustandänderung
Leistung_Delta Integer Leistungsabweichung von vorgegebener Soll- und Istleistung
Idle Boolean Status der Sperrzeit (true = bereit für neue Werte, false = gesperrt).
Ladeleistung_Effektiv Float - Aktuell gemessene reale Ladeleistung in Watt.
Bezogene_Energie Float - Rechnerisch aufsummierte Ladeenergie.
Aktuelle_Leistung Integer Die aktuell von der Station erbrachte Leistung.
PowerSteps String JSON-Array der dem Manager angebotenen Leistungsschritte.
Letzer_User String - Zuletzt authentifizierter RFID-Nutzer (z.B. via eCarUp).
Bezogene_Energie Float Rechnerisch aufsummierte Energie (Leistung × 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
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

6. WebFront / Bedienung

Im WebFront bietet die Instanz dem Nutzer Eingriffsmöglichkeiten in das Ladeverhalten:

  • Ladebereit: Kann genutzt werden, um die Wallbox per Knopfdruck komplett zu deaktivieren.

  • Solarladen: Zwingt das Modul in den Überschuss-Modus (es wird nur geladen, wenn Leistung durch den Manager zugewiesen wird), Andernfalls wird bei verbundenem Auto solange geladen, bis der Peakshaving-Modus die Leistung reduziert.

  • Mindestaldestrom: Definiert den Einstiegspunkt für die Ladung (z.B. 6A = ~1,4 kW bei 1-phasig / ~4,1 kW bei 3-phasig).

  • 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

Zudem dient die Instanz zur Statuskontrolle (Ist ein Auto verbunden? Lädt es? Ist es voll?).


7. Mapping auf Code-Komponenten

Komponente Funktion im Code (module.php)
API-Schnittstellen Get_Car_Status($carType) fragt die jeweilige Hardware ab (cURL an REST/MQTT/Easee) und aktualisiert Ladeleistung_Effektiv sowie den Fahrzeugstatus.
Autodetektion Detect_Car() prüft den Zustand, zählt Pending_Counter hoch und entscheidet über Is_1_ph basierend auf Leistungsgrenzen (7500W).
Leistung → Strom Get_Array_From_Current() und Get_Current_From_Power() rechnen Watt in Ampere um (P = U \cdot I \cdot Phasen).
Manager-Interface GetCurrentData($Peak) baut die PowerSteps (z.B. [0, 4140, 4830, ...]) und übergibt diese dem Manager.
Stationssteuerung sendPowerToStation($value) übersetzt den Soll-Strom (Ampere) in API-spezifische Kommandos (z.B. amp=16 oder {"amps":16}).
Taktschutz (Timers) SetTimerNullMindestlast(), SetTimerOn() und die entsprechenden Reset-Methoden sperren Zustandswechsel nach Start/Stopp.
Token-Refresh Refresh_Token() erneuert zyklisch das Access-Token (z.B. Easee) über die hinterlegten Credentials.

8. Zukünftige Erweiterungen

  • Automatische Phasenumschaltung: Direkte Ansteuerung von Wallboxen, die eine Umschaltung zwischen 1- und 3-phasigem Laden im laufenden Betrieb unterstützen (zur Erweiterung des Regelbereichs bei wenig Sonne).