FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: enchanter85 am 19 August 2017, 11:09:43

Titel: benötige Skripthilfe Benachrichtigungsmail zu hohe Feuchtigkeit
Beitrag 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
Titel: Antw:benötige Skripthilfe Benachrichtigungsmail zu hohe Feuchtigkeit
Beitrag von: igami am 19 August 2017, 11:22:00
Es gibt ein Attribut disabledForIntervals
Titel: Antw:benötige Skripthilfe Benachrichtigungsmail zu hohe Feuchtigkeit
Beitrag von: CoolTux am 19 August 2017, 11:39:30
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.
Titel: Antw:benötige Skripthilfe Benachrichtigungsmail zu hohe Feuchtigkeit
Beitrag von: CoolTux am 19 August 2017, 11:46:17

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


Oh e Garantie ist aus dem Kopf
Titel: Antw:benötige Skripthilfe Benachrichtigungsmail zu hohe Feuchtigkeit
Beitrag von: mumpitzstuff am 20 August 2017, 01:30:31
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.
Titel: Antw:benötige Skripthilfe Benachrichtigungsmail zu hohe Feuchtigkeit
Beitrag von: nils_ am 23 August 2017, 15:07:22
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 !?