Modul für Pushover

Begonnen von Johannes_B, 07 November 2013, 13:28:08

Vorheriges Thema - Nächstes Thema

M.Piet

Hallo Zusammen,

ich liebe dieses Modul. :) Ich lasse mich schon über diverse Sachen informieren (Temperaturwarnmeldungen, Zisternenwassermangel, Wetterbericht täglich, Unwetterwarnungen, Müll, etc...
Meine Frau über wenige Dinge auch, und der WAF ist auch recht hoch.

Ich habe aber mit einem DOIF Probleme. Ich wollte mir wöchentlich den Wasserstand der Zisterne senden:
define pushover_Zisterne_Montags_Mike at *20:00:00 { if ($wday == 0) { fhem ("set Pushover_Mike msg "Wöchentlicher Zisternenstand: aktuell sind [Readings_Zisterne:Liter] Liter in unserer Zisterne" ") } }

Der funktioniert nicht, im Log habe ich sogar Fehler dazu:
2017.03.23 20:00:00 1: PERL WARNING: Bareword found where operator expected at (eval 135500) line 1, near ""set Pushover_Mike msg "W"
2017.03.23 20:00:00 3: eval: { if ($wday == 0) { fhem ("set Pushover_Mike msg "Wöchentlicher Zisternenstand: aktuell sind [Readings_Zisterne:Liter] Liter in unserer Zisterne" ") } }
2017.03.23 20:00:00 1: ERROR evaluating { if ($wday == 0) { fhem ("set Pushover_Mike msg "Wöchentlicher Zisternenstand: aktuell sind [Readings_Zisterne:Liter] Liter in unserer Zisterne" ") } }: Unrecognized character \xC3; marked by <-- HERE after ike msg "W<-- HERE near column 52 at (eval 135500) line 1.

2017.03.23 20:00:00 3: pushover_Zisterne_Montags_Mike: Unrecognized character \xC3; marked by <-- HERE after ike msg "W<-- HERE near column 52 at (eval 135500) line 1.


Ist mein erster DOIF....jemand eine Odee wo mein Fehler liegt? Ich komme trotz der Logs nicht dahinter.

l2r

du hast kein DOIF sonder ein at definiert...

define pushover_Zisterne_Montags_Mike DOIF ([20:00|1]) (set Pushover_Mike msg "Wöchentlicher Zisternenstand: aktuell sind [Readings_Zisterne:Liter] Liter in unserer Zisterne")

attr pushover_Zisterne_Montags_Mike do always



sollte so funktionieren, hab ich aber nicht getestet.

Das Attribut do always ist wichtig, da sonst der Befehl nur ein einziges mal ausgeführt wird und danach nie wieder.

Schau dir mal die CommandRef zu DOIF an. Die ist sehr ausführlich und hat viele Beispiele.

Gruß michael
Wissen ist Macht.
Ich weiß nix.
Macht nix.

M.Piet

Sorry, ich habe Mist erzählt...ich habe kein DOIF sondern einen einfach AT-Befehl eingerichtet. Unter Hilfe vom Wiki.

Und da habe ich den Fehler...

//edit: grad erst deine Antwort gelesen. Laut meines Wissens reicht doch dazu auch ein AT-Befehl...oder?

l2r

ja das stimmt. ein At reicht auch.
Wissen ist Macht.
Ich weiß nix.
Macht nix.

M.Piet

...hast du eine Idee, was in meinem AT-Befehl falsch ist? Er funktioniert nicht und ich habe Fehler in den Logs (siehe ein paar Posts weiter oben).

volschin

Du kannst " nicht ineinander verschachteln.
Intel NUC+Ubuntu 24.04+Docker+FHEM6
HomeMatic: HM-MOD-RPI-PCB+HM-USB-CFG2+hmland+diverse, HUE: Hue-Bridge, RaspBee+deCONZ+diverse
Amzn Dash-Buttons, Siro Rollos
4xRPi, 4xCO20, OWL+USB, HarmonyHub, FRITZ!Box 7690, Echo Dots+Show8, HomeBridge

M.Piet

Hmmm, ok danke.
So Richtig steige ich dabei noch nicht durch.

Dies funktioniert auch nicht:

define pushover_Zisterne_Montags_Mike at *20:00:00 { if ($wday == 0) { fhem (set Pushover_Mike msg "Wöchentlicher Zisternenstand: aktuell sind [Readings_Zisterne:Liter] Liter in unserer Zisterne") } }
syntax error

Frank_Huber

hier mein Code, Auslöser allerdings ein DOIF. sollte aber für den Ausführungsteil egal sein.

define VDD_mon DOIF ([Aussen_rH:VDD] < 4.95) (\
set PushOver msg 'Spannung PI KG unter 4.95 Volt' 'Spannung PI KG unter 4.95 Volt [Aussen_rH:VDD:d]. dringend prüfen/justieren!';;\
)


für dich müsste das dann sein:

define pushover_Zisterne_Montags_Mike at *20:00:00 { if ($wday == 0) { fhem ("set Pushover_Mike msg 'Wöchentlicher Zisternenstand: aktuell sind [Readings_Zisterne:Liter] Liter in unserer Zisterne') } }


würde dir aber auch eher zu DOIF raten:


define PushOver_Zisterne_Montag DOIF ([20:00|1]) (set Pushover_Mike msg 'Wöchentlicher Zisternenstand: aktuell sind [Readings_Zisterne:Liter] Liter in unserer Zisterne')
DOELSEIF ([20:15|1])

M.Piet

Danke Frank, mit deinem DOIF hat es geklappt. :) Meine Pushnachricht kam an!!!
Frage nur: wozu ist dieser Code nötig:
DOELSEIF ([20:15|1])

Frank_Huber

der ist dafür dass der DOIF nicht stehenbleibt.
das kanst mit dem Attribut "DO always" umgehen oder mit einem gezielten rücksetzen über das DOELSEIF ohne Befehl.
Damit wird um 20:15 der DOIF quasi resettet.

choenig

Hi,

nochmal eine 'glance'-Sache:

Seit dem commit '70_Pushover: add support for msgParams' ist es nicht mehr möglich, glances zu verschicken, ohne einen Text anzugeben.

set Pushover glance count=2

führt zu

Text cannot be empty

Umgehen lässt es sich aber mittels

set Pushover glance count=2 text=unwichtig, da der Text ignoriert wird (sah auf jeden fall beim Test so aus).

Ist diese Änderung absichtlich und ich sollte meinen glance-Updates ein text=... hinzufügen, oder war das ein Versehen und Du fixt es wieder? :)

Vielen Dank :)

LG
Christian



ComputerZOO

Nabend,
mir wäre ein Fix bei der Sache schon wichtig, da ich unabhängig text, subtext und title versende.

Loredo

Das ist eher ein Versehen als Absicht. Ich habe gerade das Errorhandling etwas überarbeitet und eingecheckt.
Hat meine Arbeit dir geholfen? ⟹ https://paypal.me/pools/c/8gDLrIWrG9

Maintainer:
FHEM-Docker Image, https://github.com/fhem, Astro(Co-Maintainer), ENIGMA2, GEOFANCY, GUEST, HP1000, Installer, LaMetric2, MSG, msgConfig, npmjs, PET, PHTV, Pushover, RESIDENTS, ROOMMATE, search, THINKINGCLEANER

choenig

Zitat von: Loredo am 30 März 2017, 00:36:04
Das ist eher ein Versehen als Absicht. Ich habe gerade das Errorhandling etwas überarbeitet und eingecheckt.

Super, vielen Dank für den Fix :-)

LG
Christian

Amenophis86

also irgendetwas scheint im Modul nicht mehr richtig zu funktionieren. Ich habe ein Problem mit der url und supplementry_url. Habe auch schon die Beispiele der CommandRef genommen, weil meins nicht klappte und der Fehler kommt immer wieder. Folgendes Problem:

Ich will mittels Pushover direkt eine Nachricht schicken mittels folgendem command (aus der CommandRef):
set Pushover msg title=Link Schau dir mal diese Website an: url_title="Öffnen" action="http://fhem.de/" expire=3600
Das Modul wirft mir immer wieder einen Fehler aus url_title requires parameter url wenn jetzt anstelle von "action" "url" schreibe kommt der gleiche Fehler. Lasse ich url_title weg und schicke mit "action=..." Kommt die Nachricht ohne action an. Sende ich mit "url=..." anstelle von action wird gar nichts versendet.

Pushover und FHEM sind auf dem aktuellsten Stand.
Aktuell dabei unser neues Haus mit KNX am einrichten. Im nächsten Schritt dann KNX mit FHEM verbinden. Allein zwei Dinge sind dabei selten: Zeit und Geld...