Hallo, nachdem ich lange rumprobiert habe (als Anfänger) eine einfache Push Benachrichtigung auf mein iPhone mit Pushover zu senden möchte ich euch hier mal das Ergebnis vorlegen.
Zuerst habe ich Pushover in FHEM definiert (siehe http://fhem.de/commandref_DE.html#Pushover (http://fhem.de/commandref_DE.html#Pushover)):
define <name> Pushover <token> <user>
also bei mir in diesem Beispiel:
define Pushover_Test Pushover abcdefghijklmnopqrstuvwxyzXXXXX abcdefghijklmnopqrstuvwxyzXXXXX
Als nächstes habe ich mir einen Dummy erstellt welcher mein Gerät darstellt welches beim Schalten eine Push Benachrichtigung auslösen soll:
define TestGeraet dummy
attr TestGeraet webCmd on:off
das TestGeraet in einen Definierten Zustand bringen mit
set TestGeraet off
Das hier geht natürlich auch mit einem schon vorhandenen Gerät welches den Status an FHEM zurückmeldet (z.B. Homematic)
Jetzt erstelle ich ein notify das die Push Benachrichtigung bei Statusänderung ausführt.
define PushDummy notify TestGeraet {fhem ("set Pushover_Test msg 'FHEM' 'Dummy geschalten!' '' 0 ''")}}
wenn ich jetzt das TestGeraet schalte erhalte ich eine Push Benachrichtigung auf meinem Smartphone (Ich setze mal voraus das die App eingerichtet ist)
---------------------------------------------------------------------------------------------------------------------------------------------------
Zur Erweiterung habe ich noch einen Schalter (Push_Aktiv) definiert mit dem ich die Push Benachrichtigungen "unterdrücken" kann.
define Push_Aktiv dummy
attr Push_Aktiv webCmd on:off
Auch hier wieder den Schalter in einen definierten Zustand bringen mit
set Push_Aktiv on
jetzt das neue notify mit IF Push_Aktiv=ON einbauen
define PushDummy notify TestGeraet {if(Value("Push_Aktiv") eq "on") {fhem ("set Pushover_Test msg 'Titel' 'Push Aktiv und Schalter ausgelößt.' '' 0 ''")}}
heißt auf Deutsch: Wenn das TestGeraet geschaltet wird überprüfe ob Push_Aktiv den Status on hat. Wenn ja, dann Schicke eine Push Nachricht.
So funktioniert es bei mir. Ein kleiner Schritt für die FHEM Experten hier, aber ich bin recht froh dass ich es hinbekommen habe. Vielleicht hilft es ja dem einen oder anderen.
Würde auch herrlich in unser Wiki passen, oder?
So ich habe mein obiges Programm noch einmal erweitert: Jetzt kann ich den Schaltzustand des TestGeraets in der Pushnachricht mitsenden.
Also nocheinmal im überblick
define Pushover_Test Pushover abcdefghijklmnopqrstuvwxyzXXXXX abcdefghijklmnopqrstuvwxyzXXXXX
define TestGeraet dummy
attr TestGeraet webCmd on:off
das TestGeraet in einen Definierten Zustand bringen mit
set TestGeraet off
oder mit einem Klick auf Off
Push Aktiv Dummy anlegen:
define Push_Aktiv dummy
attr Push_Aktiv webCmd on:off
Auch hier wieder den Schalter in einen definierten Zustand bringen mit
set Push_Aktiv on
define PushNotify notify TestGeraet {if(Value("Push_Aktiv") eq "on"){my $temp_Status = Value("TestGeraet");; fhem ("set Pushover_Test msg 'TestGeraet' 'Schaltzustand: $temp_Status' '' 0 ''")}}
define PushNotify notify TestGeraet {if(Value("Push_Aktiv") eq "on"){my $temp_Status = Value("TestGeraet");; fhem ("set Pushover_Test msg 'TestGeraet' 'Schaltzustand: $temp_Status' '' 0 ''")}}
if(Value("Push_Aktiv") eq "on") --> Wenn der Dummy Schalter "Push_Aktiv" AN ist
my $temp_Status = Value("TestGeraet") --> erstelle die Variable $temp_Status und Schreibe dort den Status (bzw Value) vom TestGeraet hinein
fhem ("set Pushover_Test msg 'TestGeraet' 'Schaltzustand: $temp_Status' '' 0 ''") --> führe den FHEM Befehl "set Pushover_Test msg 'TestGeraet' 'Schaltzustand: $temp_Status' '' 0 ''" aus wobei $temp_Status als Variable durch den oben hineingeschriebenen Wert ersetzt wird.
Interessant, obwohl ich Pushover nur unterwegs nutze und Zuhause WebViewControl.
Hallo
hab mir auch eine Lösung mit Pushover gebastelt.
Diese schickt mir, wenn ich nach Hause komme, und noch niemand die Post aus dem Briefkasten geholt hat eine Pushover Nachricht aufs Handy.
Wenn es jemanden interessiert, kann ich es beschreiben.
Schöne Grüße
Hannes
@aki1988
Ich habe mal dein Beispiel übernommen. Für Testgerät meinen in Fhem bestehenden AV-Receiver genommen.
Ich möchte eine Benachrichtigung bekommen, sobald das Gerät eingeschaltet wird. Ist nur um die eigentlich Funktion zu testen.
Ich erhalte auch die Benachrichtigung, allerdings sofort 8 Mal beim Einschalten und 8 Mal beim Ausschalten.
Hier noch der fhem Auszug
define Pushover_Test Pushover xxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxx
define Push_Aktiv dummy
attr Push_Aktiv webCmd on:off
define PushNotify notify AV_Receiver {if(Value("Push_Aktiv") eq "on"){my $temp_Status = Value("AV_Receiver");; fhem ("set Pushover_Test msg 'AV_Receiver' 'Schaltzustand: $temp_Status' '' 0 ''")}}
Kann sich jemand einen Reim draus machen?
Was zeigt
"inform timer"
bzw. "Event Monitor" in der Web Oberfläche
SG
Gesendet von Unterwegs mit Tapatalk 4
Setze mal event-on-change auf das Device "AV_Receiver", dann sollte die Zustandsänderung nur einmal kommen!
Zitat von: AHA1805 am 18 März 2014, 18:32:41
Was zeigt
"inform timer"
bzw. "Event Monitor" in der Web Oberfläche
SG
Gesendet von Unterwegs mit Tapatalk 4
inform timer liefert
2014-03-19 09:01:01 Pushover Pushover_Test last-message: AV_Receiver: Schaltzustand: on
2014-03-19 09:01:01 Pushover Pushover_Test last-result: OK
und das ganze 8 Mal......
bei attr AV_Receiver event-on-change-reading .* bekomme ich die Benachrichtigung nur noch zweimal
bei attr AV_Receiver event-on-change-reading 1 bekomme ich keinerlei Benachrichtigung
Folgender Eintrag war erfolgreich
attr AV_Receiver event-on-change-reading state
Hallo AHA1805
Würde mich interressieren wenn du so nett wärst veröffentlich es doch
Bei mir funktioniert es nicht mit einen Bewegungsmelder von Homematic
hier der code was ist da falsch bekomme keinerlei Nachricht auf mein Handy
Pushover ist eingerichtet
define Pushover1 Pushover atVUuddddpceGE3Q9o36Erddwkddh xxxxxxxxxGRZErTuxxxnM8wNTJ85i
define pushnachricht dummy
attr pushnachricht webCmd on:off
define Push_Aktiv dummy
attr Push_Aktiv webCmd on:off
define PushNotify notify aussen_bewegung {if(Value("Push_Aktiv") eq "on"){my $temp_Status = Value("aussen_bewegung");;;; fhem ("set Pushover1 msg 'aussen_bewegung' 'Schaltzustand: $temp_Status' '' 0 ''")}}
Gruß Inesa
Funktioniert jetzt bei mir danke noch für diese gute Idee
Gesendet von meinem LG-D802 mit Tapatalk
@Inesa394
Hast Du noch was ändern müssen damit es funktioniert und wenn ja was? :)
Ich habe mal angefangen einen Wiki Artikel zu schreiben. Jeder ist herzlich eingeladen zu ändern bzw. zu verbessern!
http://www.fhemwiki.de/wiki/Pushover
Nein im code hat sich bei mir ein Fehler eingeschlichen
Gesendet von meinem LG-D802 mit Tapatalk
Hallo Inesa,
ich habe Pushover verwendet, so dass ich informiert werde, wenn Post in den Briefkasten geworfen wird
Aber nur wenn ich schon zu Hause bin, oder gerade nach Hause komme.
Definition von PUSHOVER
define PO_Hannes_Post Pushover aZaaUo58xxxxxxxxxxxxxxxxxxx urdJFEeNESEukxxxxxxxxxxxxxxxxxxx
define PO_Heike_Post Pushover aYeh3kLijKS8xxxxxxxxxxxxxxxxxxx uGdVXxEkgYR5s1vxxxxxxxxxxxxxxxxxxx
Im Briefkasten habe ich einen HM-SCI-3-FM eingebaut, welcher den Status des Deckels als auch der Türe mittels Reedkontakt bzw. Taster abfrägt.
define SW_Briefkasten_Tuer CUL_HM 20837A02
define SW_Briefkasten_Deckel CUL_HM 20837A03
Den Status ob der Briefkasten voll/leer als auch
Ob die Nachricht schon gesendet wurde (zu Hause) oder nicht (noch unterwegs)
wird in 3 dummys zwischen gespeichert.
define Briefkasten dummy
define pushPostHeike dummy
define pushPostHannes dummy
Diese Schalte lösen einen Notify aus, welche die Function evtBriefkasten aufruft.
define ntf_Briefkasten notify SW_Briefkasten.* {evtBriefkasten("@")}
Die eigentliche Funktion für das auswerten der Deckel und versenden der Nachrichten.
sub evtBriefkasten($)
{
my ($objname) = shift;
my ($objvalue) = Value($objname) ;
my ($statBriefkasten) = Value("Briefkasten");
my ($myAnwesend) = "";
my ($myPushstate) ="";
if ($objname eq "SW_Briefkasten_Deckel" and $objvalue eq "open" and $statBriefkasten eq "leer") {
fhem("set Briefkasten voll");
$myAnwesend = Value("Anw_Nexus");
if ($myAnwesend eq "present") {
fhem("set pushPostHeike send");
fhem("set PO_Heike_Post msg msg 'Briefkasten' 'Der Briefkasten ist voll' '' 0 ''");
} else {
fhem("set pushPostHeike pendig");
}
$myAnwesend = Value("Anw_iPhone");
if ($myAnwesend eq "present") {
fhem("set pushPostHannes send");
fhem("set PO_Hannes_Post msg msg 'Briefkasten voll' 'Der Briefkasten ist voll' '' 0 ''");
} else {
fhem("set pushPostHannes pendig");
}
}
#Briefkasten Status zurück setzen
if ($objname eq "SW_Briefkasten_Tuer" and $objvalue eq "closed" and $statBriefkasten eq "voll") {
fhem("set Briefkasten leer");
fhem("set pushPostHannes leer");
fhem("set pushPostHeike leer");
}
}
Den Status über "zu Hause" oder "abwesend" mache ich über das PRESENC Modul
define Anw_iPhone PRESENCE fritzbox AHAs-iPhone
define Anw_Nexus PRESENCE fritzbox Nexus4
Dann noch ein Notify bei einem Event des PRESENC Modul
define ntf_Anwesend notify Anw_.* {evt_Anwesend("@")}
sub evt_Anwesend($)
{
my ($objname) = shift;
my ($objvalue) = Value($objname) ;
my ($myPushstate) ="";
if ($objvalue eq "present" ) {
$myPushstate = Value("pushPostHeike");
if ($myPushstate eq "pendig" and $objname eq "Anw_Nexus") {
fhem("set PO_Heike_Post msg msg 'Briefkasten' 'Der Briefkasten ist voll' '' 0 ''");
fhem("set pushPostHeike send");
}
$myPushstate = Value("pushPostHannes");
if ($myPushstate eq "pendig" and (($objname eq "Anw_iPhone") or ($objname eq "Anw_Note8"))) {
fhem("set PO_Hannes_Post msg msg 'Briefkasten' 'Der Briefkasten ist voll' '' 0 ''");
fhem("set pushPostHannes send");
}
}
}
Schöne Grüße
Hannes
@Aha1805
Danke für Deine Briefkastenlösung!
welche Reedkontakte hast du im Briefkasten verbaut?
Das ist der HC-SCI-3-FM wenn ich richtig gelesen habe.Wozu sind die Kabel die aus dem Sensor rausschauen?
Gesendet von meinem LG-D802 mit Tapatalk
Zitat von: fazer41 am 25 März 2014, 10:47:57
@Aha1805
Danke für Deine Briefkastenlösung!
welche Reedkontakte hast du im Briefkasten verbaut?
Wenn ich Zuhause bin kann ich mal ein Foto machen.
Zitat von: inesa394 am 25 März 2014, 11:54:28
Das ist der HC-SCI-3-FM wenn ich richtig gelesen habe.Wozu sind die Kabel die aus dem Sensor rausschauen?
Mit den Kabel kann man den Zustand von 3 Schalter, Taster, egal ob Öffner oder Schließer in Echtzeit zuverlässig abfragen.
Bei mir ein Taster mit Öffner Funktion für den Deckel
und ein Eingang für der Tür Status via Reedkontakt.
Gesendet von meinem LG-D802 mit Tapatalk
Gesendet von Unterwegs mit Tapatalk 4
Hallo hier das Bild
(http://img.tapatalk.com/d/14/03/29/6equ4y6y.jpg)
hat zwar etwas gedauert, aber es war immer schon zu dunkel zum Fotografieren.
Gruß Hannes
Gesendet von Unterwegs mit Tapatalk 4
Danke fürs Bild. Saubere Lösung!
Gesendet von meinem GT-I9100 mit Tapatalk
Wie sieht die Befehlszeile aus wenn ich für ein Ereignis zwei Personen auf unterschiedlichen Pushoveraccounts die selbe Benachrichtigung zukommen lassen will. Kann ich das zusammen definieren oder geht das nur einzeln.
Meine Benachrichtigung lautet bisher folgendermassen
define WaschmaschineAbgeschlossenPushover notify HR.WaschmaschineBetrieb:standby {fhem("set PushWa msg 'Hauswirtschaftsraum''Waschvorgang abgeschlossen' '' 0 ''")}
PushWa habe ich vorher definiert.
Die zweite Person soll die selbe Benachrichtigung bekommen?
Du kannst bei Pushover sog. "Delivery Groups" definieren. So wie ich das verstanden habe, sollte das doch genau für deinen Fall passen!?
https://pushover.net/groups/build
ZitatIf you often need to send the same notification to a group of Pushover users at the same time, creating a Delivery Group can make this process easier.
Zitat von: P.A.Trick am 31 März 2014, 23:10:06
Du kannst bei Pushover sog. "Delivery Groups" definieren. So wie ich das verstanden habe, sollte das doch genau für deinen Fall passen!?
https://pushover.net/groups/build
ja danke, das vereinfacht die Sache enorm!
@Aki1988
Hallo,
Diese Lösung habe ich schon lange gesucht. Allerdings hapert es bei mir an der Umsetzung. Den Dummy habe ich definiert u. er funktioniert auch, aber wie kann ich einen Aktor zuordnen ?
Meine Konfig:
define pushover_modul Pushover xxx xxx
attr pushover_modul room Connect
define Pushover_Test Pushover xxx xxx
define Poolpumpe dummy
attr Poolpumpe room Energie
attr Poolpumpe webCmd on:off
define PushDummy notify Poolpumpe {fhem ("set Pushover_Test msg 'FHEM' 'Poolpumpe wurde geschalten!' '' 0 ''")}
u. hier der Schalter bei dem der Status an Pushover gesendet werden soll:
define Schalter CUL_HM 24A36801
attr Schalter event-on-change-reading state
attr Schalter model HM-ES-PMSw1-Pl
attr Schalter peerIDs 00000000,
attr Schalter room Energie
Wäre dankbar für Tipps ...
Gruß
crepp1967