# Enelix Utils Unabhaengige Zusatzmodule fuer IP-Symcon. Dieses Repository ist nicht vom Enelix EMS abhaengig; auch die Utils-Module werden untereinander nicht gekoppelt. ## 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. ## Module - Verbrauchskostenreport (implementiert) - Virtuelle Batterie (implementiert) - CC100 Hardware (implementiert) - Energiediagramm (implementiert) - VGT-Schnittstelle (implementiert) - Shelly Modul (implementiert) Die vollständigen Tabellen mit Properties, Variablen, Verhalten und offenen 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. ## Voraussetzungen - IP-Symcon ab Version 8.0 - Netzwerkzugriff der IP-Symcon-Installation auf das Gitea-Repository - PHP ab Version 8.0 fuer die Entwicklungstests ## Installation in IP-Symcon Das Repository wird über die IP-Symcon-Modulverwaltung installiert: 1. In der Verwaltung `Module` öffnen und ein neues Modul hinzufügen. 2. Als Repository-URL `https://git.belevo.ch/ENELIX/Enelix-Utils.git` eintragen. 3. Den zur Umgebung passenden Branch auswählen. 4. Prüfen, dass `Enelix Utils` ohne Warnsymbol angezeigt wird und URL sowie Branch in der Modulübersicht sichtbar sind. Zugangsdaten werden außerhalb des Repositories in der Laufzeitumgebung konfiguriert. Tokens oder Passwörter gehören weder in die Repository-URL noch in Konfigurationsdateien oder Logs. | Git-Branch | IP-Symcon-Kanal | | --- | --- | | `main` | Stable | | `beta` | Beta | | `develop` | Testing | Für Entwicklung und Integrationstests ist `develop` zu verwenden. Das Repository darf nicht manuell nach `data/modules/Enelix-Utils` kopiert werden, da IP-Symcon sonst URL, Branch und Aktualisierungsstatus nicht verwalten kann. ## Aktualisierung und Prüfung Aktualisierungen werden ausschließlich über die IP-Symcon-Modulverwaltung bezogen. Nach einem Branchwechsel oder Update müssen alle implementierten Module geladen sein: - `CC100 Hardware` - `Energiediagramm` - `Shelly Modul` - `VGT-Schnittstelle` - `Verbrauchskostenreport` - `Virtuelle Batterie` Ein korrekter Zustand zeigt die Repository-URL, den ausgewählten Branch und kein Warnsymbol bei `Enelix Utils`. ## Fehlerbehebung Wenn URL und Branch fehlen oder ein Warnsymbol erscheint, wurde die Bibliothek möglicherweise nur als Ordner kopiert. In diesem Fall vor Änderungen bestehende Modulinstanzen und Konfigurationen sichern. Anschließend die fehlerhafte Bibliothek über die Modulverwaltung entfernen und mit der oben genannten URL neu installieren. Das manuelle Löschen des Modulordners ist kein regulärer Installations- oder Aktualisierungsweg. ## Entwicklung und Tests ```bash composer install composer check ``` Neue oder geaenderte Funktionen werden zusammen mit ihren PHPUnit-Tests eingecheckt. Jedes Modul besitzt zusätzlich einen eigenständigen Laufzeittest für IP-Symcon 8.x. Einzel-, Änderungs- und Gesamtläufe sowie Cleanup und Berichte sind im [Testleitfaden](docs/testing/README.md) beschrieben. Die CI-Pruefung muss vor der Uebernahme in einen Freigabebranch erfolgreich sein.