Batteriemeldungen täglich um 12 Uhr und nicht bei Event

Begonnen von Freibeuter, 20 September 2016, 11:44:06

Vorheriges Thema - Nächstes Thema

Freibeuter

Hallo,
ich möchte nicht mehr bei einem Event über den Batteriestatus informiert werden, sondern täglich um 12:00.
Hintergrund ist dass ich verdammt viele Prowl Nachrichten bekomme, wenn die Tochter auf der Fernbedienung sitzt oder dass ich mal vergesse ein Batterie zu wechseln und dann nicht mehr erinnert werde.

Habe schon eine readingsGroup aber wie frage ich die in einem at Befehl ab ?

"{if (ReadingsVal("AZ.Fenster.Geschlossen", "battery", "-1") eq "low")" ...  ist für mich kein guter Weg da ich zu viel HM Geräte habe und sich immer was änder, daher möglichst dynamisch über alle .*:[Bb]attery Readings.
Danke für Tips


DeeSPe

Dann musst Du wohl mit devspec2array mit allen benötigten Devices durch eine Schleife gehen und dann das Reading [Bb]attery prüfen.

z.B.

foreach my $dev (devspec2array("NAME=$regex"))
{
  if (ReadingsNum($dev,"battery","-1") eq "low" || ReadingsNum($dev,"Battery","-1") eq "low")
  {
    # Benachrichtige mich...
  }
}


$regex bitte entsprechend anpassen...

Gruß
Dan
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Als kleine Unterstützung für meine Programmierungen könnt ihr mir gerne einen Kaffee spendieren: https://buymeacoff.ee/DeeSPe

Mitch

Ich habe eine sub für meine Fenster, die müsste da eigentlich auch passen:

sub statusBatterien() {
  my @monitored=devspec2array("[Bb]attery=low");
  my $cnt_devs=@monitored;
  my $i = 0;
  my $msgtext = "";
  foreach(@monitored) {
  $msgtext .= AttrVal($_,"alias",$_);
  if ($i < $cnt_devs - 2) {
    $msgtext .= ", ";
  }
  if ($i == $cnt_devs - 2) {
    $msgtext .= " und ";
  }
  $i++;
  }
  if ($cnt_devs > 0) {
    fhem ("set Pushover msg 'FHEM-WARNUNG' '$msgtext Batterie low'");
    #fhem ("set Telegram msg $msgtext Batterie low");
  } else {
fhem ("set Pushover msg 'FHEM' 'Alle Batterien okay'");
    #fhem ("set Telegram msg Alle Batterien okay");
  }
}


Das ganze dann mit einem at um 12 Uhr aufrufen

Ist ungetestet und aus dem Kopf geschrieben.
FHEM im Proxmox Container

Freibeuter