Steuerung einer Fussbodenheizung mit dem PWM-Modul: Unterschied zwischen den Versionen

Aus FHEMWiki
Keine Bearbeitungszusammenfassung
 
(Eine dazwischenliegende Version desselben Benutzers wird nicht angezeigt)
Zeile 51: Zeile 51:
|-
|-
|<stayOnThreshold>||Defauts:
|<stayOnThreshold>||Defauts:
roomStayOn = 0 ... all rooms can be switched off at the same time.
roomStayOn = 0 ... alle Räume können gleichzeitig ausgeschaltet werden.  
roomStayOff = 0 ... all rooms can be switched on at the same time.
roomStayOff = 0 ... alle Räume können gleichzeitig eingeschaltet werden.  
stayOnThreshold = 0 ... no impact.
stayOnThreshold = 0 ... keine Auswirkung. Aus Energiespargründen kann Folgendes eingestellt werden: "4,1,0,25". Dies bedeutet: Der Raum mit dem geringsten Impuls wird ausgeschaltet (roomsStayOff = 1). Wenn der durchschnittliche Impuls für die (roomsStayOn = 4) Räume mit dem höchsten Heizbedarf größer als (stayOnThreshold = 0.25) ist, wird maxRoomStayOn eingeschaltet "on", auch wenn die Zeit für den aktuellen Impuls erreicht ist. Wird die Schwelle nicht erreicht (weniger Heizen erforderlich), können alle Räume gleichzeitig ausgeschaltet werden.
For energy saving reasons the following may be set: "4,1,0.25". This means:
The room with the least pulse will be kept off (roomsStayOff=1)
If the average pulse for the (roomsStayOn=4) rooms with the most heating required is greater than (stayOnThreshold=0.25) then maxRoomStayOn will be kept in state "on", even if the time for the current pulse is reached. If the threshold is not reached (not so much heating required) then all rooms can be switched off at the same time.
|-
|-
|<roomStayOn>||Defauts:
|<roomStayOn>||Defauts:
Zeile 75: Zeile 72:
|-
|-
|<overallHeatingSwitch>[,<pulseThreshold>[,<followUpTime>[,<regexp_on>[,<delayTimeOn>]]]]||Defauts:
|<overallHeatingSwitch>[,<pulseThreshold>[,<followUpTime>[,<regexp_on>[,<delayTimeOn>]]]]||Defauts:
Universal switch to controll eg. pumps or the heater itself. It will be set to "off" if no heating is required and otherwise "on".
Universalschalter zur Steuerung von zB. Pumpen oder die Heizung selbst. Sie wird auf "Aus" gesetzt, wenn keine Heizung benötigt wird, und ansonsten auf "Ein". pulseThreshold definiert einen Schwellenwert, der zum Lesen von pulseMax, pulseSum, pulseAvg, pulseAvg2 oder pulseAvg3 des PWM-Objekts angewendet wird, um zu entscheiden, ob eine Erwärmung erforderlich ist. Wenn (berechneter Impuls> Schwelle), wird der Akteur auf "Ein" gesetzt, andernfalls auf "Aus". Wenn pulseThreshold auf 0 gesetzt ist (oder nicht definiert ist), basiert die Entscheidung auf roomsOn. Wenn (roomsOn> 0), wird actor auf "on" gesetzt, andernfalls auf "off". followUpTime definiert eine Anzahl von Sekunden, mit der der Statuswechsel von "Ein" nach "Aus" verzögert wird. Dies kann verwendet werden, um einen Kippschalter zu verhindern. regexp_on definiert einen regulären Ausdruck, der auf den Status des Akteurs angewendet wird. Die Standardeinstellung ist "Ein". Wenn state mit dem regulären Ausdruck übereinstimmt, wird es als "on" behandelt, andernfalls als "off". delayTimeOn definiert eine Anzahl von Sekunden, mit der der Statuswechsel von "aus" nach "ein" verzögert wird. Hiermit können Sie den Ventilen vor dem Umschalten Zeit zum Öffnen geben. Der zum Vergleich verwendete Impuls wird durch das Attribut overallHeatingSwitchRef definiert. Standard ist maxPulse.
pulseThreshold defines a threshold which is applied to reading pulseMax, pulseSum, pulseAvg, pulseAvg2 or pulseAvg3 of the PWM object to decide if heating is required. If (calculated pulse > threshold) then actor is set to "on", otherwise "off".
If pulseThreshold is set to 0 (or is not defined) then the decision is based on roomsOn. If (roomsOn > 0) then actor is set to "on", otherwise "off".
followUpTime defines a number of seconds which is used to delay the status change from "on" to "off". This can be used to prevent a toggling switch.
regexp_on defines a regular expression to be applied to the state of the actor. Default is "on". If state matches the regular expression it is handled as "on", otherwise "off".
delayTimeOn defines a number of seconds which is used to delay the status change from "off" to "on". This can be used to give the valves time to open before switching..
The pulse used for comparision is defined by attribute overallHeatingSwitchRef. Default is maxPulse.
|}
|}


Zeile 91: Zeile 82:
|<valveProtectIdlePeriod>||Anzahl der Tage ohne Betätigung des Ventil bis der Ventilfestsetzschutz das Ventil einmal für 5 min vorbeugend betätigt.   
|<valveProtectIdlePeriod>||Anzahl der Tage ohne Betätigung des Ventil bis der Ventilfestsetzschutz das Ventil einmal für 5 min vorbeugend betätigt.   
|-
|-
|<overallHeatingSwitchRef>||Defines which reading is used for threshold comparision for OverallHeatingSwitch calculation. Possible values are:
|<overallHeatingSwitchRef>||Legt fest, welcher Messwert für den Schwellenwertvergleich für die OverallHeatingSwitch-Berechnung verwendet wird. Mögliche Werte sind:
pulseMax, pulseSum, pulseAvg, pulseAvg2, pulseAvg3, avgPulseRoomsOn
pulseMax, pulseSum, pulseAvg, pulseAvg2, pulseAvg3, avgPulseRoomsOn pulseAvg ist ein Durchschnittspuls aller Räume, die auf "on" geschaltet werden sollen.
pulseAvg is an average pulse of all rooms which should be switched to "on".
 
pulseAvg2 and pulseAvg3 refer to the 2 or 3 romms with highest pulses.  
pulseAvg2 und pulseAvg3 beziehen sich auf die 2 oder 3 Räume mit den höchsten Impulsen
pulseAvg ist ein Durchschnittspuls aller Räume, die eingeschaltet werden sollen.
pulseAvg2 und pulseAvg3 beziehen sich auf die 2 oder 3 Räume mit den höchsten Impulsen.


|}
|}

Aktuelle Version vom 31. Oktober 2019, 09:25 Uhr


PWM
Zweck / Funktion
Dieses Modul dient zur Regelung von geschalteten Fußbodenheizkreisen mit FHEM.
Allgemein
Typ Hilfsmodul
Details
Dokumentation EN / DE
Support (Forum) Heizungssteuerung
Modulname 94_PWM.pm
Ersteller jamesgo (Forum / Wiki)
Wichtig: sofern vorhanden, gilt im Zweifel immer die (englische) Beschreibung in der commandref!


PWM ist ein plattformunabhängiges Modul, welches gezielt Fußbodenheizkreise solange ein- bzw. ausschaltet, dass eine gewünschte Raumtemperatur in möglichst kurzer Zeit, mit nur geringem Überschwingen, erreicht werden kann.

Voraussetzungen

  • pro Heizkreis bzw. Raum ein Temperatursensor welcher den Wert der Raumtemperatur an FHEM übermitteln kann,
  • pro Heizkreis bzw. Raum ein mit an/aus per FHEM steuerbares Heizkreisventil (Aktor).

Leistungsumfang

  • Grundfunktionalität durch sinnvolle Standardwerte mit geringem Aufwand konfigurierbar,
  • Einzelraumregelung durch Instanzen des PWMR-Moduls,
  • einfache Steuerung realisierbar,
  • umfangreich konfigurierbare Zeitparameter,
  • parametrierbarer PID-Regler,
  • umfangreiche Temperatur-Zeit-Planung,
  • befristete (1..10 h) Planabweichungen von Raumsollwerten einfach konfigurierbar,
  • Unterstützung von Fensterkontakten,
  • Ventilfestsetzschutz durch zyklisches Betätigen nach langer Nichtbenutzung,

Define

define <name> PWM [<interval>] [<cycletime>] [<minonofftime>] [<maxPulse>] [<maxSwitchOnPerCycle>,
<maxSwitchOffPerCycle>] [<roomStayOn>,<roomStayOff>,<stayOnThreshold>] [<overallHeatingSwitch>
[,<pulseThreshold>[,<followUpTime>[,<h_regexp_on>[,<delayTimeOn>]]]]]

Parameter:

Parameter Beschreibung
<name> FHEM Name des Devices
<interval> Zeitspanne in s bis zur nächsten Pulsberechnung. Standardwert 60.
<cycletime> Zeitrahmen in s auf den sich die Pulslänge bezieht, Maximalwert der Pulslänge. Standard 900.
<minonofftime> Berechnete Impulse die kürzer als dieser Wert in s sind, werden wegen der üblichen Systemträgheit von FBH nicht an das Ventil ausgegeben. Standard 120.
<maxPulse> Minderungsfaktor der angibt, wie lang die Pulse bezogen auf den definierten Zeitrahmen cycletime maximal werden können. Standardwert ist 1 entsprechend maxPulse = cycletime.
<maxSwitchOnPerCycle> Maximalzahl von PWMR-Instanzen welche in Abhängigkeit von der Leistungsfähigkeit des Wärmeerzeugers gleichzeitig eingeschaltet sein können. Standard 99.
<maxSwitchoffPerCycle> Maximalzahl von PWMR-Instanzen welche in Abhängigkeit von der Leistungsfähigkeit des Wärmeerzeugers gleichzeitig ausgeschaltet sein können. Standard 99.
<stayOnThreshold> Defauts:

roomStayOn = 0 ... alle Räume können gleichzeitig ausgeschaltet werden. roomStayOff = 0 ... alle Räume können gleichzeitig eingeschaltet werden. stayOnThreshold = 0 ... keine Auswirkung. Aus Energiespargründen kann Folgendes eingestellt werden: "4,1,0,25". Dies bedeutet: Der Raum mit dem geringsten Impuls wird ausgeschaltet (roomsStayOff = 1). Wenn der durchschnittliche Impuls für die (roomsStayOn = 4) Räume mit dem höchsten Heizbedarf größer als (stayOnThreshold = 0.25) ist, wird maxRoomStayOn eingeschaltet "on", auch wenn die Zeit für den aktuellen Impuls erreicht ist. Wird die Schwelle nicht erreicht (weniger Heizen erforderlich), können alle Räume gleichzeitig ausgeschaltet werden.

<roomStayOn> Defauts:

roomStayOn = 0 ... all rooms can be switched off at the same time. roomStayOff = 0 ... all rooms can be switched on at the same time. stayOnThreshold = 0 ... no impact. For energy saving reasons the following may be set: "4,1,0.25". This means: The room with the least pulse will be kept off (roomsStayOff=1) If the average pulse for the (roomsStayOn=4) rooms with the most heating required is greater than (stayOnThreshold=0.25) then maxRoomStayOn will be kept in state "on", even if the time for the current pulse is reached. If the threshold is not reached (not so much heating required) then all rooms can be switched off at the same time.

<roomStayOff> Defauts:

roomStayOn = 0 ... all rooms can be switched off at the same time. roomStayOff = 0 ... all rooms can be switched on at the same time. stayOnThreshold = 0 ... no impact. For energy saving reasons the following may be set: "4,1,0.25". This means: The room with the least pulse will be kept off (roomsStayOff=1) If the average pulse for the (roomsStayOn=4) rooms with the most heating required is greater than (stayOnThreshold=0.25) then maxRoomStayOn will be kept in state "on", even if the time for the current pulse is reached. If the threshold is not reached (not so much heating required) then all rooms can be switched off at the same time.

<overallHeatingSwitch>[,<pulseThreshold>[,<followUpTime>[,<regexp_on>[,<delayTimeOn>]]]] Defauts:

Universalschalter zur Steuerung von zB. Pumpen oder die Heizung selbst. Sie wird auf "Aus" gesetzt, wenn keine Heizung benötigt wird, und ansonsten auf "Ein". pulseThreshold definiert einen Schwellenwert, der zum Lesen von pulseMax, pulseSum, pulseAvg, pulseAvg2 oder pulseAvg3 des PWM-Objekts angewendet wird, um zu entscheiden, ob eine Erwärmung erforderlich ist. Wenn (berechneter Impuls> Schwelle), wird der Akteur auf "Ein" gesetzt, andernfalls auf "Aus". Wenn pulseThreshold auf 0 gesetzt ist (oder nicht definiert ist), basiert die Entscheidung auf roomsOn. Wenn (roomsOn> 0), wird actor auf "on" gesetzt, andernfalls auf "off". followUpTime definiert eine Anzahl von Sekunden, mit der der Statuswechsel von "Ein" nach "Aus" verzögert wird. Dies kann verwendet werden, um einen Kippschalter zu verhindern. regexp_on definiert einen regulären Ausdruck, der auf den Status des Akteurs angewendet wird. Die Standardeinstellung ist "Ein". Wenn state mit dem regulären Ausdruck übereinstimmt, wird es als "on" behandelt, andernfalls als "off". delayTimeOn definiert eine Anzahl von Sekunden, mit der der Statuswechsel von "aus" nach "ein" verzögert wird. Hiermit können Sie den Ventilen vor dem Umschalten Zeit zum Öffnen geben. Der zum Vergleich verwendete Impuls wird durch das Attribut overallHeatingSwitchRef definiert. Standard ist maxPulse.

Attribute:

Parameter Beschreibung
<valveProtectIdlePeriod> Anzahl der Tage ohne Betätigung des Ventil bis der Ventilfestsetzschutz das Ventil einmal für 5 min vorbeugend betätigt.
<overallHeatingSwitchRef> Legt fest, welcher Messwert für den Schwellenwertvergleich für die OverallHeatingSwitch-Berechnung verwendet wird. Mögliche Werte sind:

pulseMax, pulseSum, pulseAvg, pulseAvg2, pulseAvg3, avgPulseRoomsOn pulseAvg ist ein Durchschnittspuls aller Räume, die auf "on" geschaltet werden sollen.

pulseAvg2 und pulseAvg3 beziehen sich auf die 2 oder 3 Räume mit den höchsten Impulsen pulseAvg ist ein Durchschnittspuls aller Räume, die eingeschaltet werden sollen. pulseAvg2 und pulseAvg3 beziehen sich auf die 2 oder 3 Räume mit den höchsten Impulsen.

Anwendungsbeispiele

Links