Hallo,
ich möchte den Batteriestatus aller meiner Devices überwachen und wenn dieser nicht Ok ist mich per Email benachrichtigen lassen, dazu habe ich was im Wiki gefunden was ich dann so umgesetzt habe:
Internals:
CFGFN
DEF .*:[Bb]attery:.* { if($EVENT !~ m/ok/) {
{ DebianMail('xxx@googlemail.com', 'FHEM Batteriewarnung', $NAME.': '.$EVENT)};;
Log 3, "$NAME: Batteriewarnung $EVENT";;
}
}
NAME Batterie_Status_nt
NR 5531
NTFY_ORDER 50-Batterie_Status_nt
REGEXP .*:[Bb]attery:.*
STATE active
TYPE notify
CHANGETIME:
Helper:
Dblog:
State:
Mydblog:
TIME 1443636630.88044
VALUE active
Readings:
2015-09-30 20:10:30 state active
Attributes:
Jetzt bekomme ich aber 12 Emails(alle von den HM-CC-RT-DN Devices), die alle nur als Überschrift meine Email Adresse haben und "Fhem Batteriewarnung" als Text, aber es wird nicht angezeigt welches Device den niedriegen Wert hat.
Im Log steht dann:
2015.09.30 19:52:20.181 3: Heizung_Tuer : Batteriewarnung batteryLevel: 2.5
2015.09.30 19:52:33.968 1: sendEmail RCP: xxx@googlemail.com
2015.09.30 19:52:33.968 1: sendEmail Subject: xxx\@googlemail.com
2015.09.30 19:52:33.969 1: sendEmail Text: FHEM Batteriewarnung
2015.09.30 19:52:37.235 1: sendEmail returned: Sep 30 19:52:37 localhost sendEmail[13010]: Email was sent successfully!
2015.09.30 19:52:37.236 3: Gaeste_WC : Batteriewarnung batteryLevel: 2.8
2015.09.30 19:53:28.649 1: sendEmail RCP: xxx@googlemail.com
2015.09.30 19:53:28.650 1: sendEmail Subject:xxx\@googlemail.com
2015.09.30 19:53:28.650 1: sendEmail Text: FHEM Batteriewarnung
2015.09.30 19:53:31.244 1: sendEmail returned: Sep 30 19:53:31 localhost sendEmail[13225]: Email was sent successfully!
Was mache ich falsch?
Ich möchte ja bei allen Devices den Batteriestatus prüfen und wenn der nicht "OK" ist mich per Mail Benachrichtigen lassen, bzw. bei den HM-CC-RT-DN soll die Nachricht immer kommen wenn der Batteriestatus =<2.1 ist
Danke für die Hilfe
wenn es nur um Homematic Geräte geht, solltest Du das Ganze besser über HMinfo lösen, da Dein notify beispielsweise auch auf das reading "battery-level" triggert, in dem ein Spannungswert steht und deshalb auch KEIN ok enthält. Das ist der Grund, warum Du bei jeder HM-Meldung mit einem Batteriepegel eine leere email bekommst.
Ja, geht nur um HM Geräte, wie sollte ich das übr HMINfo machen?
Ich hab 12 HM Devices(6xHM-CC-RT-DN,3xHM-SEC-SD und 3x HM-Sec-RHS, bekomme aber nur den Batteriestatus von 7 AngezeigT!?
Internals:
ERR_names Terassen_Tuer
I_HM_IOdevices ok: HmLanAdapter;
NAME hm
NR 93
STATE updated:2015-09-30 20:15:42
TYPE HMinfo
Version 01
W_unConfRegs Heizung_Kinderzimmer,Heizung_Flur
CHANGETIME:
Helper:
Dblog:
I_rssiminlevel:
Mydblog:
TIME 1443636942.54868
VALUE 59<:4 60>:4 80>:4 99>:0
I_sum_battery:
Mydblog:
TIME 1443636942.54868
VALUE ok:6,low:1,
Readings:
2015-09-29 17:25:16 C_sumDefined entities:53,device:15,channel:45,virtual:2
2015-09-29 17:25:16 ERR_battery low:1,
2015-09-29 17:25:16 I_actTotal alive:12,dead:0,unkn:0,off:0
2015-09-30 20:15:42 I_rssiMinLevel 59<:4 60>:4 80>:4 99>:0
2015-09-30 20:15:42 I_sum_battery ok:6,low:1,
Nb:
cnt 0
Attributes:
sumERROR battery:ok,sabotageError:off,powerError:ok,overload:off,overheat:off,reduced:off,motorError:no,error:none,uncertain:yes,smoke_detect:none,cover:closed
sumStatus battery,sabotageError,powerError,motor
webCmd update:protoEvents short:rssi:peerXref:configCheck:models
im Reading ERR_battery steht die Anzahl der Geräte mit niedrigem Batteriestand
im Internal ERR_names steht die Liste mit den "fehlerhaften" Geräten, in Deinem Fall "Terrassen_Tuer"
Das reading ERR_battery triggert einen event, genau wie andere readings auch, darauf kannst Du ein notify definieren.
Alternativ kannst Du beispielsweise einmal pro Stunde prüfen, ob es was mitzuteilen gibt. Eine Batteriewarnung ist ja nun nichts wirklich zeitkritisches, wo es um Sekunden geht und auf Echtzeit ankommt.
if ReadingsVal('HMinfo', 'ERR_battery', 0) { tue irgendwas wenn es eine Batteriewarnung gibt }
Bei mir wird auf diese Weise eine Batteriewarnung auch im Infopanel mit einem Symbol angezeigt.
Wie hast du das im Infopanel gemacht?
Wäre das dann so richtig?
Internals:
CFGFN
DEF if ReadingsVal('hm', 'ERR_battery', 0) {
{ DebianMail('xxx@googlemail.com', 'FHEM Batteriewarnung', $NAME.': '.$EVENT)};;
Log 3, "$NAME: Batteriewarnung $EVENT";;
}
}
NAME Batterie_Status_nt
NR 6197
NTFY_ORDER 50-Batterie_Status_nt
REGEXP if
STATE active
TYPE notify
CHANGETIME:
Helper:
Dblog:
State:
Mydblog:
TIME 1443640191.41297
VALUE active
Readings:
2015-09-30 21:09:51 state active
Attributes:
Was mich im HMINfo noch wundert ist, mir wird in den Internals
ZitatERR_names Terassen_Tuer
angezeigt, aber einer meiner HM-CC-RT-DN zeigt mir im Display F9 was laut Beschreibung ja für eine zu niedriege Batteriespannung steht, wieso bekomme ich das im HMINfo nicht angezeigt, bzw, wie bekomme ich es im notify mit angezeigt?
Danke für deine Hilfe
Edit
HMINFO prüft ja anscheint auf das reading "battery", aber für die HM-CC-RT-DN, wäre doch batteryLevel das wichtigere oder!?
Dein notify ist falsch, aber soll ich jetzt wirklich erklären, wie man ein simpelstes notify auf einen beliebigen Event anlegt *grummel*
Doch, ich tue es, bevor hier wieder Tränen fließen...
define Batterie_Status_nt notify hm:ERR_battery { und ab hier kannst Du anfangen abzuarbeiten was Du willst... }
Im InfoPanel sieht das bei mir so aus:
xcondition battwarn { ReadingsVal('HMinfo', 'ERR_battery', 0) }
group bat_logo open 651 1
rect bat_rect 0 0 48 48 2 2 1
img bat_img 1 1 w46 "-hminfo_err.html" file "/opt/fhem_add/images/batterie.svg"
group - close
Und wenn die Batterie in einem RT schon so schwach ist, dass der RT keine Meldungen mehr verschickt, kann fhem auch nicht wissen, dass dort die Batterie leer ist.
Also mit den notify steh ich definitiv auf dem Kriegsfuss:-(
Wäre das so richtig?
Internals:
CFGFN
DEF hm:ERR_battery { if ReadingsVal('HMinfo', 'ERR_battery', 0)
{ DebianMail('xxx@googlemail.com', 'FHEM Batteriewarnung', $ERR_names.': '.$EVENT)};;
Log 3, "$NAME: Batteriewarnung $EVENT";;
}
NAME Batterie_Status_nt
NOTIFYDEV hm
NR 6197
NTFY_ORDER 50-Batterie_Status_nt
REGEXP hm:ERR_battery
STATE active
TYPE notify
CHANGETIME:
Helper:
Dblog:
State:
Mydblog:
TIME 1443643725.73645
VALUE active
Readings:
2015-09-30 22:08:45 state active
Attributes:
Bekomme mal keine Mail......
Versuche doch mal mit
trigger Info ERR_battery 1
ein Ereignis auszulösen.
Außerdem glaube ich, dass Du ein internes Reading nicht über eine globale Variable abfragen kannst, weil sie nicht zugewiesen wurde. Deshalb lass noch zunächst die ERR_Names weg (mit lsit hMInfo wird die die Liste ja dann gezeigt).
Bei mir läuft Dein Code dann und sorgt für eine E-Mail.
Nächster Schritt wäre dann mit einem readingsVal('HMInfo','.ERR_Names','0')
die Namensliste zu integrieren... Ein internes Reading rufe ich mit einem vorangestellten . [Punkt] auf...
Grüße
Christian
Der Fehler ist doch ganz ein anderer. Das HMinfo Device bei Tommy82 heißt "hm" und nicht "HMinfo".
Das kommt davon, wenn man als Fragesteller nicht bereit ist, sein Gehirn einzuschalten, um mitzudenken und zu verstehen, wie es eigentlich funktioniert, sondern nur darauf erpicht ist, eine copy&paste-fähige, funktionierende Lösung zu erwarten und damit nun zum wiederholten Male scheitert.
Sorry - eine solche Lösung wirst Du von mir nicht bekommen. Seit gestern versuche ich, Dir das Prinzip einer Lösung zu vermitteln, damit Du überhaupt mal weißt, was Du eigentlich tust.
Und das mit dem Punkt vor dem ReadingName bei ERR_name ist völliger Quatsch. Es handelt sich um ein Internal, und das wird grundsätzlich nicht mit ReadingsVal abgefragt, sondern mit InternalVal.
Interne (nicht sichtbare) Readings sind wieder etwas völlig anderes - die haben in der Tat einen Punkt vor ihrem Namen.
Es ist nicht so das ich nur C&P machen würde, denn auch oben hab ich es ja angepasst, aber anscheint falsch und ich finde den Fehler nicht.
Also geh ich es mal einzeln durch, was ich denke was in dem notify steht, und ihr könnt mir ja vieleicht da auf die sprüngehelfen wo ich falsch liege:
hm:ERR_battery [quote]Das ist das Regex (Gerät undEvent)[/quote] { if InternalVal('hm', 'ERR_battery', 0)[quote]Das If prüft die Interne Variable "ERR_Battery" des Devices HM auf deren Wert, der Standartwert ist 0[/quote]
{ DebianMail('xxx@googlemail.com', 'FHEM Batteriewarnung', $ERR_names.': '.$EVENT)};; [quote]Und sendet wenn der Wert nicht =0 ist eine Email an die angegebene Adresse mit dem Inhalt "FHEM Batteriewarnung und den Inhalt der Variablen$ERR_names (Sollte mir den Namen des Entsprechenden Devices anzeigen) und den Inhalt der Variablen$EVENT [/quote]
Log 3, "$NAME: Batteriewarnung $EVENT";;
}[code]Bei Loglevel 3 wird dann noch ein Log eintrag erzeugt
[/code]
Wo übersehe ich jetzt meinen Fehler?
Danke
Was übersehe ich noch?
Bekomms einfach nicht hin
Wer denkst du tut sich dieses unformatierte Kauderwelsch in deinem letzten Beitrag an?
Bei jedem Beitrag gibt es einen EDIT Button, lese dir deine Beiträge einfach nach abschicken nochmal durch, und bearbeite so einen Rotz, ansonsten wirste lang auf einen dummen warten müssen der diese Arbeit für dich macht
Hab nur versucht dazulegen was ich aus dem Code lese, aber kann es auch so machen, so sieht der Code aus:
hm:ERR_battery { if InternalVal('hm', 'ERR_battery', 0)
{ DebianMail('@googlemail.com', 'FHEM Batteriewarnung', $ERR_names.': '.$EVENT)};;
Log 3, "$NAME: Batteriewarnung $EVENT";;
}
Und das ist meine Interpretation:
]code]hm:ERR_battery[/Code]
ZitatDas ist das Regex (Gerät undEvent)
{ if InternalVal('hm', 'ERR_battery', 0)
ZitatDas If prüft die Interne Variable "ERR_Battery" des Devices HM auf deren Wert, der Standartwert ist 0
{ DebianMail('xxx@googlemail.com', 'FHEM Batteriewarnung', $ERR_names.': '.$EVENT)};;
ZitatUnd sendet wenn der Wert nicht =0 ist eine Email an die angegebene Adresse mit dem Inhalt "FHEM Batteriewarnung und den Inhalt der Variablen$ERR_names (Sollte mir den Namen des Entsprechenden Devices anzeigen) und den Inhalt der Variablen$EVENT
Log 3, "$NAME: Batteriewarnung $EVENT";;
}
Bei Loglevel 3 wird dann noch ein Log eintrag erzeugt
Ist doch jetzt besser formatiert!? Was mache ich falsch?
Danke
{ if InternalVal('hm', 'ERR_battery', 0)
Das ist schomal falsch, da Perl eine andere Syntax bei einem if erwartet => z.B. http://www.tizag.com/perlT/perlif.php (http://www.tizag.com/perlT/perlif.php),
Desweiteren ist "ERR_battery" ein Internal was keine Events generiert, also wird dein notify nie ausgelöst,
hier musst du einen Trigger wählen der auch ein entsprechendes Event erzeugt.
z.B. hm:I_sum_battery.*
Zitat von: rapster am 16 Oktober 2015, 12:21:10
{ if InternalVal('hm', 'ERR_battery', 0)
Das ist schomal falsch, da Perl eine andere Syntax bei einem if erwartet => z.B. http://www.tizag.com/perlT/perlif.php (http://www.tizag.com/perlT/perlif.php),
Desweiteren ist "ERR_battery" ein Internal was keine Events generiert, also wird dein notify nie ausgelöst,
hier musst du einen Trigger wählen der auch ein entsprechendes Event erzeugt.
z.B. hm:I_sum_battery.*
Hi, wenn ich das mit dem If richtig sehe, muss das vor die Klammer!?, Also so?
if { InternalVal('hm', 'ERR_battery', 0)
Hat es bei HMinfo änderungen gegeben? Bin mir ziemlich sicher das
ERR_battery
ein reading ist/war und
ERR_names
ein Internal, so hatte es ja auch betateilchen oben geschrieben!?
Wenn ich HMinfo jetzt sehe,dann wäre hm:I_sum_battery.* das was gehen könnte, allerdings bekomme ich dort nur ok:7 angezeigt, aber ich habe 11 HM Devices mit Batterien, und wie man dem list entnehmen kann ja auch ein Device was nicht OK ist, das wird mir in dem Reading aber nicht angzeiegt.
Wenn ich das jetzt richtig sehe, dann müsste ich ja jetzt dieses reading
I_actTotal
nehmen und dort auf "Unkn,off,dead" prüfen? und dann das Internal
ERRactNames
auslesen und per Mail versenden, also müsste das ganze irgendwie so aussehen!?
hm:ERR_battery if { ReadinglVal('hm', 'I_actTotal', 0)
{ DebianMail('xxx@googlemail.com', 'FHEM Batteriewarnung', $ERRactNames.': '.$EVENT)};;
Log 3, "$NAME: Batteriewarnung $EVENT";;
}
Hier noch das list:
Internals:
CHANGED
ERRactNames Terassen_Tuer
I_HM_IOdevices ok: HmLanAdapter;
NAME hm
NR 93
STATE updated:2015-10-18 19:59:19
TYPE HMinfo
Version 01
CHANGETIME:
Helper:
Dblog:
I_acttotal:
Mydblog:
TIME 1445191119.91444
VALUE alive:11,dead:0,unkn:1,off:0
I_rssiminlevel:
Mydblog:
TIME 1445191119.91444
VALUE 59<:6 60>:3 80>:0 99>:0
I_sum_battery:
Mydblog:
TIME 1445191119.91444
VALUE ok:7,
Readings:
2015-09-29 17:25:16 C_sumDefined entities:53,device:15,channel:45,virtual:2
2015-10-18 19:58:39 I_actTotal alive:11,dead:0,unkn:1,off:0
2015-10-18 19:58:39 I_rssiMinLevel 59<:6 60>:3 80>:0 99>:0
2015-10-18 19:58:39 I_sum_battery ok:7,
Nb:
cnt 0
Attributes:
sumERROR battery:ok,sabotageError:off,powerError:ok,overload:off,overheat:off,reduced:off,motorError:no,error:none,uncertain:yes,smoke_detect:none,cover:closed
sumStatus battery,sabotageError,powerError,motor
webCmd update:protoEvents short:rssi:peerXref:configCheck:models
Danke für die Hilfe
Hab es jetzt mal so geändert:
hm:I_actTotal if { ReadingVal('hm', 'I_actTotal' eq 'dead|unkn')
{ DebianMail('xxx@googlemail.com', 'FHEM Batteriewarnung', $ERRactNames.': '.$EVENT)};;
Log 3, "$ERRactNames: Batteriewarnung $EVENT";;
}
Aber bekomme keine Mail und auch kein Log eintrag, was mache ich falsch?
So langsam verzweifel ich hier dran, was mach ich hier falsch?
Das hier rennt:
Internals:
NAME BATT_LED
NR 85
STATE OK
TYPE dummy
Readings:
2015-10-21 21:15:38 state OK
Attributes:
devStateIcon OK:rc_GREEN LOW:rc_RED
event-on-change-reading state
room StatusWZ,Batterie
setList state:OK,LOW
webCmd state
Internals:
DEF .*[Bb]attery:.(?!ok).* { if(Value("BATT_LED") ne "LOW" ) {
DebianMail('irgendwer+FHEM@gmail.com', 'FHEM - Batteriewarnung', $NAME.': '.$EVENT);
Log 3, "$NAME : Batteriewarnung $EVENT";
{ fhem ("set BATT_LED LOW") } ;
}
}
NAME BATT_CHK
NR 89
NTFY_ORDER 50-BATT_CHK
REGEXP .*[Bb]attery:.(?!ok).*
STATE active
TYPE notify
Readings:
2015-10-24 04:02:16 state active
Attributes:
room Batterie
Nur ein Mail und nach Batteriewechsel Dummy wieder auf OK stellen. Funktioniert mit HM-, LaCrosse- und TCM97001-Devices.
MfG
Hallo,
erstmal danke für deine Hilfe, hab den Code mal bei mir eingefügt, jetzt mal sehen was passiert wenn die Batterien dem ende entgegen gehen.
Aber was passiert denn z.b. bei HM-CC-RT-DN Thermostaten welche als Batteriestatus nicht OK und Low haben, sondern einen Wert, z.b.
ZitatbatteryLevel 2.5
Die müssten doch auch noch extra abgeprüft werden, wenn sie z.b. unter 2.0 fallen (oder wo ist die Grenze wo die Device dann nicht mehr sauber senden können?)
Danke
Meine DNs liefern "battery".
Internals:
DEF .*:[Bb]attery
NAME BATT_STATUS
NR 87
NTFY_ORDER 50-BATT_STATUS
STATE Initialized
TYPE readingsGroup
mayBeVisible 1
Content:
...
Positions:
BA_TempLuft.battery 18:1
free1 19:1
CUL_TCM97001_240.battery 29:1
CUL_TCM97001_43.battery 30:1
DG_Fenster.battery 38:1
DG_Heizung.battery 39:1
DG_SonneRegen.battery 57:1
DG_Thermostat.battery 60:1
DG_Tuer.battery 64:1
FL_Briefkasten.battery 78:1
FL_GaesteWC.battery 86:1
FL_Rauchmelder_1.battery 87:1
FL_Rauchmelder_E.battery 89:1
FL_Rauchmelder_K.battery 90:1
GA_Tor_A.battery 132:1
GA_Tor_H.battery 133:1
GA_Tuer_H.battery 134:1
KE_Heizung_S.battery 151:1
KE_Klingelsensor_W.battery 152:1
KE_Thermostat_S.battery 153:1
KI_Fenster.battery 158:1
KI_Heizung.battery 159:1
KI_Thermostat.battery 166:1
KI_Tuer.battery 170:1
LaCrosse_03.battery 176:1
LaCrosse_08.battery 177:1
SZ_TempLuft.battery 196:1
free2 197:1
TG_TempLuft.battery 208:1
WZ_Heizung_ES.battery 223:1
WZ_Heizung_TG.battery 230:1
WZ_Terrassentuer.battery 238:1
WZ_Thermostat_Climate.battery 240:1
DG_Heizung, Ki_Heizung und WZ_Heizung sind DNs. Ich möchte das hier nicht weiter ausführen, Einzelheiten kannst Du mit der Suchfunktion auch finden.
MfG
Also ich denke ich weiss wieso bei mir kein
Zitatbattery
bei meinen geliefert wird, zumindest bei 6 von 7 nicht, liegt wohl daran das ich dort eine alte FW 1.0 habe, welche das reading nicht liefert, hab mir jetzt mal einen HMUSB Stick Bestellt und werde dann die FW mal aktualisieren, danach sollten dann auch die richtigen readings kommen und hoffentlich alles funktionieren.
Danke schon mal bis hier hin
Hi,
so hab jetzt das erstemal eine Email bekommen das der Batteriestatus nicht Ok ist, allerdings fehlt die Anzeige bei welchem Gerät das der Fall ist, in der Email steht nur "FHEM - Batteriewarnung"
Das dazugehörige notify sieht so aus:
Internals:
DEF .*[Bb]attery:.(?!ok).* { if(Value("BATT_Status") ne "LOW" ) {
DebianMail('xxx@googlemail.com', 'FHEM - Batteriewarnung', $NAME.': '.$EVENT);
Log 3, "$NAME : Batteriewarnung $EVENT";
{ fhem ("set BATT_Status LOW") } ;
}
}
NAME Batterie_Status_nt
NR 283
NTFY_ORDER 50-Batterie_Status_nt
REGEXP .*[Bb]attery:.(?!ok).*
STATE 2015-12-25 05:36:20
TYPE notify
Readings:
2015-12-20 10:39:05 state active
Attributes:
verbose 5
Im Log gibts dann jede Menge dieser Meldungen:
2015.12.25 00:00:33.497 5: Triggering Batterie_Status_nt
2015.12.25 00:00:33.506 4: Batterie_Status_nt exec { if(Value("BATT_Status") ne "LOW" ) {
DebianMail('xxx@googlemail.com', 'FHEM - Batteriewarnung', $NAME.': '.$EVENT);;
Log 3, "$NAME : Batteriewarnung $EVENT";;
{ fhem ("set BATT_Status LOW") } ;;
}
}
Wieso wird mir das entsprechende Device nicht angezeigt?
Danke und Frohe Weihnachten
Zitat von: Tommy82 am 27 Oktober 2015, 20:06:30
Also ich denke ich weiss wieso bei mir kein bei meinen geliefert wird, zumindest bei 6 von 7 nicht, liegt wohl daran das ich dort eine alte FW 1.0 habe, welche das reading nicht liefert, hab mir jetzt mal einen HMUSB Stick Bestellt und werde dann die FW mal aktualisieren, danach sollten dann auch die richtigen readings kommen und hoffentlich alles funktionieren.
Danke schon mal bis hier hin
Hallo.
Mit welcher FW sendet HM-CC-RT-DN den battery status? Ich habe 1.1, aber der Status wird nie aktualisiert. Weder bei umschalten des mode, noch irgendwie.
Bin auch am verzweifeln, diese Regler dürften Müll sein. Werde mich jetzt auch daran machen, den Batterylevel abzufragen.
Das funktioniert bei mir sehr wohl! Vlt. solltet ihr die rt´s mal auf Firm. 1.4 updaten! Siehe auch den anderen Thread im Homematic Bereich. Anbei noch mal der Screenshot (hab ich auf satprofi´s Nachfrage im Homematic Bereich dort schon einmal gepostet)
Wie updated man die regler? Aber ich bin sicher das es funktioniert hat, bis eben zum geposteten datum. Habe die regler schon fast zwei jahre
Sent from my OPO
Hi, es liegt definitiv an der FW, ob der BatteryStatus gesendet wird. Ich hab jetzt alle auf die FW 1.4 geupdatet, und damit wird dann auch der BatteryStatus gesendet und aktualisiert.
Wie du das update durchführst t´steht hier:
http://www.fhemwiki.de/wiki/HomeMatic_Firmware_Update#Firmware_Update_mit_HM-CFG-USB_unter_Windows
Ich hab aber immer noch das Email Problem
Zitat von: Tommy82 am 25 Dezember 2015, 05:38:57
Hi,
so hab jetzt das erstemal eine Email bekommen das der Batteriestatus nicht Ok ist, allerdings fehlt die Anzeige bei welchem Gerät das der Fall ist, in der Email steht nur "FHEM - Batteriewarnung"
Das dazugehörige notify sieht so aus:
Internals:
DEF .*[Bb]attery:.(?!ok).* { if(Value("BATT_Status") ne "LOW" ) {
DebianMail('xxx@googlemail.com', 'FHEM - Batteriewarnung', $NAME.': '.$EVENT);
Log 3, "$NAME : Batteriewarnung $EVENT";
{ fhem ("set BATT_Status LOW") } ;
}
}
NAME Batterie_Status_nt
NR 283
NTFY_ORDER 50-Batterie_Status_nt
REGEXP .*[Bb]attery:.(?!ok).*
STATE 2015-12-25 05:36:20
TYPE notify
Readings:
2015-12-20 10:39:05 state active
Attributes:
verbose 5
Im Log gibts dann jede Menge dieser Meldungen:
2015.12.25 00:00:33.497 5: Triggering Batterie_Status_nt
2015.12.25 00:00:33.506 4: Batterie_Status_nt exec { if(Value("BATT_Status") ne "LOW" ) {
DebianMail('xxx@googlemail.com', 'FHEM - Batteriewarnung', $NAME.': '.$EVENT);;
Log 3, "$NAME : Batteriewarnung $EVENT";;
{ fhem ("set BATT_Status LOW") } ;;
}
}
Wieso wird mir das entsprechende Device nicht angezeigt?
Danke und Frohe Weihnachten
Ok,werd mir stick besorgen. Thx
Sent from my OPO
@Tommy
Du solltest dich vielleicht mal mit den unterschiedlichen Loglevel vertraut machen.
Wenn global verbose = 5 (so wie bei dir) wird JEDER trigger des notify im Logfile protokolliert.
Eine Mail MUSS noch nicht zwangsläufig versendet werden - soll ja auch nicht.
Oder ist bei einem deiner Geräte die Batterie leer?
Edith: Wobei mein Code etwas anders aussieht (und funktioniert).
.*:[Bb]attery.* {
if($EVENT !~ m/ok/) {
if (Value("Zustands_Warnung") ne "Batterie") {
Log(3,"$NAME: Batteriewarnung $EVENT");
fhem("set Batteriestatus_Led led red");
fhem ("set Zustands_Warnung on");
DebianMail('xxx.yyy@zzz.qq',$NAME,$EVENT);
}
}
}
bei mir sieht das Notify im DEF so aus:
.*.battery:.low {
fhem("setreading $NAME LowBattery ToBeReplaced");
DebianMail('SuperlangeEmailadresse@nowhere.suchdirwasaus', "Batteriewechsel: Homematic_ $NAME:$EVENT", "$EVENT");
}
ich setze noch ein Reading LowBattery welches in einer Readinsgsgroup abgezeigt wird
mein DOIF so:
([HZ_Schlafzimmer:batteryLevel] < 2.2 or [HZ_Wohnzimmer:batteryLevel] < 2.2 or [HZ_Bad:batteryLevel] < 2.2 or [HZ_Buero:batteryLevel] < 2.2 or [HZ_Vorzimmer:batteryLevel] < 2.2 or [HZ_Hobbyraum:batteryLevel] < 2.2) ({Email('mailto@provider.net','Battery','Heizkoerper checken')})
So bekomme ich zumindest die Heizkörperventile gemeldet.
Zitat von: Tommy82 am 03 Januar 2016, 15:32:03
Hi, es liegt definitiv an der FW, ob der BatteryStatus gesendet wird. Ich hab jetzt alle auf die FW 1.4 geupdatet, und damit wird dann auch der BatteryStatus gesendet und aktualisiert.
Hallo.
Welcher Stick genügt dafür? Der usb od. usb2?
Zitat von: satprofi am 04 Januar 2016, 18:25:38
So bekomme ich zumindest die Heizkörperventile gemeldet.
Wenn man es geschickt anstellt bekommt man alle Geräte gemeldet deren Batterie leer wird - ohne ellenlangen Code und für jedes Device eine Abfrage schreiben zu müssen.
@Wuppi
Bei dir muss im Devicenamen ein battery enthalten sein und nicht im Reading.
Ein Battery würde nicht matchen aber ich denke mal das gibt es bei dir auch nicht.
Meine HM-Geräte und meine FHT80 werden mit meinem Code jedenfalls zuverlässig gemeldet - ich hab noch keinen Batteriewechsel verpasst.
Ich bin den Code grad etwas am "optimieren" da die FHT80 gerne mal ein battery low melden und dann wieder auf ok gehen - das nervt mich noch.
Zitat von: Puschel74 am 04 Januar 2016, 20:28:03
@Wuppi
Bei dir muss im Devicenamen ein battery enthalten sein und nicht im Reading.
Ein Battery würde nicht matchen aber ich denke mal das gibt es bei dir auch nicht.
Moin Puschel74,
habe es gerade noch einmal verifiziert ...
mein MAX Fensterkontakt sendet mit eine Batterie Leer Meldung und meine HM Teile haben ein Reading battery, sollte also kommen :-) Und kommt auch nach einem Test :-)
Zitat von: Puschel74 am 04 Januar 2016, 12:36:13
@Tommy
Du solltest dich vielleicht mal mit den unterschiedlichen Loglevel vertraut machen.
Wenn global verbose = 5 (so wie bei dir) wird JEDER trigger des notify im Logfile protokolliert.
Mein global verbose ist auf 3 eingestellt, aber du hast in sofern mit dem verbose 5 recht, das ich diesen für test zwecke beim notify gesetzt hatte und vergessen hatte zurückzusetzen :(
Nein, die Mail soll ja nur beim Battery Low eines Gerätes versendet werden, dann aber mit Angabe welches Gerät Low ist, und das Fehlt in der Email, wobei das aus meiner Sicht bei meinem notify mit gesendet werden müsste!?
Zitat von: satprofi am 04 Januar 2016, 20:11:40
Hallo.
Welcher Stick genügt dafür? Der usb od. usb2?
Also ich hab den hier, und damit klappt es problemlos
http://www.amazon.de/gp/product/B007VTXP0A?psc=1&redirect=true&ref_=oh_aui_detailpage_o03_s00
Ok,den habe ich bei conrad bestellt. Das ist die vers. 2
Sent from my OPO
ZitatNein, die Mail soll ja nur beim Battery Low eines Gerätes versendet werden, dann aber mit Angabe welches Gerät Low ist, und das Fehlt in der Email, wobei das aus meiner Sicht bei meinem notify mit gesendet werden müsste!?
Wie geschrieben funktioniert es bei mir einwandfrei.
Ergebniss siehe Screenshot
Vielleicht solltest du ja mal meinen Code mit deinem vergleichen ;)
Ich habe HM-TC-IT-WM-W-EU, Firmware 1.2#Ich messe alle 5 Minuten Temperatur, Luftfeuchte, ... und sehe als BatterieLevel: 3.1
Ab wann wird denn der batteryLevel kritisch und Batterie sollte erneuert werden?
Das wird aus meiner Sicht im Register lowBatLimitRT definiert. Im Standard sind dort bei mir 2.2V als Schwelle eingetragen.
Stimmt, bei mir auch.
Vielen Dank
@Puschel,
hab jetzt deinen mal mit meinem verglichen, und meinen nun so abgeändert:
.*[Bb]attery:.(?!ok).* {
if(Value("BATT_Status") ne "LOW" ) {
Log(3,"$NAME : Batteriewarnung $EVENT");
{ fhem ("set BATT_Status LOW") } ;
DebianMail('xxx@googlemail.com','FHEM - Batteriewarnung',$NAME,$EVENT);
}
}
Hoffe jetzt klappts, mal sehn wann mal wieder eine Leer wird....
Zitathab jetzt deinen mal mit meinem verglichen, und meinen nun so abgeändert:
Äh vergleichen/verstehen und vergleichen/abändern sind 2 Paar Schuhe.
ZitatHoffe jetzt klappts
Bezweifle ich aber ich lass mich überraschen.
Du wirst das schon machen ;)
Du bist so nett zu mir :(
Wenn du das schon schreibst hast du schon wieder einen Fehler gesehen denn ich gemacht habe.....
ZitatWenn du das schon schreibst hast du schon wieder einen Fehler gesehen denn ich gemacht habe.....
Wie kommst du darauf?
Ob dein abgeänderter Code fehlerhaft ist weiß ich ja nicht - ich prüfe ihn ja nicht ;)
Aber du hast meinen Code mit deinem verglichen und deinen abgeändert.
Schön - aber hast du auch verstanden was der UNTERSCHIED zwischen meinem Code (der bei mir funktioniert) und deinem Code (der bei dir wohl NICHT funktioniert) ist ?
Aber lassen wir uns mal überraschen - vielleicht funktioniert dein neuer abgeänderter Code ja jetzt ;)
Edith: Der Beitrag hat mittlerweile 3 Seiten - ich frage mich echt was am Wiki so schwer zu verstehen ist.
Mit meinem Code - der übrigens aus dem Wiki ist - werden ALLE Geräte abgefragt die als reading battery oder Battery haben und das sind bei mir ALLE Geräte die Batterien als Spannungsquelle haben.
Und ich hab FHT und HM-Geräte und es werden ALLE überwacht - egal welcher TYPE.
Tut mir leid aber dafür verfluchen mich auch meine Lehrlinge - ich zwinge einfach jeden zum selbst denken.
P.S.: Die Lehrlinge freuen sich aber immer wenn sie in einem meiner Projekte mitarbeiten dürfen 8)
Ich freue mich das du Spass dran hast andere zu quälen ;)
Die gute Nachricht ist das mit meinem neuen Code die Warnung kommt, die schlechte, das das Gerät immer noch nicht in der Email angegeben wird :(
Werd jetzt mal deinen Wiki Artikel (Denn ich bis zu deinem Hinweis nicht gesehen hatte) umsetzen, und hoffen das es dann klappt:-)
EDIT
Dein Code oben sieht aber auch anders aus als der im WIKI!?
Ja, weil ich noch etwas umgebaut habe.
Wichtig ist doch nur das er funktioniert ;)
Im übrigen quäle ich niemanden ;D
Über die letzte Aussage kann man diskutieren:-)
Also grundsätzlich funktioniert es bei mir mit diesem Code:
.*:[Bb]attery.* {
if($EVENT !~ m/ok/) {
if (Value("BATT_Status") ne "LOW") {
Log(3,"$NAME: Batteriewarnung $EVENT");
fhem ("set BATT_Status LOW");
DebianMail('xxx@googlemail.com','FHEM - Batteriewarnung', $NAME.': '.$EVENT);
}
}
}
Was nicht funktioniert, ist das ich den Gerätenamen nicht in der Email angezeigt bekomme. Wenn ich
Zitat'FHEM - Batteriewarnung',
entferne, dann bekomme ich das Gerät angezeigt,nur leider nicht mehr denn Betreff, das versteh ich noch nicht so ganz wieso das so ist, hab jetzt einiges ausprobiert aber leider erfolglos :(
Und was passiert wenn du es mal so
.*:[Bb]attery.* {
if($EVENT !~ m/ok/) {
if (Value("BATT_Status") ne "LOW") {
Log(3,"$NAME: Batteriewarnung $EVENT");
fhem ("set BATT_Status LOW");
my $Meldung=$NAME.": ".$EVENT;
DebianMail('xxx@googlemail.com','FHEM - Batteriewarnung', $Meldung);
}
}
}
versuchst?
Hallo,
ich habe eine etwas andere Variante:
.*[Bb]attery:(?![0-9])(?!.ok).* { if(Value("BATT_LED") ne "LOW" ) {
DebianMail('Vorname.Nachname+FHEM@gmail.com', 'FHEM - Batteriewarnung', $NAME.': '.$EVENT);
Log 3, "$NAME : Batteriewarnung $EVENT";
{ fhem ("set BATT_LED LOW") } ;
}
}
Die hat heute noch ein Mail verschickt inkl. Gerätenamen:
KE_Thermostat_V: battery: low
MfG
Zitat von: Puschel74 am 21 Januar 2016, 19:17:49
Und was passiert wenn du es mal so
.*:[Bb]attery.* {
if($EVENT !~ m/ok/) {
if (Value("BATT_Status") ne "LOW") {
Log(3,"$NAME: Batteriewarnung $EVENT");
fhem ("set BATT_Status LOW");
my $Meldung=$NAME.": ".$EVENT;
DebianMail('xxx@googlemail.com','FHEM - Batteriewarnung', $Meldung);
}
}
}
versuchst?
Hi Puschel, dann kommt genau die gleiche Meldung wie bei meiner Variante, steht nur
ZitatFHEM - Batteriewarnung
EDIT
Aber jetzt klappts endlich, muss so aussehn:
.*[Bb]attery:.(?!ok).* {
if(Value("BATT_Status") ne "LOW" ) {
Log(3,"$NAME : Batteriewarnung $EVENT");
{ fhem ("set BATT_Status LOW") } ;
DebianMail('Batteriewarnung',$NAME.': '.$EVENT);
}
}
Danke für die viele Hilfe
Zitatim Reading ERR_battery steht die Anzahl der Geräte mit niedrigem Batteriestand
im Internal ERR_names steht die Liste mit den "fehlerhaften" Geräten, in Deinem Fall "Terrassen_Tuer"
Hallo betateilchen,
wieder was gelernt ;)
leider gibt es diese Readings bei meinem HMInfo nicht !
Hi,
ich hab plötzlich Probleme mit meinem Dummy und dem notify,
der Dummy wird immer auf "LOW" geschaltet, wenn ich ihn dann wieder "OK" setze, dauert es nur kurz und er ist wieder auf "LOW", und ich bekomme die EMAIl.
In der Email wird immer ein anderes Device angezeigt welches angeblich LOW ist, wenn ich dann im Device gucke, ist das battery reading immer OK
Einer eine idee woran das plötzlich liegen kann?
Internals:
NAME BATT_Status
NR 285
STATE LOW
TYPE dummy
Helper:
Dblog:
State:
Mydblog:
TIME 1460211143.78506
VALUE LOW
Readings:
2016-04-09 16:12:23 state LOW
Attributes:
devStateIcon OK:rc_GREEN LOW:rc_RED
event-on-change-reading state
room Zentral
setList state:OK,LOW
webCmd state
Internals:
DEF .*[Bb]attery:.(?!ok).* {
if(Value("BATT_Status") ne "LOW" ) {
Log(3,"$NAME : Batteriewarnung $EVENT");
{ fhem ("set BATT_Status LOW") } ;
DebianMail('Batteriewarnung',$NAME.': '.$EVENT);
}
}
NAME Batterie_Status_nt
NR 283
NTFY_ORDER 50-Batterie_Status_nt
REGEXP .*[Bb]attery:.(?!ok).*
STATE 2016-04-09 16:16:41
TYPE notify
Readings:
2016-04-09 15:46:12 state active
Attributes:
verbose 3
An schwachen Batterien?
Zitat von: dev0 am 09 April 2016, 18:36:01
An schwachen Batterien?
Wenn es das wäre würde es mich ja freuen,
würde aber behaupten nein, wie oben schon geschrieben.
Hab denn Dummy gerade auf OK gesetzt, und schon kommt die Mail,mit der Meldung "Heizung_Tuer.battery", also hab ich mir das Device angesehen, und da sieht alles ok aus, hier das list:
Internals:
DEF 222529
HmLanAdapter_MSGCNT 111
HmLanAdapter_RAWMSG E222529,0000,6EE677D6,FF,FFBF,9886102225290000000AA0D60F0200
HmLanAdapter_RSSI -65
HmLanAdapter_TIME 2016-04-09 20:26:14
IODev HmLanAdapter
LASTInputDev HmLanAdapter
MSGCNT 111
NAME Heizung_Tuer
NR 46
NTFY_ORDER 50-Heizung_Tuer
STATE CMDs_done
TYPE CUL_HM
channel_01 Heizung_Tuer_Weather
channel_02 Heizung_Tuer_Climate
channel_03 Heizung_Tuer_WindowRec
channel_04 Heizung_Tuer_ClimRT_tr
channel_05 Heizung_Tuer_ClimaTeam
channel_06 Heizung_Tuer_remote
lastMsg No:98 - t:10 s:222529 d:000000 0AA0D60F0200
protCondBurst unknown
protLastRcv 2016-04-09 20:26:14
rssi_at_HmLanAdapter cnt:111 avg:-64.07 lst:-65 max:-60 min:-75
Helper:
Dblog:
Activity:
Mydblog:
TIME 1460209574.49956
VALUE alive
Actuator:
Mydblog:
TIME 1460226374.7825
VALUE 2
Battery:
Mydblog:
TIME 1460226374.7825
VALUE ok
Batterylevel:
Mydblog:
TIME 1460226374.7825
VALUE 3
Desired-temp:
Mydblog:
TIME 1460226374.7825
VALUE 20.0
Measured-temp:
Mydblog:
TIME 1460226374.7825
VALUE 21.4
Motorerr:
Mydblog:
TIME 1460226374.7825
VALUE ok
Readings:
2016-04-09 15:46:14 Activity alive
2016-04-09 14:15:32 CommandAccepted yes
2016-01-03 10:13:17 D-firmware 1.4
2016-01-03 10:13:17 D-serialNr KEQ0514931
2016-01-03 10:13:18 PairedTo 0x000041
2015-11-06 17:48:02 R-backOnTime 10 s
2015-11-06 17:48:02 R-burstRx on
2015-11-06 17:48:02 R-cyclicInfoMsg on
2015-11-06 17:48:02 R-cyclicInfoMsgDis 0
2015-11-06 17:48:02 R-pairCentral 0x000041
2016-02-22 18:15:56 RegL_00. 01:01 02:01 09:01 0A:00 0B:00 0C:41 0E:0A 0F:00 11:00 12:15 16:00 18:00 19:00 1A:00 00:00
2016-04-02 06:25:15 RegL_07. CA:12 CB:21 CC:2D
2016-04-09 20:26:14 actuator 2
2016-04-09 20:26:14 battery ok
2016-04-09 20:26:14 batteryLevel 3
2016-03-20 16:55:28 controlMode auto
2016-04-09 20:26:14 desired-temp 20.0
2016-04-09 20:26:14 measured-temp 21.4
2016-04-09 20:26:14 motorErr ok
2016-01-03 10:12:33 powerOn 2016-01-03 10:12:33
2016-01-03 10:12:33 recentStateType info
2016-04-09 14:15:33 state CMDs_done
2016-04-09 04:18:18 time-request -
Helper:
HM_CMDNR 152
mId 0095
rxType 140
Expert:
def 1
det 0
raw 1
tpl 0
Io:
newChn +222529,00,00,00
nextSend 1460226374.84902
rxt 2
vccu vccu
p:
222529
00
00
00
prefIO:
HmLanAdapter
Mrssi:
mNo 98
Io:
HmLanAdapter -63
Prt:
bErr 0
sProc 0
Q:
qReqConf
qReqStat
Role:
dev 1
prs 1
Rssi:
At_hmlanadapter:
avg -64.0720720720721
cnt 111
lst -65
max -60
min -75
Shregw:
07 04
Attributes:
IODev HmLanAdapter
IOgrp vccu:HmLanAdapter
actCycle 000:10
actStatus alive
alias Heizung Tuer
autoReadReg 4_reqStatus
burstAccess 1_auto
expert 2_full
firmware 1.4
model HM-CC-RT-DN
room Wohnzimmer
serialNr KEQ0514931
subType thermostat
webCmd getConfig:burstXmit
hab denn Dummy dann wieder auf OK gesetzt, und schon die nächste Mail.............
jetzt HeizungFenster.battery
Internals:
DEF 22170C
HmLanAdapter_MSGCNT 112
HmLanAdapter_RAWMSG E22170C,0000,6EE99594,FF,FFC1,B9861022170C0000000AA4DB0D0C00
HmLanAdapter_RSSI -63
HmLanAdapter_TIME 2016-04-09 20:29:39
IODev HmLanAdapter
LASTInputDev HmLanAdapter
MSGCNT 112
NAME HeizungFenster
NR 39
NTFY_ORDER 50-HeizungFenster
STATE CMDs_done
TYPE CUL_HM
channel_01 HeizungFenster_Weather
channel_02 HeizungFenster_Climate
channel_03 HeizungFenster_WindowRec
channel_04 HeizungFenster_Clima
channel_05 HeizungFenster_ClimaTeam
channel_06 HeizungFenster_remote
lastMsg No:B9 - t:10 s:22170C d:000000 0AA4DB0D0C00
protCondBurst unknown
protLastRcv 2016-04-09 20:29:39
rssi_at_HmLanAdapter cnt:112 lst:-63 avg:-63.05 max:-58 min:-72
Helper:
Dblog:
Activity:
Mydblog:
TIME 1460209574.21791
VALUE alive
Actuator:
Mydblog:
TIME 1460226579.32962
VALUE 12
Battery:
Mydblog:
TIME 1460226579.32962
VALUE ok
Batterylevel:
Mydblog:
TIME 1460226579.32962
VALUE 2.8
Desired-temp:
Mydblog:
TIME 1460226579.32962
VALUE 20.5
Measured-temp:
Mydblog:
TIME 1460226579.32962
VALUE 21.9
Motorerr:
Mydblog:
TIME 1460226579.32962
VALUE ok
Readings:
2016-04-09 15:46:14 Activity alive
2016-04-09 14:15:31 CommandAccepted yes
2015-11-06 17:38:07 D-firmware 1.4
2015-11-06 17:38:07 D-serialNr KEQ0511429
2016-01-03 10:39:40 PairedTo 0x000041
2015-11-06 17:38:44 R-backOnTime 10 s
2015-11-06 17:38:44 R-burstRx on
2015-11-06 17:38:44 R-cyclicInfoMsg on
2015-11-06 17:38:44 R-cyclicInfoMsgDis 0
2015-11-06 17:38:44 R-pairCentral 0x000041
2016-03-17 10:31:45 RegL_00. 01:01 02:01 09:01 0A:00 0B:00 0C:41 0E:0A 0F:01 11:00 12:15 16:00 18:00 19:00 1A:00 00:00
2016-01-03 15:23:57 RegL_07.
2016-04-09 20:29:39 actuator 12
2016-04-09 20:29:39 battery ok
2016-04-09 20:29:39 batteryLevel 2.8
2016-04-09 20:29:39 desired-temp 20.5
2016-04-09 20:29:39 measured-temp 21.9
2016-04-09 20:29:39 motorErr ok
2016-01-03 10:37:19 powerOn 2016-01-03 10:37:19
2016-01-03 10:37:19 recentStateType info
2016-04-09 14:15:31 state CMDs_done
2016-04-08 23:12:34 time-request -
Helper:
HM_CMDNR 185
mId 0095
rxType 140
Expert:
def 1
det 0
raw 1
tpl 0
Io:
newChn +22170C,00,00,00
nextSend 1460226459.13061
rxt 2
vccu vccu
p:
22170C
00
00
00
prefIO:
HmLanAdapter
Mrssi:
mNo B9
Io:
HmLanAdapter -61
Prt:
bErr 0
sProc 0
Q:
qReqConf
qReqStat
Role:
dev 1
prs 1
Rssi:
At_hmlanadapter:
avg -63.0535714285714
cnt 112
lst -63
max -58
min -72
Shregw:
07 04
Attributes:
IODev HmLanAdapter
IOgrp vccu:HmLanAdapter
actCycle 000:10
actStatus alive
autoReadReg 4_reqStatus
burstAccess 1_auto
expert 2_full
firmware 1.4
model HM-CC-RT-DN
room Wohnzimmer
serialNr KEQ0511429
subType thermostat
webCmd getConfig:burstXmit
Da sind die battery überall = OK, muss also ein anderes Problem sein
@Puschel, wieso hast du deinen Beitrag gelöscht?
Zitat von: Tommy82 am 09 April 2016, 21:14:11
@Puschel, wieso hast du deinen Beitrag gelöscht?
Weil ich
a) am Tablet war und ich damit keine längeren Texte schreiben will
und b) Blödsinn geschrieben hatte (mal wieder) ::)
daher war ein löschen das einfachste.
Aber hier kommt die Langversion.
An meinen FHT konnte ich gut erkennen das diese zum "Batterieende" hin gerne mal ein
low senden um mit der nächsten Übertragung wieder ein
ok zu schicken.
Daher habe ich allen batteriebetriebenen Geräten ein Reading Warnung spendiert das bei FHTs z.B. bis auf 8 gezählt wird.
HM steht bei 2 da ich noch keine Langzeiterfahrung damit habe.
Wenn 8 mal (um bei den FHT zu bleiben) was anderes als low gesendet wird wird das Reading auf 100 gesetzt und der Rest erledigt.
100 weil mir grad danach war ;D
Zitat von: Puschel74 am 09 April 2016, 21:23:27
Weil ich
a) am Tablet war und ich damit keine längeren Texte schreiben will
und b) Blödsinn geschrieben hatte (mal wieder) ::)
daher war ein löschen das einfachste.
Aber hier kommt die Langversion.
An meinen FHT konnte ich gut erkennen das diese zum "Batterieende" hin gerne mal ein low senden um mit der nächsten Übertragung wieder ein ok zu schicken.
Daher habe ich allen batteriebetriebenen Geräten ein Reading Warnung spendiert das bei FHTs z.B. bis auf 8 gezählt wird.
HM steht bei 2 da ich noch keine Langzeiterfahrung damit habe.
Wenn 8 mal (um bei den FHT zu bleiben) was anderes als low gesendet wird wird das Reading auf 100 gesetzt und der Rest erledigt.
100 weil mir grad danach war ;D
Was freue ich mich das du auch mal blödsinn schreibst :-) ;D
Aber zurück zum Thema,
bei dem HM gibt es ja auch noch "batteryLevel", und wenn das auf 3 steht, hab ich noch nie erlebt das ein LOW gesendet wurde,von daher kann ich mir eigentlich nicht vorstellen das das der grund ist, vorallem weil ja immer andere Geräte gemeldet werden, das wäre ja ein seltsamer zufall wenn es bei sovielen auf einmal auftritt!?
Bei mir hat ein HM-LC-SW1-BA-PCB angefangen low zu senden obwohl er noch einwandfrei funktionierte.
Mach mal den EventMonitor auf und setze den Dummy auf ok und schau was passiert.
Log(3,"$NAME : Batteriewarnung $EVENT");
Du lässt ja loggen, was steht den im Logfile ::)
Edith: Was soll schon drinnen stehen 8)
Das selbe wie in der Mail.
Das Device wird wohl oder übel was anderes als ok senden sonst würde das notify nicht triggern.
Also im Log steht nur das die Mail gesendet wurde
2016.04.09 21:14:50.719 3: rd_Batterie : Batteriewarnung Heizung_Kinderzimmer.battery: <svg class="icon measure_battery_100 green" alt="100" title="100" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:cc="http://creativecommons.org/ns#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:svg="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" version="1.1" x="0px" y="0px" width="361px" height="361px" viewBox="0 0 361 361" style="enable-background:new 0 0 361 361;" xml:space="preserve" id="svg2" inkscape:version="0.48.5 r10040" sodipodi:docname="measure_battery_100.svg"><metadata id="metadata36"><rdf:RDF><cc:Work rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><defs id="defs34" /><sodipodi:namedview pagecolor="#ffffff" bordercolor="#666666" borderopacity="1" objecttolerance="10" gridtolerance="10" guidetolerance="10" inkscape:pageopacity="0" inkscape:pageshadow="2" inkscape:window-width="779" inkscape:window-height="480" id="namedview32" showgrid="false" inkscape:zoom="0.65373961" inkscape:cx="180.5" inkscape:cy="180.5" inkscape:window-x="0" inkscape:window-y="0" inkscape:window-maximized="0" inkscape:current-layer="svg2" /> <g id="measure_x5F_battery_x5F_100" style="stroke:#000000;stroke-opacity:1" transform="matrix(1.6146267,0,0,1.6146267,-112.50812,-110.12429)"> <g id="g5" style="stroke:#000000;stroke-opacity:1"> <path style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:green;fill-opacity:1;stroke:none;stroke-width:10;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Sans;-inkscape-font-specification:Sans" d="m 134.65625,89.15625 c -6.01649,0 -11,4.983509 -11,11 l 0,180 c 0,6.01649 4.98351,11 11,11 l 95.5,0 c 6.01631,0 11,-4.9825 11,-11 l 0,-180 c 0,-6.016491 -4.98351,-11 -11,-11 l -95.5,0 z m 0,10 95.5,0 c 0.60951,0 1,0.390491 1,1 l 0,180 c 0,0.6085 -0.39231,1 -1,1 l -95.5,0 c -0.60951,0 -1,-0.39049 -1,-1 l 0,-180 c 0,-0.609509 0.39049,-1 1,-1 z" id="path7" inkscape:connector-curvature="0" /> <path style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:green;fill-opacity:1;stroke:none;stroke-width:10;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Sans;-inkscape-font-specification:Sans" d="m 169.625,69.65625 c -6.01649,0 -11,4.983509 -11,11 l 0,14 10,0 0,-14 c 0,-0.609509 0.39049,-1 1,-1 l 25.5,0 c 0.60951,0 1,0.390491 1,1 l 0,14 10,0 0,-14 c 0,-6.016491 -4.98351,-11 -11,-11 l -25.5,0 z" id="path9" inkscape:connector-curvature="0" /> </g> <g style="stroke:#000000;stroke-opacity:1;display:none" id="g11"> <path style="fill:none;stroke:#000000;stroke-width:10;stroke-opacity:1;display:inline" d="m 221.141,266.334 c 0,3.313 -2.688,6 -6,6 h -65.5 c -3.313,0 -6,-2.688 -6,-6 v -6 c 0,-3.314 2.687,-6 6,-6 l 65.5,-20 c 3.313,0 6,2.686 6,6 v 26 z" id="path13" inkscape:connector-curvature="0" /> <path style="fill:none;stroke:#000000;stroke-width:10;stroke-opacity:1;display:inline" d="m 221.141,166.667 c 0,3.313 -2.688,6 -6,6 l -65.5,20 c -3.313,0 -6,-2.687 -6,-6 v -20 c 0,-3.313 2.687,-6 6,-6 l 65.5,-20 c 3.313,0 6,2.687 6,6 v 20 z" id="path15" inkscape:connector-curvature="0" /> <path style="fill:none;stroke:#000000;stroke-width:10;stroke-opacity:1;display:inline" d="m 221.141,120 c 0,3.313 -2.688,6 -6,6 l -65.5,20 c -3.313,0 -6,-2.687 -6,-6 v -26 c 0,-3.313 2.687,-6 6,-6 h 65.5 c 3.313,0 6,2.687 6,6 v 6 z" id="path17" inkscape:connector-curvature="0" /> <path style="fill:none;stroke:#000000;stroke-width:10;stroke-opacity:1;display:inline" d="m 221.141,213.667 c 0,3.313 -2.688,6 -6,6 l -65.5,20 c -3.313,0 -6,-2.687 -6,-6 v -20 c 0,-3.313 2.687,-6 6,-6 l 65.5,-20 c 3.313,0 6,2.687 6,6 v 20 z" id="path19" inkscape:connector-curvature="0" /> </g> <g id="g21" style="fill:green;fill-opacity:1;stroke:none"> <path style="fill:green;fill-opacity:1;stroke:none" d="m 221.141,266.334 c 0,3.313 -2.688,6 -6,6 h -65.5 c -3.313,0 -6,-2.688 -6,-6 v -6 c 0,-3.314 2.687,-6 6,-6 l 65.5,-20 c 3.313,0 6,2.686 6,6 v 26 z" id="path23" inkscape:connector-curvature="0" /> <path style="fill:green;fill-opacity:1;stroke:none" d="m 221.141,166.667 c 0,3.313 -2.688,6 -6,6 l -65.5,20 c -3.313,0 -6,-2.687 -6,-6 v -20 c 0,-3.313 2.687,-6 6,-6 l 65.5,-20 c 3.313,0 6,2.687 6,6 v 20 z" id="path25" inkscape:connector-curvature="0" /> <path style="fill:green;fill-opacity:1;stroke:none" d="m 221.141,120 c 0,3.313 -2.688,6 -6,6 l -65.5,20 c -3.313,0 -6,-2.687 -6,-6 v -26 c 0,-3.313 2.687,-6 6,-6 h 65.5 c 3.313,0 6,2.687 6,6 v 6 z" id="path27" inkscape:connector-curvature="0" /> <path style="fill:green;fill-opacity:1;stroke:none" d="m 221.141,213.667 c 0,3.313 -2.688,6 -6,6 l -65.5,20 c -3.313,0 -6,-2.687 -6,-6 v -20 c 0,-3.313 2.687,-6 6,-6 l 65.5,-20 c 3.313,0 6,2.687 6,6 v 20 z" id="path29" inkscape:connector-curvature="0" /> </g> </g> <g id="Ebene_1" style="stroke:#000000;stroke-opacity:1" transform="matrix(1.6146267,0,0,1.6146267,-112.50812,-110.12429)"> </g> </svg>
2016.04.09 21:14:50.783 1: sendEmail RCP: xxx@googlemail.com
2016.04.09 21:14:50.783 1: sendEmail Subject: Batteriewarnung
2016.04.09 21:14:50.784 1: sendEmail Text: rd_Batterie: Heizung_Kinderzimmer.battery: <svg class="icon measure_battery_100 green" alt="100" title="100" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:cc="http://creativecommons.org/ns#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:svg="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" version="1.1" x="0px" y="0px" width="361px" height="361px" viewBox="0 0 361 361" style="enable-background:new 0 0 361 361;" xml:space="preserve" id="svg2" inkscape:version="0.48.5 r10040" sodipodi:docname="measure_battery_100.svg"><metadata id="metadata36"><rdf:RDF><cc:Work rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><defs id="defs34" /><sodipodi:namedview pagecolor="#ffffff" bordercolor="#666666" borderopacity="1" objecttolerance="10" gridtolerance="10" guidetolerance="10" inkscape:pageopacity="0" inkscape:pageshadow="2" inkscape:window-width="779" inkscape:window-height="480" id="namedview32" showgrid="false" inkscape:zoom="0.65373961" inkscape:cx="180.5" inkscape:cy="180.5" inkscape:window-x="0" inkscape:window-y="0" inkscape:window-maximized="0" inkscape:current-layer="svg2" /> <g id="measure_x5F_battery_x5F_100" style="stroke:#000000;stroke-opacity:1" transform="matrix(1.6146267,0,0,1.6146267,-112.50812,-110.12429)"> <g id="g5" style="stroke:#000000;stroke-opacity:1"> <path style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:green;fill-opacity:1;stroke:none;stroke-width:10;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Sans;-inkscape-font-specification:Sans" d="m 134.65625,89.15625 c -6.01649,0 -11,4.983509 -11,11 l 0,180 c 0,6.01649 4.98351,11 11,11 l 95.5,0 c 6.01631,0 11,-4.9825 11,-11 l 0,-180 c 0,-6.016491 -4.98351,-11 -11,-11 l -95.5,0 z m 0,10 95.5,0 c 0.60951,0 1,0.390491 1,1 l 0,180 c 0,0.6085 -0.39231,1 -1,1 l -95.5,0 c -0.60951,0 -1,-0.39049 -1,-1 l 0,-180 c 0,-0.609509 0.39049,-1 1,-1 z" id="path7" inkscape:connector-curvature="0" /> <path style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:green;fill-opacity:1;stroke:none;stroke-width:10;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Sans;-inkscape-font-specification:Sans" d="m 169.625,69.65625 c -6.01649,0 -11,4.983509 -11,11 l 0,14 10,0 0,-14 c 0,-0.609509 0.39049,-1 1,-1 l 25.5,0 c 0.60951,0 1,0.390491 1,1 l 0,14 10,0 0,-14 c 0,-6.016491 -4.98351,-11 -11,-11 l -25.5,0 z" id="path9" inkscape:connector-curvature="0" /> </g> <g style="stroke:#000000;stroke-opacity:1;display:none" id="g11"> <path style="fill:none;stroke:#000000;stroke-width:10;stroke-opacity:1;display:inline" d="m 221.141,266.334 c 0,3.313 -2.688,6 -6,6 h -65.5 c -3.313,0 -6,-2.688 -6,-6 v -6 c 0,-3.314 2.687,-6 6,-6 l 65.5,-20 c 3.313,0 6,2.686 6,6 v 26 z" id="path13" inkscape:connector-curvature="0" /> <path style="fill:none;stroke:#000000;stroke-width:10;stroke-opacity:1;display:inline" d="m 221.141,166.667 c 0,3.313 -2.688,6 -6,6 l -65.5,20 c -3.313,0 -6,-2.687 -6,-6 v -20 c 0,-3.313 2.687,-6 6,-6 l 65.5,-20 c 3.313,0 6,2.687 6,6 v 20 z" id="path15" inkscape:connector-curvature="0" /> <path style="fill:none;stroke:#000000;stroke-width:10;stroke-opacity:1;display:inline" d="m 221.141,120 c 0,3.313 -2.688,6 -6,6 l -65.5,20 c -3.313,0 -6,-2.687 -6,-6 v -26 c 0,-3.313 2.687,-6 6,-6 h 65.5 c 3.313,0 6,2.687 6,6 v 6 z" id="path17" inkscape:connector-curvature="0" /> <path style="fill:none;stroke:#000000;stroke-width:10;stroke-opacity:1;display:inline" d="m 221.141,213.667 c 0,3.313 -2.688,6 -6,6 l -65.5,20 c -3.313,0 -6,-2.687 -6,-6 v -20 c 0,-3.313 2.687,-6 6,-6 l 65.5,-20 c 3.313,0 6,2.687 6,6 v 20 z" id="path19" inkscape:connector-curvature="0" /> </g> <g id="g21" style="fill:green;fill-opacity:1;stroke:none"> <path style="fill:green;fill-opacity:1;stroke:none" d="m 221.141,266.334 c 0,3.313 -2.688,6 -6,6 h -65.5 c -3.313,0 -6,-2.688 -6,-6 v -6 c 0,-3.314 2.687,-6 6,-6 l 65.5,-20 c 3.313,0 6,2.686 6,6 v 26 z" id="path23" inkscape:connector-curvature="0" /> <path style="fill:green;fill-opacity:1;stroke:none" d="m 221.141,166.667 c 0,3.313 -2.688,6 -6,6 l -65.5,20 c -3.313,0 -6,-2.687 -6,-6 v -20 c 0,-3.313 2.687,-6 6,-6 l 65.5,-20 c 3.313,0 6,2.687 6,6 v 20 z" id="path25" inkscape:connector-curvature="0" /> <path style="fill:green;fill-opacity:1;stroke:none" d="m 221.141,120 c 0,3.313 -2.688,6 -6,6 l -65.5,20 c -3.313,0 -6,-2.687 -6,-6 v -26 c 0,-3.313 2.687,-6 6,-6 h 65.5 c 3.313,0 6,2.687 6,6 v 6 z" id="path27" inkscape:connector-curvature="0" /> <path style="fill:green;fill-opacity:1;stroke:none" d="m 221.141,213.667 c 0,3.313 -2.688,6 -6,6 l -65.5,20 c -3.313,0 -6,-2.687 -6,-6 v -20 c 0,-3.313 2.687,-6 6,-6 l 65.5,-20 c 3.313,0 6,2.687 6,6 v 20 z" id="path29" inkscape:connector-curvature="0" /> </g> </g> <g id="Ebene_1" style="stroke:#000000;stroke-opacity:1" transform="matrix(1.6146267,0,0,1.6146267,-112.50812,-110.12429)"> </g> </svg>
2016.04.09 21:14:53.691 1: sendEmail returned: Apr 09 21:14:53 localhost sendEmail[14908]: Email was sent successfully!
2016.04.09 21:15:12.217 3: rd_Batterie : Batteriewarnung Gaeste_WC.battery: <svg class="icon measure_battery_100 green" alt="100" title="100" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:cc="http://creativecommons.org/ns#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:svg="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" version="1.1" x="0px" y="0px" width="361px" height="361px" viewBox="0 0 361 361" style="enable-background:new 0 0 361 361;" xml:space="preserve" id="svg2" inkscape:version="0.48.5 r10040" sodipodi:docname="measure_battery_100.svg"><metadata id="metadata36"><rdf:RDF><cc:Work rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><defs id="defs34" /><sodipodi:namedview pagecolor="#ffffff" bordercolor="#666666" borderopacity="1" objecttolerance="10" gridtolerance="10" guidetolerance="10" inkscape:pageopacity="0" inkscape:pageshadow="2" inkscape:window-width="779" inkscape:window-height="480" id="namedview32" showgrid="false" inkscape:zoom="0.65373961" inkscape:cx="180.5" inkscape:cy="180.5" inkscape:window-x="0" inkscape:window-y="0" inkscape:window-maximized="0" inkscape:current-layer="svg2" /> <g id="measure_x5F_battery_x5F_100" style="stroke:#000000;stroke-opacity:1" transform="matrix(1.6146267,0,0,1.6146267,-112.50812,-110.12429)"> <g id="g5" style="stroke:#000000;stroke-opacity:1"> <path style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:green;fill-opacity:1;stroke:none;stroke-width:10;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Sans;-inkscape-font-specification:Sans" d="m 134.65625,89.15625 c -6.01649,0 -11,4.983509 -11,11 l 0,180 c 0,6.01649 4.98351,11 11,11 l 95.5,0 c 6.01631,0 11,-4.9825 11,-11 l 0,-180 c 0,-6.016491 -4.98351,-11 -11,-11 l -95.5,0 z m 0,10 95.5,0 c 0.60951,0 1,0.390491 1,1 l 0,180 c 0,0.6085 -0.39231,1 -1,1 l -95.5,0 c -0.60951,0 -1,-0.39049 -1,-1 l 0,-180 c 0,-0.609509 0.39049,-1 1,-1 z" id="path7" inkscape:connector-curvature="0" /> <path style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:green;fill-opacity:1;stroke:none;stroke-width:10;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Sans;-inkscape-font-specification:Sans" d="m 169.625,69.65625 c -6.01649,0 -11,4.983509 -11,11 l 0,14 10,0 0,-14 c 0,-0.609509 0.39049,-1 1,-1 l 25.5,0 c 0.60951,0 1,0.390491 1,1 l 0,14 10,0 0,-14 c 0,-6.016491 -4.98351,-11 -11,-11 l -25.5,0 z" id="path9" inkscape:connector-curvature="0" /> </g> <g style="stroke:#000000;stroke-opacity:1;display:none" id="g11"> <path style="fill:none;stroke:#000000;stroke-width:10;stroke-opacity:1;display:inline" d="m 221.141,266.334 c 0,3.313 -2.688,6 -6,6 h -65.5 c -3.313,0 -6,-2.688 -6,-6 v -6 c 0,-3.314 2.687,-6 6,-6 l 65.5,-20 c 3.313,0 6,2.686 6,6 v 26 z" id="path13" inkscape:connector-curvature="0" /> <path style="fill:none;stroke:#000000;stroke-width:10;stroke-opacity:1;display:inline" d="m 221.141,166.667 c 0,3.313 -2.688,6 -6,6 l -65.5,20 c -3.313,0 -6,-2.687 -6,-6 v -20 c 0,-3.313 2.687,-6 6,-6 l 65.5,-20 c 3.313,0 6,2.687 6,6 v 20 z" id="path15" inkscape:connector-curvature="0" /> <path style="fill:none;stroke:#000000;stroke-width:10;stroke-opacity:1;display:inline" d="m 221.141,120 c 0,3.313 -2.688,6 -6,6 l -65.5,20 c -3.313,0 -6,-2.687 -6,-6 v -26 c 0,-3.313 2.687,-6 6,-6 h 65.5 c 3.313,0 6,2.687 6,6 v 6 z" id="path17" inkscape:connector-curvature="0" /> <path style="fill:none;stroke:#000000;stroke-width:10;stroke-opacity:1;display:inline" d="m 221.141,213.667 c 0,3.313 -2.688,6 -6,6 l -65.5,20 c -3.313,0 -6,-2.687 -6,-6 v -20 c 0,-3.313 2.687,-6 6,-6 l 65.5,-20 c 3.313,0 6,2.687 6,6 v 20 z" id="path19" inkscape:connector-curvature="0" /> </g> <g id="g21" style="fill:green;fill-opacity:1;stroke:none"> <path style="fill:green;fill-opacity:1;stroke:none" d="m 221.141,266.334 c 0,3.313 -2.688,6 -6,6 h -65.5 c -3.313,0 -6,-2.688 -6,-6 v -6 c 0,-3.314 2.687,-6 6,-6 l 65.5,-20 c 3.313,0 6,2.686 6,6 v 26 z" id="path23" inkscape:connector-curvature="0" /> <path style="fill:green;fill-opacity:1;stroke:none" d="m 221.141,166.667 c 0,3.313 -2.688,6 -6,6 l -65.5,20 c -3.313,0 -6,-2.687 -6,-6 v -20 c 0,-3.313 2.687,-6 6,-6 l 65.5,-20 c 3.313,0 6,2.687 6,6 v 20 z" id="path25" inkscape:connector-curvature="0" /> <path style="fill:green;fill-opacity:1;stroke:none" d="m 221.141,120 c 0,3.313 -2.688,6 -6,6 l -65.5,20 c -3.313,0 -6,-2.687 -6,-6 v -26 c 0,-3.313 2.687,-6 6,-6 h 65.5 c 3.313,0 6,2.687 6,6 v 6 z" id="path27" inkscape:connector-curvature="0" /> <path style="fill:green;fill-opacity:1;stroke:none" d="m 221.141,213.667 c 0,3.313 -2.688,6 -6,6 l -65.5,20 c -3.313,0 -6,-2.687 -6,-6 v -20 c 0,-3.313 2.687,-6 6,-6 l 65.5,-20 c 3.313,0 6,2.687 6,6 v 20 z" id="path29" inkscape:connector-curvature="0" /> </g> </g> <g id="Ebene_1" style="stroke:#000000;stroke-opacity:1" transform="matrix(1.6146267,0,0,1.6146267,-112.50812,-110.12429)"> </g> </svg>
2016.04.09 21:15:12.250 1: sendEmail RCP: xxx@googlemail.com
2016.04.09 21:15:12.251 1: sendEmail Subject: Batteriewarnung
2016.04.09 21:15:12.251 1: sendEmail Text: rd_Batterie: Gaeste_WC.battery: <svg class="icon measure_battery_100 green" alt="100" title="100" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:cc="http://creativecommons.org/ns#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:svg="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" version="1.1" x="0px" y="0px" width="361px" height="361px" viewBox="0 0 361 361" style="enable-background:new 0 0 361 361;" xml:space="preserve" id="svg2" inkscape:version="0.48.5 r10040" sodipodi:docname="measure_battery_100.svg"><metadata id="metadata36"><rdf:RDF><cc:Work rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><defs id="defs34" /><sodipodi:namedview pagecolor="#ffffff" bordercolor="#666666" borderopacity="1" objecttolerance="10" gridtolerance="10" guidetolerance="10" inkscape:pageopacity="0" inkscape:pageshadow="2" inkscape:window-width="779" inkscape:window-height="480" id="namedview32" showgrid="false" inkscape:zoom="0.65373961" inkscape:cx="180.5" inkscape:cy="180.5" inkscape:window-x="0" inkscape:window-y="0" inkscape:window-maximized="0" inkscape:current-layer="svg2" /> <g id="measure_x5F_battery_x5F_100" style="stroke:#000000;stroke-opacity:1" transform="matrix(1.6146267,0,0,1.6146267,-112.50812,-110.12429)"> <g id="g5" style="stroke:#000000;stroke-opacity:1"> <path style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:green;fill-opacity:1;stroke:none;stroke-width:10;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Sans;-inkscape-font-specification:Sans" d="m 134.65625,89.15625 c -6.01649,0 -11,4.983509 -11,11 l 0,180 c 0,6.01649 4.98351,11 11,11 l 95.5,0 c 6.01631,0 11,-4.9825 11,-11 l 0,-180 c 0,-6.016491 -4.98351,-11 -11,-11 l -95.5,0 z m 0,10 95.5,0 c 0.60951,0 1,0.390491 1,1 l 0,180 c 0,0.6085 -0.39231,1 -1,1 l -95.5,0 c -0.60951,0 -1,-0.39049 -1,-1 l 0,-180 c 0,-0.609509 0.39049,-1 1,-1 z" id="path7" inkscape:connector-curvature="0" /> <path style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:green;fill-opacity:1;stroke:none;stroke-width:10;marker:none;visibility:visible;display:inline;overflow:visible;enable-
Im Eventmonitor kommt nur
2016.04.09 21:47:26.424 4: dummy set BATT_Status OK
EDIT fällt mir jetzt werst auf, da scheint ja auch was beim Email senden nicht zu stimmen!?
Zitat von: Tommy82 am 09 April 2016, 21:48:22
Im Eventmonitor kommt nur
2016.04.09 21:47:26.424 4: dummy set BATT_Status OK
Ähem, ja das ist schon klar.
Ich meinte eigentlich wenn dann eine mail gesendet wird.
Du kannst ja auch global verbose auf 5 drehen und schauen was FHEM sieht bevor es dir ne Mail schickt.
Ist ja nicht so das es das erste Mal wäre das du den Loglevel raufschrauben solltest um mehr zu sehen ;)
Edith: Wobei ich immer noch behaupte das
das die Devices was anderes als ok senden sonst würde das notify nicht triggern.
Allerdings prüfe ich auf
!~ m/ok/
und da ich nicht der regexp-Spezie bin kann ich so auf die Schnelle nicht sofort sagen wo genau der Unterschied ist.
Ich müsste selbst erst schauen aber bei mir klappt es ja ;)
Hab jetzt mal mit verbose 5 geloggt, dann kommt das im log,
2016.04.10 11:45:49.866 5: Triggering Batterie_Status_nt
2016.04.10 11:45:49.872 4: Batterie_Status_nt exec {
if(Value("BATT_Status") ne "LOW" ) {
Log(3,"$NAME : Batteriewarnung $EVENT");;
{ fhem ("set BATT_Status LOW") } ;;
DebianMail('Batteriewarnung',$NAME.': '.$EVENT);;
}
}
2016.04.10 11:45:49.936 3: rd_Batterie : Batteriewarnung Heizung_Flur.battery:
2016.04.10 11:45:49.959 4: dummy set BATT_Status LOW
2016.04.10 11:45:49.994 1: sendEmail RCP: xxx@googlemail.com
2016.04.10 11:45:49.994 1: sendEmail Subject: Batteriewarnung
2016.04.10 11:45:49.994 1: sendEmail Text: rd_Batterie: Heizung_Flur.battery:
2016.04.10 11:45:52.606 1: sendEmail returned: Apr 10 11:45:52 localhost sendEmail[14085]: Email was sent successfully!
2016.04.10 11:46:08.264 5: Triggering Batterie_Status_nt
2016.04.10 11:46:08.272 4: Batterie_Status_nt exec {
if(Value("BATT_Status") ne "LOW" ) {
Log(3,"$NAME : Batteriewarnung $EVENT");;
{ fhem ("set BATT_Status LOW") } ;;
DebianMail('Batteriewarnung',$NAME.': '.$EVENT);;
}
}
2016.04.10 11:46:24.717 5: Triggering Batterie_Status_nt
2016.04.10 11:46:24.723 4: Batterie_Status_nt exec {
if(Value("BATT_Status") ne "LOW" ) {
Log(3,"$NAME : Batteriewarnung $EVENT");;
{ fhem ("set BATT_Status LOW") } ;;
DebianMail('Batteriewarnung',$NAME.': '.$EVENT);;
}
}
2016.04.10 11:46:37.132 5: Triggering Batterie_Status_nt
2016.04.10 11:46:37.140 4: Batterie_Status_nt exec {
if(Value("BATT_Status") ne "LOW" ) {
Log(3,"$NAME : Batteriewarnung $EVENT");;
{ fhem ("set BATT_Status LOW") } ;;
DebianMail('Batteriewarnung',$NAME.': '.$EVENT);;
}
}
Aber da kann ich auch nichts erkennen!?
@Puschel
Wie müsste ich mein notify abändern um auf deine Prüfung testweise umzustellen?
Welchen Wert hat $EVENT?
Zitat von: dev0 am 10 April 2016, 12:46:57
Welchen Wert hat $EVENT?
Sieht man doch schön ;)
ZitatHeizung_Flur.battery:
DebianMail('Batteriewarnung',$NAME.': '.$EVENT);
Zitat2016.04.10 11:45:49.994 1: sendEmail Subject: Batteriewarnung
2016.04.10 11:45:49.994 1: sendEmail Text: rd_Batterie: Heizung_Flur.battery:
$NAME = rd_Batterie und
$EVENT = Heizung_Flur.battery:
rd_Batterie sollte aber nicht auf das regexp matchen:
.*[Bb]attery:.(?!ok).*
Bei den letzten 3 Batterie_Status_nt exec { kam keine Mail mehr durch weil der Dummy auf LOW steht.
Edith: Hm, laut http://www.regexe.com/ (http://www.regexe.com/) sollte rd_Batterie keinen match bei .*[Bb]attery auslösen.
So hätte ich mir das auch erwartet.
Warum das notify dennoch auslöst wundert mich.
Edith1: Ich tippe mal drauf das Heizung_Flur.battery matcht und das auslösende Device ist rd_Batterie - aber das wird garnicht berücksichtigt resp. geprüft.
Und das heißt?
Zitat von: Tommy82 am 10 April 2016, 17:37:18
Und das heißt?
Ich sehe mit meinen bescheidenen Fähigkeiten 2 Möglichkeiten ;)
Das regexp des notify passend modifizieren das nur erwünschte Geräte durchkommen oder
im Code auf nur erwünschte Geräte prüfen und rd_Batterie verwerfen.
Ersteres dürfte vermutlich auf sowas
(!rd_Batterie).*:.*[Bb]attery:.(?!ok).*
in der Richtung hinauslaufen.
Zweiteres auf sowas
if ($NAME ne "rd_Batterie") ...
Beides ungetestet und ohne Gewähr.
Du meinst also ungefähr so?
.*[Bb]attery:.(?!ok).* {
if ($NAME ne "rd_Batterie" && Value("BATT_Status") ne "LOW" ) {
Log(3,"$NAME : Batteriewarnung $EVENT");
{ fhem ("set BATT_Status LOW") } ;
DebianMail('Batteriewarnung',$NAME.': '.$EVENT);
}
}
Mal sehen was passiert
Hi,
muss dann doch nochmal fragen, ich hab das notify so gelöst:
Internals:
DEF .*[Bb]attery:.(?!ok).* {
if ($NAME ne "rd_Batterie" && "rd_Batterie2" && "rd_Rauchmelder" && Value("BATT_Status") ne "LOW" ) {
Log(3,"$NAME : Batteriewarnung $EVENT");
{ fhem ("set BATT_Status LOW") } ;
DebianMail('Batteriewarnung',$NAME.': '.$EVENT);
}
}
NAME Batterie_Status_nt
NR 274
NTFY_ORDER 50-Batterie_Status_nt
REGEXP .*[Bb]attery:.(?!ok).*
STATE 2016-12-28 21:00:44
TYPE notify
Readings:
2016-12-11 15:05:56 state active
Attributes:
group Info
room Zentral
Allerdings bekomme ich bei einer Batterie LOW folgende Email Meldung:
Batteriewarnung Kinderzimmer.battery: <html>ok</html>
Das
Zitat<html>ok</html>
ist ja so nicht richtig, weder die html Tags sollten in der Email stehen, noch stimmt der Wert OK, denn der müsste ja bei der benachrichtigung LOW sein.
Was mache ich da noch falsch?
Danke
if ($NAME ne "rd_Batterie" && "rd_Batterie2" && "rd_Rauchmelder" && Value("BATT_Status") ne "LOW" ) {
Was auch immer du dir davon erhoffst wird so sicher nicht funktionieren wie du es dir erwartest ;)
$NAME ne "rd_Batterie"
ist ok und funktioniert
&& Value("BATT_Status") ne "LOW"
ist auch ok und sollte so klappen.
Aber das
&& "rd_Batterie2" && "rd_Rauchmelder"
???
Was erwartest du das hier passiert?
Nein, es wird nicht mit $NAME verglichen - wie auch, steht ja nirgends das es das soll ;)
if (($NAME ne "rd_Batterie") && ($NAME ne "rd_Batterie2") && ($NAME ne "rd_Rauchmelder") && (Value("BATT_Status") ne "LOW" )) {
Vermutlich meintest du sowas (ich klammer gerne zuviel als zuwenig).
Wobei sich das dank Perl-regexp noch vereinfachen lässt wenn alles ausgeschlossen werden soll was mit rd_ anfängt zu
alles was nicht mit rd_ anfängt
Aber da darfst du deine liebste Suchmaschine selbst quälen 8)
So lernst du auch gleich ein bischen regexp und Perl ;)
Hi Puschel,
wieso klappt mein Code nicht? wegen denn Fehlenden Klammern, bzw. wegen dem fehlenden
Zitat$NAME ne "
?
Danke für deine Hilfe, werd es testen
ZitatNein, es wird nicht mit $NAME verglichen - wie auch, steht ja nirgends das es das soll
Es wird nur das verglichen was auch geschrieben ist - und nicht das was man möchte.
Ja, es scheitert an den fehlenden Vergleichen weil eben nicht angegeben wird womit "rd_Batterie2" verglichen werden soll.
Und bitte nicht Zusammenhanglos zitieren - ein
$NAME ne "
hilft nicht.
Ich hab dir doch die Langversion eines möglichen Versuchs gepostet:
if (($NAME ne "rd_Batterie") && ($NAME ne "rd_Batterie2") && ($NAME ne "rd_Rauchmelder") && (Value("BATT_Status") ne "LOW" )) {
Denken und lesen musst du schon selbst - hier kann dir zwar beides abgenommen werden aber ob dir das was bringt ???
Guten Rutsch aber erstmal
Hi, vielen Dank erst mal und guten Rutsch
Hi,
muss nochmal fragen, das notify sieht so aus:
Internals:
DEF .*[Bb]attery:.(?!ok).* {
if (($NAME ne "rd_Batterie") && ($NAME ne "rd_Batterie2") && ($NAME ne "rd_Rauchmelder") && (Value("BATT_Status") ne "LOW" )) {
Log(3,"$NAME : Batteriewarnung $EVENT");
{ fhem ("set BATT_Status LOW") } ;
DebianMail('Batteriewarnung',$NAME.': '.$EVENT);
}
}
NAME Batterie_Status_nt
NR 273
NTFY_ORDER 50-Batterie_Status_nt
REGEXP .*[Bb]attery:.(?!ok).*
STATE 2017-03-20 15:37:03
TYPE notify
Readings:
2017-03-20 12:28:36 state active
Attributes:
group Info
room Zentral
und ich habe ein HM-CC-RT_DN welcher battery
low
hat, allerdings habe ich keine Email bekommen.
Aber auch nirgens eine Fehlermeldung, was hab ich noch falsch gemacht?
Danke
Zitat von: Tommy82 am 29 Dezember 2016, 21:28:01
Hi, vielen Dank erst mal und guten Rutsch
liegt es daran?
&& (Value("BATT_Status") ne "LOW" )) {
Darf ich hier auch mal das monitoring (https://forum.fhem.de/index.php/topic,68765.0.html) Modul vorstellen?
Batterieüberwachung
defmod Batterie_monitoring monitoring .*:battery:.low .*:battery:.ok
attr Batterie_monitoring errorReturn {return unless(@errors);;\
$_ = AttrVal($_, "alias", $_) foreach(@errors);;\
return("Bei dem Gerät \"$errors[0]\" muss die Batterie gewechselt werden.") if(int(@errors) == 1);;\
@errors = sort {lc($a) cmp lc($b)} @errors;;\
return(join("\n - ", "Die folgenden ".@errors." Geräten muss die Batterie gewechselt werden:", @errors))\
}
attr Batterie_monitoring errorWait 60*60*24*14
attr Batterie_monitoring warningReturn {return unless(@warnings);;\
$_ = AttrVal($_, "alias", $_) foreach(@warnings);;\
return("Bei dem Gerät \"$warnings[0]\" muss die Batterie demnächst gewechselt werden.") if(int(@warnings) == 1);;\
@warnings = sort {lc($a) cmp lc($b)} @warnings;;\
return(join("\n - ", "Die folgenden ".@warnings." Geräten muss die Batterie demnächst gewechselt werden:", @warnings))\
}
Sobald ein Gerät ein "battery: low" Event auslöst wird das Gerät auf die warning-Liste gesetzt und es wird ein Timer gestartet nach dessen Ablauf das Gerät von der warning- auf die error-Liste verschoben wird. Die Wartezeit ist auf 14 Tage eingestellt.
Sobald ein Gerät ein "battery: ok" Event auslöst wird das Gerät von beiden Listen gelöscht und noch laufende Timer werden gestoppt.
Zitat von: Wuppi68 am 20 März 2017, 16:14:28
liegt es daran?
&& (Value("BATT_Status") ne "LOW" )) {
Hi, was meinst du damit?
@igami, danke für den Tip, kannte ich noch nicht, werde ich mir aber mal ansehen.
Zitat von: Tommy82 am 20 März 2017, 17:53:45
Hi, was meinst du damit?
@igami, danke für den Tip, kannte ich noch nicht, werde ich mir aber mal ansehen.
der letzte Und Teil sieht mir nach der Bedingung aus, dass kein Event gefeuert wird
Vielleicht hilft es jemandem: Ich überwache den Batteriestatus der HomeMatic Komponenten per hmInfo-Device und lasse mich per GCM Nachricht auf's Smartphone informieren. Da sich der hm-Status nur ändert, wenn sich ein Batteriestatus ändert, gibt's auch keine wiederholten identischen Benachrichtigungen.
Das folgende define in der fhem.cfg tut's dafür:
define gl_nf_battery notify hm:ERR_battery.* {\
fhem("set gcm send Batterie|Batterie leer|HomeMatic-Komponenten: " . InternalVal('hm', 'ERR_names', ''));;\
}
Es ist sehr nett das Du Deine Erkenntnisse teilst.
Bitte achte darauf das auch Anfänger dies gerne in Anspruch nehmen und es generell eine schlechte Idee ist Anfänger das editieren der fhem.cfg zu beschreiben. Besser wäre ein define für die FHEMWEB Kommandozeile
define gl_nf_battery notify hm:ERR_battery.* set gcm send Batterie|Batterie leer|HomeMatic-Komponenten: $EVENT
Sollte es auch tun. Leider ungetestet.
Danke. Wie kommst du darauf, dass $EVENT die Komponentennamen enthält? Das Event im Log sieht wie folgt aus:
2017-09-08 18:42:28 HMinfo hm ERR_battery: low:2,
Ich habe etwas ähnliches mit ERR und dachte man kann es adaptieren.
Wenn nicht empfiehlt sich in Deinem Fall statt ReadingsVal setMagic zu verwenden
define gl_nf_battery notify hm:ERR_battery.* set gcm send Batterie|Batterie leer|HomeMatic-Komponenten: [hm:ERR_names]
Sehr schön, das funktioniert tatsächlich! Vielen Dank, das kannte ich noch nicht.
Gern geschehen. Es ist Anfängerfreundlich. Die alten Hasen schreiben natürlich alles in Perl ;D
Aber FHEM soll ja gerade bei den Beginnern eine höhere Akzeptanz bekommen.
Grüße
Hmm - gibt es ERR_names nicht mehr? Meine "Batterie leer"-Meldung sagt nur noch "HomeMatic-Komponenten: [hm:ERR_names]", und während ERR_battery die Device-Namen auch listet, werden mir die Alias-Langnamen offenbar nicht mehr angezeigt?
fhem> set hm update
fhem> list hm
Internals:
ERR___rssiCrit sz_fg_fenster
ERR__protocol sz_sa_bettlicht
ERR_battery bz_wt_waschbecken,sz_wt_bettlicht
I_HM_IOdevices ok: HMUSB;
NAME hm
NR 165
NTFY_ORDER 50-hm
STATE updated:2019-01-06 11:50:03
TYPE HMinfo
Version 01
W__protoNames bz_ht_heizung,sz_sa_bettlicht
READINGS:
2018-02-11 15:13:23 CRIT__protocol -
2019-01-06 11:50:03 CRI__protocol -
2017-10-26 18:22:31 C_sumDefined entities:150,device:52,channel:131,virtual:3
2019-01-06 11:19:25 ERR__protocol CmdDel:1,ResndFail:1
2019-01-06 11:24:25 ERR__unreachable 0
2019-01-05 22:03:05 ERR_battery low:2,
2019-01-05 15:51:59 I_actTotal alive:25,dead:0,unkn:1,off:0
2017-10-23 12:03:19 I_autoReadPend 0
2019-01-06 11:24:25 I_rssiMinLevel 59<:17 60>:15 80>:5 99>:1
2019-01-05 22:03:05 I_sum_battery low:2,ok:38,
2019-01-06 11:44:27 I_sum_motor closing:1,stop:6,
2019-01-06 11:49:27 I_sum_sabotageError off:7,
2019-01-06 11:19:25 W__protocol Resnd:2
helper:
autoUpdate 300
cfgChkResult configCheck done:
templist mismatch
bz_ht_heizung_Climate: failed Entries:
bz_ht_heizung_Climate :R_2_tempListMon mismatch 05:45 17.0 10:00 21.5 21:30 18.5 24:00 17.0 ne 05:40 17.0 10:00 21.5 21:30 18.5 24:00 17.0 ##
bz_ht_heizung_Climate :R_3_tempListTue mismatch 05:45 17.0 10:00 21.5 21:30 18.5 24:00 17.0 ne 05:40 17.0 10:00 21.5 21:30 18.5 24:00 17.0 ##
bz_ht_heizung_Climate :R_4_tempListWed mismatch 05:45 17.0 10:00 21.5 21:30 18.5 24:00 17.0 ne 05:40 17.0 10:00 21.5 21:30 18.5 24:00 17.0 ##
bz_ht_heizung_Climate :R_5_tempListThu mismatch 05:45 17.0 10:00 21.5 21:30 18.5 24:00 17.0 ne 05:40 17.0 10:00 21.5 21:30 18.5 24:00 17.0 ##
bz_ht_heizung_Climate :R_6_tempListFri mismatch 05:45 17.0 10:00 21.5 22:00 18.5 24:00 17.0 ne 05:40 17.0 10:00 21.5 22:00 18.5 24:00 17.0 ##
weekplanListDef ./tempList-home.cfg
weekplanListDir ./
weekplanList:
az_ht_heizung_Climate
wz_ht_heizung_Climate
bz_ht_heizung_Climate
wf_ht_heizung_Climate
sz_ht_heizung_Climate
ku_ht_heizung_Climate
nb:
cnt 1
Attributes:
autoUpdate 00:05
configTempFile tempList-home.cfg
room Global
sumERROR battery:ok,sabotageError:off,powerError:ok,overload:off,overheat:off,reduced:off,motorError:no,error:none,uncertain:yes,smoke_detect:none,cover:closed
sumStatus battery,sabotageError,powerError,motor
webCmd update:protoEvents short:rssi:peerXref:configCheck:models
fhem>
Hmm - weiß hier wirklich niemand etwas drüber? :( Ist ERR_names einfach so verschwunden?
Hi,
ich muss das nochmal hoch holen,
das notify sieht aktuell so aus, der Dummy wird auch korrekt geschaltet
defmod Batterie_Status_nt notify .*[Bb]attery:.(?!ok).* { \
if (($NAME ne "rd_Batterie") && ($NAME ne "rd_Batterie_Level") && ($NAME ne "rd_Rauchmelder") && ($NAME ne "rd_Rauchmelder_Erdgeschoss") && (Value("BATT_Status") ne "LOW" )) {\
Log(3,"$NAME : Batteriewarnung $EVENT");;\
{ fhem ("set BATT_Status LOW") } ;;\
DebianMail('Batteriewarnung',$NAME.': '.$EVENT);; \
} \
}
attr Batterie_Status_nt group Info
attr Batterie_Status_nt room Zentral
setstate Batterie_Status_nt 2019-12-10 19:51:28
setstate Batterie_Status_nt 2019-12-10 19:48:05 state active
allerdings löst das notify auch aus wenn ich z.b. ein Fenster öffne/schließe und einer meiner HM Fensterkontakte auslöst
defmod Gaeste_WC_Fenster CUL_HM 589CE2
attr Gaeste_WC_Fenster .mId 00C7
attr Gaeste_WC_Fenster IODev hmusb
attr Gaeste_WC_Fenster IOgrp vccu:hmusb
attr Gaeste_WC_Fenster actCycle 002:50
attr Gaeste_WC_Fenster actStatus alive
attr Gaeste_WC_Fenster alarmDevice Sensor
attr Gaeste_WC_Fenster alarmSettings alarm0,|Gaeste_WC_Fenster:open|Einbruch Fenster Gäste WC|on
attr Gaeste_WC_Fenster autoReadReg 4_reqStatus
attr Gaeste_WC_Fenster burstAccess 1_auto
attr Gaeste_WC_Fenster expert 2_raw
attr Gaeste_WC_Fenster firmware 1.0
attr Gaeste_WC_Fenster group Fensterkontakte
attr Gaeste_WC_Fenster model HM-SEC-SCO
attr Gaeste_WC_Fenster peerIDs 00000000,2237FB03,
attr Gaeste_WC_Fenster room Gäste_WC
attr Gaeste_WC_Fenster serialNr OEQ0439191
attr Gaeste_WC_Fenster subType threeStateSensor
setstate Gaeste_WC_Fenster closed
setstate Gaeste_WC_Fenster 2018-10-12 20:15:06 .D-devInfo 810101
setstate Gaeste_WC_Fenster 2018-10-12 20:15:06 .D-stc 80
setstate Gaeste_WC_Fenster 2018-10-12 20:19:11 .R-msgScPosA open
setstate Gaeste_WC_Fenster 2018-10-12 20:19:11 .R-msgScPosB closed
setstate Gaeste_WC_Fenster 2018-10-12 20:19:11 .R-transmDevTryMax 6
setstate Gaeste_WC_Fenster 2018-10-12 20:19:11 .R-transmitTryMax 6
setstate Gaeste_WC_Fenster 2018-10-12 20:15:07 .peerListRDate 2018-10-12 20:15:07
setstate Gaeste_WC_Fenster 2019-12-10 19:25:26 .protLastRcv 2019-12-10 19:25:26
setstate Gaeste_WC_Fenster 2019-12-10 19:48:21 Activity alive
setstate Gaeste_WC_Fenster 2018-09-24 19:39:13 CommandAccepted yes
setstate Gaeste_WC_Fenster 2018-10-12 20:15:06 D-firmware 1.0
setstate Gaeste_WC_Fenster 2018-10-12 20:15:06 D-serialNr OEQ0439191
setstate Gaeste_WC_Fenster 2018-10-12 20:15:06 PairedTo 0x000041
setstate Gaeste_WC_Fenster 2018-10-12 20:19:10 R-Gaeste_WC_WindowRec-expectAES off
setstate Gaeste_WC_Fenster 2018-10-12 20:19:10 R-Gaeste_WC_WindowRec-peerNeedsBurst on
setstate Gaeste_WC_Fenster 2018-10-12 20:19:11 R-cyclicInfoMsg on
setstate Gaeste_WC_Fenster 2018-10-12 20:19:11 R-eventDlyTime 0 s
setstate Gaeste_WC_Fenster 2018-10-12 20:19:11 R-pairCentral 0x000041
setstate Gaeste_WC_Fenster 2018-10-12 20:19:11 R-sabotageMsg on
setstate Gaeste_WC_Fenster 2018-10-12 20:19:11 R-sign on
setstate Gaeste_WC_Fenster 2018-10-12 20:15:06 RegL_00. 02:01 09:01 0A:00 0B:00 0C:41 10:01 14:06 00:00
setstate Gaeste_WC_Fenster 2018-10-12 20:15:07 RegL_01. 08:01 20:9C 21:00 30:06 00:00
setstate Gaeste_WC_Fenster 2018-10-12 20:15:08 RegL_04.Gaeste_WC_WindowRec 01:01 00:00
setstate Gaeste_WC_Fenster 2018-09-24 19:39:13 aesCommToDev ok
setstate Gaeste_WC_Fenster 2018-09-24 19:39:13 aesKeyNbr 00
setstate Gaeste_WC_Fenster 2019-12-10 19:25:26 alive yes
setstate Gaeste_WC_Fenster 2019-12-10 19:25:26 battery ok
setstate Gaeste_WC_Fenster 2019-12-10 19:25:26 contact closed (to vccu)
setstate Gaeste_WC_Fenster 2019-12-10 19:48:23 peerList Gaeste_WC_WindowRec,
setstate Gaeste_WC_Fenster 2019-12-10 19:25:26 recentStateType info
setstate Gaeste_WC_Fenster 2019-12-10 19:25:26 sabotageError off
setstate Gaeste_WC_Fenster 2019-12-10 19:25:26 state closed
setstate Gaeste_WC_Fenster 2019-12-09 21:23:45 trigger_cnt 86
Woran kann das liegen?
Danke
Schau mal die Events im Eventmonitor. Vermutlich wird beim öffnen/schliessen auch ein Event mit battery geschickt, der zu deiner Regex passt
Zitat von: amenomade am 10 Dezember 2019, 20:25:54
Schau mal die Events im Eventmonitor. Vermutlich wird beim öffnen/schliessen auch ein Event mit battery geschickt, der zu deiner Regex passt
Hi,
im Eventmonitor steht (manchmal) das beim öffnen/schließen des Fensters
2019-12-14 11:19:00.344 monitoring Batterie_monitoring warning remove: Gaeste_WC_Fenster
2019-12-14 11:19:00.344 monitoring Batterie_monitoring warning:
2019-12-14 11:19:00.344 monitoring Batterie_monitoring warningCount: 0
2019-12-14 11:19:00.344 monitoring Batterie_monitoring allCount: 0
2019-12-14 11:19:00.367 CUL_HM Gaeste_WC_Fenster battery: ok
2019-12-14 11:19:00.367 CUL_HM Gaeste_WC_Fenster contact: open (to Gaeste_WC)
2019-12-14 11:19:00.367 CUL_HM Gaeste_WC_Fenster open
2019-12-14 11:19:00.367 CUL_HM Gaeste_WC_Fenster trigger_cnt: 99
2019-12-14 11:19:00.480 CUL_HM Gaeste_WC_WindowRec trigLast: Gaeste_WC_Fenster:open
2019-12-14 11:19:00.480 CUL_HM Gaeste_WC_WindowRec trig_Gaeste_WC_Fenster: Open_99
2019.12.14 11:19:00.710 3 : Gaeste_WC_Fenster : Batteriewarnung battery: low
2019.12.14 11:19:00.744 1 : sendEmail RCP: Th.Halberstadt@googlemail.com
2019.12.14 11:19:00.745 1 : sendEmail Subject: Batteriewarnung
2019.12.14 11:19:00.745 1 : sendEmail Text: Gaeste_WC_Fenster: battery: low
2019.12.14 11:19:03.031 1 : sendEmail returned: Dec 14 11:19:03 localhost sendEmail[15555]: Email was sent successfully!
2019.12.14 11:19:03.198 1 : [Freezemon] myFreezemon: possible freeze starting at 11:19:01, delay is 2.195 possibly caused by: no bad guy found :-(
2019-12-14 11:19:00.724 dummy BATT_Status LOW
2019-12-14 11:19:03.065 monitoring Batterie_monitoring warning add: Gaeste_WC_Fenster
2019-12-14 11:19:03.065 monitoring Batterie_monitoring warning: Gaeste_WC_Fenster
2019-12-14 11:19:03.065 monitoring Batterie_monitoring warningCount: 1
2019-12-14 11:19:03.065 monitoring Batterie_monitoring allCount: 1
2019-12-14 11:19:03.091 CUL_HM Gaeste_WC_Fenster battery: low
2019-12-14 11:19:03.091 CUL_HM Gaeste_WC_Fenster contact: open (to vccu)
2019-12-14 11:19:03.091 CUL_HM Gaeste_WC_Fenster open
2019-12-14 11:19:03.091 CUL_HM Gaeste_WC_Fenster trigger_cnt: 99
2019-12-14 11:19:03.091 CUL_HM Gaeste_WC_Fenster battery: low
2019-12-14 11:19:03.091 CUL_HM Gaeste_WC_Fenster contact: open (to vccu)
2019-12-14 11:19:03.091 CUL_HM Gaeste_WC_Fenster open
2019-12-14 11:19:03.091 CUL_HM Gaeste_WC_Fenster trigger_cnt: 99
Anscheinend sendet dein FK beim Öffnen das Reading battery mit. Oder zyklisch wenn das Fenster offen bleibt.
Aber statt in der Log zu schauen, guck lieber im Eventmonitor
Das ist aus dem Eventmonitor
Ne im Eventmonitor kommen nw. keine Meldungen mit Loglevel 3 oder 1, sondern nur die Events, es sei denn, Du hast "FHEM log" angehackt