Dokumentation aktualisieren: docs/Schnittstelle.md
Tests / test (push) Canceled after 0s

This commit is contained in:
dh
2026-09-10 08:03:44 +00:00
parent 0c9d4d920a
commit 8af7776f33
+54
View File
@@ -81,3 +81,57 @@ public function VerbraucherdatenEmpfangen(array $daten): void;
- Eine aktive Stoerung wird mit `Art=Stoerung` und `Wert=true` gemeldet; eine behobene mit `false`. - Eine aktive Stoerung wird mit `Art=Stoerung` und `Wert=true` gemeldet; eine behobene mit `false`.
- Verbraucher werden ausschliesslich im Manager zugeordnet. Der Verbraucher besitzt keine Manager-ID-Property. - Verbraucher werden ausschliesslich im Manager zugeordnet. Der Verbraucher besitzt keine Manager-ID-Property.
## Technische Umsetzung in IP-Symcon
Der Transport erfolgt über `IPS_RequestAction` mit JSON. `MessageSink` erkennt
registrierte Änderungen; der empfangende Action-Handler prüft das Paket und
ruft danach genau eine fachliche Empfangsmethode auf. Empfang und Neuberechnung
werden intern entkoppelt, damit keine gegenseitige Endlosschleife entsteht.
Das PHP-Interface legt nur die Methode fest. Die folgenden gemeinsamen
Symcon-Datenpunkte werden durch `VerbraucherBasisTrait` registriert.
### Gemeinsame Properties aller Verbraucher
| Ident | Typ | Standard | Beschreibung |
| --- | --- | --- | --- |
| `PrioritaetPV` | Integer | `0` | Priorität ab 0; kleinere Zahl bedeutet höhere Priorität. |
| `PrioritaetPeak` | Integer | `0` | Wie PV-Priorität, ohne fachliche Obergrenze. |
| `Meldeintervall` | Integer | `10` | Vollständige Rückmeldung in Sekunden; muss grösser als 0 sein. |
| `VorgabeTimeout` | Integer | `30` | Sollwert wird nach dieser Zeit ohne Erneuerung ungültig. |
| `EinstellungenInVisu` | Boolean | `false` | Blendet lokale Einstellvariablen ein und macht sie geprüft bedienbar. |
| `LoggingEin` | Boolean | `false` | Aktiviert Diagnoseprotokoll und zusätzliche Diagnosevariablen. |
### Gemeinsame Variablen aller Verbraucher
| Ident | Typ / Zugriff | Beschreibung |
| --- | --- | --- |
| `Aktiv` | Boolean / bedienbar | Lokale EMS-Freigabe; Start `false`. |
| `Istleistung` | Float / Anzeige | Aktuelle Leistung in W; nur zusammen mit `Leistungsquelle` gültig. |
| `Leistungsquelle` | Integer / Anzeige | `0` nicht vorhanden, `1` berechnet, `2` gemessen. |
| `Sollleistung` | Integer / Anzeige | Tatsächlich angenommene Vorgabe in W. |
| `SollwertGueltig` | Boolean / Anzeige | Kennzeichnet eine aktuell gültige Vorgabe. |
| `Verfuegbar` | Boolean / Anzeige | Verbraucher grundsätzlich für EMS-Steuerung verfügbar. |
| `AenderungMoeglich` | Boolean / Anzeige | Neue Vorgabe darf momentan übernommen werden. |
| `Stoerung` | Boolean / Anzeige | Mindestens ein Zustandseintrag der Art `Stoerung` ist aktiv. |
| `Stoertext` | String / Anzeige | Zusammengefasste lesbare Störbeschreibung. |
`Leistungswerte_W` und `Zustand` werden intern gehalten und direkt in die
Nachricht geschrieben. Dafür werden keine zusätzlichen Symcon-Variablen
angelegt. Der gemeinsame Zustandseintrag `Sollleistung_W` wird durch die Basis
ergänzt.
## Zeitverhalten
- Rückmeldung nach dem Start, bei relevanten Änderungen und zusätzlich alle
`Meldeintervall` Sekunden.
- Laufende Vorgaben werden vom Manager standardmässig alle 10 Sekunden erneuert.
- Nach `VorgabeTimeout` Sekunden ist eine nicht erneuerte Vorgabe ungültig.
- Nach einem Neustart wird zuerst der Gerätezustand erfasst; eine alte Vorgabe
wird nicht ungeprüft wieder aufgenommen.
## Obere Anschlüsse des Managers
SDL/VGT, Prognose, Lizenzierung und Störüberwachung verändern den
Manager-Verbraucher-Vertrag nicht. Ihr aktueller Diskussionsstand ist in
[Obere-Anschluesse.md](Obere-Anschluesse.md) beschrieben.