FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: t1me2die am 09 November 2016, 13:57:32

Titel: Pushbullet und Fensterkontakte richtig abfragen
Beitrag von: t1me2die am 09 November 2016, 13:57:32
Hallo liebe Community, ich habe drei Fensterkontakte bei mir zuhause im Einsatz und möchte diese gerne überwachen, dazu habe ich folgende Routine mir geschrieben:

Zitat
sub FensterCheck()
{
  if (Value("HM_4E5349") eq "open")
  {
    fhem "set Push_iPhone_Mathze message Das Fenster im Wohnzimmer ist offen! | Wohnzimmerfenster ist offen!"
  }
  elsif (Value("HM_4E5349") eq "closed")
  {
    fhem "set Push_iPhone_Mathze message Das Fenster im Wohnzimmer ist geschlossen! | Wohnzimmerfenster ist zu!"
  }
  elsif (Value("HM_4E3565") eq "open")
  {
    fhem "set Push_iPhone_Mathze message Das Fenster im Schlafzimmer ist offen! | Schlafzimmerfenster ist offen!"
  }
  elsif (Value("HM_4E4BCC") eq "open")
  {
    fhem "set Push_iPhone_Mathze message Das Fenster im Arbeitszimmer ist offen! | Arbeitszimmerfenster ist offen!"
  }
}

Nun habe ich noch 3 Notify's erstellt und diese auf das jeweilige Gerät gelegt, so z.B.:

Zitat
define Push_Fenster_AZ notify HM_4E4BCC:.* { FensterCheck() }

Aber irgendwie bekomme ich leider keine Nachrichten in / via Pushbullet.
Wenn ich die set-Befehle manuell ausführe, dann klappt es selbstverständlich, also muss ich irgendwo wohl einen Denkfehler haben  ::)

Danke für eure Hilfe.

Gruß
Mathias
Titel: Antw:Pushbullet und Fensterkontakte richtig abfragen
Beitrag von: DeeSPe am 09 November 2016, 14:18:15
sub FensterCheck($$)
{
  my ($name,$event) = @_;
  if ($event eq "open")
  {
    fhem "set Push_iPhone_Mathze message Das ".AttrVal($name,"alias",$name)." ist offen!";
  }
  else
  {
    fhem "set Push_iPhone_Mathze message Das ".AttrVal($name,"alias",$name)." ist nun geschlossen!";
  }
}


notify:
define n_Fenster_check notify HM_4E5349|HM_4E3565|HM_4E4BCC:open|closed {Fenstercheck($NAME,$EVENT)}

So vielleicht?

Gruß
Dan
Titel: Antw:Pushbullet und Fensterkontakte richtig abfragen
Beitrag von: DeeSPe am 09 November 2016, 14:19:50
Eine ähnliche Funktion hatte ich auch schon einmal hier vorgestellt (https://forum.fhem.de/index.php/topic,56393.0.html). Allerdings zum Prüfen aller Fenster beim Verlassen des Hauses.

Gruß
Dan
Titel: Antw:Pushbullet und Fensterkontakte richtig abfragen
Beitrag von: t1me2die am 09 November 2016, 15:37:15
Hallo Dan, danke für deine Hilfe, so übersichtlich hätte ich den Code niemals hinbekommen  :D

Die HomeMatic Fensterkontakte, die ich habe kommunizieren spätestens alle 60Minuten (gefühlt) mit meinem Pi. Sprich ich müsste ungefähr alle 60Minuten eine Push Benachrichtigung erhalten, dass das Fenster zu ist.
Diese Benachrichtigung ist auch soeben eingetroffen, leider nicht 1x für das jeweilige Fenster, sondern anscheiend 5x?

Ich kann mir das leider nicht erklären.

Gruß
Mathias
Titel: Antw:Pushbullet und Fensterkontakte richtig abfragen
Beitrag von: DeeSPe am 09 November 2016, 15:39:42
event-on-change-reading ist dein Freund!

Gruß
Dan

EDIT: Damit bekommst Du wirklich nur Nachrichten wenn sich der Fensterstatus ändert!
Titel: Antw:Pushbullet und Fensterkontakte richtig abfragen
Beitrag von: DeeSPe am 09 November 2016, 15:47:32
Und es geht noch übersichtlicher wenn man es auf die Spitze treiben will!

sub FensterCheck($$)
{
  my ($name,$event) = @_;
  my $status = "ist offen";
  $status = "ist nun geschlossen" if ($event eq "closed");
  fhem "set Push_iPhone_Mathze message Das ".AttrVal($name,"alias",$name)." $status."!";
}


Gruß
Dan