benötige Skripthilfe Benachrichtigungsmail zu hohe Feuchtigkeit

Begonnen von enchanter85, 19 August 2017, 11:09:43

Vorheriges Thema - Nächstes Thema

enchanter85

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

igami

Pi3 mit fhem.cfg + DbLog/logProxy
Komm vorbei zum FHEM Treffen im Kreis Gütersloh! Das nächste Mal im April 2020.

MAINTAINER: archetype, LuftdatenInfo, monitoring, msgDialog, Nmap, powerMap
ToDo: AVScene, FluxLED

CoolTux

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.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

CoolTux


userReadings warnHumidity:humidity.* { ReadingsVal($NAME,"humidity","") > 65 ? "on" : "off")


Oh e Garantie ist aus dem Kopf
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

mumpitzstuff

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.

nils_

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 !?
viele Wege in FHEM es gibt!