FHEM Forum

FHEM => Automatisierung => Thema gestartet von: mibue am 24 Dezember 2014, 22:41:41

Titel: Benachrichtigung Mail Batterielevel hm-tc-it-wm-w-eu
Beitrag von: mibue am 24 Dezember 2014, 22:41:41
Hallo zusammen,

kann mir vielleicht jemand weiterhelfen was die Benachrichtigung von einer leeren Batterie per Mail geht?
Ich habe nun schon einige Beiträge gelesen und auch die Codeteile ausprobiert. Leider verstehe ich sie nicht ganz und
deshalb scheint es auch nicht zu funktionieren. :-(

Ich habe bisher folgendes gefunden:

.*:[Bb]attery.* { if("%" !~ m/ok/) {
    {FB_mail('Mailadresse@meinedomäne.de','FHEM Batteriewarnung','@ %')};
    Log 3, "@: Batteriewarnung %";
    }
  }

Da der Thermostat hm-tc-it-wm-w-eu die Voltzahl schickt sollte man einen Doppelpunkt einbauen bei [Bb]atter:.* .

Das habe ich dann auch gemacht. Mails kommen im 3 Minutentakt. Im Body der Mail steht nur das @ %.

Kann mir bitte jemand helfen?

Danke

Gruß

Michael

P.S: Frohe Weihnachten.


Titel: Antw:Benachrichtigung Mail Batterielevel hm-tc-it-wm-w-eu
Beitrag von: stephanr am 24 Dezember 2014, 22:51:31
Moin,

versuch mal die if Abfrage auf if($EVENT !~ m/ok/) zu ändern. Dann sollte hoffentlich nur noch eine Mail geschickt werden, wenn auch die Battery low Meldung kommt.
Du kannst auch mal folgende Form für die Mail versuchen.
('Vorname.Nachname@gmail.com', 'FHEM Batteriewarnung', $NAME.': '.$EVENT);

Gruß
Stephan
Titel: Antw:Benachrichtigung Mail Batterielevel hm-tc-it-wm-w-eu
Beitrag von: mibue am 24 Dezember 2014, 23:15:40
Zitat von: stephanr am 24 Dezember 2014, 22:51:31
Moin,

versuch mal die if Abfrage auf if($EVENT !~ m/ok/) zu ändern. Dann sollte hoffentlich nur noch eine Mail geschickt werden, wenn auch die Battery low Meldung kommt.
Du kannst auch mal folgende Form für die Mail versuchen.
('Vorname.Nachname@gmail.com', 'FHEM Batteriewarnung', $NAME.': '.$EVENT);

Gruß
Stephan

Hallo Stephan,

das hat funktioniert . :) :) :)
Funktionstest mittels "trigger Th_Bad Battery:low"

2014.12.24 23:12:10 1: sendEmail Subject: FHEM Batteriewarnung
2014.12.24 23:12:10 1: sendEmail Text: Th_Bad: Battery:low
2014.12.24 23:12:13 1: sendEmail returned: Dec 24 23:12:13 hmb1 sendEmail[3697]: Email was sent successfully!
2014.12.24 23:12:13 3: Th_Bad: Batteriewarnung Battery:low

Hast du vielleicht noch eine kurze Erklärung für mich?

Vielen vielen Dank

Gruß

Michael
Titel: Antw:Benachrichtigung Mail Batterielevel hm-tc-it-wm-w-eu
Beitrag von: stephanr am 24 Dezember 2014, 23:37:12
Hallo Michael,

erklären kann ich es Dir leider nicht. Habs mir selber gestern in einer längeren Recherche zusammen gesucht. Ein paar Infos findest Du in meinem Beitrag (http://forum.fhem.de/index.php/topic,30923.0.html) und den dort erwähnten Topics.

Gruß Stephan
Titel: Antw:Benachrichtigung Mail Batterielevel hm-tc-it-wm-w-eu
Beitrag von: Stefan Scholz am 22 Januar 2015, 19:34:35
Hallo Michael,

ich erlaube mir mal mich an dieses Thema anzuhängen.

Habe das gleiche Problem, dass ich ständig von allen HM Stellantrieben und Wandthermostaten den aktuellen Batteriestand per Mail bekomme.
daher habe ich alles so abgeändert, wie es hier vorgeschlagen wurde. Leider hat sich bei mir dadurch aber nix geändert.

Hab ich was übersehen, was machst du anders das es bei dir funktioniert?

Nachfolgend der Code
define Bat_Meldung2 notify .*:[Bb]attery:.* { if($EVENT !~ m/ok/) { \
{ FB_mail('xxxxxxxxx@gmail.com', \
  'FHEM Batteriewarnung', $NAME.': '.$EVENT)};;\
   Log 3, "$NAME: Batteriewarnung $EVENT";; \
  } \
}


Bei den anderen HM-Geräten (Türkontakte) funktioniert es. Bekomme nur mit diesem "Trigger" eine Mail.
define Bat_Meldung1 notify .*:[Bb]attery.* { if($EVENT !~ m/ok/) { \
  { FB_mail('xxxxxxxxxx@gmail.com', \
   'FHEM Batteriewarnung',$NAME.': '.$EVENT)};; \
   Log 3, "$NAME : Batteriewarnung $EVENT";; \
  } \
}


Würde mir da mal bitte jemand behilflich sein?

Gruß
Stefan
Titel: Antw:Benachrichtigung Mail Batterielevel hm-tc-it-wm-w-eu
Beitrag von: Stefan Scholz am 22 Januar 2015, 19:48:43
Hallo, ich noch mal

Also, Kommando zurück!
Mit diesem Code scheint es zu gehen:
Zitatdefine Bat_Meldung2 notify .*:[Bb]attery:.* { if($EVENT !~ m/ok/) { \
{ FB_mail('xxxxxxxxx@gmail.com', \
  'FHEM Batteriewarnung', $NAME.': '.$EVENT)};;\
   Log 3, "$NAME: Batteriewarnung $EVENT";; \
  } \
}

Es ist dieser Doppelpunkt hinter dem   .*:[Bb]attery:

Habe den anderen Code mal aus kommentiert und schon hat es funktioniert.

Ich dachte, dass man für die Stellantriebe und die anderen HM-Geräte jeweils andere Codes bräuchte.
Das war der Fehler, habe also den Artikel "Batterieüberwachung" im wiki falsch gedeutet.

Gruß
Stefan
Titel: Antw:Benachrichtigung Mail Batterielevel hm-tc-it-wm-w-eu
Beitrag von: Ralf W. am 22 Januar 2015, 19:54:40
Hallo,

Zitat von: mibue am 24 Dezember 2014, 22:41:41
...
Da der Thermostat hm-tc-it-wm-w-eu die Voltzahl schickt sollte man einen Doppelpunkt einbauen bei [Bb]atter:.* .
...

Mein EU liefert mir den Batteriestatus:
battery    ok    2015-01-22 19:33:34

Ich habe das mit den Batterien bei mir so geregelt:
#########################################################
### Batterieüberwachung
#########################################################
[code]define BATT_LED dummy
attr BATT_LED devStateIcon OK:rc_GREEN LOW:rc_RED
attr BATT_LED room Batterie
attr BATT_LED setList state:OK,LOW
attr BATT_LED webCmd state

define BATT_STATUS readingsGroup .*:[Bb]attery
attr BATT_STATUS alias Batteriestatus
attr BATT_STATUS room Batterie

define BATT_CHK notify .*[Bb]attery:.(?!ok).* { if(Value("BATT_LED") ne "LOW" and $NAME ne "CUBIETRUCK" ) { \
  DebianMail('irgenwas+FHEM@gmail.com', 'FHEM - Batteriewarnung', $NAME.': '.$EVENT);; \
  Log 3, "$NAME : Batteriewarnung $EVENT";; \
  { fhem ("set BATT_LED LOW") } ;; \
  } \
}
attr BATT_CHK room Batterie

[/code]

So habe ich eine Übersicht über den Status. Es kommt nur ein Mail. Und wenn der Batterietausch durchgeführt wurde, auf "OK" schalten.
and $NAME ne "CUBIETRUCK" nur bei Cubietruck notwendig.

MfG
Titel: Antw:Benachrichtigung Mail Batterielevel hm-tc-it-wm-w-eu
Beitrag von: Ralf W. am 22 Januar 2015, 19:58:14
@Stefan 69

Upps, ich hätte nicht zwischendurch essen gehen dürfen.

Die if-Abfrage kannst Du noch einsparen.

MfG
Titel: Antw:Benachrichtigung Mail Batterielevel hm-tc-it-wm-w-eu
Beitrag von: Stefan Scholz am 22 Januar 2015, 20:18:30
Hallo Ralf,

danke für deine Ausführungen.

Essen ist wichtig, also alles ok  ;)

Gruß
Stefan