FHEM Forum

FHEM => Automatisierung => Thema gestartet von: tekki am 24 Juni 2014, 21:32:35

Titel: KS300 Wetterstation Mail bei Regen
Beitrag von: tekki am 24 Juni 2014, 21:32:35
Hallo zusammen,

ich nutze seit einiger Zeit nun auch FHEM und habe schon einige Sachen dank des Forums geschafft. Nun versuche ich schon seit einiger Zeit mir per notify eine Mail schicken zu lassen, sobald es regnet. Das Problem ist das die Meldung israining yes bei jedem Update der Wetterstation mitgeschickt wird. Somit bekomme ich dauernd E-Mails. Ich würde aber gerne nur eine erhalten. Ich habe es trotz suchen im Forum noch nicht hinbekommen und möchte hier nun meinen letzten Test posten. Vielleicht kann mir jemand weiterhelfen.

define Regen_Ja notify KS300 { if ( Value("KS300.israining") eq "yes" && OldValue("KS300.israining") eq "no") {\
DebianMail('xxxx@@xxxx.de','Regen - Anfang','Es regnet nun in xxxxx);;} \
}

Vielen Dank schon mal im Voraus.
Ralph


Titel: Antw:KS300 Wetterstation Mail bei Regen
Beitrag von: P.A.Trick am 24 Juni 2014, 21:33:57
Schaue mal nach watchdog dein Code funktioniert nur beim ersten Mal!
Titel: Antw:KS300 Wetterstation Mail bei Regen
Beitrag von: tekki am 24 Juni 2014, 21:37:52
Danke für die schnelle Antwort.
Bedeutet dies das es nur einmalig funktioniert oder immer wenn israining auf yes springt und vorher no war ?
Titel: Antw:KS300 Wetterstation Mail bei Regen
Beitrag von: P.A.Trick am 24 Juni 2014, 21:39:19
Ich benutze zwei Watchdog die sich gegenseitig aktivieren fuer meine Fensterkontakte! damit erhältst du nur eine Nachricht solang es regnet und eine neue wenn es nicht mehr regnet (wenn du willst!)
Titel: Antw:KS300 Wetterstation Mail bei Regen
Beitrag von: tekki am 24 Juni 2014, 21:44:28
Danke, wie müsste denn so ein define watchdog lauten?
Ich bräuchte nur einen kleinen Hinweis, wie ich dies beginnen muss, würde dann selbst wieder weiter versuchen.

Danke Euch
Titel: Antw:KS300 Wetterstation Mail bei Regen
Beitrag von: P.A.Trick am 24 Juni 2014, 21:45:21
Einfach in die commandref oder ins Wiki gucken dort gibt es wirklich viele Beispiele!
Titel: Antw:KS300 Wetterstation Mail bei Regen
Beitrag von: Puschel74 am 24 Juni 2014, 21:58:02
Hallo,

ich fahr per Regenmeldung meiner KS300 im DG die Rollläden runter.

Der Code dazu:
WetterstationEingang_extern:israining.* {
  my $israin=ReadingsVal("WetterstationEingang_extern","israining","yes");
  if ($israin eq "yes") {
    fhem ("set DG_Rollo_.* on") if(Value("DG_Rollo_Bad") ne "Runter");
  }
}


Grüße
Titel: Antw:KS300 Wetterstation Mail bei Regen
Beitrag von: chris1284 am 24 Juni 2014, 22:02:47
ich habe mir dafür ein userreading angelegt welches bei gesendeter nachricht auf 1 gesetzt wird und sobald es nicht mehr regnet und es auf 1 ist auf 0 gesetzt wird.
so bekomme ich nur einmal eine nachricht wenn es regnet und solange keine mehr bis es wieder aufgehört hat (hatte vorher auch das problem und alle paar minuten eine nachricht bekommen)

das reading heisst bei mir rainmsg_send
attr KS300Clone userReadings rainmsg_send


das notify (hier für eine push-nachricht)

KS300Clone:israining:.* {
if ($EVTPART1 eq "yes" && ReadingsVal("KS300Clone","rainmsg_send","0") eq "0")
{fhem("set PushMsg msg 'Es regnet. Hol die Wäsche rein'");fhem("setreading KS300Clone rainmsg_send 1");}
elsif ($EVTPART1 eq "no" && ReadingsVal("KS300Clone","rainmsg_send","0") eq "1")
{fhem("set PushMsg msg \"Es hat aufgehoert zu regnen\"");fhem("setreading KS300Clone rainmsg_send 0");} }
Titel: Antw:KS300 Wetterstation Mail bei Regen
Beitrag von: tekki am 25 Juni 2014, 20:08:48
Hallo,

danke für die Antworten. Werde es bei mir versuchen und mich wieder melden.


Grüße
Ralph
Titel: Antw:KS300 Wetterstation Mail bei Regen
Beitrag von: tekki am 25 Juni 2014, 21:34:02
Hallo chris,

ich habe jetzt versucht deinen Code an meine Umgebung anzupassen. Leider bekomme ich es nach vielen Versuchen nicht hin. Stehe jetzt auch total auf dem Schlauch. Ich finde nicht heraus wo ich welche Klammer falsch gesetzt habe. Wäre super wenn Du mir weiterhelfen könntest.

define Regen_Limbach notify KS300:israining:.* {\
if ($EVTPART1 eq "yes" && ReadingsVal("KS300","Mail_send","0") eq "0") {\
DebianMail('xxxx@@xxxx.de','Es hat zu regnen begonnen','Es regnet jetzt in Limbach');;fhem(setreading KS300 Mail_send 1);;}
elsif ($EVTPART1 eq "no" && ReadingsVal("KS300","Mail_send","0") eq "1") {\
DebianMail('xxxx@@xxxxxx.de','Es hat zu regnen begonnen','Es regnet jetzt in Limbach');;fhem("setreading KS300 Mail_send 0");;}\}

Danke
Ralph
Titel: Antw:KS300 Wetterstation Mail bei Regen
Beitrag von: tekki am 28 Juni 2014, 22:02:33
Hallo,

ich habe einen neuen Stand erreicht. Mit folgendem Code (zwei Notifys) habe ich es nun hinbekommen, dass mir nur eine Mail gesendet wird.

define Regen_Ja notify KS300 IF  ([KS300:israining] eq "yes") ( \
IF ([KS300:Mail_send] eq "0") ( { DebianMail('xxxx@@xxxxx.xx','Regen-Alarm','Es regnet nun in Limbach') } ),(setreading KS300 Mail_send 1) )
define Regen_Nein notify KS300 IF  ([KS300:israining] eq "no") ( \
IF ([KS300:Mail_send] eq "1") ( { DebianMail('xxxx@@xxxxx.xx','Regen-Ende','Es regnet nun in Limbach') } ),(setreading KS300 Mail_send 0) )

Ich habe jetzt schon viel versucht, aber ich schaffe es nicht nicht, beide notify wie oben beschrieben in eine zusammen zu fassen.
Wenn ich elsif einfüge bringt er beim zweiten Mailaufruf immer einen Klammerfehler. Was muss ich denn tun, damit ich wie oben nur einen notify brauche.

Vielen Dank
Ralph