Skip to content

Commit

Permalink
Merge pull request #5 from symcon/fixes/migrate-tests
Browse files Browse the repository at this point in the history
Migration der Tests auf phpUnit v10
  • Loading branch information
Sunnyka98 authored Sep 20, 2023
2 parents 6dba7e0 + 2fa87f2 commit e35c76f
Show file tree
Hide file tree
Showing 4 changed files with 15 additions and 94 deletions.
3 changes: 1 addition & 2 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,2 +1 @@

tests/.phpunit.result.cache
tests/.phpunit.*
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,5 +6,5 @@

Folgende Module beinhaltet das Verbrauchsverhalten Repository:

- __Verbrauchsverhalten__ ([Dokumentation](Verbrauchsverhalten))
- __Verbrauchsverhalten__ ([Dokumentation](https://www.symcon.de/de/service/dokumentation/modulreferenz/verbrauchsverhalten))
Das Verbrauchsverhalten-Modul zeigt den erwarteten Verbrauch an.
83 changes: 2 additions & 81 deletions Verbrauchsverhalten/README.md
Original file line number Diff line number Diff line change
@@ -1,84 +1,5 @@
# Verbrauchsverhalten
Das Modul errechnet den wahrscheinlichen Verbrauch für die Periode auf Basis einer Außentemperatur-Variable und einer Zähler-Variable mithilfe der Linearen Regression. Je mehr Werte für die Außentemperatur und den Zähler verfügbar sind, desto genauer kann der erwartete Verbrauch ermittelt werden.

### Inhaltsverzeichnis
[Link zur deutschen Dokumentation](https://www.symcon.de/de/service/dokumentation/modulreferenz/verbrauchsverhalten/)

1. [Funktionsumfang](#1-funktionsumfang)
2. [Voraussetzungen](#2-voraussetzungen)
3. [Software-Installation](#3-software-installation)
4. [Einrichten der Instanzen in IP-Symcon](#4-einrichten-der-instanzen-in-ip-symcon)
5. [Statusvariablen und Profile](#5-statusvariablen-und-profile)
6. [WebFront](#6-webfront)
7. [PHP-Befehlsreferenz](#7-php-befehlsreferenz)

### 1. Funktionsumfang

* Errechnet aus zwei Variablen einen wahrscheinlichen Verbrauch

### 2. Voraussetzungen

- IP-Symcon ab Version 6.0

### 3. Software-Installation

* Über den Module Store das 'Verbrauchsverhalten'-Modul installieren.
* Alternativ über das Module Control folgende URL hinzufügen `https://github.com/symcon/Verbrauchsverhalten`

### 4. Einrichten der Instanzen in IP-Symcon

Unter 'Instanz hinzufügen' kann das 'Verbrauchsverhalten'-Modul mithilfe des Schnellfilters gefunden werden.
- Weitere Informationen zum Hinzufügen von Instanzen in der [Dokumentation der Instanzen](https://www.symcon.de/service/dokumentation/konzepte/instanzen/#Instanz_hinzufügen)

__Konfigurationsseite__:

Name | Beschreibung
---------------------------- | ------------------
Variable für Außentemperatur | Geloggte Variable für die Außentemperatur
Variable für den Zähler | Geloggte Variable für den Zähler
Periode | Zeitraum für den die Berechnung durchgeführt werden soll
Limit | Maximale Anzahl der Datensätze die für die Regression genutzt werden sollen. 0 = Keine Limitierung
Intervall | Zeitintervall des Timers in dem die Variable erneut berechnet werden soll
Berechnen | Button, um die Variablen neu zu berechnen


Für die Zählervariable müssen mindestens 2 Datensätze für 3 aufeinderfolgenden Perioden vorhanden sein, damit eine Berechnung erfolgen kann.
Für Periode *Tag* wird die stündliche Aggregation der Variablen genutzt.
Für alle anderen Perioden wird die tägliche Aggregation der Variablen genutzt.

### 5. Statusvariablen

Die Statusvariablen/Kategorien werden automatisch angelegt. Das Löschen einzelner kann zu Fehlfunktionen führen.

#### Statusvariablen

Name | Typ | Beschreibung
-------------------------------------- | ----- | ------------
Erwartung der aktuelle Periode | float | Zeigt den erwarteten Verbrauch auf Basis der Außentemperatur der laufenden Periode an
Erwartung der letzten Periode | float | Zeigt den erwarteten Verbrauch auf Basis der Außentemperatur der letzten Periode an
Hochrechnung der aktuelle Periode | float | Zeigt den hochgerechneten Verbrauch der laufenden Periode an
Hochrechnung der letzten Periode | float | Zeigt den hochgerechneten Verbrauch der letzten Periode an
Wert der aktuellen Periode | float | Zeigt den aktuellen Verbrauch der laufenden Periode an
Wert der letzten Periode | float | Zeigt den Verbrauch der letzten Periode an
Prozent der aktuellen Periode | float | Zeigt in wie weit sich der hochgerechnete Verbrauch vom erwarteten Wert prozentual unterscheiden
Prozent der letzten Periode | float | Zeigt in wie weit sich der hochgerechnete Verbrauch vom erwarteten Wert prozentual unterscheiden
Bestimmtheitsmaß der aktuellen Periode | float | Genauigkeit der Erwartungsberechnung der laufenden Periode an
Bestimmtheitsmaß der letzten Periode | float | Genauigkeit der Erwartungsberechnung der letzten Periode an


#### Mathematische Formeln
Die Erwartung erfolgt anhand der einfachen linearen Regression. [Mathematisch Erklärt][https://de.wikipedia.org/wiki/Lineare_Einfachregression]
Hier wird die Summe des positiven Ergebnis aus der Rechnung m * Temperaturdurchschnit (je nach Periodendauer) * b errechnet. m und b werden durch die linearen Regression bestimmt.

Die Hochrechnung besteht wiederrum aus dem Durchschnittswert der Periode multipliziert mit der Periodenlänge.

### 6. WebFront

Die Funktionalität, die das Modul im WebFront bietet.

### 7. PHP-Befehlsreferenz

`boolean VBV_setData(integer $InstanzID);`
Die Funktion errechnet die erwarteten Werte.

Beispiel:
`LR_BeispielFunktion(12345);`
[Link to the english documentation](https://www.symcon.de/en/service/documentation/module-reference/consumptionbehaviour/)
21 changes: 11 additions & 10 deletions tests/phpunit.xml
Original file line number Diff line number Diff line change
@@ -1,11 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<phpunit>
<php>
<const name="PHPUNIT_TESTSUITE" value="true"/>
</php>
<filter>
<whitelist processUncoveredFilesFromWhitelist="true">
<directory suffix=".php">../Verbrauchsverhalten</directory>
</whitelist>
</filter>
</phpunit>
<phpunit xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="https://schema.phpunit.de/10.1/phpunit.xsd" cacheDirectory=".phpunit.cache">
<coverage/>
<php>
<const name="PHPUNIT_TESTSUITE" value="true"/>
</php>
<source>
<include>
<directory suffix=".php">../Verbrauchsverhalten</directory>
</include>
</source>
</phpunit>

0 comments on commit e35c76f

Please sign in to comment.