Autor Thema: Batteriewarnung - Problem mit E-Mails  (Gelesen 5753 mal)

Offline Alex85

  • Full Member
  • ***
  • Beiträge: 105
Batteriewarnung - Problem mit E-Mails
« am: 09 Januar 2013, 18:37:09 »
Hallo zusammen,

habe folgendes in mein FHEM eingebaut um eine Warnung zu bekommen wenn der Batteriestatus auf low geht:

define n_batt_chk notify .*:[Bb]attery.* { if("%" !~ m/ok/) {\
  {FB_mail('MEINEADRESSE@@MEINPROVIDER.de','FHEM Batteriewarnung','@ %')};;\
    Log 3, "@: Batteriewarnung %";;\
    }\
  }


Funktioniert auch soweit prima. Leider etwas zu gut.
Ich werde mit Warn-mails zugespamt.

LOG meiner FritzBox:

04.01.13

17:41:04

E-Mail-Zustellung gescheitert. SMTP-Server meldet: "550 5.7.1 Send quota exceeded, try again in 22738 seconds".


Wie kann ich erreichen, dass diese Benachrichtigung nur beim initialen Ändern des Status auf low kommt und nicht andauernd.Desweiteren würde ich noch gerne einen 2. Empfänger ins CC setzen für diese Nachricht.
Vielen Dank schonmal für eure Hilfe.
Alex

Offline Puschel74

  • Hero Member
  • *****
  • Beiträge: 9828
Aw: Batteriewarnung - Problem mit E-Mails
« Antwort #1 am: 09 Januar 2013, 18:52:26 »
Hallo,

Willst du nur einmal pro Gerät ne Mail bekommen oder generell nur die erste Batteriewarnung seit rücksetzen?

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.

Offline LaLeLu

  • Jr. Member
  • **
  • Beiträge: 60
Aw: Batteriewarnung - Problem mit E-Mails
« Antwort #2 am: 10 Januar 2013, 07:07:28 »
Lasse Dir doch einmal am Tag die Mails zusenden:

define n_batterie_check notify .*:.*[Bb]attery.* {  \
    my $myNow = sprintf("%%02d:%%02d:%%02d", $hour, $min, $sec);;\
   if("%" !~ m/ok/ and $myNow gt "19:00:00" and $myNow le "20:00:00") {\
     {Log 3, ('  n_batterie_check Notify: @: Batteriewarnung %') }\
      FB_mail('deine.email@@adresse.de',"FHEM Batterie-Warnung","@: Batteriewarnung %") ;;\
  } \
}
LaLeLu

Fhem Release: 5.6 auf RaspberryPI B (wheezy)
1xFB7390, 1xCUL, 1xHM-CFG-LAN, 4xFHT, 25xFS20 (inkl. PIRA), 18xCUL_HM, 5xCUL_WS, 2xSONOS-Player, calendar, floorplan

Offline Puschel74

  • Hero Member
  • *****
  • Beiträge: 9828
Aw: Batteriewarnung - Problem mit E-Mails
« Antwort #3 am: 10 Januar 2013, 09:22:03 »
Hallo und Guten Morgen,

und das klappt das nur einmal am Tag Mails rausgehen?
Oder kann es passieren das zwischen 19 Und 20 Uhr dann im Minutentakt Mails einrauschen?

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.

Offline Alex85

  • Full Member
  • ***
  • Beiträge: 105
Aw: Batteriewarnung - Problem mit E-Mails
« Antwort #4 am: 10 Januar 2013, 09:59:22 »
Ich hätte gerne nur die erste Warnung seit der Status der Batterie des Geräts von OK auf low geht (und umgekehrt).
Also Batterie für irgendein Gerät ist low / state wechselt auf low -> ich bekomme eine Mail.
Das Problem ist behoben (Batteriewechsel) / state wechselt zurück auf OK -> ich bekomme erneut eine Mail, dass das Problem behoben ist.
 

Offline LaLeLu

  • Jr. Member
  • **
  • Beiträge: 60
Aw: Batteriewarnung - Problem mit E-Mails
« Antwort #5 am: 10 Januar 2013, 19:25:02 »
Für mich ist es so genau richtig. Es kommen halt ein paar Mails, aber dann wechsele ich die Batterien auch schnell und übersehe es nicht.
Falls doch nicht, werde ich am nächsten Tag eben wieder erinnert.

Du kannst jedoch auch den Zeitraum auf z.B. 5 Minuten stellen und alles ist auch gut.

Alle anderen Konstrukte gehen natürlich auch. Z.B. über ein if ... else mit einem Dummy, der auf "gesendet" gesetzt wird und danach eben den Versand verhindert.
Allerdings muss man diesen dann wiederum auch irgendwann wieder reseten.
So etwas ist mir aber in diesem Fall zu aufwändig. Die Batterien halten ja für mein Empfinden sehr lange.

Aber vielleicht hat ja noch jemand einen anderen Codeschnipsel?
LaLeLu

Fhem Release: 5.6 auf RaspberryPI B (wheezy)
1xFB7390, 1xCUL, 1xHM-CFG-LAN, 4xFHT, 25xFS20 (inkl. PIRA), 18xCUL_HM, 5xCUL_WS, 2xSONOS-Player, calendar, floorplan

Offline UliM

  • Global Moderator
  • Hero Member
  • ****
  • Beiträge: 2709
Aw: Batteriewarnung - Problem mit E-Mails
« Antwort #6 am: 10 Januar 2013, 19:25:06 »
Hi,
wenn das wirklich in state steht, kannst Du mit OldValue() arbeiten, siehe http://fhem.de/commandref.html#perl

M.Wö. steht aber der Batterie-Status nur in einem Reading, da gibt's so ne Funktion m.W. nicht.
D.h. Du müsstest den aktuellen Batteriestatus immer irgendwo hineschreiben, um beim nächsten Durchlauf prüfen zu können, ob er sich im Vergleich zum vorherigen Lauf geändert hat.
Anregung:
Link

Gruß, Uli
RPi2/Raspbian, CUL V3 (FS20, CUL_WS), HM-CFG-USB (ca. 30 HomeMatic-devices), LAN (HueBridge, iTunes, HarmonyHub etc.). Slave-Installation auf OSX.
Aktives Mitglied des FHEM e.V. (Marketing)

Offline WiKa

  • Full Member
  • ***
  • Beiträge: 130
Aw: Batteriewarnung - Problem mit E-Mails
« Antwort #7 am: 10 Januar 2013, 22:36:13 »
Zitat von: Puschel74 schrieb am Do, 10 Januar 2013 09:22
kann es passieren das zwischen 19 Und 20 Uhr dann im Minutentakt Mails einrauschen?


Hallo Puschel74,
die Anzahl der Mails im o.g. Zeitraum hängt von der "Geschwätzigkeit" deiner Geräte ab.
Mein geschwätzigster Sensor liefert ca. alle 20 Sec eine Meldung.
3 Mails/Min sollte dein Mailprovider noch nicht als SPAM einordnen.

Wenn Du den "Meldezeitraum" aus dem Codebeispiel von LaLeLu auch noch auf deine Anwesenheitszeit @home/FHEM begrenzt, kannst Du die Batterien ja sofort tauschen.

Ohne eigenes kompetentes Servicepersonal @home/FHEM kannst Du ja mit der Information  bzgl. der leeren Batterie z.B. um 11:00 Uhr Unter Tage/Im Büro absolut nichts am Zustand des Sensors ändern.

Schön wäre deine angestrebte Lösung mit nur 1 Meldung/Sensor schon, der dazu notwendige Code müsste allerdings für jeden Sensor eine eigene Variable verwalten.

Lt. Murphy leidet nicht nur ein Sensor an Batterieinsuffizienz.

Weniger ist manchmal mehr.

@LaLeLu: Lieben Dank für den Code - ist übernommen und reicht mir ebenso wie dir.

VG
WiKa
 

FB7390 FW:FRITZ!OS 05.50 / RFXTRX433 FW:433_64 / ELRO AB440R (modified to IT-Code) - AB440S (IT-Code) - AB440IS (IT-Code) / Oregon THGN132N - THN132N - THGR122N / Intertechno PAR-1000 - PAR1500

Offline Puschel74

  • Hero Member
  • *****
  • Beiträge: 9828
Aw: Batteriewarnung - Problem mit E-Mails
« Antwort #8 am: 13 Januar 2013, 09:45:51 »
Hallo,

da ich sowieso zur Anzeige auf der Hauptseite einen Dummy benutze erlaube ich mir mal auch meinen
Teil hier rein zu kopieren ;-)

define Batterie_Leer dummy
attr Batterie_Leer eventmap /on:Batterie/off:OK/
attr Batterie_Leer webcmd OK


.*:[Bb]attery.* {
  if("%" !~ m/ok/) {
    if (Value("Batterie_Leer") eq "OK") {
      fb_mail('xxxxx.yyyyyyy@@zzzzzzz.dd','FHEM Batteriewarnung','@ %');
      fhem ("set Batterie_Leer on");
    }
    Log (3,"Mail ist schon raus");
    Log (3,"@: Batteriewarnung %");
  }
}


Logeinträge stören mich weniger ;-)
Aber so gibt es, leider?, nur eine Mail pro Auslösung - egal welches Device Batterie nicht ok meldet.
Aber im Logfile sehe ich ja dann wenn es mehr sind.

Vllt. gefällt es ja dem einen oder anderen ;-)

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.

Online stobor

  • Full Member
  • ***
  • Beiträge: 407
Aw: Batteriewarnung - Problem mit E-Mails
« Antwort #9 am: 19 Januar 2013, 20:02:19 »
Das klingt ja interessant. Wie könnte ich das denn für meine HMS 100-TF Temperaturfühler übernehmen, so dass mir die FritzBox mailt?

Im Log steht immer folgendes:
2013.01.19 19:56:33 3: list KlimaGarten STATE : KlimaGarten T: -6  H: 70.3  Bat: ok

Muss in der FritzBox noch irgend etwas aktiviert werden, damit Mails verschickt werden können?

Ich habe gerade einmal folgendes probiert, doch da tat sich gar nix:
define n_batt_chk notify .*:Bat:.* { if("%" ~ m/ok/) {\
  {FB_mail('meine@@adresse.xx','FHEM Batteriewarnung','@ %')};;\
    Log 3, "@: Batteriewarnung %";;\
    }\
  }


Danke für Hilfe.
Intel NUC mit CUL V3.2 (Firmware 1.57 CUL868) für FS20 und CUL V3.4 (Firmware 1.57 CUL868) für HM
FS20: 1x PIRI-2, 6x PIRA, 9x ST-3, 2x DI-5, 2x HMS 100 TF, 1x FS20SM8, 1x FS20SI3
1x FS20SR, 1x FS20S20, 1x FS20S6A
HM: 1x CCU-2, 14x Fensterkontakte, 9x Heizkörperthermostate, 1x Wandthermostat

Offline Seppel18

  • Jr. Member
  • **
  • Beiträge: 66
Aw: Batteriewarnung - Problem mit E-Mails
« Antwort #10 am: 20 Januar 2013, 12:50:03 »
Ich hab den Push-Service auf der Fritzbox aktiviert.

als notify
hms2:T:.* {if (%EVTPART1 < 9) { fb_mail('xxxxx@@xxxxx.com','hms2 %EVTPART1','HMS2 ist zu kalt') }}

funktioniert

mfg Frank
FHEM auf FritzBox 7390
FHZ1000 für FS20, HMLAN für HomeMatic
HM-WDS10-TH-O, HM-Sec-Win, HM-LC-Sw4-WM
FS20 SD, FS20 ST, FS20 S20-2, FS20 S4A,  FS20 TFK, FHT 80b, HMS 100 TF

Offline AnonymousHolger

  • Full Member
  • ***
  • Beiträge: 122
Aw: Batteriewarnung - Problem mit E-Mails
« Antwort #11 am: 20 Januar 2013, 12:53:27 »
Ich finde das Thema BattWarnung im Log oder EMail prima, komme aber wohl momentan nicht dazu.

Damit die Info nicht verloren geht, könnt Ihr das finale Ergebnis vielleicht in den CodeSnippets posten ?

Dieses Thema hat bestimmt viele Anhänger !

Danke

Gruss

Holger

Online stobor

  • Full Member
  • ***
  • Beiträge: 407
Aw: Batteriewarnung - Problem mit E-Mails
« Antwort #12 am: 20 Januar 2013, 13:58:43 »
define nBatChk notify KlimaGarten:T:.* {if (%EVTPART1 < 9) { use FritzBoxUtils;; FB_mail('email@@adresse.com','KlimaGarten %EVTPART1','KlimaGarten...')}}

scheint zu funktionieren, wobei ich das
use FritzBoxUtils;;
noch einfügen musste. Kann das auch einmal zentral außerhalb des define in der fhem.cfg passieren?

Wie kann ich denn jetzt aber den Batteriezustand prüfen?
2013.01.19 19:56:33 3: list KlimaGarten STATE : KlimaGarten T: -6 H: 70.3 Bat: ok
Intel NUC mit CUL V3.2 (Firmware 1.57 CUL868) für FS20 und CUL V3.4 (Firmware 1.57 CUL868) für HM
FS20: 1x PIRI-2, 6x PIRA, 9x ST-3, 2x DI-5, 2x HMS 100 TF, 1x FS20SM8, 1x FS20SI3
1x FS20SR, 1x FS20S20, 1x FS20S6A
HM: 1x CCU-2, 14x Fensterkontakte, 9x Heizkörperthermostate, 1x Wandthermostat

Offline Wolle02

  • Full Member
  • ***
  • Beiträge: 218
Antw:Batteriewarnung - Problem mit E-Mails
« Antwort #13 am: 19 April 2015, 09:40:50 »
Hallo zusammen,

ich hole diesen alten Thread mal wieder hoch, weil ich die Anregung von hier habe, aber bei der Umsetzung gerade auf ein Problem stoße.

Ich möchte auch eine Benachrichtigung bei einer schwachen Betterie realisieren. Allerdings soll diese Benachrichtigung nur alle Stunde (später vielleicht sogar in einem noch längeren Intervall) kommen. Hierzu habe ich mir aus verschiedenen Beiträgen mal diesen Code für ein Notify zusammen geklaut:

.*:[Bb]attery:.* {(if($EVENT !~ m/ok/) && (time - ReadingsVal("Batterie_Leer","comment",time)) > 3600) {
                     system("/usr/syno/bin/synonotify fhemBatteryWarning");
                     Log 3, "+++Batteriewarnung $EVENT gesendet per Synonotification für $NAME";
                     fhem("attr Batterie_Leer comment ".time)}}

Wenn ich das Notify nun versuchsweise triggere bekomme ich leider immer folgenden Syntaxfehler:

Batterie_check_n return value: syntax error at (eval 107054) line 1, near "(if"
syntax error at (eval 107054) line 4, near "}}"

Was überseh ich hier? Ich find den Fehler nicht. Wahrscheinlich seh ich den Wald vor lautet Bäumen nicht.

Gruß
Wolle

Offline Wolle02

  • Full Member
  • ***
  • Beiträge: 218
Antw:Batteriewarnung - Problem mit E-Mails
« Antwort #14 am: 20 April 2015, 13:39:00 »
Hab des Rätsels Lösung dann doch noch gefunden. Wie gesagt, manchmal sieht man den Wald vor lauter Bäumen nicht. Selbstverständlich gehört die öffnende runde Klammer hinter das if und nicht vor das if.
Aus dem ReadingsVal musste ich noch ein AttrVal machen und jetzt läuft das Notify wie es soll  ;D

Vielen Dank fürs Lesen.

Gruß
Wolle  8)