Kesseltemperatur über PID Regler steuern

Begonnen von Mark, 28 September 2013, 15:30:23

Vorheriges Thema - Nächstes Thema

Mark

Hallo zusammen,

ich möchte gerne die Wassertemperatur in einem Kessel über einen PID regeln.
Die Wassertemperatur erhalte ich von einem 1-wire Sensor.
Den PID habe ich so erstellt:

define Regler1 PID Kessel_1_Temperatur:temp:([\d\.]*) Kessel_1_Heizung::off:on 0.2 25 0

Problem ist, dass der Set Befehl Werte zwischen 0 und 100 liefert.
Logfile Auszug:
2013.09.28 15:16:35 3: PID set Regler1 desired 15
2013.09.28 15:16:35 3: set Kessel_1_Heizung  0 : Unknown argument ?, choose one of on off

Im Regler selber werden actuation und integrator korrekt mit on bzw. off angezeigt.

Wie schaffe ich es nun, dass der ausgelöste set Befehl off bzw on ist?

Ich bin für jeden Tipp dankbar.

Gruß Mark

rudolfkoenig

Man koennte ein notify bauen, was je nach Schwellwert ein on oder off ausloest.

Ich habe aber meine Zweifel, ob das besser ist, als ein einfacher Schwellwert-Vergleich. Dazu gibt es auch ein FHEM Modul, faellt mir aber nicht ein, wie es heisst. Oder man mancht es mit einem perl-Vergleich in der notify der Temperaturwerte.

Damian

Zitat von: rudolfkoenig schrieb am So, 29 September 2013 09:52Man koennte ein notify bauen, was je nach Schwellwert ein on oder off ausloest.

Dazu gibt es auch ein FHEM Modul, faellt mir aber nicht ein, wie es heisst.


THRESHOLD


siehe Parallel-Thread.

Gruß

Damian
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Mark

Ich schreibe jetzt den PID Wert in einen Dummy und werte, wie vorgeschlagen, mit einem notify aus.

Danke

Gruß Mark

Damian

Zitat von: Mark schrieb am So, 29 September 2013 15:17Ich schreibe jetzt den PID Wert in einen Dummy und werte, wie vorgeschlagen, mit einem notify aus.

Danke

Gruß Mark

Wäre mit einem Einzeiler wahrscheinlich einfacher gewesen:

define TH_Regler1 THRESHOLD Kessel_1_Temperatur:temp:5:50 Kessel_1_Heizung

Bedeutung: Hält die Kesseltemperatur zwischen 50 und 45 (50-5) Grad

Gruß

Damian
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Mark

Da hast Du natürlich Recht, zumal meine Wärmequelle nur 0 und 1 kennt.
Danke dafür.

Gruß Mark