# Ladestation Stand-Alone > Status: implementiert fuer IP-Symcon 8 und den Enelix-2-Vertrag `4.0`. Das Modul bindet eine einzelne Ladestation direkt an Enelix EMS an. Es liest den Fahrzeug- und Ladezustand ueber die Geraete-API, ermittelt die Phasenzahl aus aktuellen Messwerten und setzt den vom Manager gewaehlten Ladestrom. Es benoetigt keine Gateway-Instanz und hat keine technische Beziehung zum separaten Modul **Ladestation Gateway**. ## Funktionsumfang - direkte Statusabfrage und Steuerung der unterstuetzten Ladestationen, - Fahrzeug-, Lade- und Phasenerkennung mit geprueften Geraetedaten, - Leistungsangebote fuer PV- und Peakbetrieb, - lokale Freigabe und Umschaltung zwischen Solar- und Normalbetrieb, - Kommunikation mit dem Enelix Manager ueber den Nachrichtenvertrag `4.0`, - optional sichtbare Diagnosevariablen und schaltbares Debug-Logging, - automatisierte Tests mit Fake-HTTP-Transport ohne reale Ladestation. ## Unterstuetzte Geraete | Geraetetyp | Statusabfrage | Steuerung | Erforderliche Konfiguration | | --- | --- | --- | --- | | go-e Charger, alte API | `GET /mqtt?payload=` | `alw` und `amp` | IP-Adresse oder Hostname | | go-e Charger Gemini / Gemini flex | `GET /api/status` | `frc` und `amp` | IP-Adresse oder Hostname | | smart-me Pico | Pico-Charging-API | Load-Management-Current-API | Geraete-ID, Seriennummer, Benutzername und Passwort | Bei go-e wird die lokale HTTP-API verwendet. Die Geraeteadresse wird ohne `http://`, Pfad oder Parameter eingetragen. Die Pico-Anbindung verwendet HTTPS und HTTP Basic Auth gegen `api.smart-me.com`. Zugangsdaten werden weder als Variable noch im Debug-Protokoll oder im Diagnosefeld `LetzterGeraetebefehl` ausgegeben. ## Fahrzeug- und Phasenerkennung Die Leistungsskalen bleiben kompatibel zu Enelix 1; die Fehler- und Ladeendeauswertung ist seit der Korrektur vom 07.10.2026 strenger: 1. Nach erfolgreicher Statusvalidierung gilt das Fahrzeug bei go-e mit `car != 1` und bei Pico mit `State != 1` als verbunden. Fehler- und Offlinezustaende werden vorher abgewiesen. 2. Die gemessene Leistung wird bei der alten go-e-API mit Faktor 10, bei Gemini direkt in Watt und bei Pico von kW in Watt umgerechnet. 3. go-e und Pico koennen die drei Phasenstroeme einzeln melden. Ab 1 A gilt eine Phase als belastet; mindestens zwei belastete Phasen werden konservativ als drei gerechnet. Frische Dreiphasenmessungen korrigieren gespeicherte Einphasigkeit. Bestaetigte Dreiphasigkeit bleibt konservativ bis zum Ausstecken erhalten, auch wenn zeitweise nur eine Phase belastet wird. 4. Sind beim Anstecken noch keine belastbaren Phasenwerte vorhanden, gibt das Modul `[0,4104] W` an: 6 A mit dem bestehenden Dreiphasenbudget. Eine zugeordnete Station startet erst nach passender Manager-Vorgabe. Bei Solarladen im Peakbetrieb bleibt das Angebot `[0]`; es gibt keinen direkten Probebefehl am Manager vorbei. `Phasenzahl=0` bleibt bis zur Erkennung erhalten. 5. Nach `Phasenerkennungszeit` wird die gemessene Leistung relativ zum angeforderten Erkennungsstrom ausgewertet. Dadurch lassen sich eine und drei Phasen bereits bei 6 A unterscheiden. Unter 1265 W bleibt die Anzahl unbekannt, insbesondere bei 0 W. In einer Ladepause bleibt die zuletzt erkannte Anzahl erhalten; neue belastete Phasenmessungen koennen sie korrigieren. 6. Der Ladestrom wird aus der Leistung mit `230 W/A` einphasig beziehungsweise `684 W/A` dreiphasig berechnet. 7. Nur ein explizites aktuelles Ladeende (go-e `car=4`) ohne relevante Last (< 1 A und < 100 W) setzt `FahrzeugGeladen`. Ein einzelner Nullwert und Ladepausen genuegen nicht. Neues Laden oder ein anderer aktueller Status hebt den Wert wieder auf. Die Pico-API hat keinen eindeutigen Voll-Status; dort wird deshalb kein Ladeende aus niedrigem Strom abgeleitet. Der normalisierte `Fahrzeugstatus` verwendet folgende Werte: | Wert | Bedeutung | | ---: | --- | | `0` | unbekannt oder noch nicht ermittelt | | `1` | kein Fahrzeug verbunden | | `2` | Fahrzeug verbunden und bereit | | `3` | Fahrzeug laedt | | `4` | Fahrzeug geladen | ## Leistungsregelung Ein Leistungsangebot groesser als `0 W` wird nur erzeugt, wenn das Modul aktiviert, die Ladefreigabe gesetzt, ein Fahrzeug verbunden und das Fahrzeug noch nicht als geladen erkannt ist. Andernfalls meldet das Modul `[0]` und stoppt die Ladestation. | Betriebsart | Solarladen | Leistungsangebot | | --- | --- | --- | | PV | ein | `0 W` und alle Ladestufen von 6 A bis zum konfigurierten Maximum | | PV | aus | ausschliesslich die maximale Ladeleistung | | Peak | ein | ausschliesslich `[0]`; die Ladestation wird gestoppt | | Peak | aus | `0 W` und alle Ladestufen von 6 A bis zum konfigurierten Maximum | Die Leistungsstufen entsprechen Enelix 1: `230 W` pro Ampere einphasig und `684 W` pro Ampere dreiphasig. Ohne gueltige Manager-Vorgabe faehrt das Modul bei aktivem Solarladen mit `0 A`; bei ausgeschaltetem Solarladen verwendet es die maximale angebotene Leistung. Ausnahme: Bei unbekannten Phasen und zugeordnetem Manager gibt es auch ohne Solarladen keinen Start ohne Budget. Ohne Manager kann die eigenstaendige Station im Normalbetrieb mit 6 A pruefen. Beim Aktivieren oder Umschalten von Solarladen bleibt ein bereits gesetzter Geraetestrom zunaechst unveraendert. Das neue Angebot wird zuerst an den zugeordneten Manager gemeldet; dessen neue Vorgabe wird anschliessend direkt uebernommen. Antwortet kein Manager, greift nach zwei Sekunden das lokale Ersatzverhalten. Sicherheitsabschaltungen wirken weiterhin sofort. Nach einer Leistungsaenderung wird die aktuelle Stufe fuer `ZeitZwischenZustandswechseln` gehalten. Waehrend der `Mindesteinschaltdauer` bleiben positive Leistungsstufen regelbar, `0 W` wird jedoch nicht angeboten. Nach dem Abschalten meldet das Modul waehrend der `Mindestausschaltdauer` ausschliesslich `[0]`. Sicherheitsabschaltungen durch Deaktivierung, fehlende Ladefreigabe, Ausstecken oder ein erkanntes Ladeende greifen sofort. ## Bedienung | Ident | Wirkung | | --- | --- | | `Aktiv` | Gemeinsame lokale EMS-Freigabe. `false` setzt das Angebot auf `[0]` und stoppt die Ladestation. | | `Ladefreigabe` | Lokale Freigabe fuer das Laden. Diese Variable ist nur mit `EinstellungenInVisu=true` sichtbar. | | `Solarladen` | Schaltet das oben beschriebene PV-/Peak-Verhalten um. Diese Variable ist nur mit `EinstellungenInVisu=true` sichtbar. | Die Properties `Ladefreigabe` und `Solarladen` definieren die Startwerte. Eine Aenderung der jeweiligen Property wird beim Anwenden der Konfiguration in den lokalen Zustand uebernommen. Eine Bedienung der Variablen verwirft eine noch gueltige Manager-Vorgabe und berechnet das Leistungsangebot sofort neu. ## Konfiguration ### Gemeinsame EMS-Einstellungen | Property | Typ | Standard | Beschreibung | | --- | --- | ---: | --- | | `PrioritaetPV` | Integer | `0` | Prioritaet des Verbrauchers im PV-Betrieb. | | `PrioritaetPeak` | Integer | `0` | Prioritaet des Verbrauchers im Peakbetrieb. | | `Meldeintervall` | Integer | `10 s` | Intervall fuer die periodische Vollmeldung an zugeordnete Manager. | | `VorgabeTimeout` | Integer | `120 s` | Gueltigkeitsdauer einer Manager-Vorgabe ohne Erneuerung. | | `EinstellungenInVisu` | Boolean | `false` | Blendet `Ladefreigabe`, `Solarladen`, `Istleistung` und `Sollleistung` ein. | | `LoggingEin` | Boolean | `false` | Aktiviert das laufende Debug-Protokoll des Moduls. | ### Ladestation und Diagnose | Property | Typ | Standard | Beschreibung | | --- | --- | ---: | --- | | `Geraetetyp` | Integer | `0` | `1` go-e alt, `2` go-e Gemini, `3` smart-me Pico; `0` ist nicht konfiguriert. | | `Geraeteadresse` | String | leer | IP-Adresse oder Hostname fuer beide go-e-Varianten. | | `GeraeteID` | String | leer | Geraete-ID fuer die Pico-Statusabfrage. | | `Seriennummer` | String | leer | Seriennummer fuer die Pico-Stromvorgabe. | | `Benutzername` | String | leer | Benutzername fuer die Pico-API. | | `Passwort` | String | leer | Passwort fuer die Pico-API; im Formular als Passwortfeld dargestellt. | | `MaximalerLadestrom` | Integer | `16 A` | Obergrenze der angebotenen Ladestufen; zulaessig sind 6 bis 32 A. | | `Phasenerkennungszeit` | Integer | `60 s` | Dauer der 6-A-Probe vor der leistungsbasierten Phasenerkennung. | | `FahrzeugstromErkennungszeit` | Integer | `90 s` | Zeit, die eine stabile Stromunterschreitung anliegen muss, bevor die Fahrzeuggrenze mit 2,5 A Reserve uebernommen wird. | | `ZeitZwischenZustandswechseln` | Integer | `1 min` | Mindestabstand zwischen zwei Leistungsaenderungen. | | `Mindesteinschaltdauer` | Integer | `0 min` | Mindestdauer nach dem Einschalten, in der kein Abschalten auf 0 W angeboten wird. | | `Mindestausschaltdauer` | Integer | `0 min` | Mindestpause nach dem Abschalten, in der nur 0 W angeboten werden. | | `Abfrageintervall` | Integer | `5 s` | Intervall der Geraetestatusabfrage. | | `Ladefreigabe` | Boolean | `true` | Startwert der lokalen Ladefreigabe. | | `Solarladen` | Boolean | `true` | Startwert der lokalen Solarlogik. | | `DiagnosevariablenAnzeigen` | Boolean | `false` | Blendet gemeinsame und ladestationsspezifische Diagnosevariablen ein. | Die internen Properties `Testmodus` und `Testantwort` gehoeren ausschliesslich zum automatisierten Symcon-Funktionstest und erscheinen nicht im Konfigurationsformular. ## Variablen Immer sichtbar: | Ident | Typ / Zugriff | Beschreibung | | --- | --- | --- | | `Aktiv` | Boolean / bedienbar | Lokale EMS-Freigabe; der Initialwert ist `false`. | | `FahrzeugVerbunden` | Boolean / Anzeige | Zeigt, ob die API ein verbundenes Fahrzeug meldet. | | `FahrzeugGeladen` | Boolean / Anzeige | Aktuell bestaetigtes Ladeende; bei Pico ohne eindeutiges API-Signal immer `false`. | | `Ladestrom` | Float / Anzeige | Groesster gemessener Phasenstrom, ersatzweise aus Leistung und bekannter Phasenzahl berechnet. | | `Phasenzahl` | Integer / Anzeige | `0` unbekannt, `1` einphasig oder `3` dreiphasig. | Nur mit `EinstellungenInVisu=true` sichtbar; Ladefreigabe und Solarladen sind bedienbar: - `Ladefreigabe` - `Solarladen` - `Istleistung` - `Sollleistung` Nur mit `DiagnosevariablenAnzeigen=true` sichtbar: | Ident | Beschreibung | | --- | --- | | `Leistungsquelle` | Immer `2` fuer eine gemessene Leistung. | | `Fahrzeugstatus` | Normalisierter Status von `0` bis `4`. | | `SollwertGueltig` | Zeigt, ob die Vorgabe noch gueltig und im aktuellen Angebot enthalten ist. | | `Verfuegbar` | Zeigt, ob die Ladestation grundsaetzlich Leistung aufnehmen kann. | | `AenderungMoeglich` | Zeigt, ob das aktuelle Angebot mehr als eine Leistungsstufe enthaelt. | | `Stoerung` | Sammelstatus fuer Konfigurations- und Kommunikationsfehler. | | `Stoertext` | Letzte verstaendliche Fehlerbeschreibung. | | `Geraetehinweis` | Pico-Autorisierung und historisches letztes Ereignis, getrennt vom aktuellen Fehler. | | `FahrzeugMaximalstrom` | Integer in A / Anzeige. Erkannte Fahrzeuggrenze nach `FahrzeugstromErkennungszeit`; kein manuell zu setzender Ladestrom. | | `LetzterGeraetebefehl` | Letzter Steuerbefehl mit HTTP-Methode und URL ohne Zugangsdaten; Statusabfragen ueberschreiben ihn nicht. | | `LeistungsangebotDiagnose` | Aktuelles Leistungsangebot als JSON-Liste in W. | Die Regellogik speichert ihren Zustand unabhaengig von der Sichtbarkeit der Diagnosevariablen. Das Ein- oder Ausblenden veraendert daher nicht das Regelverhalten. ## Beispiele zur Diagnose `FahrzeugMaximalstrom` ist eine Integer-Diagnosevariable in A. Beispiel: Ein erkanntes Fahrzeuglimit von 10 A bleibt auch bei höherem Anlagenbudget wirksam; Angebot und Zuteilung dürfen es nicht umgehen. Die Konfiguration `FahrzeugstromErkennungszeit` bestimmt die Beobachtungszeit. Bei unbekannten Phasen bietet die Station im freigegebenen PV-Solarbetrieb `[0,4104] W` an. Sind nur 3000 W zuteilbar, bleibt sie aus; die 6-A-Probe darf nicht am Manager vorbei starten. Bei 4104 W passender Vorgabe und frischen Geraetedaten kann die Probe beginnen. Eine anschliessende Messung von 0 W beweist keine Einphasigkeit. Im Peak-Solarbetrieb bleibt das Angebot `[0]`. Pico mit `State=6` wartet auf Autorisierung und bietet `[0]`. Ein altes `LastWarningOrError` allein ist kein aktueller Ladefehler. Frisches `LastSeen` bei altem `ValueDate` reicht bei positiver Ladeleistung dagegen nicht aus: das Modul meldet einen Fehler und wartet auf vollstaendige frische Daten. Sicheres Lesebeispiel fuer die Symcon-Schnellausfuehrung. Eine bestehende Stand-Alone-Instanz einsetzen; optionale, nicht angelegte Diagnosen werden uebersprungen. Es werden weder Zugangsdaten gelesen noch Stellbefehle gesendet. ```php