FHTTK: Benachrichtigung bei offenem Fenster

Aus FhemWiki
Wechseln zu: Navigation, Suche

Wer wird nicht gerne per Mail benachrichtigt, wenn ein Fenster auf- oder zugemacht wird? Richtig komfortabel ist es, wenn man dann auch noch gleich eine Liste aller FHTTK-devices mitgeliefert bekommt, die den Status "Window: Open" haben:

in 99_marte.pm

sub FHTTK_status {
  my @fhttks = devspec2array("TYPE=CUL_FHTTK");
  my @wopen = ();
  foreach(@fhttks) {
    my $fhttk_window = ReadingsVal($_, "Window", "nA");
    push (@wopen,$_) if ($fhttk_window eq "Open" );
  }
  my $num_wopen = @wopen;
  my $resultstring='';
  if ( $num_wopen gt 0 ) {
    $resultstring="folgende Fenster sind noch offen:\n\n";
    foreach(@wopen) {
      $resultstring.="- ".$_."\n";
      Log 4, "FHTTK_status: ". $_. "noch offen";
    }
  } else {
    $resultstring="alle Fenster sind derzeit geschlossen.";
  }
  return $resultstring;
}

in die Config

define n_Fenster notify .*:Window.*(Open|Closed) { \
  my $window_state=ReadingsVal("@", "Window", "nA");;\
  my $deftype=$defs{@}{TYPE};;\
  return if ( $deftype ne "CUL_FHTTK" );;\
  if ( $defs{@}{PREVSTATE} ne $window_state ) { \
    my $fhttk_status=FHTTK_status;;\
    my $subject="FHEM: Fenster @ ".$window_state;; \
    fb_mail('xxx@@xxx.de',$subject,$fhttk_status);;\
    Log 3, "@: Window ".$window_state;;\
  }\
}

Achtung: Hier wird fb_mail als Mailer benutzt (siehe auch E-Mail_senden) - je nach *nix-Version muss u.U. der Pfad angepasst sowie die entsprechenden Codezeilen in die .pm-Datei übernommen werden.

Randbemerkung zum Config-Code: Ein "notify <sensor>:Open" funktioniert nicht. Da der Sensor in regelmässigen Abständen seinen Status sendet, muss zudem der vorherige Status abgefragt werden, um nur bei Statusänderungen zu reagieren.

Meine Werkzeuge
Namensräume
Varianten
Aktionen
Navigation
Werkzeuge