KS300 Wetterstation Mail bei Regen

Begonnen von tekki, 24 Juni 2014, 21:32:35

Vorheriges Thema - Nächstes Thema

tekki

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



P.A.Trick

Schaue mal nach watchdog dein Code funktioniert nur beim ersten Mal!
Cubietruck,RPI,QNAP Ts-419p+, FS20, FRITZ!DECT200, 7 MAX! Thermostate, 3 MAX! Fensterkontakte, Kodi, CUL V3.3, EM1000S, LW12, LD382, HUE, HM-CFG-USB-2, 1x HM-LC-SW1-FM, 2x HM-LC-SW2-FM, 2x HM-LC-Sw1PBU-FM, 3xHM-LC-Bl1PBU-FM,HM-SEC-RHS, 2xHM-SEC-SD,HM-WDS30-T-O, 3x HM-LC-Dim1TPBU-FM, RPI+AddOn

tekki

Danke für die schnelle Antwort.
Bedeutet dies das es nur einmalig funktioniert oder immer wenn israining auf yes springt und vorher no war ?

P.A.Trick

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!)
Cubietruck,RPI,QNAP Ts-419p+, FS20, FRITZ!DECT200, 7 MAX! Thermostate, 3 MAX! Fensterkontakte, Kodi, CUL V3.3, EM1000S, LW12, LD382, HUE, HM-CFG-USB-2, 1x HM-LC-SW1-FM, 2x HM-LC-SW2-FM, 2x HM-LC-Sw1PBU-FM, 3xHM-LC-Bl1PBU-FM,HM-SEC-RHS, 2xHM-SEC-SD,HM-WDS30-T-O, 3x HM-LC-Dim1TPBU-FM, RPI+AddOn

tekki

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

P.A.Trick

Einfach in die commandref oder ins Wiki gucken dort gibt es wirklich viele Beispiele!
Cubietruck,RPI,QNAP Ts-419p+, FS20, FRITZ!DECT200, 7 MAX! Thermostate, 3 MAX! Fensterkontakte, Kodi, CUL V3.3, EM1000S, LW12, LD382, HUE, HM-CFG-USB-2, 1x HM-LC-SW1-FM, 2x HM-LC-SW2-FM, 2x HM-LC-Sw1PBU-FM, 3xHM-LC-Bl1PBU-FM,HM-SEC-RHS, 2xHM-SEC-SD,HM-WDS30-T-O, 3x HM-LC-Dim1TPBU-FM, RPI+AddOn

Puschel74

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
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

chris1284

#7
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");} }

tekki

Hallo,

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


Grüße
Ralph

tekki

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

tekki

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