FHEM Forum

FHEM => Automatisierung => DOIF => Thema gestartet von: aolw am 07 Februar 2017, 20:53:43

Titel: DOIF für die Temperatursteuerung
Beitrag von: aolw am 07 Februar 2017, 20:53:43
Hallo zusammen,

Ich versuche gerade meine Klimaanlage im Wintergarten temperaturabhängig zu steuern.
Dazu soll sie sich einschalten, wenn die Temperatur unter 10° sinkt und bei 15° wieder ausschalten.

Das habe ich soweit schon hinbekommen:
Zitat([Temp_WG:temperature] < 10) (set WG_Klima on)  DOELSEIF ([Temp_WG:temperature] > 15) (set WG_Klima off)

Nun soll aber zusätzlich noch einmal die Anlage zur Kühlung eingeschaltet werden, wenn die Temperatur durch die Sonne auf über 30° steigt und dann wieder bei 25° ausschalten.

Irgendwie fehlt mir hier der Ansatz der Umsetzung.
Hat jemand eine Idee??

Schon mal vielen Dank für die Unterstützung :)
Titel: Antw:DOIF für die Temperatursteuerung
Beitrag von: Otto123 am 07 Februar 2017, 20:55:27
Hi,

mach es mit THRESHOLD, das Modul ist genau dafür gemacht.

Gruß Otto
Titel: Antw:DOIF für die Temperatursteuerung
Beitrag von: aolw am 07 Februar 2017, 21:10:14
das heisst, zwei thresholds definieren, einmal temperature:15:5 und zweitens temperature:30:5 ???
Titel: Antw:DOIF für die Temperatursteuerung
Beitrag von: Otto123 am 07 Februar 2017, 21:16:43
genau :) den zweiten eventuell noch mit dem Zusatz set @ on|set @ off -> Befehle "umkehren"

Aber es geht auch mit DOIF, in der commandref gibt es glaube ich extra Beispiele für "threshold".

Aber ich mache es lieber mit threshold  :D

Gruß Otto
Titel: Antw:DOIF für die Temperatursteuerung
Beitrag von: aolw am 07 Februar 2017, 21:17:54
Danke Otto, ich teste das mal aus und melde mich dann nochmal
Titel: Antw:DOIF für die Temperatursteuerung
Beitrag von: Otto123 am 07 Februar 2017, 21:26:44
Zitat von: aolw am 07 Februar 2017, 21:17:54
Danke Otto, ich teste das mal aus und melde mich dann nochmal
Kann länger dauern mit der Kühlung  ;D
Was ich meinte ist dies hier ->
Zitatcmd1_gt (optional)
FHEM/Perl command that is executed, if the value of the sensor is higher than desired value and/or the value of sensor 2 is matchted. @ is a placeholder for the specified actor.
default value: set actor off, if actor defined

cmd2_lt (optional)
FHEM/Perl command that is executed, if the value of the sensor is lower than threshold_min or the value of sensor 2 is not matchted. @ is a placeholder for the specified actor.
default value: set actor on, if actor defined
Ich denke die Kühlung läuft andersrum, aber das Beispiel in der commandref macht es eigentlich klar.

Viel Erfolg

Gruß Otto
Titel: Antw:DOIF für die Temperatursteuerung
Beitrag von: Damian am 07 Februar 2017, 23:01:48
Die Sache mit zwei THRESHOLDS auf ein Device wird kritisch, denn

Threshold 1  wird z. B. bei 31 (31>15) abschalten und Threshold 2 wird bei 31 (31>30) einschalten.

Beide Bedingung widersprechen sich.

Deswegen brauchst du noch eine logische Bedingung ob Sommer oder Winterbetrieb, die du abfragen solltest. Du kannst alles in ein DOIF packen oder du aktivierst/deaktivierst zwei THRESHOLD im Wechsel z. B. über ein DOIF.



Titel: Antw:DOIF für die Temperatursteuerung
Beitrag von: Otto123 am 07 Februar 2017, 23:37:09
Hallo Damian,

nein sollte doch 10-15 und 30-25 sein.

Das eine THRESHOLD zum Heizen das andere zum Kühlen.

So hatte ich es verstanden.

Gruß Otto
Titel: Antw:DOIF für die Temperatursteuerung
Beitrag von: Damian am 08 Februar 2017, 09:34:38
Zitat von: Otto123 am 07 Februar 2017, 23:37:09
Hallo Damian,

nein sollte doch 10-15 und 30-25 sein.

Das eine THRESHOLD zum Heizen das andere zum Kühlen.

So hatte ich es verstanden.

Gruß Otto

eben, deswegen wird bei über 15 (z. B. 31) Threshold 1 abschalten und Threshold 2 einschalten, weil er bei über 30 kühlen will.
Titel: Antw:DOIF für die Temperatursteuerung
Beitrag von: Otto123 am 08 Februar 2017, 10:30:17
Zitat von: Damian am 08 Februar 2017, 09:34:38
eben, deswegen wird bei über 15 (z. B. 31) Threshold 1 abschalten und Threshold 2 einschalten, weil er bei über 30 kühlen will.
Ich hatte ausgeblendet, dass es ein Gerät ist  :-[
Titel: Antw:DOIF für die Temperatursteuerung
Beitrag von: Da_Erdinga am 10 Februar 2017, 23:37:39
Hallo,

ich klinke mich jetzt hier mal in das Thema mit ein, da ich ein ähnliches "Problem" habe.

Und zwar möchte ich, das eine von meinen Elektro-Heizungen temperaturmässig sicherheitsüberwacht werden.
Das hat den Grund, das ich in der letzten Zeit 3 Tage hatte, an denen die Soll-Temperatur DEUTLICH überschritten worden ist.
Ich schalte dazu einen Kanal vom 4-Kanal-Schalter HM-LC-Sw4-DR über einen Wandthermostat HM-TC-ITWM-W-EU.

Jetzt möchte ich einfach einen weiteren Kanal des Sw4 als Sicherheit über ein THRESHOLD schalten, der z.B. bei 19 Grad ab und bei 16 Grad wieder einschaltet.

Jetzt ist meine eigentliche Frage die, wie ich das Threshold definieren muss, damit ich diese Hysterese zusammenbringe.

Einen THRESHOLD habe ich mir schon so:
define Hitzeschutz THRESHOLD HZG_EG_Eltern HZG_EG_Eltern_Sicherheit
definiert.

TfH
Titel: Antw:DOIF für die Temperatursteuerung
Beitrag von: Otto123 am 11 Februar 2017, 00:07:25
Hi Dirk,

<climatechannel>:measured-temp:3:19 <aktor_channel>
denke ich.
Titel: Antw:DOIF für die Temperatursteuerung
Beitrag von: Da_Erdinga am 11 Februar 2017, 00:56:08
Hi Otto,

wenn ich es so:
define Hitzeschutz THRESHOLD HZG_EG_Eltern :measured-temp:3:19 HZG_EG_Eltern_Sicherheit
einegebe, bekomme ich folgende Fehlermeldung: Hitzeschutz: Unknown actor device :measured-temp:3:19 specified
Titel: Antw:DOIF für die Temperatursteuerung
Beitrag von: Otto123 am 11 Februar 2017, 01:17:09
falls Dein Thermostat sein climate Kanal HZG_EG_Eltern heißt und Dein Aktor Kanal HZG_EG_Eltern_Sicherheit heißt dann
define Hitzeschutz THRESHOLD HZG_EG_Eltern:measured-temp:3:19 HZG_EG_Eltern_Sicherheit
Hatte ich da irgendwo ein <climatechannel>:measured-temp ein Leerzeichen dazwischen  :o

Gruß Otto
Titel: Antw:DOIF für die Temperatursteuerung
Beitrag von: Da_Erdinga am 11 Februar 2017, 21:04:53
Hallo Otto,

wer lesen kann ist klar im Vorteil  ;D
Das da ein Leerzeichen gefehlt hat habe ich übersehen  8)

Jetzt funktioniert es so, wie ich es mir gedacht habe.

Vielen lieben Dank nochmal.