chore(release): erste Beta vorbereiten
This commit is contained in:
@@ -21,6 +21,14 @@ 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
|
||||
composer audit --working-dir=Verbrauchskostenreport/libs --locked --no-interaction
|
||||
|
||||
- name: Unit-Tests und Syntaxpruefung ausfuehren
|
||||
run: composer check
|
||||
|
||||
|
||||
@@ -0,0 +1,26 @@
|
||||
# Changelog
|
||||
|
||||
Alle wesentlichen Aenderungen an Enelix Utils werden in dieser Datei dokumentiert.
|
||||
|
||||
## 0.1 Build 1 - Erste Beta - 2026-09-29
|
||||
|
||||
### Enthalten
|
||||
|
||||
- Verbrauchskostenreport mit PDF-Ausgabe und Schweizer QR-Zahlteil nach SIX 2.3.
|
||||
- Verbrauchskostenreport mit Grundlizenz sowie Strom- und Nebenzaehlerkontingenten.
|
||||
- Virtuelle Batterie und VGT-Schnittstelle.
|
||||
- CC100 Hardware und generisches Shelly Modul.
|
||||
- Energiediagramm fuer die IP-Symcon-Kachelvisualisierung.
|
||||
|
||||
### Beta-Aenderungen
|
||||
|
||||
- Dezimale IP-Symcon-Farbwerte werden im Energiediagramm korrekt verarbeitet.
|
||||
- Kachelabstand fuer den Symcon-Kopf und versionsabhaengiger Vollbildmodus.
|
||||
- Vollstaendige PHP-, Struktur- und Symcon-Modultests fuer alle Module.
|
||||
- Composer-Metadaten- und Abhaengigkeitspruefung in der CI.
|
||||
|
||||
### 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.
|
||||
@@ -4,9 +4,11 @@ Unabhaengige Zusatzmodule fuer IP-Symcon. Dieses Repository ist nicht vom Enelix
|
||||
|
||||
## Status
|
||||
|
||||
Das Repository befindet sich im Aufbau. Verbrauchskostenreport, Virtuelle
|
||||
Batterie, CC100 Hardware, Energiediagramm, VGT-Schnittstelle und Shelly Modul
|
||||
sind als installierbare IP-Symcon-Module enthalten.
|
||||
Version 0.1 Build 1 ist die erste Beta fuer kontrollierte Anlagen- und
|
||||
Feldtests. Verbrauchskostenreport, Virtuelle Batterie, CC100 Hardware,
|
||||
Energiediagramm, VGT-Schnittstelle und Shelly Modul sind als installierbare
|
||||
IP-Symcon-Module enthalten. Produktiver Einsatz setzt eine anlagenspezifische
|
||||
Pruefung und Sicherung voraus.
|
||||
|
||||
## Module
|
||||
|
||||
@@ -23,6 +25,10 @@ Punkten stehen in der [Modulübersicht](docs/module/README.md).
|
||||
Prognose, Lizenzierung und Störüberwachung sind keine Module dieses
|
||||
Repositories. Die Utils-Module bleiben auch untereinander unabhängig.
|
||||
|
||||
## Release-Hinweise
|
||||
|
||||
Die Aenderungen der ersten Beta stehen im [Changelog](CHANGELOG.md).
|
||||
|
||||
## Voraussetzungen
|
||||
|
||||
- IP-Symcon ab Version 8.0
|
||||
|
||||
@@ -19,6 +19,13 @@ Abmelden des WebHooks beim Löschen einer Instanz.
|
||||
- erzeugt optional einen Schweizer QR-Zahlteil
|
||||
- unterstützt den konfigurierbaren MWST-Ausweis
|
||||
|
||||
## Lizenzierung
|
||||
|
||||
Der Report benoetigt eine Grundlizenz. Zusaetzlich prueft das Modul getrennte
|
||||
Kontingente fuer konfigurierte Stromzaehler und Nebenzaehler. Lizenzcodes werden
|
||||
zur Laufzeit gegen `https://license.enelix.ch` geprueft; Zugangsdaten oder
|
||||
Lizenzcodes werden nicht im Repository gespeichert.
|
||||
|
||||
## QR-Zahlteil
|
||||
|
||||
Der QR-Zahlteil verwendet strukturierte Adressen (`S`) nach SIX SPS 2.3.
|
||||
@@ -30,6 +37,7 @@ Benutzer- und Zahlungsempfängeradresse benötigen Name, PLZ, Ort und ISO-2-Land
|
||||
|
||||
| Property | Beschreibung |
|
||||
|---|---|
|
||||
| `Lizenzcode` | Laufzeitparameter fuer die Freigabe am Lizenzdienst |
|
||||
| `Users` | Benutzerliste |
|
||||
| `PowerMeters` | Stromzählerliste |
|
||||
| `WaterMeters` | Nebenkostenzähler |
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
"name": "belevo/enelix-utils",
|
||||
"description": "Unabhaengige Zusatzmodule fuer IP-Symcon",
|
||||
"type": "library",
|
||||
"license": "proprietary",
|
||||
"require": {
|
||||
"php": ">=8.0"
|
||||
},
|
||||
|
||||
@@ -7,6 +7,12 @@
|
||||
Der Modulpräfix lautet `VKR`. Der Report wird über die Aktion `CreateReport`
|
||||
erstellt und im Medium `ReportPDF` bereitgestellt.
|
||||
|
||||
## Lizenzierung
|
||||
|
||||
Die Freigabe besteht aus einer Grundlizenz und getrennten Kontingenten fuer
|
||||
Stromzaehler und Nebenzaehler. Der konfigurierte Umfang darf die vom
|
||||
Lizenzdienst bestaetigten Mengen nicht ueberschreiten.
|
||||
|
||||
## Variablen
|
||||
|
||||
| Technischer Ident / Anzeige | Typ / Zugriff | Beschreibung |
|
||||
@@ -28,6 +34,7 @@ erstellt und im Medium `ReportPDF` bereitgestellt.
|
||||
|
||||
| Technischer Ident / Anzeige | Typ | Standard / Beschreibung |
|
||||
| --- | --- | --- |
|
||||
| `Lizenzcode` / Lizenzcode | String | leer; wird zur Laufzeit am Lizenzdienst geprueft. |
|
||||
| `Users` / Benutzer | String/JSON | `[]`; Benutzerstruktur. |
|
||||
| `PowerMeters` / Stromzähler | String/JSON | `[]`; Zuordnungen. |
|
||||
| `WaterMeters` / Wasserzähler | String/JSON | `[]`; Zuordnungen. |
|
||||
|
||||
@@ -43,7 +43,7 @@ werden, wenn sie vor dem Lauf nicht existierten.
|
||||
- `affected`: die durch geänderte Pfade ermittelten Module
|
||||
|
||||
Verfügbare Module: `CC100Hardware`, `Energiediagramm`, `ShellyModul`,
|
||||
`Verbrauchskostenreport`.
|
||||
`VGTSchnittstelle`, `Verbrauchskostenreport` und `VirtuelleBatterie`.
|
||||
|
||||
Die Utils-Module werden jeweils eigenständig und ohne Abhängigkeit zu Enelix EMS getestet.
|
||||
|
||||
@@ -84,15 +84,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
@@ -7,6 +7,6 @@
|
||||
"version": "8.0"
|
||||
},
|
||||
"version": "0.1",
|
||||
"build": 0,
|
||||
"date": 0
|
||||
"build": 1,
|
||||
"date": 1790662541
|
||||
}
|
||||
|
||||
@@ -16,6 +16,9 @@ final class LibraryMetadataTest extends TestCase
|
||||
$daten = json_decode($inhalt, true, 512, JSON_THROW_ON_ERROR);
|
||||
self::assertSame('Enelix Utils', $daten['name']);
|
||||
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']);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user