Pushover – Push-Benachrichtigungen aufs Handy

Jeder der ein Smartphone sein Eigen nennt, kennt diese Situation bestimmt. Immer wider puschen Benachrichtigungen auf, die vielleicht nicht gerade die Interessantesten sind. In diesem Beitrag erkläre ich euch, wie ihr eure eigenen Push-Notifikationen erstellen könnt und diese mit interessanten Infos über euer smartes Zuhause füllen könnt.

Es gibt unterschiedliche Möglichkeiten Push-Benachrichtigungen über FHEM zu senden.

– Pushover
– Pushbullet
– Prowl
– PushNotifier
– …

in diesem Beitrag gehe ich auf den Service von Pushover ein.

Pushover

Vorbereitung auf dem Raspberry Pi

Zur Vorbereitung muss folgendes Modul installiert werden:

Einrichten eines Pushover-Kontos und der API

Für den Dienst Pushover ist es notwendig sich auf deren Website zu registrieren. Dies kann ganz einfach über deren Homepage erfolgen: www.pushover.net

Nachdem man sich eingelogt hat, erhält man bereits seinen „User Key“. Dieser steht oben rechts.

pushover USERKEY

Dieser wird später bei der Einrichtung unter FHEM benötigt. Des Weiteren wird ein API Key/Token benötigt. Diesen erhält man durch die Erstellung einer Applikation. Unter „Your Applications“ kann man sich einen neue Applikation erstellen.

pushoverNEWAPP

Nun der Applikation einfach einen Namen vergeben und als Typ „Application“ auswählen.

pushoverNEWAPP

Wurde die Application erfolgreich erstellt erhält man nun den benötigten API Key/Token.

pushoverAPITOKES

Wichtig für dem Empfang von Push-Nachrichten ist natürlich der „Empfänger“ auf dem Handy. Dazu bietet Pushover eine App im Google Playstore und im Apple Store an. Der App-Download selbst ist umsonst, jedoch muss nach einer 7tägigen Testphase eine Lizenz für 4,99€ per inApp-Kauf erworben werden (Stand 10.03.2016).

Nachdem man sich in der App eingeloggt hat, wird das Handy automatisch registriert und ist absofort in der Lage Push-Benachrichtigungen zu empfangen. Über die Homepage kann, man nach einem Login, seine registrierten Geräte verwalten.

Einrichtung unter FHEM

Unter FHEM gibt es ein passendes Modul mit dem Namen Pushover. Es wird wie folgt definiert:

Für TOKEN und USER werden entsprechend die oben erhaltenden Daten eingesetzt. Der Name „Push“ kann natürlich angepasst werden.

pushoverDEVICE

Nachdem das benötigte Device definiert wurde, kann man eine erste Test-Notifikation losschicken. Dabei wird für eine einfache Nachricht folgender Syntax verwendet:

Nach dem Absenden des Befehls erhält man auf seinem Handy die Testnachricht:

Pushover

Pushover Syntax

Pushover bietet aber noch einige weitere Einstellungsmöglichkeiten, die ich euch anhand einiger Beispiele erklären möchte.

Push-Benachrichtigung an ein bestimmtes Gerät – device:

Es wird die Nachricht „Testnachricht“ mit dem Titel „Test“ an das Gerät mit dem Namen „iPhoneDaniel“ gesendet. Als Priority ist hier 0 eingestellt. Die 0 kann auch weggelassen werden, da diese als Standard eingestellt ist.

Pushover

 Push-Benachrichtigung mit erhöhter Priorittät – priority:

Es wird die gleiche Nachricht wie oben gesendet. Der Unterschied hier ist jedoch, dass mit einer Priorität von 1 gesendet wird. Dich Nachricht wird in der Pushover-App als „High Priority“ gekennzeichent und zusätzlich rot hinterlegt. Des Weiteren werden bei „High Priority“ Nachrichten auch die in der App eingestellten Ruhe-Zeiten ignoriert.

PushHIGHpriority

Eine weitere Steigerung der Priority kann mit einer 2 gesetzt werden. Hierbei handelt es sich um eine Art „Emergency Priority“. Diese Push-Benachtigung muss dabei vom Empfänger über die App quitiert werden. Hier wird sie auch etwas röter als der „High Priority“-Nachrichten angezeigt. Solange die Nachricht nicht quitiert wird, wird die Nachricht wiederholt zugestellt. Um diese Widerholungen zu konfigurieren müssen zwei weitere Argumente definiert werden. Zu einem „retry“ und zum Anderen „expire“. „Retry“ steht dabei für den Widerholungsabstand in Sekunden. „Expire“ gibt den Zeitraum an, indem die Nachricht alle retry-Sekunden widerholt werden soll. Das obige Beispiel sendet die Nachricht also alle 60 Sekunde lang und diese über einen Zeitraum von 10 Minuten. Der Mindestabstand zwischen den Nachrichten liegt bei 30s.

PushEMERGENCYpriority

Push-Benachrichtigung mit niedriegere Priorität – priority:

Sendet eine Nachricht, die auf dem Empfangsgerät ohne Ton und ohne Virbration angezeigt wird. Es wird lediglich eine Hinweisnachricht angezeigt.

Sendet eine Nachricht ohne Ton, ohne Vibration und ohne Hinweisnachricht. Auf iOS-Geräten wird lediglich der Benachrichtigungszähler beim App-Symbol hochgezählt.

Andere Töne bei Benachrichtigung – sound:

Als Hinweiston wird der Ton „siren“ verwendet. Die Pushover-App stellt unterschiedliche Töne zur Verfügung. Eine Auflistung ist auf der Pushover-Homepage zu finden. Wird kein konkreter Ton angegeben, wird der vom User eingestellte Standard-Ton augewählt.

Mein Alltagseinsatz

Ich verwende Push-Benachrichtigunen um mir morgens beim Aufstehen die aktuelle Außentemperatur aufs Handy zu schicken. Dazu habe ich mir ein at-Befehl definiert:

Des Weiteren lass ich mir eingehende Festnetz-Anrufe als Push-Benachrichtigung auf Handy schicken. Dazu habe ich mir ein Notify definiert, der auf das Event „incomming“ der FritzBox reagiert:

pushANRUF

Optional: Nur Push-Nachrichten versenden, wenn Anrufe auf eine bestimmte Nummer eingehen:

Wie man sieht, lassen sich einige Interessante Dinge mit den Push-Benachrichtigunen anstellen. Einfach eure Fantasie freien Lauf lassen 😉

16 Kommentare zu “Pushover – Push-Benachrichtigungen aufs Handy

  1. Hi, danke für den Post. Sehr verständlich erklärt.
    Eine Frage abseits vom Modul Pushover: Was bedeutet
    sprintf „%.2f °C“
    Das muss ja ein Reading, welches ausgelesen wird sein.
    sprintf ist das Reading?
    „%.2f °C“ ein bestimmtes Format?

    • Hi, danke für das Lob
      Um diesen Code-Abschnitt zu verstehen, muss man sich den ganzen Abschnitt angucken:
      „sprintf „%.2f °C“, ReadingsVal(„DR_Temperatur“,“temperature“,0)“
      Das Reading in diesem Fall ist „temperatur“ vom Device „DR_Temperatur“. Dies wird durch den Befehl „ReadingsVal“ eingelesen. Da der nun eingelesene Wert drei Nachkommastellen hat und ohne Einheit ist, kann man durch „sprintf“ dessen Format ändern. „sprint“ dient dazu einen String auszugeben. Zusätzlich kann man diesen String anpassen. In diesem Fall eine Fließkommazahl mit 2 Nachkommastellen durch „.2f“ und als Einheit „°C“. Das „%“ steht für den Wert der ausgegeben werden soll. Es wird die Zahl nach dem „,“ verwendet. In diesem Fall unsere eingelesene Temperatur.

      Auf dieser Seite ist es gut erklärt: http://php.net/manual/de/function.sprintf.php

      Gruß Daniel

    • Hey toll. Danke für die Anleitung. Bei mir funktioniert alles wunderbar nach deiner Anleitung (nachdem es bislang nie funktioniert hat mit pushover).
      Die Temperatur wird mir nun morgens auf´s iphone „gepusht“ und die Ankunft der Familie. Als nächstes kommt die Frostwarnung am Morgen dran.

  2. Hi,

    hast du auch schon einmal das Modul Yowsup ausprobiert? Bin am überlegen ob ich nicht lieber darauf bauen werde für Benachrichtigungen.

    • Hi,
      hab bisher noch nichts von „yowsup“ gehört. Aber hört sich echt interessant an – Whatsapp Nachrichten über FHEM senden und empfangen. Werde ich mir am Wochenende mal anschauen und auf meiner Testumgebung installieren. Danke für den Tipp.
      Gruß Daniel

    • Hi, hab mich mal bisschen mehr mit dem Thema yowsup beschäftigt. Laut den AGBs von WhatsApp ist die Nutzung auf automatisierten Systemen nicht erlaubt. Nach einigen Forumseinträge blockiert WhatsApp immer mehr Nummern, die auf solch ein System setzen. Das ist mir dann bisschen zu nervig. Ich werde mich aber mal auf die Suche nach Alternativen machen.
      Gruß
      Daniel

  3. Hey coole Sache!
    aber wie müsst dein Beispiel aus sehen wenn ich nur auf anrufe auf eine bestimmte Nummer Reagieren will?
    Also was müsste ich hier Anpassen?
    define notifyPushAnruf notify CallMonitor:event:.ring {my $name=(ReadingsVal(„CallMonitor“,“external_name“,0));;my $nummer=(ReadingsVal(„CallMonitor“,“external_number“,0));;my $ziel=(ReadingsVal(„CallMonitor“,“internal_number“,0));;fhem („set Push msg ‚Anruf‘ ‚$name ($nummer) auf $ziel'“)}

    die Internal_number ? also auf die es Reagieren soll?

    • Hallo Christian,
      dies geht am besten über eine if-Abfrage innerhalb des Notify „notifyPushAnruf“:

      CallMonitor:event:.ring {
      my $name=(ReadingsVal("CallMonitor","external_name",0));;
      my $nummer=(ReadingsVal("CallMonitor","external_number",0));;
      my $ziel=(ReadingsVal("CallMonitor","internal_number",0));;
      if($ziel eq "0721xxxxx22") {fhem ("set Push msg 'Anruf' '$name ($nummer) auf $ziel'")}}

      Durch die if-Abfrage wird nun nur eine Push-Nachricht versendet, wenn die interne Nummer 0721xxxx lautet. Also die Nummer, auf die angerufen wird. Die Nummer natürlich entsprechend anpassen 😉

      Gruß Daniel

    • Perfekt ! Danke für die super schnelle Antwort!
      Und wenn ich es Auf nur Bestimmte Geräte schicken will muss ich nur immer das ‚iPhoneChristian‘ zb, dazu schreiben hier {fhem („set Push msg ‚Anruf‘ ‚$name ($nummer) auf $ziel’“)}}
      oder?

    • Genau, einfach den Befehl z.B. wie folgt anpassen:
      ...
      {fhem („set Push msg 'Anruf' '$name ($nummer) auf $ziel' 'iPhoneDaniel' 0 ' '“)}}

      Gruß Daniel

    • aber immer mit einem Apostroph, er macht hier im Kommentar daraus irgendwie immer ein normales Komma.

    • hey sorry wenn ich nochmal nerve aber ich bekomme es nicht hin das die IF abfrage funktioniert…
      if ($ziel eq „0xxxxxx3“) mehr ist es doch nicht was ich einfügen muss oder ?

    • Hallo,
      kein Problem, bin froh wenn ich helfen kann.
      Habe eben festgestellt, dass die internal_number bei mir ohne Vorwahl im CallMonitor erscheint. Solltest du bei dir auch nochmal überprüfen. Des Weiteren vermute ich, dass beim kopieren aus den Kommentaren die Formatierung verloren geht. Bei mir hat er gerade eben zum Beispiel die Anführungszeichen in zwei Hochkommas umgewandelt. Ich habe deswegen deine gewünschte Variante mit in den Beitrag genommen. Dort kannst du es dann einfach rauskopieren.

      Gruß Daniel

  4. Hallo… was soll ich sagen Klar wenn ich jetzt dran denke Kammer die Pushover Nachrichten immer Ohne Vorwahl und so Geht es jetzt auch.
    Nochmal Vielen Vielen Herzlichen DANK!!!!
    Grüße Christian

    PS: Echt super Unterstützung Riesen Großen Lob dafür und die ganzen hilfreichen Blogs

  5. Hallo Daniel

    schuldige das ich noch mal nerve…

    Mal eine Frage hast du es schon mal gemacht/geschafft mit demPushover FHEM Modul eine Nachricht mit URL zu verschicken. Die dann Automatisch auf geht, wenn man die Nachricht öffnet. Ich verzweifle gerade dran…

     

    Mit freundlichen Grüßen

    Christian

    • Hallo Christian,

      dass die URL direkt geöffnet wird, dazu habe ich nichts gefunden und auch selber (noch) nicht hinbekommen. Eine einfach URL zu verschicken, mit z.B. dem Hinweis „hier klicken“ geht so:

      set Push msg 'Testnachricht' 'Klick mal auf diese URL' '' 0 '' 0 3600 'Hier klicken' 'https://www.waschto.eu/'

      Quelle: https://forum.fhem.de/index.php/topic,16215.375.html
      Das hat bei mir auch wunderbar geklappt.

      Gruß Daniel

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

*