Hallo zusammen,
ich weis bei einem keinen Problem nicht wirklich weiter. Ich habe einen DHT11 der den Keller überwacht, wenn dann die Luftfeuchtigkeit zu hoch ist bekomme ich ein Telegram. Soweit funktioniert alles, aber ich bekomme bei überschreitung alle paar Sekunden eine msg. Liegt das am "do always"? Wie verhält sich das DOIF wenn ich do always raus nehme? Ich möchte am liebsten nur alle zwei bis drei Stunden eine Nachricht wenn die Luftfeuchtigkeit überschritten wird, oder eine Nachricht wenn sie überschritten wird und die nächste soll erst dann auslösen wenn die Luftfeuchtigkeit einmal unter den Sollwert gefallen ist und diesen wider überschreitet.
Wäre schön wenn jemand helfen kann, anbei noch meine device list:
Internals:
DEF ([?10:00 - 22:00] and [Keller:Humidity] > 70) (set Telegram msg Achtung Keller zu feucht die Luftfeuchtigkeit beträgt [Keller:Humidity]% bei [Keller:Temperature]°C Raumtemperatur bitte lüften)
NAME Keller_feucht_Telegram
NR 337
NTFY_ORDER 50-Keller_feucht_Telegram
STATE initialized
TYPE DOIF
READINGS:
2018-01-27 17:26:22 cmd 0
2018-01-27 17:26:22 mode enabled
2018-01-27 17:26:22 state initialized
2018-01-27 17:26:22 timer_01_c01 28.01.2018 10:00:00
2018-01-27 17:26:22 timer_02_c01 27.01.2018 22:00:00
Regex:
condition:
0 DOIF_time($hash,0,1,$wday,$hms) and ReadingValDoIf($hash,'Keller','Humidity') > 70
days:
devices:
0 Keller
all Keller
do:
0:
0 set Telegram msg Achtung Keller zu feucht die Luftfeuchtigkeit beträgt [Keller:Humidity]% bei [Keller:Temperature]°C Raumtemperatur bitte lüften
1:
helper:
DOIF_Readings_events
DOIF_eventas
globalinit 1
last_timer 2
sleeptimer -1
interval:
0 -1
1 0
itimer:
localtime:
0 1517130000
1 1517086800
readings:
0 Keller:Humidity
all Keller:Humidity
realtime:
0 10:00:00
1 22:00:00
time:
0 10:00:00
1 22:00:00
timeCond:
0 0
1 0
timer:
0 0
1 0
triggertime:
1517086800:
localtime 1517086800
hash:
1517130000:
localtime 1517130000
hash:
uiState:
uiTable:
Attributes:
alias Telegram Keller feucht
do always
event-on-change-reading 1
room Telegram
:o
Do always raus und ein DOELSEIF mit < 70 rein
Kurz, weil mobil...
super KernSani, danke...... ;D
sollte dann so funktionieren oder?
([?10:00 - 22:00] and ELSEIF [Keller:Humidity] > 70) (set Telegram msg Achtung Keller zu feucht die Luftfeuchtigkeit beträgt [Keller:Humidity]% bei [Keller:Temperature]°C Raumtemperatur bitte lüften)
ach nee mal wider die syntax, ich verstehe es nicht.....
([?10:00 - 22:00] and [Keller:Humidity] > 70)
(set Telegram msg Achtung Keller zu feucht die Luftfeuchtigkeit beträgt [Keller:Humidity]% bei [Keller:Temperature]°C Raumtemperatur bitte lüften)
DOELSEIF ([Keller:Humidity] < 70)
()
und do always wie gesagt raus.
Dann bleibt das DOIF, in CMD_1 (und sendet keine weiteren messages), wenn Keller:Humidity unter 70 fällt, wechselt das DOIF in CMD_2 (löst aber kein Kommando aus). Wenn das nächste mal > 70 wird wieder eine Nachricht geschickt.
vielen dank KernSani, ich teste mal eben ................
läuft, nochmal danke. ::)