chore(release): erste Beta vorbereiten

This commit is contained in:
dh
2026-09-29 06:25:26 +00:00
parent b111a5c501
commit 46254e4eba
8 changed files with 64 additions and 32 deletions
+6
View File
@@ -21,6 +21,12 @@ jobs:
- name: Abhaengigkeiten installieren
run: composer install --no-interaction --no-progress --prefer-dist
- name: Composer-Metadaten pruefen
run: composer validate --strict
- name: Abhaengigkeiten auf Sicherheitsmeldungen pruefen
run: composer audit --no-interaction
- name: Unit-Tests und Syntaxpruefung ausfuehren
run: composer check
+26
View File
@@ -0,0 +1,26 @@
# Changelog
Alle wesentlichen Aenderungen an Enelix EMS werden in dieser Datei dokumentiert.
## 0.1 Build 1 - Erste Beta - 2026-09-29
### Enthalten
- Enelix Manager mit PV- und Peak-Betrieb, Priorisierung und Diagnose.
- Anlagenweite Einspeisebegrenzung, Netzfahrplan und Prognosetopologie.
- Batterie, Warmwassererwaermer, Pufferspeicher und Waermepumpe.
- Verbraucher 1-Stufig sowie Easee Gateway und beide Ladestationsvarianten.
- Lizenzpruefung fuer Manager und einzeln freischaltbare Verbrauchermodule.
- Idempotente Demoanlage fuer Installation und Integrationstests.
### Beta-Aenderungen
- Stufenlose Leistungsbereiche fuer Batteriespeicher.
- Ladefreigabe neuer Ladestationsinstanzen standardmaessig aktiviert.
- Vollstaendige PHP-, Struktur- und Symcon-Modultests fuer alle Module.
### Hinweise
- Diese Version ist fuer kontrollierte Anlagen- und Feldtests bestimmt.
- Vor produktivem Einsatz sind Sicherung und anlagenspezifische Abnahme erforderlich.
- Korrekturen werden vorwaerts ueber `develop` und anschliessend `beta` verteilt.
+5 -5
View File
@@ -4,11 +4,10 @@ Energiemanagement, Manager und steuerbare Verbraucher fuer IP-Symcon.
## Status
Das Repository befindet sich im Aufbau. Der gemeinsame Nachrichtenvertrag, die
Verbraucherbasis, der Manager, der mehrstufige Warmwassererwaermer, der
Pufferspeicher, die Batterie, der 1-stufige Verbraucher, die Ladestation
Stand-Alone sowie das Easee Gateway mit Ladestation Gateway sind implementiert. Die weiteren
Module sind als Diskussionsentwuerfe dokumentiert.
Version 0.1 Build 1 ist die erste Beta fuer kontrollierte Anlagen- und
Feldtests. Der gemeinsame Nachrichtenvertrag, die Verbraucherbasis, der Manager
und alle unten aufgefuehrten Module sind implementiert. Produktiver Einsatz
setzt eine anlagenspezifische Pruefung, Sicherung und Rueckfallplanung voraus.
## Module
@@ -98,6 +97,7 @@ der Uebernahme in einen Freigabebranch erfolgreich sein.
## Dokumentation
- [Changelog](CHANGELOG.md)
- [Zentrale Liste offener Teamentscheidungen](docs/Offene-Punkte.md)
- [Manager-Verbraucher-Schnittstelle](docs/Schnittstelle.md)
- [Batterieschnittstelle](docs/Schnittstelle-Batterie.md)
+1
View File
@@ -2,6 +2,7 @@
"name": "belevo/enelix-ems",
"description": "Energiemanagement und steuerbare Verbraucher fuer IP-Symcon",
"type": "library",
"license": "proprietary",
"require": {
"php": ">=8.0"
},
+10 -14
View File
@@ -49,7 +49,7 @@ Prioritaeten, Fehlerverhalten und ein pruefbares Ergebnis.
| OP-001 | Entschieden | Lizenzierung | Betriebsort des Lizenzservers |
| OP-002 | Erledigt | Grundeinrichtung | Generator und kostenpflichtige Ersteinrichtung |
| OP-003 | Offen | Lizenzportal | VGT-Integration in license.enelix.ch |
| OP-004 | Offen | Lizenzierung | Lizenzmodell des Verbrauchskostenreports |
| OP-004 | Entschieden | Lizenzierung | Lizenzmodell des Verbrauchskostenreports |
| OP-005 | Offen | Teststrategie | Standort fuer Feldtests |
## Offene Punkte
@@ -66,19 +66,6 @@ Prioritaeten, Fehlerverhalten und ein pruefbares Ergebnis.
- **Ziel-Sprint:** Offen
- **Ergebnis/Verweis:** Offen
### OP-004: Lizenzmodell des Verbrauchskostenreports
- **Entscheidungsfrage:** Soll der Verbrauchskostenreport nach dem Lizenzmodell
des Managers oder mit einer einzigen, von der Anzahl angeschlossener Zaehler
unabhaengigen Modullizenz angeboten werden?
- **Kontext:** Fuer den Verbrauchskostenreport muss zwischen dem Lizenzmodell des
Managers und einer zaehlerunabhaengigen Modullizenz entschieden werden.
- **Auswirkung:** Die Entscheidung legt fest, ob die Anzahl angeschlossener
Zaehler den Lizenzumfang des Verbrauchskostenreports beeinflusst.
- **Verantwortlich:** Offen
- **Ziel-Sprint:** Offen
- **Ergebnis/Verweis:** Offen
### OP-005: Standort fuer Feldtests
- **Entscheidungsfrage:** An welchem Standort koennen die Module aus Enelix EMS
@@ -114,6 +101,15 @@ Prioritaeten, Fehlerverhalten und ein pruefbares Ergebnis.
- **Ergebnis/Verweis:** Umsetzung im Lizenzportal unter
`https://license.enelix.ch`.
### OP-004: Lizenzmodell des Verbrauchskostenreports
- **Entscheidung:** Der Verbrauchskostenreport verwendet eine Grundlizenz sowie
getrennte Kontingente fuer Stromzaehler und Nebenzaehler. Die Anzahl der
konfigurierten Zaehler wird bei der Lizenzpruefung beruecksichtigt.
- **Status:** Entschieden und implementiert
- **Ergebnis/Verweis:** Enelix Utils, Commit `1f945be` und
`Verbrauchskostenreport/module.php`.
## Vorlage fuer neue Punkte
```markdown
+11 -11
View File
@@ -42,9 +42,9 @@ werden, wenn sie vor dem Lauf nicht existierten.
- `single`: genau die als Auswahl übergebenen Module
- `affected`: die durch geänderte Pfade ermittelten Module
Verfuegbare Module: `EaseeGateway`, `LadestationGateway`,
`LadestationStandAlone`, `Manager`, `Pufferspeicher`, `VerbraucherEinStufig`
und `Warmwassererwaermer`.
Verfuegbare Module: `Batterie`, `EaseeGateway`, `LadestationGateway`,
`LadestationStandAlone`, `Manager`, `Pufferspeicher`, `VerbraucherEinStufig`,
`Waermepumpe` und `Warmwassererwaermer`.
Der Manager-Test enthält Manager ohne Verbraucher, jeden Verbrauchertyp einzeln und alle aktuell implementierten Verbrauchertypen gemeinsam.
@@ -85,15 +85,15 @@ Zusätzlich schreibt der Runner die Zusammenfassung in das IP-Symcon-Log.
## CI-Regeln
Bei jedem Push laufen sämtliche PHPUnit-Tests. Auf `develop` werden zusätzlich
die von den geänderten Pfaden betroffenen Symcon-Modultests ausgeführt. Bei
gemeinsamen Framework- oder Vertragsänderungen läuft die vollständige Suite.
Für `beta` ist immer `all` vorgeschrieben.
Bei jedem Push laufen sämtliche PHPUnit-Tests und die PHP-Syntaxprüfung. Die
Symcon-Modultests werden bis zur Verfügbarkeit eines geschützten Runners auf
der isolierten IP-Symcon-8.0-Instanz des Agent-Servers ausgeführt. Vor jeder
Übernahme nach `beta` ist ein erfolgreicher Lauf im Modus `all` verbindlich.
Der erzeugte JSON- und JUnit-Bericht gehört zum Freigabenachweis.
Die Symcon-Jobs benötigen einen geschützten Runner mit dem Label `symcon-8`,
lokalem Zugriff auf eine isolierte IP-Symcon-8.x-Instanz und den installierten
Repository-Stand. Ohne diesen Runner ist die Richtlinie dokumentiert, aber
nicht technisch durchsetzbar.
Eine spätere CI-Automatisierung benötigt einen geschützten Runner mit dem Label
`symcon-8`, lokalem Zugriff auf die isolierte IP-Symcon-Instanz und den exakt
zu prüfenden Repository-Stand.
## Checkliste für neue Module
+2 -2
View File
@@ -7,6 +7,6 @@
"version": "8.0"
},
"version": "0.1",
"build": 0,
"date": 0
"build": 1,
"date": 1790662541
}
+3
View File
@@ -17,6 +17,9 @@ final class LibraryMetadataTest extends TestCase
self::assertSame('Enelix EMS', $daten['name']);
self::assertSame('Enelix', $daten['author']);
self::assertSame('8.0', $daten['compatibility']['version']);
self::assertSame('0.1', $daten['version']);
self::assertSame(1, $daten['build']);
self::assertGreaterThan(0, $daten['date']);
self::assertMatchesRegularExpression('/^\{[0-9A-F-]{36}\}$/', $daten['id']);
}
}