Temperaturabfall überwachen mit vorheriger Temperatur Bedingung

Begonnen von Larusso, 25 November 2018, 11:36:35

Vorheriges Thema - Nächstes Thema

Larusso

Hallo zusammen,

ich habe eine etwas Kniffelige Aufgabenstellung und weis nicht genau wie und ob man sie umsetzen kann. Ich möchte das ein DOIF bei erreichen der Temperatur eines Sensors bei 70°C aktiviert wird. Ab diesem Zeitpunkt soll geschaut werden wann die Temperatur wider 10°C erreicht hat und dann eine Aktion auslöst. Das ganze soll nach einmaligen Ausführen wider resetet werden, also erst wider aktiviert werden wenn die 70°C wider als Voraussetzung erreicht wurden.  Vielleicht denke ich auch zu kompliziert? Als züsatzlich Bedingung könnte ich noch die Beleuchtung in der Sauna abfragen und auf diese reagieren, da wir zum Lüften das Licht immer ausschalten wenn wir Abends in der Sauna waren, sonst ist alles voller Fiecher.........

Bedingung ein wäre in dem Fall
([ESPEasy_Sauna_Klima:Temperature] == 70)

bei Bedingung zwei stehe ich auf dem Schlauch
es soll nun gewartet werden bis die 10°C erreicht wurden da weis ich irgendwie nicht wie ich das verknüpfe

Ausgabe
(set MyTTS volume 60, set MyTTS tts Sauna ist gelüftet, bitte Türen schließen)

nachdem die Ausgabe stattgefunden hat ist das DOIF beendet und wartet mit do always auf das nächste erreichen der 70°C.
nanoCul434MHz, nanoCul868MHz, HueBridge, shellyRolladenaktoren, Nuki, Homematic, RPI3, Homebridge, Sonoffbridge, Xiaomi Saugrobotter,

Byte09

#1
*** gelöscht ***


edit:
sorry, habe die vorgeschlagene lösung wieder gelöscht , da ich erst jetzt gesehen habe, das das hier im DOIF-bereich liegt , du dich somit ja schon für ein DOIF-Ansatz entschieden hast und meine Lösung eine andere gewesen wäre.

gruss Byte09

Gisbert

#2
Hallo Larusso,

als erstes schau in die commandref, deutsche Ausgabe bei DOIF rein.

Zweitens, wie wäre es damit?
define Ueberwachung DOIF [ESPEasy_Sauna_Klima:Temperature] >= 70 set Blablabla1 on DOELSEIF [ESPEasy_Sauna_Klima:Temperature] <= 10 set Blablabla2 off
Nicht getestet.
Meinst du wirklich 10°C oder 10° Differenz?
Mit den Attributen do, repeatsame kannst du steuern wie oft ein Befehl ausgeführt wird.

Viele​ Grüße​ Gisbert​

Edit: vielleicht fehlen noch runde Klammern um die Bedingungen und Ausführungen.
Aktuelles FHEM | PROXMOX | Fujitsu Futro S740 | Debian 12 | UniFi | Homematic, VCCU, HMUART | ESP8266 | ATtiny85 | Wasser-, Stromzähler | tuya local | Wlan-Kamera | SIGNALduino, Flamingo Rauchmelder FA21/22RF | RHASSPY | DEYE | JK-BMS | ESPHome

Larusso

Hallo Gisbert,

mit der commandref habe ich mich auseinander gesetzt. Auch die Syntax in Bezug auf DOELSEIF habe ich verstanden. Das Problem was ich habe ist das ich nicht weis wie ich es umsetzen soll das das DOIF erkennt das die Sauna an war also Temperatur erreicht und dann wartet bis einmalig 10°C (Abkühlen der Sauna) erreicht ist und dann eine Aktion ausführt. In der Bedingung DOELSEIF die du mir vorgeschlagen hast würde es ja auslösen wenn die Temperatur kleiner gleich 10°C ist und das immer auch wenn die Sauna vorher nicht hochgeheizt hat auf 70°C oder immer wenn die Saunatemperatur größer gleich 70°C ist.

Ich hoffe du verstehst mein Problem. Ich könnte das ganze auch mit der Beleuchtung in der Sauna koppeln, da ich diese immer ausschalte nachdem wir fertig sind, aber wenn ich tagsüber Sauniere und es hell ist benötige ich keine Innenbeleuchtung in der Sauna. Somit wäre das auch keine saubere Abfrage. Ich bin auch nur auf diese Idee gekommen weil ich schon einmal vergessen habe nach dem Lüften die Sauna zu schließen und am nächsten morgen war der Eingangsbereich ziemlich nass durch regen.

Wenn jemand eine andere Idee hat notify oder ähnliches würde ich es auch damit lösen, der Beitrag kann dann natürlich auch verschoben werden.
nanoCul434MHz, nanoCul868MHz, HueBridge, shellyRolladenaktoren, Nuki, Homematic, RPI3, Homebridge, Sonoffbridge, Xiaomi Saugrobotter,

Damian

define Ueberwachung DOIF ([ESPEasy_Sauna_Klima:Temperature] >= 70) (set Blablabla1 on) DOELSEIF ($cmd == 1 and [ESPEasy_Sauna_Klima:Temperature] <= 10) (set Blablabla2 off)

Der zweite Zweig wird so nur ausgeführt, wenn zuvor der erste ausgeführt wurde.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Larusso

Danke Damian, werde ich spätestens nächstes Wochenende testen und mich dann im Thema noch mal dazu melden.
nanoCul434MHz, nanoCul868MHz, HueBridge, shellyRolladenaktoren, Nuki, Homematic, RPI3, Homebridge, Sonoffbridge, Xiaomi Saugrobotter,