Batteriestatus überwachen und per Email senden

Begonnen von Tommy82, 30 September 2015, 20:02:57

Vorheriges Thema - Nächstes Thema

Tommy82

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,

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 ERRactNamesauslesen 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
Fhem Cubitruck  Armbian Buster with Linux 5.3.9-sunxi
HM-CC_RT-DN, HM-Sec-RHS,HM-Sec-SD, HM-Sec-SCo,IT1500,1xIT GRR-3500 Fritz!Dect200,Powerline546E,Enigma2 Modul mit 3 Vu+,Wol Modul für WinServer2016 und WinServer 2019,FB6590
Allnetl Wandtablett mit FTUI

Tommy82

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?
Fhem Cubitruck  Armbian Buster with Linux 5.3.9-sunxi
HM-CC_RT-DN, HM-Sec-RHS,HM-Sec-SD, HM-Sec-SCo,IT1500,1xIT GRR-3500 Fritz!Dect200,Powerline546E,Enigma2 Modul mit 3 Vu+,Wol Modul für WinServer2016 und WinServer 2019,FB6590
Allnetl Wandtablett mit FTUI

Tommy82

So langsam verzweifel ich hier dran, was mach ich hier falsch?
Fhem Cubitruck  Armbian Buster with Linux 5.3.9-sunxi
HM-CC_RT-DN, HM-Sec-RHS,HM-Sec-SD, HM-Sec-SCo,IT1500,1xIT GRR-3500 Fritz!Dect200,Powerline546E,Enigma2 Modul mit 3 Vu+,Wol Modul für WinServer2016 und WinServer 2019,FB6590
Allnetl Wandtablett mit FTUI

Ralf W.

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
http://twitter.com/RWausD
Schon gewusst, dass Haarausfall zu einer Glatze führen kann?

FHEM: NUC7PJYH2, Ubuntu Server 22.04.2 LTS, HMCCU - RaspberryMatic, DE ConBee II, diverse Sensoren und Aktoren.

Tommy82

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
Fhem Cubitruck  Armbian Buster with Linux 5.3.9-sunxi
HM-CC_RT-DN, HM-Sec-RHS,HM-Sec-SD, HM-Sec-SCo,IT1500,1xIT GRR-3500 Fritz!Dect200,Powerline546E,Enigma2 Modul mit 3 Vu+,Wol Modul für WinServer2016 und WinServer 2019,FB6590
Allnetl Wandtablett mit FTUI

Ralf W.

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
http://twitter.com/RWausD
Schon gewusst, dass Haarausfall zu einer Glatze führen kann?

FHEM: NUC7PJYH2, Ubuntu Server 22.04.2 LTS, HMCCU - RaspberryMatic, DE ConBee II, diverse Sensoren und Aktoren.

Tommy82

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
Fhem Cubitruck  Armbian Buster with Linux 5.3.9-sunxi
HM-CC_RT-DN, HM-Sec-RHS,HM-Sec-SD, HM-Sec-SCo,IT1500,1xIT GRR-3500 Fritz!Dect200,Powerline546E,Enigma2 Modul mit 3 Vu+,Wol Modul für WinServer2016 und WinServer 2019,FB6590
Allnetl Wandtablett mit FTUI

Tommy82

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
Fhem Cubitruck  Armbian Buster with Linux 5.3.9-sunxi
HM-CC_RT-DN, HM-Sec-RHS,HM-Sec-SD, HM-Sec-SCo,IT1500,1xIT GRR-3500 Fritz!Dect200,Powerline546E,Enigma2 Modul mit 3 Vu+,Wol Modul für WinServer2016 und WinServer 2019,FB6590
Allnetl Wandtablett mit FTUI

satprofi

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.
gruss
-----------------------------------------------------------------------
beelink miniPC - Fhem 6.x CUL 868, FS20, NetIO230 CUL 433
HMLAN, HM-CC-RT-DN,Homematic Actoren,LD382A,Telegram

franky08

#24
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)
Debian Wheezy auf ZBOX nano/ Debian Bullseye auf 2.ter ZBOX nano F2F an 2x RaspiB
22Zoll ViewSonic als Infodislay (WVC)
3xHMLAN mit vccu ,fhem5.8, CCU2,
ECMD an AVR-NET-IO mit DAC u. ADC an Junkers Stetigregelung, Siemens LOGO!8, JeeLink uvm...

satprofi

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

gruss
-----------------------------------------------------------------------
beelink miniPC - Fhem 6.x CUL 868, FS20, NetIO230 CUL 433
HMLAN, HM-CC-RT-DN,Homematic Actoren,LD382A,Telegram

Tommy82

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
Fhem Cubitruck  Armbian Buster with Linux 5.3.9-sunxi
HM-CC_RT-DN, HM-Sec-RHS,HM-Sec-SD, HM-Sec-SCo,IT1500,1xIT GRR-3500 Fritz!Dect200,Powerline546E,Enigma2 Modul mit 3 Vu+,Wol Modul für WinServer2016 und WinServer 2019,FB6590
Allnetl Wandtablett mit FTUI

satprofi

Ok,werd mir stick besorgen. Thx

Sent from my OPO

gruss
-----------------------------------------------------------------------
beelink miniPC - Fhem 6.x CUL 868, FS20, NetIO230 CUL 433
HMLAN, HM-CC-RT-DN,Homematic Actoren,LD382A,Telegram

Puschel74

#28
@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);
    }
  }
}
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.

Wuppi68

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
Jetzt auf nem I3 und primär Homematic - kein Support für cfg Editierer

Support heißt nicht wenn die Frau zu Ihrem Mann sagt: Geh mal bitte zum Frauenarzt, ich habe Bauchschmerzen