Hallo @ all,
ich benötige etwas Hilfe von Euch.
Ich habe in meinen Räumen Homematic Temperatur und Feuchtigketssensoren verbaut.
Hier mein Problem:
Ich möchte eine Benachrichtigungsmail in der Zeit zwischen 7 und 18 Uhr bekommen wenn die Luftfeuchtigkeit zu hoch ist
und das in Abständen von 4 Stunden.
hier mein Skript:
HM_Kinderzimmer_Climate:humidity.* {
my $AZ_Hum = ReadingsVal("HM_Josi_Climate","humidity","");
if (ReadingsVal("HM_Kinderzimmer_Climate","humidity","") > 65) {
{ DebianMail('meineEMail@googlemail.com',"Luftfeuchtigkeit Kinderzimmer", "Im Kinderzimmer wurde der Luftfeuchtigkeitsalarm mit $AZ_Hum % Luftfeuchtigkeit ausgeloest") }}}
das sendet mir fast jede Minute eine Mail
ich dachte ich füge an das Ende des Skripts an, dass die notification für 4 Stunden auf inactiv gesetzt wird und wenn es 18 Uhr ist das es erst um 7 Uhr wieder active gesetzt wird.
Wie kann ich das realisieren?
MfG Marco
Es gibt ein Attribut disabledForIntervals
Zitat von: enchanter85 am 19 August 2017, 11:09:43
Hallo @ all,
ich benötige etwas Hilfe von Euch.
Ich habe in meinen Räumen Homematic Temperatur und Feuchtigketssensoren verbaut.
Hier mein Problem:
Ich möchte eine Benachrichtigungsmail in der Zeit zwischen 7 und 18 Uhr bekommen wenn die Luftfeuchtigkeit zu hoch ist
und das in Abständen von 4 Stunden.
hier mein Skript:
HM_Kinderzimmer_Climate:humidity.* {
my $AZ_Hum = ReadingsVal("HM_Josi_Climate","humidity","");
if (ReadingsVal("HM_Kinderzimmer_Climate","humidity","") > 65) {
{ DebianMail('meineEMail@googlemail.com',"Luftfeuchtigkeit Kinderzimmer", "Im Kinderzimmer wurde der Luftfeuchtigkeitsalarm mit $AZ_Hum % Luftfeuchtigkeit ausgeloest") }}}
das sendet mir fast jede Minute eine Mail
ich dachte ich füge an das Ende des Skripts an, dass die notification für 4 Stunden auf inactiv gesetzt wird und wenn es 18 Uhr ist das es erst um 7 Uhr wieder active gesetzt wird.
Wie kann ich das realisieren?
MfG Marco
Ich würde ein userReading machen. Wenn über 65 schreibe ein userReading mit Wert high. Und dann triggert du auf das high.
userReadings warnHumidity:humidity.* { ReadingsVal($NAME,"humidity","") > 65 ? "on" : "off")
Oh e Garantie ist aus dem Kopf
define BLUMEN_GIESSEN_DI DOIF ([?09:00-22:00] && ([":stateSoilMoisture: low"] && ([?$SELF:B_$DEVICE] ne "low" || [?$SELF:B_$DEVICE:sec] > 21600)))\
(\
set PUSHBULLET message Pflanze $DEVICE gießen | GIEßEN, set PUSHBULLET message Pflanze $DEVICE gießen | GIEßEN\
)\
DOELSEIF ([":stateSoilMoisture: ok"] && [?$SELF:B_$DEVICE] ne "ok")\
(\
setreading $SELF B_$DEVICE ok\
)
attr BLUMEN_GIESSEN_DI do always
Das könntest du etwas anpassen, so dass es für deine Zwecke passt. Hier bekomme ich Benachrichtigungen nur in einer bestimmten Zeit und nur alle 6 Stunden, wenn die Bodenfeuchtigkeit zu weit abfällt.
Zitat von: enchanter85 am 19 August 2017, 11:09:43
hier mein Skript:
HM_Kinderzimmer_Climate:humidity.* {
my $AZ_Hum = ReadingsVal("HM_Josi_Climate","humidity","");
if (ReadingsVal("HM_Kinderzimmer_Climate","humidity","") > 65) {
{ DebianMail('meineEMail@googlemail.com',"Luftfeuchtigkeit Kinderzimmer", "Im Kinderzimmer wurde der Luftfeuchtigkeitsalarm mit $AZ_Hum % Luftfeuchtigkeit ausgeloest") }}}
nur so als zwischenfrage (der rest wurde denke ich schon beantwortet):
du fragst unterschiedliche devices ab, soll das so sein?
einmal
HM_Josi_Climate (zuweisen von $AZ_Hum) und das nächste mal für die Abfrage benutzt du
HM_Kinderzimmer_Climate !?