Hauptmenü

Pushover für zwei Events

Begonnen von mfeske, 31 Dezember 2014, 14:16:14

Vorheriges Thema - Nächstes Thema

mfeske

Hallo zusammen,

ich möchte über das Ein- und Ausschalten einer Lampe per Pushover benachrichtigt werden. Für das Einschalten funktioniert es schon mit:
# Pushover Notification für Elch
define ElchPushover notify Elch:on { system ("curl -s -F 'token=123' -F
'user=456' -F 'message=Garten\n$EVENT' https://api.pushover.net/1/messages.json")}

Wie müsste ich das angeben, damit ich beim ein- und ausschalten informiert werde? Ein Versuch mit:
# Pushover Notification für Elch
define ElchPushover notify Elch:$EVENT { system ("curl -s -F 'token=123' -F 'user=456' -F 'message=Garten\n$EVENT' https://api.pushover.net/1/messages.json")}
hat leider nicht funktioniert.

Wenn ich bei pushover eine Application anlege, wofür ist die URL die wird ja nicht mit gesesendet ?

Gruß
Micha
Hardware:
1 x Raspberry Pi Mod. B 512 MB
eq-3 2 x MAX! eTRV Heizungssteller, 1 x MAX! Fensterkontakt, 1 x MAX! Cube - LAN Gateway (ausser Betrieb)
Intertechno 1x ITZ-500, 3x ITT-1500, 9x ITR-1500, 3 x ITDL-1000, 2 x ITL-500
1 x CC1101-USB-Lite 433MHz (CUL433)  V3 1 x CC1101-USB-Lite 868MHz (CUL868)

Icinger

define ElchPushover notify Elch:.*
Würde auf JEDE Statusänderung triggern

define ElchPushover notify Elch:(on|off)|
Triggert auf "on" oder "off"

Warum machst du mit Pushover den umweg über system.....?
Gibts ja auch als Device, dann kannst du zB ganz einfach nur
set Pushover1 msg 'Heißwasser' 'Badewasser ist wieder heiß' '' 0 ''
machen.

lg und Guten Rutsch, Ici
Verwende deine Zeit nicht mit Erklärungen. Die Menschen hören (lesen) nur, was sie hören (lesen) wollen. (c) Paulo Coelho

mfeske

Hallo Ici,

danke für den Tip und auch Dir Guten Rutsch.
# Pushover Notification für Elch
define ElchPushover notify Elch:(on|off)|  { system ("curl -s -F 'token=123' -F 'user=456' -F 'message=Garten\nElch on / off' https://api.pushover.net/1/messages.json")}

hat bei mir zu einem Daueralarm geführt, mein Handy hat sich vor Pushnachrichten die sekündlich eingetroffen sind gar nicht mehr einbekommen.
Werde es gleich mit
# Pushover Notification für Elch
define ElchPushover notify Elch:.* { system ("curl -s -F 'token=123' -F 'user=456' -F 'message=Garten\nElch on / off' https://api.pushover.net/1/messages.json")}

testen, momentan sind allerdings mal wieder die credits erschöpft.

Der Umweg über das System, nunja als newbi muss man denke ich viel rumprobieren. Wo ist der Vorteil in Deiner Lösung?
Wie könnte ich diese bei mir direkt einsetzen? Ich geh mal davon aus Du  definierst an dieser Stelle nur die Nachricht mit Titel Heißwasser und dem Text Badewasser ist wieder heiß und ... ???

Wie schickt Du das den an die richtigen Geräte mit dem richtigen token und user?

Gruß
Micha
Hardware:
1 x Raspberry Pi Mod. B 512 MB
eq-3 2 x MAX! eTRV Heizungssteller, 1 x MAX! Fensterkontakt, 1 x MAX! Cube - LAN Gateway (ausser Betrieb)
Intertechno 1x ITZ-500, 3x ITT-1500, 9x ITR-1500, 3 x ITDL-1000, 2 x ITL-500
1 x CC1101-USB-Lite 433MHz (CUL433)  V3 1 x CC1101-USB-Lite 868MHz (CUL868)

Puschel74

Hallo,

damit
define ElchPushover notify Elch:.*
würde ich es auch testen *ironietag*

Zitatmomentan sind allerdings mal wieder die credits erschöpft.
Jep, die sich mit dem obigen regexp aber nur noch schneller erschöpfen werden.

Warum?
Ja, regexp ist das Zauberwort - und wurde dir meine ich bereits einige Male ans Herz gelegt.

Wie Icinger bereits geschrieben hat:
define ElchPushover notify Elch:(on|off)
ZitatTriggert auf "on" oder "off"

Wenn du mal in den EventMonitor schaust und Elch betätigst siehst du worauf .* alles matcht - auf ALLES.
on|off matcht nur auf on ODER off - und das sollte bereits deutlich weniger sein als "Alles".
Ein Logmitschnitt wäre nett.
Aber bevor ich wiedermal alles wiederhole - lies mal bitte das
http://forum.fhem.de/index.php/topic,16311.0.html
durch damit du in etwa abschätzen kannst was du bereits vorab prüfen und/oder als Logfile mitliefern kannst.

Zu Pushover:
http://www.fhemwiki.de/wiki/Pushover
http://fhem.de/commandref.html#Pushover
Sollte was unklar bleiben immer her mit den Fragen  ;)

Grüße
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

Icinger

define ElchPushover notify Elch:(on|off)|  { system ("curl

Da hast du auch einen | zuviel drinnen. Keine Ahnung, wie das dann reagiert.

Elch:(on|off)|         ne         Elch:(on|off)

lg, Ici
Verwende deine Zeit nicht mit Erklärungen. Die Menschen hören (lesen) nur, was sie hören (lesen) wollen. (c) Paulo Coelho

Icinger

Ausserdem kannst du das ja jederzeit, ungeachtet deiner Credits, weitertesten, indem du dein {system...}-Konstrukt einfach durch ein {Log 3,"Elchtest"} ersetzt.

Dass Pushover ankommt, weisst du ja eh schon.

lg, Ici
Verwende deine Zeit nicht mit Erklärungen. Die Menschen hören (lesen) nur, was sie hören (lesen) wollen. (c) Paulo Coelho

mfeske

#6
Also hier mal aus dem Eventmonitor und den Logs:
Event:

2014-12-31 16:11:44 IT Elch on
2014-12-31 16:11:44 IT ITZ500_11 on
...
2014-12-31 16:11:49 IT Elch off
2014-12-31 16:11:49 IT ITZ500_11 off
...
2014-12-31 16:12:13 Global global ATTR global verbose 3

Log:

2014.12.31 16:11:48 3: ITZ500_11 on->off
2014.12.31 16:11:48 5: Triggering ITZ500_11 (1 changes)
2014.12.31 16:11:48 5: Notify loop for ITZ500_11 off
2014.12.31 16:11:48 4: eventTypes: IT ITZ500_11 off -> off
2014.12.31 16:11:48 4: eventTypes: IT ITZ500_11 state: off -> state: off
2014.12.31 16:11:48 5: Triggering nITZ500_11_Elch
2014.12.31 16:11:48 4: nITZ500_11_Elch exec set Elch $EVENT
2014.12.31 16:11:48 5: Cmd: >set Elch $EVENT<
2014.12.31 16:11:48 2: IT set Elch off
2014.12.31 16:11:48 5: SW: is0000F0000FF0
2014.12.31 16:11:48 5: CUL/RAW (ReadAnswer): is0000F0000FF0

2014.12.31 16:11:48 4: Answer from CUL433:   raw => is0000F0000FF0
2014.12.31 16:11:48 5: Triggering Elch (1 changes)
2014.12.31 16:11:48 5: Notify loop for Elch off
2014.12.31 16:11:48 5: Triggering ElchPushover
2014.12.31 16:11:48 4: ElchPushover exec { system ("curl -s -F 'token=123' -F 'user=456' -F 'message=Garten\nElch on / off' https://api.pushover.net/1/messages.json")}
2014.12.31 16:11:48 5: Cmd: >{ system ("curl -s -F 'token=123' -F 'user=456' -F 'message=Garten\nElch on / off' https://api.pushover.net/1/messages.json")}<
2014.12.31 16:11:49 3: ElchPushover return value: -1
2014.12.31 16:11:49 4: eventTypes: IT Elch off -> off


@Ici Pipe hatte ich bei Dir oben gesehen.Mit (on|off) funktioniert es jetzt. :-) Hast Du eine Idee, ob man den Schaltzustand mit übergeben kann, ohne das man für on und off ein extra Application anlegen muss?

Ich hab mal versucht mit der wiki Anleitung eine Nachricht beim Neustart abzusetzen. Ein set pushmsg msg 'TestTitel' 'TestNachricht' 'htcone_m8' '1' 'bike' Wird abgesendet und die Nachricht kommt auch an, wenn auch ohne den gewünschten Tone bike. Nach dem Neustart kommt aber manchmal keine Nachricht an trotz:
define notify_fhem_reload notify global:INITIALIZED set pushmsg msg 'fhem' 'Ich wurde neu geladen! - $EVENT' '' 0 '' Ich habe es jetzt schon öfter mit dem Neustart versucht aber noch keinen Zusammenhang erkannt. Einen anderen Ton müsste man doch dort auch einfügen können?

mit dem Ton hat sich schon erledigt:
global:INITIALIZED set pushmsg msg 'fhem' 'Ich wurde neu geladen! - $EVENT' 'htcone_m8' 0 'siren'  Aber die priority muss 0 sein sonst erhalte ich ein syntax error in den Logs :-( 2014.12.31 16:55:24 3: notify_fhem_reload return value: Syntax: <Pushover_device> msg [title] <msg> [<device> <priority> <sound> [<retry> <expire>]]


Gruß
Micha
Hardware:
1 x Raspberry Pi Mod. B 512 MB
eq-3 2 x MAX! eTRV Heizungssteller, 1 x MAX! Fensterkontakt, 1 x MAX! Cube - LAN Gateway (ausser Betrieb)
Intertechno 1x ITZ-500, 3x ITT-1500, 9x ITR-1500, 3 x ITDL-1000, 2 x ITL-500
1 x CC1101-USB-Lite 433MHz (CUL433)  V3 1 x CC1101-USB-Lite 868MHz (CUL868)