VALVES

Aus FHEMWiki
Version vom 23. Mai 2023, 16:20 Uhr von Ph1959de (Diskussion | Beiträge) (Forenlinks umformatiert)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Zur Navigation springen Zur Suche springen
VALVES
Zweck / Funktion
Durchschnitt mit individueller Gewichtung und Ignore
Allgemein
Typ Inoffiziell
Details
Dokumentation Thema
Support (Forum) Codeschnipsel
Modulname 39_VALVES.pm
Ersteller epsrw1,cwagner
Wichtig: sofern vorhanden, gilt im Zweifel immer die (englische) Beschreibung in der commandref!

VALVES bietet eine einfache Möglichkeit, den nach flexibel konfigurierbaren Regeln gewichteten Durchschnittswert einer Gruppe von Werten zu berechnen.

Features

Diese Wiki-Seite beschreibt den Versionsstand 1.0 des VALVES-Moduls.

Die Namensgebung beruht auf der primären Anwendung des Moduls auf Valve-Position-Readings von Heizungsthermostaten.

Thread im Forum:Beitrag

Beschreibung

Funktionsweise

VALVES bietet als kleines Helferlein die Möglichkeit, einen halbwegs sinnvollen und individuell gewichteten Durchschnittswert der Readings mehrerer verschiedener Devices zu berechnen.

Für jeden Wert einzeln kann ein Offset definiert werden. Es können dynamisch jeweils die höchsten/niedrigsten 0 bis 3 Werte ignoriert werden. Eine weitere Einstellung ermöglicht, bestimmte Werte doppelt zu zählen.

Im Anwendungsbeispiel Raumbedarfsabhängige Heizungssteuerung wird das Modul zum Beispiel verwendet, um den Durchschnittswert der Ventilöffnungen aller Heizkörper zu berechnen. Die individuelle Gewichtung über Attr ermöglicht hierbei einen virtuellen hydraulischen Abgleich.

Die Liste aller auszulesenden Devices wird in einem ATTR eingestellt, der Name des Readings in einem weiteren. Das Modul prüft dann regelmäßig (attr: poll interval) die Daten der FHEM-Devices und berechnet neu, wenn ein Änderung festgestellt wird.

Für die Beeinflussung des Durchschnittes hat man folgende Attribute:

  • ignoriere niedrigste 0...3 Positionen
  • ignoriere höchste 0...3 Positionen
  • ignoriere namentlich genannte Devices
  • priority-device Liste (zählen doppelt)
  • valves<Devicename>Gewichtung optionale Einzeleinstellung für jedes Reading, multipliziere mit Attr-Wert (zB:0,95 um 5% abzuziehen). Damit können Unterschiede bekannte gleichbleibende Meßungenauigkeiten kompensiert werden, oder verschieden große Geräte in vergleichbare Rechengrößen konvertiert werden.

Define

define <name> VALVES

Attribute

Alle Attribute sind auch in FHEM durch das Kommando get attrHelp <varname> erklärt, fürs "schnelle Nachschauen zwischendurch".

valvesInitialDelay -> Startverzögerung

valvesPollInterval -> Berechnungsfrequenz

valvesDeviceList -> Pflicht-Attr, Liste Thermostate mit valve-pos Readings

valvesDeviceReading -> Pflicht-Attr, Bezeichnung valve-pos Reading

valvesIgnoreLowest -> Niedrigste N Werte ignorieren

valvesIgnoreHighest -> Höchste N Werte ignorieren

valvesIgnoreDeviceList -> Device(s) die komplett ignoriert werden, z.B. temporärer Eintrag für Gästezimmer

valvesPriorityDeviceList -> Devices, die doppelt gezählt werden

valves<Devicename> Gewichtung -> Faktor für einzelnes Device für individuelle Gewichtung

Settings

reset -> Alle Readings zurücksetzen

Readings

state -> Fehlermeldung oder Mittelwert nach oben beschriebener Berechnung

valve_<Devicename> -> Berechnete virtuelle Ventilstellung pro Gerät

valveDetail_<Devicename> -> Debug-Info mit Details

raw_average -> Simpler Mittelwert ohne Berücksichtigung der Gewichtungen (ignores werden auch hier ignoriert)

valve_average -> Mittelwert nach oben beschriebener Berechnung

valve_max -> Größte aktuelle Ventilöffnung seit letztem Reset

valve_min -> Kleinste aktuelle Ventilöffnung seit letztem Reset

Weblinks