Hi,
habe ein Modul für Pushover erstellt:
https://svn.code.sf.net/p/fhem/code/trunk/fhem/FHEM/70_Pushover.pm
Damit ist es nach Registrierung unter https://pushover.net möglich, Nachrichten an iOS und Android Geräte zu pushen.
Bitte seid nicht zu hart mit mir, wenn es um den Code geht...
Habe Perl quasi mit diesem Modul "gelernt". ;)
Gruß,
Johannes
Miin,
könntest du Dir von Rudi bitte die Freigabe für SVN holen und das unter contrib einchecken?
Dann hätten wir alle fhem-Sources zusammen und nicht über SVN und Guthub verteilt :)
Gruß, Uli
Jetzt hab ich mal versucht, die Gruppierung der Handys zu verwenden. Gibt aber nur Fehlermeldungen.
Zitat von: UliM am 08 November 2013, 06:18:59
Miin,
könntest du Dir von Rudi bitte die Freigabe für SVN holen und das unter contrib einchecken?
Dann hätten wir alle fhem-Sources zusammen und nicht über SVN und Guthub verteilt :)
Gruß, Uli
Werde ich im Laufe des Tages machen. :)
Zitat von: adem9438 am 08 November 2013, 07:10:49
Jetzt hab ich mal versucht, die Gruppierung der Handys zu verwenden. Gibt aber nur Fehlermeldungen.
Hab das gerade auch mal probiert, und bei mir geht es.
Du musst die Gruppe bei Pushover erstellen und dann statt des User Keys den Group Key in FHEM angeben.
Eventuell fehlt Dir noch "IO::Socket::SSL"?
Was für Fehlermeldungen erscheinen denn?
Gruß,
Johannes
Klappt, bin begeistert!
Erst API - Key im Administrationsbereich kostenlos beantragen, dann bekommt man ein sogenanntes Token.
Dann den User-Key, den man bei der Anmeldung bekommen hat so in die fhem.cfg eintragen:
Zitatdefine Pushover1 Pushover TOKEN USERKEY
anschließend zum Testen in die fhem.cfg eintragen:
Zitatdefine at_Push at *12:49 set Pushover1 msg 'Titel' 'Mahlzeit.' '' 0 ''
LG
/robin
Wunderbar!
Habe bisher mit nem Shell-Skript gearbeitet. Das lief zwar auch problemlos, aber je weniger externe Programm und je mehr direkt in FHEM, um so besser :-)
Vielen Dank!
Jan
Hallo Zusammen,
ich erhalte beim laden der Pushover.pm die Fehlermeldung "Unrecognized character \xC2; marked by <-- HERE after -for-fhem <-- HERE near column 90 at ./FHEM/70_Pushover.pm line 9." Habe IO:SSL, etc. nachinstalliert bzw. geprüft, dass ich den neusten Stand, das neuste Update auf dem Rasperry habe. Habt Ihr diese Fehlermeldung schon gehabt?
Danke und viele Grüße
Holger
Schau mal ob du die Datei richtig runtergeladen hast bzw was sich darin befindet.
Danke!!! das war der Fehler.
Viele Grüße und schönes Wochenende
Holger
Bitteschön :)
Kann mir jemand weiterhelfen wie ich z.B. einen aktuellen Temperaturwert in ein notify packen kann?
Gruß Christoph
gar kein Problem :-)
Hier mal ein Beispiel, wie bei einem Knopfdruck die Außentemperatur ans Handy geschickt wird (ist natürlich ein sinnfreies Beispiel, aber es geht ja ums Prinzip ;-) )
.*6erTaster01_Btn2\sShort.* {
my $temp=ReadingsVal("THO_1","temperature","0");
fhem("set Pushover msg 'Temperatur' 'Außentemperatur betraegt $temp Grad' '' 0 '' ");
}
Gruß
Jan
Danke für die Rückmeldungen! :)
Freut mich, dass es euch gefällt. ;)
Gruß,
Johannes
Sorry für Off-Topic
Ich bekomms einfach nicht zum laufen, dass mir fhem per Pushover ne Temperatur sendet :P
Kann ich das ganze direkt so benutzen oder muss ich es die 99_Utils packen ?
Gruß Christoph
define pushovertest at +*01:00
{
my $temp=ReadingsVal("tempinnen", "temperature", "0");
fhem("set Pushover msg 'Temperatur' 'Außentemperatur betraegt $temp Grad' '' 0 '' ");
}
ich hatte das beispiel aus dem Eingabefeld meines Notifys herauskopiert.
Wenn du es direkt in die fhem.cfg einsetzen willst, musst du noch auf die Backslashes und Semikolons achten...
define 6T01_2 notify .*6erTaster01_Btn2\sShort.* {\
\
my $temp=ReadingsVal("THO_1","temperature","0");;\
fhem("set Pushover msg 'Temperatur' 'Außentemperatur betraegt $temp Grad' '' 0 '' ");;\
\
}
Benutz in deinem Test mal +*00:01:00 (für jede Minute, immer wieder)
ansonsten ist es ok, sofern dein Thermometer-Device "tempinnen" und dein Pushover-Device auch wirklich "Pushover" heißt...
Also teste mal dies in der fhem.cfg:
define pushovertest at +*00:01:00 {\
my $temp=ReadingsVal("tempinnen", "temperature", "0");;\
fhem("set Pushover msg 'Temperatur' 'Außentemperatur betraegt $temp Grad' '' 0 '' ");;\
}
die 99_Utils brauchst du dafür nicht.
Hallo,
ich habe versucht, das Modul zu nutzen,
aber schon beim Absetzen der Meldung folgt ein Fehler. Log:
pushovertest: Error: 501 Protocol scheme 'https' is not supported (LWP::Protocol::https not installed)
Ich habe fhem auf der Fritzbox und es gibt (Suche) hier ein Thema welches auf die HttpUtils.pm verweist.
Dennoch habe ich keine Plan, wie ich das Pushovermodul mit HttpUtils verbinden soll ...
guckst Du hier (http://bit.ly/HOR7EH)
@Jaydee
Danke jetzt funktioniert das ganze :)
Hat jemand ne Ahnung wie ich nen Zeilenumbruch hinbekomm ?
Weil bis jetzt schick ich mir mehrere Temperaturen ohne Punkt und Komma zu *gg*
Superklasse funzt bei mir auch!!!
Da könnte man doch einen Eintrag fürs Wiki basteln! Soll ich?
Hallo drbishop,
wäre klasse, sonst würde ich mich am Wochenende hinsetzen und einen Beitrag in meinem Blog schreiben. Ich dachte so an einem Beitrag für Mailcheck, Pushover und Geofency. Die Jungs von Geofency sind aber noch nicht soweit um Mails zu schicken, wenn man in einem Ortungsbereich kommt.
Bitte auch sofort mit einigen Beispielen. Pushover läuft seit über einer Woche bei mir sehr gut.
Gut dann mache ich den Part Pushover, die anderen sind mir (noch) nicht geläufig. Würde es Dir vorab per Mail schicken mal zum Gegencheck - bin ja noch frisch in dieser Materie ;-)
OT @fh168: wenn du ein iPhone hast, kannst du bzgl. Geofencing auch evtl. einfach mit der "Freunde finden"-App arbeiten. Justme1968 hat mich die Tage darauf gebracht, dass man damit auch Geofencing per Mail betreiben kann. link (http://forum.fhem.de/index.php/topic,16235.msg106439.html#msg106439)
@Jaydee,
mit der "Freunde"-App kann ich mich nicht anfreunden. Irgendwie klappt die bei mir nicht so richtig, eMails werden nicht verschickt. Die Geofencing läuft bei mir 24/7 und wenn als Bonus noch die eMail-Benachrichtigung funktioniert, bin ich glücklich.
@Jaydee
klappt jetzt perfekt über die Freunde - App.
na wunderbar :-)
Hallo,
ich freue mich das jemand pushover sich angenommen hat.
in welchen ordner musss ich eigentlich das modul 70 kopieren?
Außerdem erhalte ich folgende Fehlermeldung :-(
reload: Error:Modul 70_Pushover deactivated:
Can't locate HTTP/Request.pm in @INC (@INC contains: /opt/lib/perl5/5.10.0/arm-linux /opt/lib/perl5/5.10.0 /opt/lib/perl5/site_perl/5.10.0/arm-linux /opt/lib/perl5/site_perl/5.10.0 . /opt/fhem//FHEM) at /opt/fhem//FHEM/70_Pushover.pm line 33, <$fh> line 277.
BEGIN failed--compilation aborted at /opt/fhem//FHEM/70_Pushover.pm line 33, <$fh> line 277.
ich hoffe es hat jemand eine Idee?????
Guten Morgen,
die 70_Pushover.pm kommt in das Verzeichnis FHEM
Du benötigst jedoch noch zwei weitere Module, die für das Protokoll zuständig sind, ich habe diese hier angehängt.
Die Dateien entpacken und aus deren Inhalt die Ordner Mozilla und LWP nach \lib\perl5\5.12.2 kopieren.
Und schon klappts.
Danke für die 2 Dateien.
jedoch bekomme ich noch immer die Meldung Can't locate HTTP/Request.pm in @INC (@INC contains: /opt/lib/perl5/5.10.0/arm-linux.
PS.
1. da da reine kopieren nicht gebracht hat, habe ich das Makefile.pl ausgeführt. War dies korrekt?
des weiteren gab es keine Ordner Mozilla und LWP im Ordner 5.10.0
2. Ich habe den FHEM Server auf einem QNAP Nas laufen.
3. Perl gibt es dort in der Version 5.10.0
4. weis ich nicht woher ich das Modul http/request.pm bekomme.
Ich hoffe ich muss mir nicht extra einen RASPI kaufen um in den genuss von pushover zu kommen????
zu 1.) wärer meiner Ansicht nach nicht notwendig. Die zwei Ordner Mozilla und LWP sind wahrlich nicht da, daher habe ich dir diese an die letzte Antwort angehängt.
Wenn Du die beiden Dateien entpackst findest Du Mozilla und LWP und die müssen in 5.10.0.
zu 2.) kein Problem für Pushover
zu 3.) ist ok.
zu 4.) http://search.cpan.org/~rse/lcwa-1.0.0/lib/lwp/lib/HTTP/Request.pm (http://search.cpan.org/~rse/lcwa-1.0.0/lib/lwp/lib/HTTP/Request.pm) Downloaden und ins Verzeichnis 5.10.0
und wenn ein Perlmodul fehlt kann man es unter oben stehenden Link downloaden.
Sollte alles Problemlos funktionieren, vorrausgesetzt in der fhem.cfg sind die Einträge gemacht und man hat vorher die Anmeldeprozedur bei
Pushover durchlaufen.
Habe gerade einen kleinen Fix gepusht, sodass nun auch Zeilenumbrüche funktionieren. ;)
Falls ihr irgendwelche Hilfe bezüglich Wiki-Eintrag braucht, schreibt mir einfach eine PN. :)
Gruß,
Johannes
Ich finde die Pushover-App prima und habe sie täglich im Einsatz.
Ich habe mal kurz darüber gebloggt: http://blog.moneybag.de/email-und-push-kommunikation-von-und-mit-dem-hausautomations-server-fhem/
Robin
Zitat von: Johannes_B am 22 November 2013, 10:03:38
Habe gerade einen kleinen Fix gepusht, sodass nun auch Zeilenumbrüche funktionieren. ;)
Hast nicht zufällig nen Beispiel dazu wie man den Zeilenumbruch in fhem dann hinbekommt ? :)
Gruß Christoph
Hallo,
ich habe mich gerade an der Einbindung versucht. Fehlermeldungen bekomme ich soweit
keine. Wenn ich nun das Beispiel nehme:
define Pushover1 Pushover aWguhNc4525t... u5AhTKFr17...
define at_Push at *15:21 set Pushover1 msg 'Titel' 'Mahlzeit' " 0 "
bekomme ich den Eintrag im log-File:
2013.11.24 15:21:00 3: at_Push: Syntax: set <Pushover_device> msg <title> <msg> <device> <priority> <sound>
und nichts passiert.
Habe ich da in der Syntax was falsch?
Martin
Zitat von: Christoph am 24 November 2013, 14:41:02
Hast nicht zufällig nen Beispiel dazu wie man den Zeilenumbruch in fhem dann hinbekommt ? :)
Gruß Christoph
Mit einem \n bekommt man einen Zeilenumbruch.
Zum Beispiel:
fhem("set Pushover1 msg 'Server' 'Strom wiederhergestellt!\nLadezustand: $batteryPercent Prozent' '' 0 ''");;\
Zitat von: sremmal_2 am 24 November 2013, 15:36:39
Hallo,
ich habe mich gerade an der Einbindung versucht. Fehlermeldungen bekomme ich soweit
keine. Wenn ich nun das Beispiel nehme:
define Pushover1 Pushover aWguhNc4525t... u5AhTKFr17...
define at_Push at *15:21 set Pushover1 msg 'Titel' 'Mahlzeit' " 0 "
bekomme ich den Eintrag im log-File:
2013.11.24 15:21:00 3: at_Push: Syntax: set <Pushover_device> msg <title> <msg> <device> <priority> <sound>
und nichts passiert.
Habe ich da in der Syntax was falsch?
Martin
Ja, das sollten keine "Gänsefüßchen" sein, sondern zwei Hochkommata. ;)
Also richtig heißt es:
set Pushover1 msg 'Titel' 'Mahlzeit' '' 0 ''
Gruß,
Johannes
Hallo zusammen,
leider bekomme ich beim Ladens des Moduls auf meinem rpi folgende Fehlermeldung, Tipps?
2013.11.25 04:27:08 5: Cmd: >rereadcfg<
2013.11.25 04:27:08 1: Including fhem.cfg
2013.11.25 04:27:08 3: telnetPort: port 7072 opened
2013.11.25 04:27:08 3: WEB: port 8083 opened
2013.11.25 04:27:08 3: WEBphone: port 8084 opened
2013.11.25 04:27:08 3: WEBtablet: port 8085 opened
2013.11.25 04:27:09 2: eventTypes: loaded 21 events from ./log/eventTypes.txt
2013.11.25 04:27:09 1: reload: Error:Modul 70_Pushover deactivated:
Unrecognized character \xC2; marked by <-- HERE after -for-fhem <-- HERE near column 90 at ./FHEM/70_Pushover.pm line 9, <$fh> line 70.
2013.11.25 04:27:09 0: Unrecognized character \xC2; marked by <-- HERE after -for-fhem <-- HERE near column 90 at ./FHEM/70_Pushover.pm line 9, <$fh> line 70.
Gruss
Chris
Zitat von: aqua_chris am 25 November 2013, 04:31:45
Hallo zusammen,
leider bekomme ich beim Ladens des Moduls auf meinem rpi folgende Fehlermeldung, Tipps?
2013.11.25 04:27:08 5: Cmd: >rereadcfg<
2013.11.25 04:27:08 1: Including fhem.cfg
2013.11.25 04:27:08 3: telnetPort: port 7072 opened
2013.11.25 04:27:08 3: WEB: port 8083 opened
2013.11.25 04:27:08 3: WEBphone: port 8084 opened
2013.11.25 04:27:08 3: WEBtablet: port 8085 opened
2013.11.25 04:27:09 2: eventTypes: loaded 21 events from ./log/eventTypes.txt
2013.11.25 04:27:09 1: reload: Error:Modul 70_Pushover deactivated:
Unrecognized character \xC2; marked by <-- HERE after -for-fhem <-- HERE near column 90 at ./FHEM/70_Pushover.pm line 9, <$fh> line 70.
2013.11.25 04:27:09 0: Unrecognized character \xC2; marked by <-- HERE after -for-fhem <-- HERE near column 90 at ./FHEM/70_Pushover.pm line 9, <$fh> line 70.
Gruss
Chris
Ich denke mal, dass Du den HTML Sourcecode von GitHub geladen hast... :D
Am Besten Du lädst das Repo über die ZIP Datei:
https://github.com/JBosecker/pushover-for-fhem/archive/master.zip
Gruß,
Johannes
Hallo Johannes,
perfekt, danke Dir
Gruss
Chris
Hallo Johannes,
bei mit funktioniert es jetzt auch.
Danke
Martin
So, das ganze ist jetzt auch im Sourceforge Repo. :)
Gruß,
Johannes
Hallo,
erstmal Danke für das Modul, soweit funktioniert es sehr gut.
Würde mir jetzt gerne einen "Postalarm" mit Hilfe eines MAX Fensterkontaktes bauen.
Wird der Briefkasten geöffnet soll über das pushover Modul ein push auf mein iPhone erfolgen. Pushover funktioniert soweit, nur wie kann ich das am besten Umsetzen ?
Hier mal ein plumper Versuch von mir den code anzupassen ::)
define pushover_post notify post_FKT_1 {\
if (ReadingsVal("post_FKT_1","Window","") ne OldValue("post_FKT_1")) {\
Pushover1(msg 'Titel' 'Die_Post_ist_da' " 0 ")};;}
Wäre nett wenn mir jemand unter die Arme greifen könnte.
Gruß Holgi
Hi Holgi,
würde es mal so versuchen:
define pushover_post notify post_FKT_1 {\
if (Value("post_FKT_1") ne OldValue("post_FKT_1"))\
{\
fhem("set Pushover1 msg 'Post' 'Die Post ist da!' '' 0 ''");;\
}\
}
Gruß,
Johannes
Hammer Idee und funktioniert - allerdings kommt die Pushnachricht nun 4 x hintereinander. Zwei beim öffnen und 2 beim schließen des Kastens bzw. des Sensors bei mir auf dem Schreibtisch :-)
Kann man da noch ne Verzögerung oder so einbauen? Und wenn ja hat jemand eine Idee? Danke :-)
Ja, klar kann man das... ;)
Habe es bei mir mit der Klingel so gemacht:
define Klingeltaster.LastReactTime dummy
attr Klingeltaster.LastReactTime room hidden
define Klingeltaster.Notify notify Klingeltaster {\
my $now = time;;\
my $lastReactTime = Value("Klingeltaster.LastReactTime");;\
if ($lastReactTime + 5 < $now)\
{\
fhem("set Klingeltaster.LastReactTime $now");;\
fhem("set Pushover1 msg 'Wohnung' 'Es hat geklingelt!' '' 0 ''");;\
}\
}
Also es wird erst 5 Sekunden nach Empfang des ersten Befehls wieder etwas gesendet.
Die Zeit müsste man beim Briefkasten eventuell noch etwas nach oben setzen... :)
Gruß,
Johannes
Hallo, besten Dank erstmal.
Dann könnte das bei mir so aussehen wenn der Fensterkontakt im Briefkasten als post_FKT_1 definiert ist ?
define post_FKT_1.LastReactTime dummy
attr post_FKT_1.LastReactTime room hidden
define post_FKT_1.Notify notify post_FKT_1 {\
my $now = time;;\
my $lastReactTime = Value("post_FKT_1.LastReactTime");;\
if ($lastReactTime + 10 < $now)\
{\
fhem("set post_FKT_1.LastReactTime $now");;\
fhem("set Pushover1 msg 'Briefkasten' 'Die Post ist da!' '' 0 ''");;\
}\
}
Oder habe ich was falsch verstanden ? Kann leider noch nicht testen, da die Lieferung der Fensterkontakte noch aussteht.
Gruß Holgi
Ja, genau.
So sollte das funktionieren. :)
Gruß,
Johannes
Bei mir steht die Zeit für den letzten Schaltzustand inTRX_0_TIME ist dann LastReactTime die richtige Variable?
Wenn ich mir $lastReactTime mit schicke ist diese leer. (nicht mit Cul sondern TRX)
Zitat von: drbishop am 27 November 2013, 17:34:26
Bei mir steht die Zeit für den letzten Schaltzustand inTRX_0_TIME ist dann LastReactTime die richtige Variable?
Wenn ich mir $lastReactTime mit schicke ist diese leer. (nicht mit Cul sondern TRX)
Verstehe leider nicht so ganz was Du meinst...
In meinem Beispiel oben erstelle ich einen dummy "Klingeltaster.LastReactTime" zum Speichern des letzten Zeitpunktes einer Reaktion.
"$lastReactTime" ist nur eine lokale methodenbezogene Variable. Die kann man nennen wie man mag.
Poste doch mal am Besten mal Deinen Code, dann kann man besser helfen.
Gruß,
Johannes
War wohl dummes Zeug eines Anfängers. Ich begreife derzeit die Syntax nur bedingt und verstehe nicht wie dieser Dummy die Variable definiert.
Ich hatte den Dummy vergessen. Mit nachstehender Syntax funktioniert das wunderbar :-)
Wie würde es ausschauen wenn ich das ganze Umdrehe und sage schicke mir erst nach einer Stunde ein Push?
define Briefkasten.LastReactTime dummy
attr Briefkasten.LastReactTime room hidden
define Briefkasten.Notify notify Briefkasten {\
my $now = time;;\
my $lastReactTime = Value("Briefkasten.LastReactTime");;\
if ($lastReactTime + 30 < $now)\
{\
fhem("set Briefkasten.LastReactTime $now");;\
fhem("set Pushover1 msg 'Briefkasten' 'Die Post ist da! LRT: $lastReactTime Zeit: $now' '' 0 ''");;\
}\
}
drbishop
Das geht am Besten mit "at":
fhem("define Pushover1.DelayedSend at +01:00:00 set Pushover1 msg 'Briefkasten' 'Die Post ist da!' '' 0 ''");;\
Gruß,
Johannes
Danke Johannes! Funktioniert Super :-)
Hallo,
das Modul funktioniert super. Vielen Dank dafür.
Laut API Beschreibung sind bei der Priorität 2 auch die Parameter "Retry" und "expire" zu übergeben.
Wie kann ich dies im Aufruf verwirklichen? Denn es wird ja bei Priority nur auf Zahlen geprüft und beim Leerzeichen zwischen 2 Zahlen würde die 2. Zahl als Sound ausgewertet im Modul.
Gruß
Christian
Huch, ist das neu?
Werde kommende Woche mal versuchen das zu implementieren...
Gruß,
Johannes
Hallo Johannes,
keine Ahnung ob es neu ist, da ich heute erst dein Modul implementiert habe. Und bei einer msg mit priority 2 kommt halt ein bad request.
Daraufhin habe ich mir die API Beschreibung bei Pushover angetan und gelesen, dass eben diese Parameter zwingend sind, wenn priority auf 2.
Vielen Dank für deine Mühe schon einmal vorab.
Gruß
Christian
In den News steht zwar nichts, aber ich würde auch mal behaupten, dass das neu ist. Ich kannte bisher auch nur die Prioritäten -1, 0, 1.
Klingt aber nach ner spannenden Sache. Es kann ja schon mal Infos geben, die wichtig genug sind, dass man sie quittieren muss - z.B. ein Wassermelder in FHEM ;-)
Gruß
Jan
So, habe die Funktionalität in das Modul implementiert und ins Sourceforge Repo gepusht... :)
Syntax:
set Pushover1 msg 'Emergency' 'Security issue in living room.' '' 2 'siren' 30 3600
Selbstverständlich bleibt bei Prioritäten < 2 alles beim Alten. ;)
Gruß,
Johannes
Hallo Johannes,
danke für dein schnelles Implementieren.
Aber ich bekomme bei:
set Pushover1 msg 'titel' 'test2.' '' 2 'siren' 10 30
leider Error: 400 Bad Request
Die alten Abrufe mit Priorität unter 2 funktionieren.
Gruß
Christian
Jo:
Zitat...retry... This parameter must have a value of at least 30 seconds between retries.
;)
Gruß,
Johannes
Asche auf mein Haupt!
Funktioniert, wenn man es richtig macht.
Danke nochmals.
Gruß
Christian
Wo kann man denn das Modul downloaden?
Der Link im ersten Post geht nicht.
Scheint ein Problem mit dem Repo zu sein...
Hab den Link im ersten Post trotzdem mal geändert.
Gruß,
Johannes
Hallo,
Ich bin absoluter Neuling und bräuchte Hilfe bei der Implementierung des Moduls.
Kann mir jemand dabei helfen? Wo muss ich denn was hin kopieren?
Gruß
Hallo hatte ich hier schon einmal beschrieben:
1. die 70_Pushover.pm ins FHEM Verzeichnis
2. die zwei Ordner -> Mozilla und LWP in das Verzeichnis fhem\lib\perl5\5.12.2 kopieren. (je nach Version von Perl kann das 5.x.x irgendwas sein)
3. Eintrag in die fhem.cfg define Pushover1 Pushover xxxxxxxxxxxxx xxxxxxxxxxxxx
4. Zum Test folgendes ins Eingabefeld eingeben und bestätigen - danach sollte das, wenn alles klappt mit OK quittiert werden: set Pushover1 msg 'Test' 'Test' '' 0 ''
5. Sonstige Anpassungen braucht es nicht. Vorher natürlich bei pushover registrieren.
Grüße
Ok. Danke für die Datei.
Die pm Datei habe ich in den FHEM Ordner verschoben mittels winscp. Finde nur die andere ordnerstruktur nicht. In /Lib/ ist kein Perl Ordner enthalten. Wo soll ich denn mit den Ordnern nun hin?
Was hast du denn für'n System auf dem der FHEM-Server läuft?
Gesendet von meinem iPhone mit Tapatalk (http://tapatalk.com/m?id=1)
Ein raspberry Pi nach Anleitung von meinTechblog aufgesetzt.
Versuche doch bitte mal die Perl Module per cpan zu installieren:
sudo cpan -i IO::Socket::SSL
sudo cpan -i Mozilla::CA
Finde es übrigens nicht so gut das Modul hier hochzuladen, weil man sonst irgendwann nicht mehr durchblickt welche die neueste Version ist usw.
Gruß,
Johannes
sorry Johannes wollte nur schnell helfen - hast ja recht!
Ansonsten liegen auf dem RPI die Module in /usr/lib/perl/5.xx
Die Lösung mit cpan ist natürlich zu bevorzugen da man damit immer aktuell ist!
Grüßle
Danke. Hat funktioniert.
Zitat von: drbishop am 06 Dezember 2013, 13:45:30
sorry Johannes wollte nur schnell helfen - hast ja recht!
War nicht böse gemeint ;)
Zitat von: jensus11 am 06 Dezember 2013, 21:35:34
Danke. Hat funktioniert.
Cool, freut mich, dass es geklappt hat. :)
Wollte nicht irgendwer einen Wiki-Eintrag schreiben?
Gruß,
Johannes
Ja ich nur grad Landunter...
Gesendet von meinem iPhone mit Tapatalk (http://tapatalk.com/m?id=1)
So hallo ???
nach 2 Wochen keine Zeit hab ich mich mal wieder dem Projekt Pushover beschäftigen können.
Vielen Dank schon mal vorweg für die bisher geleistete Hilfe.
Jedoch hab ich noch immer ein Problem:
Ich habe eigentlich alle Perl Module, welche benötigt werden installiert.
jedoch sobald ich Pushover in die FHEM:CFG aktivieren möchte erhalte ich im logfile diese Meldung:
2013.12.08 13:55:41 1: reload: Error:Modul 70_Pushover deactivated:
Can't locate loadable object for module Net::SSLeay in @INC (@INC contains: /opt/lib/perl5/5.10.0/arm-linux /opt/lib/perl5/5.10.0 /opt/lib/perl5/site_perl/5.10.0/arm-linux /opt/lib/perl5/site_perl/5.10.0 . /opt/fhem//FHEM) at /opt/lib/perl5/5.10.0/IO/Socket/SSL.pm line 17
Compilation failed in require at /opt/lib/perl5/5.10.0/IO/Socket/SSL.pm line 17, <$fh> line 278.
BEGIN failed--compilation aborted at /opt/lib/perl5/5.10.0/IO/Socket/SSL.pm line 17, <$fh> line 278.
Compilation failed in require at /opt/fhem//FHEM/70_Pushover.pm line 35, <$fh> line 278.
BEGIN failed--compilation aborted at /opt/fhem//FHEM/70_Pushover.pm line 35, <$fh> line 278.
eine andere Meldung in der Shell lautet:
Can't locate auto/Net/SSLeay/autosplit.ix in @INC (@INC contains: /opt/lib /perl5/5.10.0/arm-linux /opt/lib/perl5/5.10.0 /opt/lib/perl5/site_perl/5.10.0/ar m-linux /opt/lib/perl5/site_perl/5.10.0 . /opt/fhem//FHEM) at /opt/lib/perl5/5.1 0.0/AutoLoader.pm line 181, <$fh> line 278.
at /opt/lib/perl5/5.10.0/Net/SSLeay.pm line 24
Use of uninitialized value in pattern match (m//) at /opt/fhem//FHEM/00_HMLAN.pm
ich habe auch schon versucht die autosplit.ix zu erzeugen jedoch war ich dabei erfolglos.
Ich glaube langsam das ganze auf meinen QNAP 219PII zum laufen zu bekommen gestaltet sich schwieriger wie gedacht.
Werd mir wahrschein RASPI zulegen dort schein ja alles sofort zu funktionieren.
Hast Du mal versucht per
sudo cpan -i Net::SSLeay
das Modul zu installieren?
Gruß,
Johannes
danke
auf dem qnap funktioniert kein sudo, jedoch hab ich perl -MCPAN -i "install Net::SSLeay" durchgeführt, mit dem Ergebnis das alles up to date ist.
Läuft leider immernoch nicht , da die Autosplit.ix datei nicht vorhanden ist.
Hat jemand noch eine andere Idee????
Ich habe heute nach der Wikianleitung : http://www.fhemwiki.de/wiki/E-Mail_senden sendEmail auf dem Raspberry installiert. Ziel ist die Anwesenheit per Freunde App lt dem HowTo zu realisieren.
Seit dem bekomme ich bei Pushnachrichten folgenden Fehler: Error: 500 Can't connect to api.pushover.net:443 und es geht keine Nachricht mehr raus.
Beissen sich die 2 Programme? Was muss ich ändern?
VG Marko
Hallo Marko,
ich kann dir leider nicht sagen, warum bei dir das Mailcheck-Modul mit Pushover kollidiert, aber generell kann ich aus Erfahrung sagen, dass beide Module prinzipiell problemlos miteinander verwendet werden können...
Gruß
Jan
Zitat von: Jaydee am 15 Dezember 2013, 22:43:52
Hallo Marko,
ich kann dir leider nicht sagen, warum bei dir das Mailcheck-Modul mit Pushover kollidiert, aber generell kann ich aus Erfahrung sagen, dass beide Module prinzipiell problemlos miteinander verwendet werden können...
Gruß
Jan
Ich habe mal eine Pushnachricht über diesen Weg versendet:
define FrostPushover notify Temppush:frost { system ("curl -s -F 'token=amxxxhz' -F 'user=u4xxx93' -F 'message=Hof\nEs ist kälter als 0 °C\nAchtung erhöhte Glättegefahr' https://api.pushover.net/1/messages.json")}
und... es geht. Die Nachricht wird versendet ohne Fehlermeldung??
Kann jemand den Unterschied erkennen wo der Fehler liegt?
G Marko
Ähm, ich muss meine Aussage übrigens zurückziehen, ich hatte mich verlesen... von Sendmail habe ich keine Ahnung. Ich verwende MailCheck und hatte die eben durcheinander geworfen...
Sorry
Jan
Was spricht eigentlich dagegen, dass Pushover ein "richtiges" FHEM-Modul wird?
Also so mit Update und CommandRef und allem? :-)
Fehlt noch was? Kann man helfen?
LG
Jan
Zitat von: marko67 am 15 Dezember 2013, 23:27:58
Ich habe mal eine Pushnachricht über diesen Weg versendet:
define FrostPushover notify Temppush:frost { system ("curl -s -F 'token=amxxxhz' -F 'user=u4xxx93' -F 'message=Hof\nEs ist kälter als 0 °C\nAchtung erhöhte Glättegefahr' https://api.pushover.net/1/messages.json")}
und... es geht. Die Nachricht wird versendet ohne Fehlermeldung??
Kann jemand den Unterschied erkennen wo der Fehler liegt?
G Marko
Hm, 500 bedeutet interner Serverfehler...
Könnte es sein, dass es ein temporäres Problem bei Pushover war?
Kannst Du bitte mal versuchen, ob es mit dem Modul jetzt auch wieder funktioniert?
Zitat von: Jaydee am 16 Dezember 2013, 13:08:54
Was spricht eigentlich dagegen, dass Pushover ein "richtiges" FHEM-Modul wird?
Also so mit Update und CommandRef und allem? :-)
Fehlt noch was? Kann man helfen?
LG
Jan
Also ein "richtiges" Modul ist es ja schon... ;)
Allerdings ist es halt noch kein Standard-Modul...
Problem dabei ist, dass zusätzliche Perl-Module verwendet werden (z.B. IO::Socket::SSL).
Gruß,
Johannes
Zitat von: Johannes_B am 16 Dezember 2013, 13:19:11
Allerdings ist es halt noch kein Standard-Modul...
Problem dabei ist, dass zusätzliche Perl-Module verwendet werden (z.B. IO::Socket::SSL).
Naja, das tun ja einige, z.B. Calendar, FHEM2FHEM, GDS...
Sofern in der CommandRef darauf hingewiesen wird, scheint das ja ok zu sein.
Zitat von: Jaydee am 16 Dezember 2013, 13:28:01
Naja, das tun ja einige, z.B. Calendar, FHEM2FHEM, GDS...
Sofern in der CommandRef darauf hingewiesen wird, scheint das ja ok zu sein.
Ja, stimmt, das wusste ich noch gar nicht...
Dann möge sich doch bitte ein Verantwortlicher dazu äußern. :D
Falls gewünscht, kann ich das gerne erledigen.
Gruß,
Johannes
Voraussetzung fuer "richtiges" FHEM Modul ist:
- es funktioniert einigermassen (d.h. es bricht nicht beim Laden schon mit Fehlern ab)
- es ist dokumentiert
- es wird hier im Forum wenigstens in den naechsten Monaten supportet.
Wenn ein FHEM-Modul "nicht standard" Perl-Module verwendet, dann gibt es Aerger mit den FritzBox-Anwender. Aber IO:Socket:SSL ist bei den FB7390-er FHEM-Paket dabei.
Bitte per PM mir ein Sourceforge Account schicken, ich werde dann Schreibrechte vergeben.
Hallo Johannes,
ich habe eben nochmals getestet und das Ergebniss ist leider das gl. wie gestern :
Error: 500 Can't connect to api.pushover.net:443
Was mich halt total verwundert ist dass es über den anderen Weg das Senden geht. Habe heute im laufe des Tages 4 Wetterpushnachrichten bekommen.
Das Problem trat erst gestern auf als ich sendEmail nach dieser Anleitung installiert habe: http://www.fhemwiki.de/wiki/E-Mail_senden.
#####
Es gab noch eine Änderung: Es trat ein Fehler beim Senden der Mail auf. Nach etwas suche im WWW habe ich folgendes gefunden und entsp. geändert worauf die Mailfunktion lief.
Ich möchte das nur beifügen damit evtl. Fehler erkannt werden können. Hier der Fehler und die Lösung:
pi@raspberrypi ~ $ mailnotify.sh "Test" "Dies ist eine Testnachricht."
invalid SSL_version specified at /usr/share/perl5/IO/Socket/SSL.pm line 332
Diese Fehlermeldung kann man durch eine kleine Modifikation in der /usr/share/perl5/IO/Socket/SSL.pm beheben. Öffnen Sie die Datei dazu mit einem Editor.
pi@raspberrypi ~ $ sudo vi /usr/share/perl5/IO/Socket/SSL.pm
In der Zeile 1490 sollten Sie den folgenden regulären Ausdruck vorfinden.
m{^(!?)(?:(SSL(?:v2|v3|v23|v2/3))|(TLSv1[12]?))$}i
Ziemlich am Ende des regulären Ausdrucks befindet sich ein $-Zeichen welches Sie entfernen sollten. Nach der Änderung sollte die Zeile wie folgt aussehen.
m{^(!?)(?:(SSL(?:v2|v3|v23|v2/3))|(TLSv1[12]?))}i
Speichern Sie anschließend die SSL.pm ab und rufen das Shell-Skript wie folgt auf. Sollte es keine Probleme bei den Einstellungen zum Mailserver geben, wird eine E-Mail an das im Skript angegebene Postfach gesendet.
####
Vielleicht hilft es ja den Fehler zu entdecken da auch hier IO und SSL im Spiel ist?
G Marko
Hallo Johannes_B
Sorry, dass ich dich (und alle anderen im Forum) mit meiner Frage belästige. Wahrscheinlich habe ich einfach was übersehen, aber ich steh aufm Schlauch.
Das hier geht:
define temp_out_check at +*00:00:05 {\
if (ReadingsVal("TFATS34C_1","temperature",0) le 15){\
my $temp_out = ReadingsVal("TFATS34C_1","temperature",0);;\
set pushMessage msg 'Garten' 'text' '' 0 '' 30 3600
}\
}
und das hier geht nicht..
define temp_out_check at +*00:00:05 {\
if (ReadingsVal("TFATS34C_1","temperature",0) le 15){\
my $temp_out = ReadingsVal("TFATS34C_1","temperature",0);;\
fhem("set pushMessage msg 'Garten' 'text' '' 0 '' 30 3600 ");;\
}\
}
Was mache ich falsch?
Der Code ist in der fhem.cfg
Danke für die Hilfe und Gruss
Stefan
Zitat von: rudolfkoenig am 16 Dezember 2013, 13:41:42
Voraussetzung fuer "richtiges" FHEM Modul ist:
- es funktioniert einigermassen (d.h. es bricht nicht beim Laden schon mit Fehlern ab)
- es ist dokumentiert
- es wird hier im Forum wenigstens in den naechsten Monaten supportet.
Wenn ein FHEM-Modul "nicht standard" Perl-Module verwendet, dann gibt es Aerger mit den FritzBox-Anwender. Aber IO:Socket:SSL ist bei den FB7390-er FHEM-Paket dabei.
Bitte per PM mir ein Sourceforge Account schicken, ich werde dann Schreibrechte vergeben.
Ok, danke, dann werde ich mal ein wenig Doku schreiben...
Zugriff aufs Repo hab ich - denke ich - schon.
Zitat von: marko67 am 16 Dezember 2013, 16:28:44
pi@raspberrypi ~ $ sudo vi /usr/share/perl5/IO/Socket/SSL.pm
In der Zeile 1490 sollten Sie den folgenden regulären Ausdruck vorfinden.
m{^(!?)(?:(SSL(?:v2|v3|v23|v2/3))|(TLSv1[12]?))$}i
Ziemlich am Ende des regulären Ausdrucks befindet sich ein $-Zeichen welches Sie entfernen sollten. Nach der Änderung sollte die Zeile wie folgt aussehen.
m{^(!?)(?:(SSL(?:v2|v3|v23|v2/3))|(TLSv1[12]?))}i
Speichern Sie anschließend die SSL.pm ab und rufen das Shell-Skript wie folgt auf. Sollte es keine Probleme bei den Einstellungen zum Mailserver geben, wird eine E-Mail an das im Skript angegebene Postfach gesendet.
Könntest Du bitte nur mal zum Testen die Änderung an der RegExp wieder rückgängig machen und nochmal probieren?
Zitat von: sthoerner am 16 Dezember 2013, 20:32:43
Hallo Johannes_B
Sorry, dass ich dich (und alle anderen im Forum) mit meiner Frage belästige. Wahrscheinlich habe ich einfach was übersehen, aber ich steh aufm Schlauch.
Das hier geht:
define temp_out_check at +*00:00:05 {\
if (ReadingsVal("TFATS34C_1","temperature",0) le 15){\
my $temp_out = ReadingsVal("TFATS34C_1","temperature",0);;\
set pushMessage msg 'Garten' 'text' '' 0 '' 30 3600
}\
}
und das hier geht nicht..
define temp_out_check at +*00:00:05 {\
if (ReadingsVal("TFATS34C_1","temperature",0) le 15){\
my $temp_out = ReadingsVal("TFATS34C_1","temperature",0);;\
fhem("set pushMessage msg 'Garten' 'text' '' 0 '' 30 3600 ");;\
}\
}
Was mache ich falsch?
Der Code ist in der fhem.cfg
Danke für die Hilfe und Gruss
Stefan
Die Parameter für retry und expire dürfen nur übergeben werden, wenn die Prio 2 entspricht.
Versuch es bitte mal so:
define temp_out_check at +*00:00:05 {\
if (ReadingsVal("TFATS34C_1","temperature",0) le 15){\
my $temp_out = ReadingsVal("TFATS34C_1","temperature",0);;\
fhem("set pushMessage msg 'Garten' 'text' '' 0 ''");;\
}\
}
Gruß,
Johannes
Hallo Johannes,
ich vermute mal dass Du mit RegExp rückgängig meinst, dass ich das $ wieder setze. Habe ich gemacht ohne veränderung :-(( Selber Fehler.
VG Dirk
Hm, komisch...
Hast Du nach der Änderung auch einen Neustart gemacht?
Gruß,
Johannes
Ja habe ich da ich gerade am einrichten von FHEM bin schon öfter in den letzten Tagen. Auch auf dem Raspi habe ich schon mehrfach sudo reboot gemacht.
Es ist echt verhext :-(
Hallo zusammen,
ich habe gerade eben das Pushover-Modul in FHEM implementiert und in der fhem.cfg folgendes geschrieben:
define Pushover1 Pushover aH.... uN....
define pushover_DE1 notify myDE1 {if (Value("myDE1") ne OldValue("myDE1")){fhem("set Pushover1 msg 'Digitaleingang 1' 'Status Änderung' '' 2 '' 30 1200");;;;}}
Dann bekommen ich im LogFile folgendes:
Zitat
2013.12.18 14:03:59 3: set Pushover1 msg 'Digitaleingang 1' 'Status Änderung' '' 2 '' 30 1200 : Syntax: set <Pushover_device> msg <title> <msg> <device> <priority> <sound>
2013.12.18 14:03:59 3: pushover_DE1 return value: Syntax: set <Pushover_device> msg <title> <msg> <device> <priority> <sound>
Jetzt bin ich mir nicht sicher ob das Modul Pushover bereits funktioniert denn ich bekomme keine Meldung auf Homepage von Pushover.
Bis jetzt habe ich die App noch nicht heruntergeladen (braucht man die App, um eine Mail zu empfangen oder genügt auch die Email-Adresse)
Danke schonmal,
Grüße
Du brauchst definitiv die App, denn es geht ja nicht um Mails sondern um eine Nachricht an die App, die sich dann bemerkbar macht.
Auf der Homepage wirst du auch keine Meldung bekommen.
... die Syntax ist aber eigentlich so ok *grübel*
Und lass mich raten: Du hast das Modul nicht vom Repo (Link in meinem ersten Post), sondern von der vorletzten Seite in diesem Thread geladen, oder?
Das ist nämlich eine alte Version...
Lade das Modul am Besten nochmal von dem Link im ersten Post.
Genau deshalb habe ich geschrieben, dass das nur zu Verwirrung führt...
drbishop, könntest Du bitte den Anhang von Deinem Post entfernen?
Gruß,
Johannes
Hey,
Top. Danke euch zwei für die schnelle Antwort, werde ich glaich mal ausprobieren.
Grüße
@Johannes: Anhänge *gelöscht* 8)
Super, danke Dir! :)
Gruß,
Johannes
hey.
Also mit dem Modul vom ersten Post und der App klappt jetzt alles prima.
Danke
Grüße
Hallo zusammen,
ich hätte da mal eine Frage und vielleicht damit auch eine kleine Anregung.
Ich habe gestern ein wenig mit der Pushover-API rumgespielt und da ist mir ein interessanter Usecase eingefallen. Ich würde mir gern eine Nachricht auf mein Handy schicken lassen, sobald ich mich aus einem bestimmten Bereich bewege, zum Beispiel meine Heimatstadt verlasse, in der ein Link drin ist, mit dem ich das Profil meiner Heizungen auf "verreist" setzen kann.
Leider decodiert das Modul Links in der Message keine URL, sodass ich eine URL wie http://[host]:8083/fhem?cmd=trigger%%20d_MTS_Wochenprofil%%20verreist nicht öffnen kann, weil die "%20" gegen Leerzeichen erstetzt werden.
Was aber funktioniert sind die Pushover-Paramerter url und url_title. Ich habe das mal exemplarisch mit einem curl-Befhel ausprobiert und es funktioniert super. Leider sind meine Perlkenntnisse nicht so ausgereift, dass ich schnell mal das Pushover-Modul erweitere.
Was haltet ihr von der Idee? Gibt es prizipiell Interesse an so einer Erweiterung?
Gruß,
Stan
Hallo, heute wollte ich das Modul Pushover testen. Leider habe ich keinen Erfolg. Bin wahrscheinlich zu blöde dazu...
Nachdem ich endlich herausgefunden hatte, wie ich die 70_Puschover.pm herunterladen muss und sie in das Verzeichnis /FHEM kopiert hatte bekomme ich folgende Fehlermeldung im Logfile:
reload: Error:Modul 70_Pushover deactivated:
Can't locate IO/Socket/SSL.pm in @INC (@INC contains: /var/InternerSpeicher/USB2-0-FlashDrive-01/fhem/lib/perl /var/InternerSpeicher/USB2-0-FlashDrive-01/fhem/lib/perl/arch /home/rudi/fbperl/lib/perl/arch /home/rudi/fbperl/lib/perl . ./FHEM) at ./FHEM/70_Pushover.pm line 37.
BEGIN failed--compilation aborted at ./FHEM/70_Pushover.pm line 37.
Kann den nicht mal jemand eine Installationsanleitung für Dummies wie mich schreiben?? Wo bekomme ich die fehlenden Dateien. Wie muss ich diese installieren??
Beste Grüße
Jürgen Koch
Siehe Seite 5 Beitrag #60
« Antwort #60 am: 05 Dezember 2013, 21:02:22 »
Hallo drbishop,
ich versuche Pushover auf der FritzBox 7390 ans Laufen zu bringen. Die aktuelle 70_Pushover.pm habe ich per SVN co (gemäss Post 1 im Thread) geholt. Mir fehlen aber offenbar die zwei Ordner "Mozilla" und "LWP" nach Punkt 2. Und diese habe ich unter contrib nicht gefunden.
Zitat von: drbishop am 05 Dezember 2013, 21:02:22
1. die 70_Pushover.pm ins FHEM Verzeichnis
2. die zwei Ordner -> Mozilla und LWP in das Verzeichnis fhem\lib\perl5\5.12.2 kopieren. (je nach Version von Perl kann das 5.x.x irgendwas sein)
3. Eintrag in die fhem.cfg define Pushover1 Pushover xxxxxxxxxxxxx xxxxxxxxxxxxx
4. Zum Test folgendes ins Eingabefeld eingeben und bestätigen - danach sollte das, wenn alles klappt mit OK quittiert werden: set Pushover1 msg 'Test' 'Test' '' 0 ''
5. Sonstige Anpassungen braucht es nicht. Vorher natürlich bei pushover registrieren.
Beim Test erhalte ich nämlich folgenden Fehler:
Error: 501 Protocol scheme 'https' is not supported (LWP::Protocol::https not installed)
Wenn ich deine Signature richtig lese, hast Du FHEM mit PushOver ja auf der FB 7390 am Laufen. Könntest Du (oder Johannes) dann bitte obige zwei Ordner noch bereitstellen?
Danke & Gruss
Tobias
Hallo tpm88
Bitte beide Module bei cpan.org suchen, downloaden und in das Perlverzeichnis auf der 7390
IO::Socket::SSL
Mozilla::CA
Schon geht's. Wenn Du nicht klar kommst melden Dich per pN dann schicke ich dir die aktuellen Module.
Grüße drbishop
Gesendet von meinem iPhone mit Tapatalk (http://tapatalk.com/m?id=1)
Hallo drbishop,
besten Dank - jetzt funktioniert Pushover auch auf meiner FritzBox 7390 mit dem FHEM-Image von fhem.de. Tatsächlich sind aber für die 7390 folgende drei zusätzliche Module von cpan.org notwendig:
IO::Socket::SSL
Mozilla::CA
LWP::Protocol::https
Aus den tar Archiven der heruntergeladenen Module müssen jeweils die Inhalte unterhalb von lib in folgenden Pfad auf der FritzBox ausgepackt werden.
# pwd
/var/InternerSpeicher/fhem/lib/perl5/5.12.2
Konkret muss das nach dem Auspacken so aussehen:
# cd /var/InternerSpeicher/fhem/lib/perl5/5.12.2
# find LWP
LWP
LWP/Protocol
LWP/Protocol/https.pm
# find Mozilla
Mozilla
Mozilla/CA.pm
Mozilla/CA
Mozilla/CA/cacert.pem
# find IO/Socket/
IO/Socket/
IO/Socket/SSL
IO/Socket/SSL/Intercept.pm
IO/Socket/SSL/Utils.pm
IO/Socket/SSL.pm
Gruss
Tobias
Und weil es so schön ist, habe ich eben das Modul für Pushover auch noch für die Plattform FHEM auf QNAP NAS zum Fliegen gebracht.
Details siehe meine Antwort in folgendem Thread: http://forum.fhem.de/index.php/topic,17297.msg119096.html#msg119096 (http://forum.fhem.de/index.php/topic,17297.msg119096.html#msg119096)
Gruß
Tobias
Hallo
danke für diese wirklich coole Modul. Das funktioniert echt prima.
Hallo Johannes_B
Ih habe in der API Beschreibung gesehen das man auch einen UNIX Timestamp mitschicken kann besteht da die Möglichkeit das du das noch mit einbauen kannst oder geht das jetzt auch schon
Danke
Franz
Zitat von: Bonzon am 20 Dezember 2013, 11:29:55Leider decodiert das Modul Links in der Message keine URL, sodass ich eine URL wie http://[host]:8083/fhem?cmd=trigger%%20d_MTS_Wochenprofil%%20verreist nicht öffnen kann, weil die "%20" gegen Leerzeichen erstetzt werden.
Versuch mal:
set Pushover1 msg 'Profil setzen' 'http%3A%2F%2F[host]%3A8083%2Ffhem%3Fcmd%3Dtrigger%2520d_MTS_Wochenprofil%2520verreist' '' '0' ''
Habe die URL einfach hier enkodiert:
http://meyerweb.com/eric/tools/dencoder/
Zitat von: tpm88 am 28 Dezember 2013, 00:33:18Und weil es so schön ist, habe ich eben das Modul für Pushover auch noch für die Plattform FHEM auf QNAP NAS zum Fliegen gebracht.
Details siehe meine Antwort in folgendem Thread: http://forum.fhem.de/index.php/topic,17297.msg119096.html#msg119096 (http://forum.fhem.de/index.php/topic,17297.msg119096.html#msg119096)
Super, vielen Dank!
Werde das mit in die Doku einfließen lassen. :)
Zitat von: extraem am 05 Januar 2014, 21:19:57Ih habe in der API Beschreibung gesehen das man auch einen UNIX Timestamp mitschicken kann besteht da die Möglichkeit das du das noch mit einbauen kannst oder geht das jetzt auch schon
Ich schau mal was ich machen kann.
Wäre es ok, wenn man ein Attribut hätte, bei dem man festlegen kann ob bei jedem Push automatisch der Timestamp mitgeschickt wird?
Also quasi so:
attr Pushover1 timestamp 1
Gruß,
Johannes
Hallo
na klar das würde reichen und man müsste die schon bestehenden Benachrichtigungen auch nicht anpassen wenn man es mit Timestamp haben möchte
Danke
Zitat von: extraem am 06 Januar 2014, 22:13:31
Hallo
na klar das würde reichen und man müsste die schon bestehenden Benachrichtigungen auch nicht anpassen wenn man es mit Timestamp haben möchte
Danke
Alles klar, hab das mal eingebaut und ins Repository gepusht.
Gruß,
Johannes
installiert, getestet und geht :)
Kann man damit auch HTML-Formatiert senden?
Zitat von: Bonzon am 20 Dezember 2013, 11:29:55
Hallo zusammen,
ich hätte da mal eine Frage und vielleicht damit auch eine kleine Anregung.
Ich habe gestern ein wenig mit der Pushover-API rumgespielt und da ist mir ein interessanter Usecase eingefallen. Ich würde mir gern eine Nachricht auf mein Handy schicken lassen, sobald ich mich aus einem bestimmten Bereich bewege, zum Beispiel meine Heimatstadt verlasse, in der ein Link drin ist, mit dem ich das Profil meiner Heizungen auf "verreist" setzen kann.
Leider decodiert das Modul Links in der Message keine URL, sodass ich eine URL wie http://[host]:8083/fhem?cmd=trigger%%20d_MTS_Wochenprofil%%20verreist nicht öffnen kann, weil die "%20" gegen Leerzeichen erstetzt werden.
Was aber funktioniert sind die Pushover-Paramerter url und url_title. Ich habe das mal exemplarisch mit einem curl-Befhel ausprobiert und es funktioniert super. Leider sind meine Perlkenntnisse nicht so ausgereift, dass ich schnell mal das Pushover-Modul erweitere.
Was haltet ihr von der Idee? Gibt es prizipiell Interesse an so einer Erweiterung?
Was du machen möchtest, ist Geofencing. Das ist aber keine Funktion der Pushover App (obwohl es durchaus Sinn machen würde, diese Funktion dort auch mit drin zu haben).
Ich habe gestern ein Modul für geofancy.com ins SVN hochgeladen, damit get Geofencing mit der entsprechenden App. Du kannst dann via Notify auch Push-Nachrichten über Pushover verschicken.
Hatte vor 2 Tagen bereits mit Pushover experimentiert.
Jetzt wollte ich es in mein fhem einbinden und habe gesehen, dass Johannes bereits ein Modul dazu gebaut hat!
Geladen, Aufruf in meine Utils eingebunden.
5 min und die Batteriewarnungen kommen per Push.
Super, dank Dir!
Grüße,
Michael
Könnte mal bitte ein Mod diesen Thread hier nach "Mobile Devices" schieben?
@Johannes: bei mir funktioniert es soweit. Denkst du, das du es jetzt in den MainTree von FHEM schieben kannst? Eine Doku natürlich vorausgesetzt? Dann wird das Modul über den normalen Updateprozess verteilt...
Also, ich habe das Modul jetzt soweit vorbereitet, sodass es ein "richtiges, echtes" FHEM-Modul werden kann. :D
Eine Frage habe ich dennoch:
Die Doku im Modul selbst ist ja nur auf Englisch. Wo schreibe ich denn die Übersetzung hin?
Sobald das erledigt ist werde ich die Änderung im Repository vornehmen.
Edit: Ach, und wäre das richtige Subforum nicht http://forum.fhem.de/index.php/board,44.0.html ?
Gruß,
Johannes
Eine Frage, wenn es ein offizielles fhem Modul ist, wie ist der Umstieg für die die die 70_Pushover.pm bereits verwenden?
Wird das bei einem Update automatisch eingerichtet oder muss vor dem Update die 70_Pushover.pm händisch gelöscht werden?
Viele Grüße,
Michael
Hi,
beim Umstieg auf das offizielle Modul müssen die User die es bereits benutzen nichts tun!
IMHO hat es zwar mit unterstützenden Diensten zu tun, mehr aber bei Mobile Devices, siehe auch AndNotify etc...
Bzgl deutscher Doku, die ist ebenfalls im Modul drin. Schau dir mal bitte mein 93_DbLog.pm Modul an
http://sourceforge.net/p/fhem/code/HEAD/tree/trunk/fhem/FHEM/93_DbLog.pm
So, ist jetzt von contrib nach FHEM gewandert. :)
Sagt bitte Bescheid, ob das alles so passt.
Gruß,
Johannes
Hallo,
ich würde gern in einer Meldung zu einem Temperatur/Feuchte-Sensor neben "°C" auch ein Prozentzeichen
für die Information zum Luftfeuchtewert mitsenden.
Leider scheitert Pushover daran - Meldung: Error: 500 Internal Server Error
Gibt es da einen Lösungsweg?
Hallo zusammen,
ich habe Fhem auf einer Fritzbox 7390 mit dem Image von fhem.de laufen. Ich möchte nun gern das Pushover-Modul einsetzen. Ich habe schon, wie hier empfohlen, die Perl-Module
- LWP::Protocol::https
- Mozilla::CA
- IO::Socket::SSL
manuell in das Verzeichnis /var/InternerSpeicher/fhem/lib/perl5/5.12.2 kopiert. Leider erhalte ich immer, wenn ich eine Nachricht absetzen möchte, folgende Fehlermeldung:
Error: 500 Can't locate object method "new" via package "LWP::Protocol::https::Socket"
Hat jemand eine Idee, woran das liegen könnte?
Gruß,
Cheanrod
Hallo Cheanrod,
hast du da nach dem Hereinkopieren kontrolliert, ob Owner (Uswer: boxusr99, Group: 20) und Zugriffsrechte (775 für Verzeichnisse und 664 für die Dateien) passen?
Alternativ kannst Du mir die Ausgaben der beiden folgenden Kommandos per PM schicken - dann vergleiche ich mit meiner Installation.
cd /var/InternerSpeicher/fhem/lib/perl5
find .
ls -alR
Gruß,
Tobias
Wäre es möglich das Modul von hier zu adaptieren:
https://github.com/andreas-fey/fhem-pushover (https://github.com/andreas-fey/fhem-pushover)
Es hat keine gesonderten Perl Abhängigkeiten und funktioniert daher auch problemlos auf einer Fritzbox.
Auch wird ein sinnvolleres Logging/Error-Handling (anstatt ein "print 'OK'") gemacht; zwei IMHO sinnvolle Readings sind ebenfalls enthalten.
Eine Kombination beider Module fände ich prima.
Ich wollte es schon selbst als Patch vorbereiten, aber dachte mir, ich möchte den Lerneffekt, wie man ohne die ganzen Perl Module auskommt, nicht nehmen ;)
Gruß
Julian
@Loredo: Ich wuerde diese Diskussion verschieben, allerdings weiss ich nicht wohin: im MAINTAINER.txt ist das Modul nicht aufgefuehrt. Bitte aendern!
Eure Wünsche seien mir Befehl... :D
Hab das Modul mal ein klein wenig geändert. Sagt mir bitte Bescheid, ob das soweit funktioniert. ;)
MAINTAINER.txt ist jetzt auch aktualisiert.
Gruß,
Johannes
Zitat von: Johannes_B am 15 Januar 2014, 10:56:35
Hab das Modul mal ein klein wenig geändert. Sagt mir bitte Bescheid, ob das soweit funktioniert. ;)
MAINTAINER.txt ist jetzt auch aktualisiert.
Ich habe das Modul in der Version aus dem SVN gestestet. Auf meiner FB7390 läuft es nun problemlos.
Danke und Gruß
Cheanrod
Zitat von: Johannes_B am 15 Januar 2014, 10:56:35
Eure Wünsche seien mir Befehl... :D
Hab das Modul mal ein klein wenig geändert. Sagt mir bitte Bescheid, ob das soweit funktioniert. ;)
MAINTAINER.txt ist jetzt auch aktualisiert.
Super!Wenn du jetzt noch das Reading last-result in "state" umbenennst und dein "return $result;" in Zeile 214 in ein einfaches "return;" abänderst, wärs perfekt ;)
Um es weiter zu verbessern könntest du auch mal schauen, was du für Logs bei verbose=2, verbose=3, verbose=4 und verbose=5 erzeugen könntest.
Sinnvoll wäre z.B. vor Zeile 88 ein
Log3 $hash, 2, "Pushover set $name $cmd " . join( ' ', @args);
Noch einigen Stunden habe ich Pushover mit dem aktuellen modul 98_pushover.pm auf der Fritzbox 7390 eingerichtet bekommen, aber irgendwie scheint da etwas nicht zu stimmen.
Wenn ich den folgenden Befehl verwende, dann bekomme ich auf dem Smartphone die anghängte Nachricht (siehe Screenshot).
set Pushover1 msg 'Test' 'Dies ist ein Test.\nLeider mit Problemen!' ''0''
Warum werden die Apostroph angezeigt und warum funktioniert der Zeilenumbruch nicht und was genau kann man mit der Zahl am Schluss steuern?
Zitat von: Loredo am 18 Januar 2014, 15:39:12
Super!
Wenn du jetzt noch das Reading last-result in "state" umbenennst und dein "return $result;" in Zeile 214 in ein einfaches "return;" abänderst, wärs perfekt ;)
Um es weiter zu verbessern könntest du auch mal schauen, was du für Logs bei verbose=2, verbose=3, verbose=4 und verbose=5 erzeugen könntest.
Sinnvoll wäre z.B. vor Zeile 88 ein
Log3 $hash, 2, "Pushover set $name $cmd " . join( ' ', @args);
Das mit dem Logging ist eine gute Idee, das werde ich mal in Angriff nehmen.
Den Status würde ich aber allerdings gerne so belassen wie er ist, außer es gibt dafür natürlich irgendwelche Konventionen...
Zitat von: MBPower am 21 Januar 2014, 15:14:33mit dem aktuellen modul 98_pushover.pm
Sorry, aber das ist nicht mein Modul... ;)
Meins ist das 70_Pushover.pm.
Gruß,
Johannes
Zitat von: Johannes_B am 21 Januar 2014, 15:35:02
Sorry, aber das ist nicht mein Modul... ;)
Meins ist das 70_Pushover.pm.
Das ist mir bei meinen ganzen Problemen nicht einmal aufgefallen.
Dann werde ich das einmal mit dem 70_Pushover.pm testen
Jetzt habe ich auch das richtige Modul (70_Pushover.pm) verwendet, aber mit dem folgenden Befehl funktioniert der Zeilenumbruch leider nicht. Auf Seite 4 oder 5 von diesem Thread steht, dass es so gehen müsste. Was mache ich da noch falsch?
set Pushover1 msg 'Test' 'Dies ist ein Test.\nLeider mit Problemen!' ''0'''
Dann hätte ich auch noch eine Frage, ob es zu der folgenden Meldung eine kurze Beschreibung gibt?
set <Pushover_device> msg <title> <msg> <device> <priority> <sound> [<retry> <expire>]
Zitat von: MBPower am 21 Januar 2014, 16:31:48
Jetzt habe ich auch das richtige Modul (70_Pushover.pm) verwendet, aber mit dem folgenden Befehl funktioniert der Zeilenumbruch leider nicht. Auf Seite 4 oder 5 von diesem Thread steht, dass es so gehen müsste. Was mache ich da noch falsch?
set Pushover1 msg 'Test' 'Dies ist ein Test.\nLeider mit Problemen!' ''0'''
Dann hätte ich auch noch eine Frage, ob es zu der folgenden Meldung eine kurze Beschreibung gibt?
set <Pushover_device> msg <title> <msg> <device> <priority> <sound> [<retry> <expire>]
Probier mal:
set Pushover1 msg 'Test' 'Dies ist ein Test.%0ADiesmal ohne Probleme!' '' 0 ''
Und ja, im nächsten stable Release wird dann die Doku mit in der CommandRef sein, aber bis dahin kannst Du mal in dem Modul ganz oben nachschauen:
https://svn.code.sf.net/p/fhem/code/trunk/fhem/FHEM/70_Pushover.pm
Gruß,
Johannes
Damit funktioniert der Zeilenumbruch.
Danke Dir.
Vorweg: Super Modul, die Benachrichtigung funktioniert ganz hervorragend!
Eine Frage dazu: Bietet Pushover eigentlich auch die Möglichkeit, per API Clientfunktionen zu realisieren? D.h. dass bspw. FHEM sich als Pushover Client registriert und dann entsprechend Push-Nachrichten empfangen kann? Dann hätte man auch die Möglichkeit, per Push Nachricht FHEM fernzubedienen ohne sein heimisches Netz aufwendig zu öffnen, um Zugang von unterwegs zu schaffen.
Mir schwebt folgendes Szenario vor:
Ich habe einen relativ langen Arbeitsweg und unregelmäßige Arbeitszeiten. Damit meine Frau informiert ist, dass ich auf dem Heimweg bin, möchte ich gern automatisch die Homematic Retro Statusanzeige auf "unterwegs" schalten, sobald ich mein Android Handy in die Ladeschale im Auto stecke. Die App "Tasker" schickt dann die entsprechende Push Nachricht als HTTP Message raus und FHEM als Push Client empfängt sie und schaltet die Anzeige.
Nein, offiziell ist das jedenfalls nicht möglich.
Aber das was Du machen möchtest ist doch eher etwas für Geofencing: http://forum.fhem.de/index.php/topic,18485.0.html (http://forum.fhem.de/index.php/topic,18485.0.html).
Gruß,
Johannes
Zitat von: Johannes_B am 27 Januar 2014, 10:06:23
Geofencing: http://forum.fhem.de/index.php/topic,18485.0.html (http://forum.fhem.de/index.php/topic,18485.0.html).
Theoretisch ja, aber praktisch möchte ich nicht so ein potentielles Sicherheitsloch in mein Hausnetz schlagen. Dann schaue ich mal weiter, ob ich etwas ähnliches finde, dass per Push oder Polling meinen Status empfängt....
Zitat von: trapperjohn am 27 Januar 2014, 10:23:02
Theoretisch ja, aber praktisch möchte ich nicht so ein potentielles Sicherheitsloch in mein Hausnetz schlagen.
Dem kann geholfen werden:
https://www.facebook.com/geofancy/posts/361797103960826?stream_ref=1
Bin aber noch nicht sicher, ob wir das mit FHEM hinbekommen (vor allem wg. Performance). Habe auch gerade keine Zeit das Geofancy-Modul dahingehend weiter zu entwickeln.
Hi
ich versuche mich an einen Pushover "wenn temperatur unter x° dann sende mir ein mal die nachricht ´Es ist draußen xx°C´
mit
define temp_out_check at +*00:00:05 {\
if (ReadingsVal("Wetter","temperature","") < 0){\
my $temp_out = ReadingsVal("Wetter","temperature",0);;\
fhem("set TeperaturPushover msg 'Außentemperatur' 'Es könnte glatt sein! Es sind $temp_out°C Draußen' '' 0 ''");;\
}\
}
funktioniert es zwar aber ich bekomme die nachricht natürlich alle 5 sec.
was kann ich anstelle des at +*00:00:05 einsetzen damit es wirklich nur einmalig wenn die Temperatur unter 0 ist ein push schickt
keinen Timer setzen sondern ein notify auf Wetter->temperature
Würde jetzt eher sagen, dass das ein Job für einen Watchdog ist.
Gruß,
Johannes
define temp_out_check notify Wetter:temperature {\
if (ReadingsVal("Wetter","temperature","") < 10){\
my $temp_out = ReadingsVal("Wetter","temperature",0);;\
fhem("set TeperaturPushover msg 'Außentemperatur' 'Es könnte glatt sein! Es sind $temp_out°C Draußen' '' 0 ''");;\
}\
}
Sollte das ja dann sein oder ?
Da passiert rein garnichts.
Auch nichts in der log
define temp_out_check notify Wetter:temperature.* {\
Log 3, "Test ob Notify funktioniert...";
define temp_out_check notify Wetter:temperature:.*
Mit
define temp_out_check notify Wetter:temperature:.* {\
if (ReadingsVal("Wetter","temperature","") < 10){\
my $temp_out = ReadingsVal("Wetter","temperature",0);;\
fhem("set TemperaturPushover msg 'Außentemperatur' 'Es könnte glatt sein! Es sind $temp_out°C Draußen' 'nexus5' 0 ''");;\
}\
}
kommt immernoch bei jeder Aktualisierung von Wetter eine Nachricht.
Wetter hat event-on-update-reading temperature
Zitat von: Johannes_B am 03 Februar 2014, 15:47:34
Würde jetzt eher sagen, dass das ein Job für einen Watchdog ist.
Gruß,
Johannes
Ach mönsch Henno..... sei doch ein wenig kreativ.....
Zb. so... nicht getestet, frei nach kopp...
define temp_out_check notify Wetter:temperature:.* {
if (ReadingsVal("Wetter","temperature","") < 10){
my $temp_out = ReadingsVal("Wetter","temperature",0);
my $lastSend = ReadingsVal("Wetter", "LastPushOverSend", 0);
my $time = time();
if($lastSend+3600 <= $time) {
fhem("setreading 'Wetter' 'LastPushOverSend', $time");
fhem("set TemperaturPushover msg 'Außentemperatur' 'Es könnte glatt sein! Es sind $temp_out°C Draußen' 'nexus5' 0 ''");
}
}
}
So solltest du nur jede Stunde (->3600 Sekunden) eine Meldung bekommen.
Bei mir kommt die Fehlermeldung: Error No known response
Wenn ich auf der shell teste sendet er eine Nachricht. Nur nicht über FHEM...
Zitat von: UGURCITAK am 04 Februar 2014, 12:55:14
Bei mir kommt die Fehlermeldung: Error No known response
Wenn ich auf der shell teste sendet er eine Nachricht. Nur nicht über FHEM...
Poste doch bitte mal Deine Definition und Deinen Befehl.
Gruß,
Johannes
Bin begeistert. Ohne Hilfe nur mit Lesen dieses Threads hinbekommen und nu tuen sich die Möglichkeiten auf.
Dickes Lob!
Bin leider NOCH totaler Anfänger, Pushover funktioniert bei mir, aber wie krieg ich es jetzt hin, das mir eine Nachricht geschickt wird, wenn meine Rauchmelder anschlagen?
Hier Infos von meinen Rauchmelder:
Internals
DEF
KD101 3b9100 smoke
IODev
TRX_0
NAME
TRX_KD101_3b9100
NR
24
STATE
alert
TRX_SECURITY_deviceid
3b9100
TRX_SECURITY_devicelog
smoke
TRX_SECURITY_type
KD101
TYPE
TRX_SECURITY
Readings
smoke
alert
2014-02-02 15:35:14
state
alert
2014-02-24 18:12:50
Bestimmt irgendwie über ReadingsVal..?
Vielen Dank schon mal.
Ich mache mal den Anfang.
Du hast da zwar was zitiert, aber ein bisschen Knigge muss sein. Es erleichtert uns zu erkennen was du möchtest.
Wenn du zittierst, dann setze dies unbedingt in Quotes
Zitatam Anfang: eckige Klammer auf, quote,eckige Klammer zu,
dein Zitat,
am Ende: eckige Klammer auf, Schrägstrich, quote, eckige Klammer zu
Das gleich betrifft Quellcode und Logeinträge
am Anfang: eckige Klammer auf, code, eckige Klammer zu,
dein Code,
am Ende: eckige Klammer auf, Schrägstrich, code, eckige Klammer zu
Zu deinem Zitat solltest du immer eine Kontext herstellen, denn nicht immer ist es ersichtlich was du gerade zitierst.
Damit deine Rauchmelder melden, muss du ein Notify schreiben.
Schau dir dazu am besten mal die Notifys und Structure in Einsteigerhandbuch an.
Zitat
define deine_Rauchmelder structure room Rauchmelder1 Rauchmelder2
define n_alle_Rauchmelder notify deine_Rauchmelder:on set dein_Pushover_Konto msg 'Rauchmelder' 'Die Rauchmelder melden.' '' 2 'siren' 30 3600
Das ist eine Lösungsmöglichkeit
Vielen Vielen Dank... Hab mir zwar schon die pdf durchgelesen, aber jetzt hab ich es hingekriegt und verstanden.
Hallo zusammen, ich habe seit heute Nachmittag das Problem, dass ich aus FHEM heraus keine Nachrichten mehr an Pushover senden kann.
Mein Messagelimit ist noch nicht erreicht. Ich habe nicht am Modul herumkonfiguriert oder oder oder. Meine Logdatei wirft mir folgendes vor die Füße:
set poAustinPowers4 msg 'Willkommen' 'Willkommen zu Hause. Es ist alles vorbereitet.' 'Austin-Powers-4' 0 '' : Error: No known response
Besteht das Problem bei euch ebenfalls?
edit:
Über das Webinterface kann ich problemlos Nachrichten versenden.
viele Grüße
Karsten
Hallo zusammen,
haben eine Erklärung dafür gefunden. Die Änderungen, die ich im IO::Socket::SSL Modul von Perl gemacht habe, führten zwar dazu, dass ich E-Mails verschicken konnte, allerdings hat die Änderung auch verhindert, dass ich den Kalender aktualisieren oder über Pushover Nachrichten verschicken kann.
Siehe mein Eintrag hier: http://forum.fhem.de/index.php/topic,16400.msg149064.html#msg149064 (http://forum.fhem.de/index.php/topic,16400.msg149064.html#msg149064)
Hi,
ich würde auch gern einen Tipp bekommen ;-), folgendes:
Mein Thermostat HM-CC-RT-DN namens "Bad.Therm" liefert schöne Werte. Auch meine Pushover-Installation schein zu funktionieren. Ich möchte nun gerne eine Push-Nachricht bekommen, wenn es zu kalt im Bad wird. Dazu - hatte ich mir gedacht - zapfe ich das Reading "measured-temp" von "Bad.Therm" ab. Ich habe meinen Code in mehreren Variationen getestet, aber ihn leider nicht zum Laufen bekommen.
Der hier scheint mir am Erfolg versprechendsten:
define Bad.TempCritPush notify Bad.Therm {
if (ReadingsVal("Bad.Therm","measured-temp","0") > "21")
{fhem "set Pushover msg 'Temperatur' 'Es wird mit $temp Grad zu kalt im Bad' '' 0 '' ")}}
Doch wie geschrieben, es tut sich nichts. Hätte jemand einen Tipp für mich?
Vielen Dank und schöne Grüße, Timo
Zitat von: ttheusDoch wie geschrieben, es tut sich nichts. Hätte jemand einen Tipp für mich?
Woher soll der Wert für die Variable $temp kommen? Die hast du nicht definiert. Und warum prüfst du auf größer 21 wenn du dann sagst, dass es zu kalt ist? Auf was prüfst du da eigentlich? Ich könnte mir vorstellen, dass du eventuell soetwas meinst?
define Bad.TempCritPush notify Bad.Therm {
my $temp=ReadingsVal("Bad.Therm","measured-temp","0");
if ($temp < 21) {
fhem ("set Pushover msg 'Temperatur' 'Es wird mit $temp Grad zu kalt im Bad' '' 0 ''");
}
}
Im Übrigen ist dein Problem wohl nicht Pushover, sondern ein paar Grundlagen.
Habe das mal eine Frage ......
in der Wiki steht bei http://www.fhemwiki.de/wiki/Pushover#Einbinden_des_Dienstes_in_Fhem
Zitat
define pushmsg Pushover <USERID> <TOKEN>
in der commandref http://fhem.de/commandref_DE.html#Pushover steht
Zitat
define <name> Pushover <token> <user>
in welcher Reihenfolge möge der Befehl es denn nun haben ;-)
grüße Marc (der beim einrichten gerade drüber stolperte..... )
Zitat von: yogiflop am 16 April 2014, 10:05:01
in welcher Reihenfolge möge der Befehl es denn nun haben ;-)
So wie es in der CommandRef steht ist es richtig (den Text habe ich verfasst). ;)
Habe vor ein paar Wochen auch eine verbesserte Version per zugeschickt bekommen.
Werde da heute mal drüber schauen und gegebenenfalls ins Repo schieben.
Waren einige sinnvolle Verbesserungen drin. :)
Gruß,
Johannes
So, die verbesserte Variante ist jetzt im Repository.
Danke an Benni für die Mühe!
Was ist neu?
Man kann nun Standardwerte im Pushover Device setzen.
Beispiel:
Man setzt das Argument "title" des Pushover Device auf "Test".
Nun kann man mit einem sehr kurzen Befehl eine Nachricht an Pushover senden:
set Pushover1 msg 'Dies ist ein Testtext.'
Natürlich funktioniert die bisherige Syntax auch weiterhin. :)
Gruß,
Johannes
Werden die Standardwerte durch die "normale" Syntax überschrieben? Soll heißen, wenn ich mal einen anderen Titel möchte, hat der im Befehl Priorität?
Zitat von: marvin78 am 16 April 2014, 13:42:25
Werden die Standardwerte durch die "normale" Syntax überschrieben? Soll heißen, wenn ich mal einen anderen Titel möchte, hat der im Befehl Priorität?
Ja, genau so ist es. :)
Gruß,
Johannes
Dann hört sich das gut an ;) Danke!
Zitat von: marvin78 am 16 April 2014, 07:30:29
Woher soll der Wert für die Variable $temp kommen? Die hast du nicht definiert. Und warum prüfst du auf größer 21 wenn du dann sagst, dass es zu kalt ist? Auf was prüfst du da eigentlich? Ich könnte mir vorstellen, dass du eventuell soetwas meinst?
define Bad.TempCritPush notify Bad.Therm {
my $temp=ReadingsVal("Bad.Therm","measured-temp","0");
if ($temp < 21) {
fhem ("set Pushover msg 'Temperatur' 'Es wird mit $temp Grad zu kalt im Bad' '' 0 ''");
}
}
Im Übrigen ist dein Problem wohl nicht Pushover, sondern ein paar Grundlagen.
Danke für die Tipps. Das mit den ">21" ist nur zu Testzwecken, um Dritte im Haushalt durch "willkürliche Kühlung" nicht zu provozieren ;-)
Den von dir vorgeschlagenen Code habe ich bereits vorher getestet, aber es kommt leider keine Push-Nachricht - mit der nackten Eingabe von
set Pushover msg 'Temperatur' 'Es wird mit $temp Grad zu kalt im Bad' '' 0 '
hingegen schon.
Es deutet also wohl tatsächlich darauf hin, dass es sich um kein Pushover-Problem handelt. Es wurde hier aber schon ähnliche Probleme besprochen :-)
Schöne Grüße, Timo
Ich habe den Fehler gefunden:
Ich schreibe meine Befehle in einem Text-Editor vor. Aus mir nicht bekannten Gründen werden manchmal die Strichelchen ' automatisch in so schräge Striche ` umgewandelt.Das gleiche passiert manchmal mit den Gänsefüßchen ". Auch diese werden manchmal in schräge Gänsefüßchen verwandelt. Der Unterschied ist kaum sichtbar.
Jedenfalls ist mir das hier passiert. Der von marvin78 vorgeschlagene Code (den ich selbstständig auch schon mal getestet hatte) funktioniert mit den korrekten Gänsefüßchen :-)
Schöne Grüße, Timo
War übrigens keine Mühe und ich freue mich, dass ich was beitragen konnte.
Gepostet mit Tapatalk.
Hallo Johannes,
vielen Dank für deine Arbeiten zum Pushover-Modul.
Dank deiner Anleitung war die Installation für mich als absoluten Programmierlaien kein Problem.
Push-Nachrichten wurden auf mein Handy gesendet, alles super.
Dann bin ich auf Idee gekommen, eine email-Benachrichtigung zu installieren.
Dazu musste auf dem Raspberry PI sendemail installiert werden und eine Datei 99_myUtilies.pm installiert werden.
In einer Datei SSL.pm musste in Zeile 1490 ein $-Zeichen entfernt werden.
Danach hat dann der email-Versand aus Fhem funktioniert.
Leider geht jetzt Pushover nicht mehr.
Es wird der Fehler: "Error: no known response" ausgegeben.
Dieser Fehler ist in deinem Modul 70_Pushover.pm enthalten.
Kannst du mir weiterhelfen?
Frohe Ostergrüße aus Leverkusen
Gisbert
Hallo Johannes,
vielen Dank für deine Arbeiten zum Pushover-Modul.
Dank deiner Anleitung war die Installation für mich als absoluten Programmierlaien kein Problem.
Push-Nachrichten wurden auf mein Handy gesendet, alles super.
Dann bin ich auf Idee gekommen, eine email-Benachrichtigung zu installieren.
Dazu musste auf dem Raspberry PI sendemail installiert werden und eine Datei 99_myUtilies.pm installiert werden.
In einer Datei SSL.pm musste in Zeile 1490 ein $-Zeichen entfernt werden.
Danach hat dann der email-Versand aus Fhem funktioniert.
Leider geht jetzt Pushover nicht mehr.
Es wird der Fehler: "Error: no known response" ausgegeben.
Dieser Fehler ist in deinem Modul 70_Pushover.pm enthalten.
Kannst du mir weiterhelfen?
Frohe Ostergrüße aus Leverkusen
Gisbert
Bei mir kommt der gleiche Fehler (Error: No known response) seit heute morgen ebenfalls. Interessant ist, dass eine alte Version, welche ich aus einem Backup zurück gespielt habe (vom 20.03.) plötzlich auch den selben Fehler meldet und keine Nachrichten versendet.
Das Problem wird tatsächlich von der Änderung in der SSL.pm verursacht. Macht man diese Rückgängig, funktioniert Pushover wieder.
Workaround für sendemail mit Gmail:
http://unix.stackexchange.com/questions/53065/invalid-ssl-version-specified-at-usr-share-perl5-io-socket-ssl-pm-line-332 (http://unix.stackexchange.com/questions/53065/invalid-ssl-version-specified-at-usr-share-perl5-io-socket-ssl-pm-line-332)
Hallo marvin78,
vielen Dank für deine Unterstützung.
Das besagte Einfügen des $-Zeichens in die SSL.pm führt dazu, dass Pushover wieder funktioniert: große Freude.
Mit dem Workaround muss im Modul 99_myUtils.pm in der Zeile:
$ret .= qx(sendEmail -f '$sender' -t '$rcpt' -u '$subject' -m '$text' -s '$provider' -xu '$konto' -xp '$passwrd' -o tls=no);
tls=no stehen.
Dann funktioniert das gleichzeitige Senden zu Gmail sowie zu weiteren email-Providern.
Nochmals vielen Dank
Gisbert
Hallo zusammen,
habe jetzt auch das Pushover Modul in Betrieb und es funzt auch alles prima! Leider musste ich auch die SSL.pm ändern, damit es funktioniert. Hatte auch für "sendMail" das $ in Zeile 1490 entfernt. Nun funktioniert jedoch sendMail nicht mehr. Ich nutze T-Online und da muss ich TLS=yes lassen, da T-Online nur noch verschlüsselte Mails unterstützt. Jmd ne Idee? Wann gibt es eine "echte" Lösung für das Problem?
Guten Morgen! ;D
Hoffe die Frage ist hier richtig gestellt.
Vorweg
fhem auf FB7390 mit cul stick
Ich bin Ohne grosse Kenntnisse , eher der nur copy&paste typ ;)
Habe eine Art Fertigmeldung für die Waschmaschine aus einem Blog übernommen siehe hier:
http://www.meintechblog.de/2014/01/homematic-funk-steckdose-mit-leistungsmessung-deine-waschmaschine-ist-fertig/
Als Fertigmeldung wird auf dem iphone die app pushover genutzt
Sobald die Steckdose von homematic standby meldet soll die Meldung an pushover versendet werden!
Das klappte nur nicht, bis rauskam das mir curl fehlt.
Dann sollte das integrierte Modul in Fhem genutzt werden
dafür sollte ich :
"So wird Pushover einmal definiert:
define Pushover_Jay Pushover aziuFvBxxxxxxxxxGfEdKF ubZ4nBxxxxxxxxxxxxx524vkN
Dabei ganz wichtig: Erst Token (am4...) und danach User (u4zD...) schreiben.
Und dann sieht der oben im Blogartikel beschriebene Befehl für das Versenden bspw. so aus:
#Pushover-Notification bei abgeschlossenem Waschvorgang verschicken
define HRWaschmaschineWaschvorgangAbgeschlossenPushover notify HR.WaschmaschineBetrieb:standby {fhem ("set Pushover_Jay msg 'Zuhause' 'Waschküche\nWaschvorgang abgeschlossen' " 0 "")}
dan habe ich den standby erzwungen mit
set HR.WaschmaschineBetrieb standby
Es kommt keine pushover Notifikation
in den logs:
2014.05.01 18:47:56 3: Device HR.Waschmaschine added to ActionDetector with 000:10 time
2014.05.01 18:50:03 3: HRWaschmaschineWaschvorgangAbgeschlossenPushover return value: Unrecognized character \xE2; marked by <-- HERE after {fhem (<-- HERE near column 8 at (eval 31) line 1.
Was läuft hier falsch ?
Gruß
JonnyDreambox
Zitat von: jonnydreambox am 02 Mai 2014, 12:10:51define HRWaschmaschineWaschvorgangAbgeschlossenPushover notify HR.WaschmaschineBetrieb:standby {fhem ("set Pushover_Jay msg 'Zuhause' 'Waschküche\nWaschvorgang abgeschlossen' " 0 "")}
Versuche bitte mal:
define HRWaschmaschineWaschvorgangAbgeschlossenPushover notify HR.WaschmaschineBetrieb:standby {fhem ("set Pushover_Jay msg 'Zuhause' 'Waschküche\nWaschvorgang abgeschlossen' '' 0 ''")}
Gruß,
Johannes
Zitat von: jonnydreambox am 02 Mai 2014, 12:10:51
Und dann sieht der oben im Blogartikel beschriebene Befehl für das Versenden bspw. so aus:
#Pushover-Notification bei abgeschlossenem Waschvorgang verschicken
define HRWaschmaschineWaschvorgangAbgeschlossenPushover notify HR.WaschmaschineBetrieb:standby {fhem ("set Pushover_Jay msg 'Zuhause' 'Waschküche\nWaschvorgang abgeschlossen' " 0 "")}
dan habe ich den standby erzwungen mit
set HR.WaschmaschineBetrieb standby
Es kommt keine pushover Notifikation
in den logs:
2014.05.01 18:47:56 3: Device HR.Waschmaschine added to ActionDetector with 000:10 time
2014.05.01 18:50:03 3: HRWaschmaschineWaschvorgangAbgeschlossenPushover return value: Unrecognized character \xE2; marked by <-- HERE after {fhem (<-- HERE near column 8 at (eval 31) line 1.
Was läuft hier falsch ?
Gruß
JonnyDreambox
Hallo Jonny,
xE2 ist normalerweise ein Zeichen dafür, das du ein unerlaubtes Steuerzeichen verwendest, dieses geschieht oft, wenn man mit einem normalen Windowstexteditor Linux Files bearbeitet. Des Weiteren ist auffällig, das deine "Anführungsstriche" in alle möglichen Richtungen gehen, das kann auch nicht sein. Word als Texteditor ??
Versuche die Befehle am besten nur direkt über die FHEM Oberfläche zu bearbeiten und einzutragen, dann passieren solche Probleme mit den Steuerzeichen nicht.
gruß Marc
Hatte vergessen zu sagen nutze Mac osx
und den standart editor
wenn ich
define HRWaschmaschineWaschvorgangAbgeschlossenPushover notify HR.WaschmaschineBetrieb:standby {fhem ("set Pushover_Jay msg 'Zuhause' 'Waschküche\nWaschvorgang abgeschlossen' '' 0 ''")}
dann kommt
HRWaschmaschineWaschvorgangAbgeschlossenPushover already defined, delete it first
muss ich jetzt wieder die cfg runterlasen und editieren und die Zeile rauslöschen oder gibt es noch einen anderen weg ?
Zitat von: jonnydreambox am 02 Mai 2014, 12:32:02
Hatte vergessen zu sagen nutze Mac osx
und den standart editor
wenn ich
define HRWaschmaschineWaschvorgangAbgeschlossenPushover notify HR.WaschmaschineBetrieb:standby {fhem ("set Pushover_Jay msg 'Zuhause' 'Waschküche\nWaschvorgang abgeschlossen' '' 0 ''")}
dann kommt
HRWaschmaschineWaschvorgangAbgeschlossenPushover already defined, delete it first
muss ich jetzt wieder die cfg runterlasen und editieren und die Zeile rauslöschen oder gibt es noch einen anderen weg ?
ersetze in deiner schon vorhandenen definition einfach die Hochkommas " ' ;-)
und wenn du schon in der Config schreibst, dann nutze unter Mac Editra der ist um einiges besser und übersichtlicher.
So danke für die Tipps!
Hab mir editra mal geladen!
Jetzt hab ich die cfg geändert er meckert nicht gleich , pushover geht aber nicht!
In den logs steht:
2014.05.02 13:29:02 3: Device HR.Waschmaschine added to ActionDetector with 000:10 time
2014.05.02 13:30:21 3: set Pushover_Jay msg 'Zuhause' 'Waschküche
Waschvorgang abgeschlossen' '' 0 '' : Please define Pushover_Jay first
2014.05.02 13:30:21 3: HRWaschmaschineWaschvorgangAbgeschlossenPushover return value: Please define Pushover_Jay first
Pushover_Jay noch definiert ?
Gesendet von unterwegs mit Tapatalk
Es klappt!
der war nicht definiert, eigentlich hatte ich das schon, aber nun neu eingegeben und es geht!
Freu 8)
Da wird sich aber meine Frau freuen
hab erstmal mit
set HR.WaschmaschineBetrieb standby
das getestet, gleich mal ne echte Wäsche anschmeissen, das motiviert sogar Männer mal ne Wäsche zu waschen :P
Danke Euch!
Immer eine Tolle Hilfe hier im Board!
Gruß
JonnyDreambox
Hallo zusammen,
beim Versuch pushover zu verwenden erhalte ich auch die Meldung "Error: No known response "
Eine SSL.pl kann ich aber nirgens finden (habe mit sendeEmail noch nix zu tun gehabt)
Wird die SSL.pl für pushover benötigt?
Gruß,
Roland
Zitat von: Michi240281 am 22 April 2014, 15:37:21
Hallo zusammen,
habe jetzt auch das Pushover Modul in Betrieb und es funzt auch alles prima! Leider musste ich auch die SSL.pm ändern, damit es funktioniert. Hatte auch für "sendMail" das $ in Zeile 1490 entfernt. Nun funktioniert jedoch sendMail nicht mehr. Ich nutze T-Online und da muss ich TLS=yes lassen, da T-Online nur noch verschlüsselte Mails unterstützt. Jmd ne Idee? Wann gibt es eine "echte" Lösung für das Problem?
Gibts hier eigentlich mal was Neues?
Also ein Update/BugFix, damit man sendMail und Pushover parallel/gleichzeitig nutzen kann?
Die Lösung (Workaround) steht sogar hier im Thread:
http://forum.fhem.de/index.php/topic,16215.msg161121.html#msg161121 (http://forum.fhem.de/index.php/topic,16215.msg161121.html#msg161121)
Auch mit T-Online? Die erfordern doch seit Anfang des Jahres SSL?!?
Aber gelesen hast du?
Dieser Beitrag ist relevant:
http://unix.stackexchange.com/a/64070 (http://unix.stackexchange.com/a/64070)
Also die Änderung in SSL.pm Rückgängig machen (für Pushover) und die genannte Änderung für sendemail in der /usr/bin/sendemail durchführen.
Ok alles klar!
Hatte nur das mit tls=no gesehn.
Hallo Johannes,
könntest Du dem Pushover Device das Standardattribut disable hinzufügen? Dann könnte man für Testzwecke das Versenden von Push Nachrichten einfach unterdrücken.
Gruss,
Tobias
Zitat von: tpm88 am 05 Juni 2014, 00:11:27
Hallo Johannes,
könntest Du dem Pushover Device das Standardattribut disable hinzufügen? Dann könnte man für Testzwecke das Versenden von Push Nachrichten einfach unterdrücken.
Gruss,
Tobias
Ist erledigt. ;)
Gruß,
Johannes
Hallo,
habe ein kleines Problem mit dem Pushover Modul.
Wenn in meiner Nachricht ein % vorkommt, wird die Pushnachricht nicht versand, hatt früher den Aufruf mittel "system ( curl ....." da funktionierte das reibungslos.
Nun bekomme ich die Meldung "Error: No known response" im EventMonitor.
Muss ich das %-Zeichen ggf Maskieren, wenn ja wie?
Mein Aufruf sieht folgendermaßen aus:
define WetterPushover at *12:00:00 {my $BKTempWetter = ReadingsVal("BK_TH","temperature", "");; my $BKHumiWetter = ReadingsVal("BK_TH","humidity", "");; fhem("set myPushover msg 'Wetterbericht' 'T: $BKTempWetter°C\nH: $BKHumiWetter%'")}
Viele Grüße
Zitat von: Phil__ am 06 Juni 2014, 13:03:32Muss ich das %-Zeichen ggf Maskieren, wenn ja wie?
Versuch mal "%25" statt "%".
Gruß,
Johannes
Hallo,
hatte jetzt erst wieder Zeit es zu testen.
"%25" anstatt "%" funktioniert, DANKE!
Hallo,
seit ca. 2 Wochen funktioniert kein Versenden von Nachrichten mehr. Im EventMonitor kommt seitdem die Meldung "Error: No known response".
Nachdem alle in diesem Threat aufgeführten Hinweise nicht erfolgreich waren, habe ich den FHEM-Server komplett neu installiert und
auf die heute aktuellste Version upgedatet. Selbst in dieser komplett frischen Umgebung tritt der Fehler auf.
Für ein weiteres Troubleshooting fehlt mir entsprechendes KnowHow, wo ich noch nachschauen kann. Kann irgendjemand helfen ?
Viele Grüße
Marko
Hi yawp,
schick mal dein Log bitte. Eventuell steht ja da was drin.
Gruß Robert
Hallo
Hab den Bericht gelesen.
Finde ich eine tolle Sache.
Werde es auch mal testen.
Hab eine Fritzbox 7390 werde aber auf eine 7490 wechseln.
Muss ich die drei Dateien immer noch nachinstallieren, oder sind die jetzt dabei?
Hallo Robert,
anbei das Log:
2014.06.30 12:23:24 3: set PushOver1 msg 'FHEM' 'Steckdose aus' : Error: No known response
Der FHEM-Server läuft auf einer FRITZ!Box 7490. Pushover hatte bis zum 15.06.2014 auch ohne das Kopieren der Perl-Module LWP, Mozilla und IO funktioniert.
Nach der Fehlfunktion habe ich die Module nachgezogen und auch die entsprechenden Berechtigungen gesetzt.
Im Anhang befindet sich ein Screenshot, wie Pushover bei mir definiert ist. Für Token und User kann ich irgendwelche Werte eingeben, ohne daß sich das Ergebnis ändert.
Das generelle Funktionieren von Pushover habe ich parallel von einem Windows PC erfolgreich überprüft.
Viele Grüße
Marko
Wie genau hast du den befehl abgesetzt? Mir feht ja am Ende die Angabe zur Wiederholung schau mal hier http://www.tatsch-it.de/fhem-notifications-pushover/
Die richtigen Token und User id solltest aber schon eingetragen haben.
Den Befehl habe ich sowohl auf der Console als auch über das Web-Interface ausgeführt.
Von den Parametern werden verbindlich nur der Titel und der eigentliche Nachrichteninhalt benötigt. User und Token habe ich mehrmals überprüft :)
Mittlerweile habe ich die FRITZ!Box selber im Verdacht. Sie läuft mit FRITZ!OS 06.10-28247, welches am 13.06.2014 eingespielt wurde. Leider kann ich nicht mehr auf die Vorgängerversion 06.05 zurückgehen, da einige Features dringend benötigt werden.
Hat jemand dieses neue FRITZ!OS ebenfalls laufen und nutzt Pushover ?
Viele Grüße
Marko
Mal ein Lob an die Entwickler :)
Lasse mir seit heute meine FritzBox anrufe aufs iPhone schicken :)
Gruß
Markus
Hallo,
Ich möchte mir eine Mail über Pushover aufs Handy schicken lassen wenn eine Poolpumpe eingeschaltet wird (Diese wird über at 4x pro Tag eingeschaltet) Die Pushover Benachrichtigung aufs Handy (Temperaturen 3x täglich) funktioniert bestens. Wie löse ich jetzt das Problem für meine Pumpe ?
Ich muss wohl ein Notification anlegen, kenne mich aber in Perl Programmierung nicht aus. Hat jemand einen Link wo man sich in die Materie einlesen kann ?
Vielleicht kann ja jemand auch den korrekten Code posten ???
Grüße
Torsten
Wie wird denn deine Pumpe eingeschalten? Was benutzt du für einen Aktor?
Im Prinzip musst du dann nur den Namen des Devices plus den Status abfragen.
Wennd ie Bedinung zutrifft soll die Push raus.
Schau mal hier beispiel ist der Homematic Rauchmelder http://www.meintechblog.de/2014/03/sicherheit-schutz-vor-brand-und-feuer-durch-vernetzte-rauchmelder-und-push-mitteilung/
Mein Aktor: HM-ES-PMSw1-Pl (Schaltaktor mit Leistungsmessung)
Ich lege also ein notify an mit dem der state on des devices abgefragt wird und wenn wahr wird der push versendet ?
Gruß
Torsten
Hallo,
Habe es mal ausprobiert:
define Noti_SchalterPushOn notify Schalter:On.* { system ("curl -s -F 'token=********' -F 'user=********' -F 'message=Poolpumpe aktiv' https://api.pushover.net/1/messages.json")}
Kommt aber nix an ...
Was ist falsch ?
Gruß
Torsten
Hallo Torsten,
wenn Du deine Pushover IDs im Klartext hier postest, wirst Du bald sehr viele Meldungen bekommen :-)
Gruss
Tobias
Danke für den Tipp :)
hi crepp,
sag mal heist dein Device was du abfragen willst wirklich nur Schalter? Also nicht Wohnzimmer_Schalter oder Schalter_Wohnzimmer?
Ich arbeite mit meinem Rauchmelder auch mti dem Pushmodul direkt.
Da ruf ich das ganze wie folgt auf:
define notify_BMZ_ALARM_ON notify *.RM*.:smoke-Alarm_.* {Log(3,"$NAME: Rauchmelder ausgeloest $EVENT");fhem("set pushmsg msg 'FHEM' 'BMZ ALARM Rauchmelder ausgeloest!!, $NAME. - $EVENT' ''0''")}
Hast du über FHEM überhaupt schon Push verschicken können?
Hier mit kannst testen ob beim neustart von FHEM eine Push geschickt wird:
define notify_fhem_reload notify global:INITIALIZED "set pushmsg msg 'fhem' 'Ich wurde neu geladen! - $EVENT' '0'"
Ja, Pushs für die Temperaturen (GPIO-Sensoren) funktionieren problemlos.
Und ja der Aktor für den ich den Status abfragen will heisst "Schalter"
Gruß
Torsten
Bin mir gerade nicht sicher, aber sollte nicht das On klein geschrieben sein?
Also
Schalter:on.*
Ist hier das System nicht keysensitv?
Habe es jetzt klein geschrieben, funktioniert auch nicht. Hat noch jemand eine Idee ?
Ich habe das Nichtfunktionieren von Pushover auf meiner FRITZ!Box 7490 mit dem Labor-FRITZ!OS 6.10 parallel auf einer FRITZ!Box 7390 mit einem FRITZ!OS 6.04 überprüft. Hier läuft alles wie erwartet und alle Nachrichten werden fehlerfrei versendet.
So wie es aussieht ist scheint das Labor-FRITZ!OS 6.10 das Versenden der Nachrichten mit Pushover irgendwie zu verhindern.
Viele Grüße
Marko
Hallo,
als erstes vielen Dank für die tolle Arbeit. Ich bin ein begeisterter Nutzer von Pushover.
Seit kurzem nutze ich es auch um mir nach "scharfschalten" der Alarmanlage den Status aufs Handy schicken zu lassen und natürlich auch wenn ein Alarm ausgelöst werden sollte.
Nur beim aktivieren bzw. deaktivieren bekomme ich mehrere Mitteilungen (meist 3-4 mal "Alarmanlage aktiviert"). Ich schalte mit einem HM-PB-2-WM55 über notify folgendermaßen den Alarm scharf:
define Alarmanlage_einschalten notify AlarmanlageHauptschalter1 { fhem ("set Pushover1 msg 'Alarmanlage' 'aktiviert'");; fhem ("sleep 120;; set Alarmstatus scharf");; fhem ("set Abwesenheits_Timer_Licht state aktiviert") }
Habe schon einiges ausprobiert und stehe aber momentan auf dem Schlauch. Vermutlich gibts eine einfache Lösung. Ich würde mich über Unterstützung freuen.
Danke
Stefan
Kein Wunder, da dein Notify kein spezifisches Event enthält und damit auf jedes Triggern des Hauptschalters reagieren sollte, auch auf ein Ausschalten. Da Du aber die Defintionen der geschalteten Geräte nicht mit beschreibst, ist alles Raten.
Zitat von: volschin am 23 Juli 2014, 21:28:32
Kein Wunder, da dein Notify kein spezifisches Event enthält und damit auf jedes Triggern des Hauptschalters reagieren sollte, auch auf ein Ausschalten. Da Du aber die Defintionen der geschalteten Geräte nicht mit beschreibst, ist alles Raten.
Hallo,
Pushover habe ich so eingerichtet:
define Pushover1 Pushover a................ u.............
Gruss
Stefan
PS: beim HM-PB-2-WM55 hab ich leider keinen State zum abfragen
Hallo,
wer lesen kann ist klar im Vorteil :) Bin jetzt draufgekommen wie´s funktioniert. Mit
define Alarmanlage_einschalten notify .*AlarmanlageHauptschalter1\sShort.* { fhem ("set Pushover1 msg 'Alarmanlage' 'aktiviert'");; fhem ("sleep 120;; set Alarmstatus scharf");; fhem ("set Abwesenheits_Timer_Licht state aktiviert") }
bekomm ich jetzt endlich nur noch eine Mitteilung.
Danke
Hallo,
Ich habe jetzt mein notify so abgeändert - aber es tut sich immer noch nix ...
Hat jemand vielleicht noch eine Idee, was an dem Code falsch sein könnte ?Ich stehe ganz schön auf dem Schlauch !?
define Noti_SchalterPushOn notify Schalter:state:on.* { system ("curl -s -F 'token=****************' -F 'user=****************' -F 'message=Poolpumpe aktiv' https://api.pushover.net/1/messages.json")}
attr Noti_SchalterPushOn room Energie
attr Noti_SchalterPushOn showTriggerTime 1
attr Noti_SchalterPushOn verbose 1
Danke für Eure Hilfe
crepp1967
Warum verwendest du denn nicht das Pushover-Modul zum versenden der Nachrichten? Das hier ist immerhin auch das Thema dazu.
Siehe commandref.
In einem anderen Thread wurde gerade ein Problem diskutiert, das letztlich daraus entsteht, das Pushover sich wohl nicht ganz FHEM-konform verhält, was den Rückgabewert des "set ... msg ..." angeht.
http://forum.fhem.de/index.php/topic,23833.msg188876.html#msg188876
Das hier nur als Hinweis, vielleicht schaut der Autor sich das mal an und passt es ggf. an.
Hi zusammen,
ich habe leider genau das gleiche Problem wie Yawp.
Habe heute auf meiner F!B 7390 ein Update auf die Laborfirmware FRITZ!OS 06.10-28510 BETA gemacht und seitdem auch kein funktionierendes Pushover mehr.
Ein Auszug aus meinem Log (Achtung, ich habe das Logfile andersrum gereiht, sprich neu nach alt):
2014.08.05 19:03:13 5: HttpUtils https://api.pushover.net/1/messages.json: Got data, length: 264
2014.08.05 19:03:13 5: https://api.pushover.net/1/messages.json: HTTP response code 400
BEGIN failed--compilation aborted at (eval 5091) line 2.
Compilation failed in require at (eval 5091) line 2.
2014.08.05 19:03:13 5: Attempt to reload IO/Socket/SSL.pm aborted.
2014.08.05 19:03:13 5: HttpUtils url=https://api.pushover.net/1/messages.json
2014.08.05 19:03:13 5: Cmd: >set Pushover msg 'Test' 'Test'<
Pushover ist hier mein Devicename.
FHEM läuft als root.
Hat einer eine Idee?
------------------------
Nachtrag:
Führe ich das Modul "GetFileFromURL" was im Pushover Paket getriggert wird manuell in FHEM aus bekomme ich folgendes zurückgeliefert:
<html>
<head><title>400 The plain HTTP request was sent to HTTPS port</title></head>
<body bgcolor="white">
<center><h1>400 Bad Request</h1></center>
<center>The plain HTTP request was sent to HTTPS port</center>
<hr><center>nginx</center>
</body>
</html>
Leider noch immer nicht weitergekommen
Ich habe jetzt einen kleinen Workaround auf meiner Fritz Box mit Laborfirmware gefunden.
Im Paket 70_Pushover die URL in Zeile 268 auf http abändern.
Sehe ich persönlich jetzt nicht als ganz so kritisch an, aber ist wie gesagt nur ein temporärer Workaround bis alles wieder normal funktioniert.
Vielleicht hilft dies ja manchem hier (=> Yawp)
Seit dem Update meiner Fritzbox 7490 heute funktioniert PushOver leider hier nicht mehr.
Der genannte Workaround mit https auf http abändern ist hier leider ohne Wirkung. :(
Fehlermeldung: "Error: No known response"
Irgendwelche Ideen, was ich tun noch kann?
Es lief vor dem Update alles bestens, FHEM Update ist ebenfalls erfolgt, ggf. liegt es auch daran?
Wie sieht's aus wenn du auch das GetFileFromUrl mit den Parametern wie im Pushover-Modul triggerst?!
Hallo zusammen,
ich habe mein FHEM von meinem Raspberry nun auf meine QNAP mit QTS 4.1 umgezogen.
Ich habe FHEM soweit nun auch lauffähig, aber leider funktioniert mein Pushover nun nicht mehr.
Auf dem Raspberry lief mit gleicher fhem.cfg alles wie geschmiert.
Ich habe Pushover normalerweise über die "herkömmliche Weise" gemacht mit curl ....
Dieser Befehl geht nun nicht mehr. Auch nicht auf der Kommandozeile. Ich erhalte keine Rückantwort.
Also habe ich dieses Modul hier, danke dafür übrigens, ausprobiert. Allerdings bekomme ich die Meldung "Error: No known response."
Leider kann ich auf meinem Qnap kein libio-socket-ssl-perl Packet nachinstallieren und eine SSL.pm habe ich auch nicht. Hat jemand eine Ahnung ob ich pushover doch noch irgendwie ans Laufen bekomme?
Danke.
Sven
Hi Sven,
die Suchfunktion oben rechts ist dein Freund. Mit den Stichwörtern Pushover und QNAP hättest Du diesen (meinen) Beitrag gefunden ;)
http://forum.fhem.de/index.php/topic,17297.msg119096.html#msg119096 (http://forum.fhem.de/index.php/topic,17297.msg119096.html#msg119096)
Gruss
Tobias
Pushover funktioniert auf der FRITZ!Box 7490 auch mit FRITZ!OS 6.20 nicht. Mit der Modifikation von 70_Pushover.pm in der Zeile 268 von HTTPS auf HTTP läuft es aber.
@SlvrStrko4: Vielen Dank für den Tipp :)
Hallo Tobias,
danke für den Link. Ich habe ihn gestern Nachmittag zufällig noch gefunden. Werde es heute mal testen und berichten.
gruß Sven
Hallo Tobias,
ich habe zu Deiner Anleitung ein paar Fragen in Deinen Thread gepostet.
Kannst Du mir da behilflich sein?
Gruß sven
Als Hinweis für die Synology Nutzer.
Habe fhem auf einer DS414 laufen.
fhem von fischer-net.de: fhem-5.3-mfr-1.1-syno-noarch.spk
Perl von Synology direkt aus dem Paket-Center.
Mit diesem Setup kommt z.Zt. auch der Fehler "unknown response" bei Pushover.
Mein Workaround war einfach die Möglichkeit zu nutzen, auch Emails als Pushover (siehe PU Webseite) bekommen zu können:
http://www.fhemwiki.de/wiki/E-Mail_senden#Synology_DiskStation
Die Änderung mit https in http zu ändern habe ich nicht getestet. Ebenso die Änderung bei SSL.pm.
my2cents
MfG!
Daniel
Hallo Zusammen,
nachdem ich vor ein paar Tagen Fhem von meiner FB auf meine Synology DS214play (Intel Atom) hab umziehen lassen, können keine Pushnachrichten mehr Versand werden ("unknown response").
Gemäß Tobias Übersicht (Seite 7) habe ich folgende Module nachträglich in die entsprechenden Verzeichnisse kopiert.
IO::Socket::SSL
Mozilla::CA
LWP::Protocol::https
DSM 5.0 mit fhem von "fischer-net.de fhem-5.3-mfr-1.1-syno-noarch.spk"
und Perl von Synology direkt aus dem Paket-Center.
Auch der Workaround von Daniel, Pushover per Mail funktioniert bei mir leider nicht (Modul angelegt und Versand aus der Befehlszeile) auch hier kommt keinerlei Fehlermeldung.
Ich hoffe ihr habt noch ein paar Ideen.
Gruß
Klaus
Hallo zusammen,
ich spiele nun auch schon ein paar Stunden mit diesem Modul herum, bekomme aber immer die Meldung
ZitatError: "application token is invalid"
.
Der Token ist IMHO nicht invalid, da ich ihn per Copy&Paste eingefügt habe. Ich habe mir auch sichrheitshalber einen anderen erstellen lassen. Aber die Meldung bleibt die Gleiche. Ich nutze zur Zeit noch einen kostenfreien 5-Tage-Account.
Von der Website von Pushover kann ich mir erfolgreich Nachrichten senden.
Wer hat einen Tip, wo ich suchen muß?
Gruß
Alex
Problem gelöst!
Ich habe dummerweise die Token in spitze Klammern gesetzt. ;-)
Gruß
Alex
Zitat von: SlvrStrko4 am 06 August 2014, 17:04:10
Ich habe jetzt einen kleinen Workaround auf meiner Fritz Box mit Laborfirmware gefunden.
Im Paket 70_Pushover die URL in Zeile 268 auf http abändern.
(=> Yawp)
hi zusammen,
die o.g. Änderung brachte auch bei mir den gewünschten Erfolg... ;-))
Daten:
fhem-5.5 mit update auf den letzten Stand gebracht.
Plattform: Synology DS712+ mit DSM 5.0 4493 Update 5
Pushover brach bis dato mit der Fehlermeldung "No known response" ab.
Nach der Änderung funktioniert es prima.
Logauszug mit Verbose 5 (Achtung chronologisch umgekehrte Reihenfolge! Neuere Meldungen stehen wieiter "oben"):
Bei Erfolg:
2014.10.22 10:21:52 4: /fhem&detail=pushmsg&detail=pushmsg&dev.setpushmsg=pushmsg&cmd.setpushmsg=set&arg.setpushmsg=msg&val.setpushmsg=%27ds712%27+%27Test+ds612%27 / RL:1092 / text/html; charset=UTF-8 / Content-Encoding: gzip
2014.10.22 10:21:52 4: eventTypes: Pushover pushmsg last-result: OK -> last-result: OK
2014.10.22 10:21:52 4: eventTypes: Pushover pushmsg last-message: ds712: Test ds612 -> last-message: ds712: Test ds612
2014.10.22 10:21:52 5: Notify loop for pushmsg last-message: ds712: Test ds612
2014.10.22 10:21:52 5: Triggering pushmsg (2 changes)
2014.10.22 10:21:52 5: HttpUtils http://api.pushover.net/1/messages.json: Got data, length: 57
2014.10.22 10:21:52 5: http://api.pushover.net/1/messages.json: HTTP response code 200
2014.10.22 10:21:51 5: HttpUtils url=http://api.pushover.net/1/messages.json
2014.10.22 10:21:51 5: Cmd: >set pushmsg msg 'ds712' 'Test ds612'<
2014.10.22 10:21:51 4: HTTP FHEMWEB:192.168.0.4:54123 GET /fhem&detail=pushmsg&detail=pushmsg&dev.setpushmsg=pushmsg&cmd.setpushmsg=set&arg.setpushmsg=msg&val.setpushmsg=%27ds712%27+%27Test+ds612%27
2014.10.22 10:21:51 4: Connection closed for FHEMWEB:192.168.0.4:54122
Bei Fehler:
014.10.22 10:09:56 4: /fhem&detail=pushmsg&detail=pushmsg&dev.setpushmsg=pushmsg&cmd.setpushmsg=set&arg.setpushmsg=msg&val.setpushmsg=%27fhem%27+%27test+ds712%27 / RL:1108 / text/html; charset=UTF-8 / Content-Encoding: gzip
2014.10.22 10:09:56 4: eventTypes: Pushover pushmsg last-result: Error: No known response -> last-result: Error: No known response
2014.10.22 10:09:56 4: eventTypes: Pushover pushmsg last-message: fhem: test ds712 -> last-message: fhem: test ds712
2014.10.22 10:09:56 5: Notify loop for pushmsg last-message: fhem: test ds712
2014.10.22 10:09:56 5: Triggering pushmsg (2 changes)
2014.10.22 10:09:56 5: CustomGetFileFromURL https://api.pushover.net/1/messages.json: Can't connect(2) to https://api.pushover.net:443: SSL connect attempt failed with unknown error error:14090086:lib(20):func(144):reason(134) SSL connect attempt failed with unknown error error:14090086:lib(20):func(144):reason(134)
2014.10.22 10:09:56 5: HttpUtils url=https://api.pushover.net/1/messages.json
2014.10.22 10:09:56 5: Cmd: >set pushmsg msg 'fhem' 'test ds712'<
2014.10.22 10:09:56 4: HTTP FHEMWEB:192.168.0.4:53277 GET /fhem&detail=pushmsg&detail=pushmsg&dev.setpushmsg=pushmsg&cmd.setpushmsg=set&arg.setpushmsg=msg&val.setpushmsg=%27fhem%27+%27test+ds712%27
2014.10.22 10:09:56 4: Connection accepted from FHEMWEB:192.168.0.4:53277
Laut Google Suche bedeutet der Fehler:
error:14090086:lib(20):func(144):reason(134) SSL connect attempt failed
Irgendein SSL Zertifikatsproblem. Allerdings habe ich das Zertifikat gecheckt, es wird im Browser als gültig eingestuft und ist auf *.pushover.net ausgestellt.
Soviel für den Fall das jemand eine weitere Analyse betreiben will....
Gruss
Jakob
Soll ich ein Attribut erstellen, sodass man auch http auswählen kann?
Standard wäre dann immer HTTPS, außer man stellt es um.
Gruß,
Johannes
hi,
damit behandelt man zwar das Symptom anstatt die Ursache zu bekämpfen, aber fürs Erste wäre das super! ... ;-))
Da Synology, neben der Fritzbox, vermutlich nur eine von mehreren Plattformen ist auf denen das Problem auftritt, wäre ein Attribut wahrscheinlich die einfachste Möglichkeit.
Auf jeden Fall schonmal vielen Dank vorab!!!
Die Möglichkeiten die man damit hat und realisieren kann sind wirklich cool ... 8)
Gruss
Jakob
Hab jetzt mal nachgeforscht und das gefunden:
https://github.com/abraham/twitteroauth/issues/52
Beheben kann ich die Ursache des Problem leider nicht...
Dann werde ich mal die Möglichkeit geben, über HTTP zu kommunizieren.
Danke für Deinen Fund! :)
Gruß,
Johannes
Hallo,
kann mir vielleicht jemand unter die Arme greifen?
Würde gerne den verschiedenen Pushmitteilungen andere Sound´s zuweisen.
Werde aber aus der Anleitung nicht schlau wie genau ich das einbauen muß. Hier mal mein code von der Klingel:
klingel {
my $now = time;
my $lastReactTime = Value("klingel.LastReactTime");
if ($lastReactTime + 10 < $now)
{
fhem("set klingel.LastReactTime $now");
fhem("set Pushover1 msg 'Es klingelt' 'Besuch ist da!' '' 0 ''");
}
}
Wie bzw wo füge ich den Sound zb Piano Bar in den code ein ?
Gruß Holgi
Also bei mir klappt es so: fhem("set pushmsg msg 'Betreff' 'Text.' '' 0 'bike'");;
schöne Grüße
Jo
Hallo, danke für den Tipp. Bei mir auch, das Problem war das scheinbar einige der Töne nicht funktionieren.
Ok, hab gerade mal das SSL Attribut eingebaut und ins Repository gepusht.
Bitte mal ausprobieren. :)
Gruß,
Johannes
Hallo Johannes,
leider habe ich auch die Fehlermeldung, wie genau sieht die Syntax für http aus.
Danke für die Hilfe
Gruß Mikel
Zitat von: Johannes_B am 30 Oktober 2014, 09:35:10
Ok, hab gerade mal das SSL Attribut eingebaut und ins Repository gepusht.
Bitte mal ausprobieren. :)
hi,
funktioniert prima!!! Danke Dir.
Gruss
Jakob
Hallo,
könnt ihr mir sagen, wie die Syntax zum Deaktivieren von SSL in einer Nachricht dann aussehen muss? Habe bereits in der Doku nachgelesen, aber leider bekomme ich keine Nachricht raus :-(
Ich vergebe keine DeviceID, keine Priorität oder dergleichen. Ich will nur SSL deaktivieren.
define PushoverTEST notify testpush:on set Pushover msg 'Alarmanlage' 'Erdgeschoss Unautorisierte Eingangstüröffnung' '' 0 '' 0 0 0
Ich habe vor dem Update einfach in der 70_Pushover.pm aus Https ein Http in der URL gemacht und diesen Aufruf verwendet:
define PushoverTEST notify testpush:on set Pushover msg 'Alarmanlage' 'Erdgeschoss Unautorisierte Eingangstüröffnung'
Danke.
gruß Sven
Ich habe nun mal in der 70_Pushover.pm in Zeile 167 den Wert hinter SSL auf 0 geändert:
my $ssl=AttrVal($hash->{NAME}, "ssl", 0)
Ob das nun so richtig ist oder nicht weiß ich nicht genau, aber anschließend bekomme ich wieder mit meinem ursprünglich verwendeten Befehl die gewohnte Nachricht im FHEM Log angezeigt:
Zitat2014.11.21 10:11:44 3: PushoverTEST return value: Error: No known response
Setze ich SSl in der Zeile wieder auf 1 und verwende meinen neuen Befehl, so bekomme ich wieder die Syntax Fehlermeldung:
Zitat2014.11.21 10:16:48 3: PushoverTEST return value: Syntax: <Pushover_device> msg [title] <msg> [<device> <priority> <sound> [<retry> <expire>]]
Ich benötige also weiterhin eure Hilfe. Bekomme es nicht alleine gelöst.
Gruß Sven
Wenn Du den aktuellen Stand von FHEM hast, dann musst Du nichts mehr im Quelltext des Moduls ändern.
Setze einfach das Attribut "SSL" vom Pushover Device auf 0:
attr Pushover SSL 0
Pushover ist dabei Dein Gerätename.
Mach aber bitte erstmal vorher Deine Änderungen rückgängig.
Gruß,
Johannes
Hallo Johannes,
danke für die schnelle Antwort.
Leider bekomme ich eine Fehlermeldung, wenn ich das Attribut eintrage:
ZitatPushoverLenaundSven: unknown attribute SSL. Type 'attr PushoverLenaundSven ?' for a detailed list.
Meine Config für Pushover (ich definiere keine einzelnen Geräte):
define PushoverLenaundSven Pushover xxxxxxxxxxxxxxxxxx vvvvvvvvvvvvvvvvvvvvvvvvvvvvvv
attr PushoverLenaundSven SSL 0
Ich habe gestern noch wegen einem anderen Problem mit Logs ein FHEM Update mit update force durchgeführt.
Gruß Sven
Hallo alle zusammen
Leider habe ich auch das problem das ich die Meldung at_Push: Error: No known response bekomme
der ratt mit ssl 0 ändert dies leider auch nicht .......
mfg martin
Nabend
Habe das Module jetzt gelöscht nochmal neu installiert die Daten neu eingegeben und ein update durchgeführt leider habe ich immernoch die Fehler Meldung......
kann da irgendjemand helfen ?
mfg Martin
Ps: Fhem 5.5 auf fritzbox 7390
Hallo zusammen,
bei mir funktioniert das Modul einwandfrei. Ich habe bereits über den Homematic Zwischenstecker mit Leistungsmessung eingerichtet, dass ich eine Push-Mitteilung bekomme, wenn meine Waschmaschine fertig ist.
Ich vermisse allerdings die Möglichkeit eine URL als Parameter zu übergeben. Über die API ist das möglich und die App kann so eingestellt werden, dass die übergebene URL direkt aufgerufen wird.
Auf dem Weg könnte ich eine FHEM URL übergeben, z.B.:
Ich habe über Keymatic und eine kleine extra-Schaltung die Möglichkeit sowohl die Haustür als auch meine Wohnungstür über FHEM zu öffnen. Wenn es klingelt, möchte ich eine Pushmitteilung bekommen. Die URL soll auf eine FHEM Oberfläche zeigen, über die ich die beiden Türen öffnen kann.
Hallo Johannes,
ich hatte hier schon mal darauf hingewiesen, aber vielleicht hast Du es nicht registriert:
http://forum.fhem.de/index.php/topic,16215.msg189025.html#msg189025
Das Pushover-Modul verhält sich nicht ganz Fhem-konform, weil es als Rückgabewert nach erfolgreichem Versenden ein "OK" meldet.
Die Konvention ist, dass eine 0 zurückkommt wenn alles geklappt hat oder sonst eben ein Fehlercode.
Durch das "OK" können andere Module aus dem Tritt kommen, weil sie eben eine 0 erwarten und bei einem "OK" davon ausgehen, dass ein Fehler aufgetreten ist. Beim DOIF-Modul ergeben sich daraus beispielsweise Probleme (wenn auch keine, die man nicht umgehen könnte).
Aber vielleicht spricht ja nichts dagegen, dieses Verhalten von Pushover zu ändern und Du kannst es bei Gelegenheit ohne größeren Aufwand anpassen. Das wäre das sehr freundlich und eliminiert vielleicht auch für die Zukunft eine Quelle von Fehlern und Missverständnisse.
Hallo Johannes,
leider kommen bei mir Umlaute in Pushover Nachrichten immer etwas entstellt am iPhone an.
Könntest du die Umlaute vielleicht url encoden, dann sollte es laut diversen homematic foren funktionieren.
Hallo :)
ich bekomme immernoch die Meldung 2014.12.02 20:42:00 3: at_Push: Error: No known response
kann mir da wirklich keiner bei helfen ????
mfg Martin
Hallo Johannes_B,
habe einen Bug in dem Modul entdeckt.
Im Normalfall wenn das attr timestamp=1 ist, wir die Funktion time() aufgerufen welche z.B. '1418769278' zurückgibt.
Wenn in Fhem allerdings ein HM-CFG-LAN Konfigurations-Adapter definiert ist, gibt die Funktion time() z.B. '1418769278.87352' zurück (Time::HiRes ?), wodurch der Fehler Error: "timestamp is invalid" generiert wird, und der pushmsg-Versand nicht funktioniert.
Ich habe das ganze mal bei mir gefixt in dem ich in Zeile 274 der 70_Pushover.pm aus time() ein int(time()) gemacht habe.
Evtl. könntest du das bei Gelegenheit mal im SVN fixen. Vll. kennst du ja auch noch eine attraktivere Lösung hierfür.
Danke & Gruß Claudiu
Zitat von: Brockmann am 28 November 2014, 09:36:06
Das Pushover-Modul verhält sich nicht ganz Fhem-konform, weil es als Rückgabewert nach erfolgreichem Versenden ein "OK" meldet.
Danke für die Info.
Hab es mal geändert...
Wenn dadurch Probleme entstehen, bitte hier melden. ;)
Zitat von: rapster am 16 Dezember 2014, 23:47:34Ich habe das ganze mal bei mir gefixt in dem ich in Zeile 274 der 70_Pushover.pm aus time() ein int(time()) gemacht habe.
Super, danke für den Hinweis.
Hab das genau so im Repo gefixt.
Mir fällt grad spontan keine bessere Variante ein, bzw. wüsste ich nicht, was daran falsch sein sollte.
Zitat von: MartinPetri am 02 Dezember 2014, 20:44:07ich bekomme immernoch die Meldung 2014.12.02 20:42:00 3: at_Push: Error: No known response
Evtl. ein Umlaut, Sonderzeichen oder so im Kommando?
Zitat von: HolyMoly am 01 Dezember 2014, 05:32:04Könntest du die Umlaute vielleicht url encoden, dann sollte es laut diversen homematic foren funktionieren.
Ist die Frage, ob ich das jetzt wirklich machen sollte, da es dann bei anderen, die manuell URL Encoded haben, nicht mehr funktioniert.
Vielleicht mache ich das im Laufe der Zeit noch.
Gruß,
Johannes
Hallo Johannes,
der PushOver Dienst wartet bei Meldungen mit Prio. 2 ja auf eine Bestätigung des Benutzers am Handy und meldet diese dann auch an den Dienst zurück ...
Hast du vor dein Modul so zu erweitern, das man vom PushOver Dienst diese Bestätigung erhält/abfragen kann....Das währe klasse.
Mit schwebt da folgendes vor :
Der Benutzer Betätigt zum Beispiel einen Taster mit der die Alarm Anlage ( entweder selber geschrieben oder das Modul Alarm
) oder ein andere kritische Funktion (Wasser im Keller, Zisterne voll, you name it) geschaltet werden soll.
Mit dem TastenDruck (Event) wird eine PushMitteilung gesendet mit einer Halbwertzeit von sagen wir 1 Minute, " Mit dem Bestätigen dieser Meldung innerhalb von 1 Minute schalten Sie den Alarm XYZ aus."
Wenn der Benutzer nun innerhalb von einer Minute die Meldung bestätigt, wird die Anlage ausgeschaltet, ansonsten bleibt Sie scharf, oder Alarm wird ausgelöst, oder was auch immer man an der Stelle braucht
Cheers
(C)arlos
Zitat
Ist die Frage, ob ich das jetzt wirklich machen sollte, da es dann bei anderen, die manuell URL Encoded haben, nicht mehr funktioniert.
Und deswegen soll jeder Neuling seine msgs manuell url encoden? :o
Hi, kurze Frage an alle Pushover-Nutzer: Funktioniert der Dienst noch? Ich versuche seit 24h immer mal wieder, auf die Website zu kommen, um mich dort anzumelden, aber das führt immer zu einem Timeout.
Einen schönen Sonntag allerseits!
www.pushover.net
Bei mir funktioniert die Seite.
Bei mir funktioneirt Pushover auch nicht mehr, seit ~17:00 Uhr :-(
Bekomme in Fhem immer: Error: No known response
Auf die Seite www.pushover.net komme ich ebenfalls nicht mehr drauf (bzw. nur manchmal extreeem langsam werden Teile der Seite geladen)...
Weiß einer worans liegt?
Ich habe jetzt Pushbullet genommen. Die App kostet nix, sie funktioniert, und ein fhem-Modul gibt's auch.
Zitat von: rapster am 18 Januar 2015, 19:11:15
Bei mir funktioneirt Pushover auch nicht mehr, seit ~17:00 Uhr :-(
Bekomme in Fhem immer: Error: No known response
Auf die Seite www.pushover.net komme ich ebenfalls nicht mehr drauf (bzw. nur manchmal extreeem langsam werden Teile der Seite geladen)...
Weiß einer worans liegt?
Nein. Hier funktionieren sowohl Meldungen als auch die Webseite einwandfrei...
Scheint aber immer wieder aussetzer zu haben, alles habe ich heut nicht mitbekommen :-(((
Definiere "immer wieder"... Wie alle IT Services unterliegt auch PushOver den Gesetzen von planned (Wartung) und unplanned (Ausfall) Downtime. Für Verfügbarkeiten jenseits von 99,9% bezahlen Unternehmen in der IT viel Geld.
Die Erwartungshaltung an die Verfügbarkeit von (fast) kostenlosen Diensten als Heimanwender sollte daher IMHO schon realistisch sein. Wenn für dich die PushMeldungen sooooo wichtig sind, solltest Du einen Dienst mit garantierter Angabe der Verfügbarkeit buchen. Und am besten auch gleich noch einen Internetanschluß, der genauso verfügbar ist. Und eine USV für alle diese Komponenten...
Ob das Ausweichen auf einen kostenlosen Dienst mittel- bis langfristig die klügere Alternative ist, wage ich zu bezweifeln.
Meine 2ct
Tobias
In letzter Zeit kommen bei mir auch nicht mehr alle Puhnachrichten an und die Webseite ist immer weider offline.
Habe mal den Support angeschrieben, ob es ein grundsätzliches Problem gibt.
Hallo Mitch!
Da bin ich ja mal froh, dass es nicht nur mir so geht.
Im Endeffekt habe ich seit 13. Januar immer wieder Probleme, dass Meldungen an Pushover nicht abgesetzt werden können, mit entsprechendem Fehlereintrag im Log. Habe mir mittlerweile sogar schon ein "2. Standbein" mit Pushbullet aufgebaut. Auch kann ich die Internetseit pushover.net nur schlecht, meistens gar nicht erreichen.
Ich hatte bei mir bisher allerdings den Internetprovider in Verdacht (1&1), denn über mein Smartphone über die mobile Datenverbindung konnte ich die Probleme bisher nicht nachvollziehen. (speziell die nicht erreichbare Internetseite)
Wie auch immer, solltes du was von Pushover hören, teile es uns doch bitte hier mit.
Danke!
Gruß Benni.
Hallo Johannes,
besteht die Möglichkeit, ins Modul noch ein parsen nach \n einzubauen?
Laut der Pushover-API bzw. FAQ kann man ein chr(10) mitsenden, um mehrzeilige Nachrichten zu erhalten.
ZitatTo send multi-line notifications with line-breaks, send regular newline ("\n", ASCII 10) characters in your message.
Leider geht das aber scheinbar nicht, da ein:
set Pushover1 msg 'Heizöl' 'Heizölstand niedrig! Bitte nachbestellen! \n Firma MMM \n KundenNr. xxxxx \n Tel:05 77 240' '' 1 ''
ohne Zeilenumbruch am Handy ankommt :(
lg, Ici
Hi,
probier mal %0A statt \n.
Ich denke, ich werde wohl demnächst mal das URL-Encoding einbauen.
Gruß,
Johannes
Hallo, ich bin neu in diesem Bereich; vielleicht kann mir jemand weiterhelfen: Das SSL attr läßt sich bei mir nicht über "attr pushoverxyz ssl 0" ändern. Wenn ich die Pushover.pm manuell anpasse (z.B. Url="http"; if (1==ssl.... "1 zB auf 2 ändere", dann funktioniert alles reibungslos. Was kann ich tun? Danke für eure Hilfe: Jörg
Hallo, habe nun das "attr ssl 0" über das Web Interface des Pushover-Gerät gesetzt: ...und es funktioniert. :) Hätte zuvor direkt in der fhem.cfg (wie gewohnt) das "attr" gesetzt: ohne Erfolg. Einen Unterschied zum händischen Eintrag in der fhem.cfg kann ich nicht erkennen... :-\. Hauptsache es funktioniert....
Hallo,
ich habe leider ein Problem mit Pushover.
Ich kann keine Variablen übergeben:
Die Pushnachricht lautet immer:
"Anruf von $name mit Nr. $nummer um $zeit zu Hause"
also leider ohne Werte.
Wo liegt denn der Fehler habe schon Stunden gesucht.
Für Hilfe wäre ich sehr dankbar ;)
my $nummer=(ReadingsVal("Fritzbox","external_number","unbekannnt"));
if ($nummer != '0800xxxxx'){
my $name=(ReadingsVal("Fritzbox","external_name","unbekannnt"));
my $zeit=EventZeit();
my $message="Anruf von $name mit Nr. $nummer um $zeit zu Hause";
set pushmsg msg "fhem" "Anruf von $name mit Nr. $nummer um $zeit zu Hause";
Danke
Hm, gute Frage, ich bin leider nicht so der Perl Profi...
Irgendwie scheint die Interpolation nicht zu greifen.
Vielleicht hat da jemand anderes eine Idee...
Gruß,
Johannes
Versuche es doch anstatt mal explizit mit einer Zeichenkettenverknüpfung:
set pushmsg msg "fhem" 'Anruf von '.$name.' mit Nr. '.$nummer.' um '.$zeit.' zu Hause';
Danke für den Tip.
Leider ist das Ergebnis der Pushmeldung:
Anruf von '.$name.' mit Nr. '.$nummer.' um '.$zeit.' zu Hause
Wo liegt denn der Fehler? Es sollte doch möglich sein Variaben zu senden, oder?
my $nummer=(ReadingsVal("Fritzbox","external_number","unbekannnt"));
if ($nummer != '0800xxxxx'){
my $name=(ReadingsVal("Fritzbox","external_name","unbekannnt"));
my $zeit=EventZeit();
my $message="Anruf von $name mit Nr. $nummer um $zeit zu Hause";
set pushmsg msg "fhem" "Anruf von $name mit Nr. $nummer um $zeit zu Hause";
Wo steht das ganze? direkt in der DEF? Du hast da FHEM- und Perl durchgemixt....mAn kann des so eigentlich nicht gehen.
Poste doch mal ein list <device>.
Hallo Icinger,
genau das ganz steht in der DEV.
Wie macht man es denn richtig?
hier die Ausgabe von: list anrufPush
Internals:
DEF Fritzbox:event.*ring.* {
my $nummer=(ReadingsVal("Fritzbox","external_number","unbekannnt"));
if ($nummer != '0800xxxxx'){
my $name=(ReadingsVal("Fritzbox","external_name","unbekannnt"));
my $zeit=EventZeit();
set push_Nachricht "Anruf von $name mit Nr. $nummer um $zeit bei uns zu Hause";
set pushmsg msg "fhem" 'Anruf von '.$name.' mit Nr. '.$nummer.' um '.$zeit.' zu Hause';
NAME anrufPush
NOTIFYDEV Fritzbox
NR 253
NTFY_ORDER 50-anrufPush
REGEXP Fritzbox:event.*ring.*
STATE active
TYPE notify
Attributes:
room Anrufe
Vielen Dank für die Hilfe ;)
Zitat von: Marthinx am 14 März 2015, 16:57:59
Wie macht man es denn richtig?
set ist kein Perl-Befehl, sondern fhem. Also anstelle von
set pushmsg msg "fhem" 'Anruf von '.$name.' mit Nr. '.$nummer.' um '.$zeit.' zu Hause';
in etwa so:
fhem("set pushmsg 'FHEM' 'Anruf von $name mit Nr. $nummer um $zeit zu Hause'");
Danke das war der entscheidende Tip.
jetzt musste ich aber etwas umbauen.
So funktioniert es jetzt in der def:
Fritzbox:event.*ring.* {
my $nummer=(ReadingsVal("Fritzbox","external_number","unbekannnt"));
my $name=(ReadingsVal("Fritzbox","external_name","unbekannnt"));
fhem("set pushmsg msg 'Titel' 'Anruf von $name mit Nr. $nummer (Wohnzimmer) '");
}
Vielen Dank für die Hilfe
Zitat von: Marthinx am 15 März 2015, 12:04:29
So funktioniert es jetzt in der def:
Fritzbox:event.*ring.* {
my $nummer=(ReadingsVal("Fritzbox","external_number","unbekannnt"));
my $name=(ReadingsVal("Fritzbox","external_name","unbekannnt"));
fhem("set pushmsg msg 'Titel' 'Anruf von $name mit Nr. $nummer (Wohnzimmer) '");
}
Das ganze ist ein "notify" - oder??
LG
Ich habe zwei Info-Dummies. Einer heißt PapierIn, einer RestmuellIn.
Wenn nun auf beiden die Zahl 1 steht, soll jeweils um 16:00 Uhr eine Nachricht mit folgendem Text geschickt werden:
Morgen Papiertonne, bitte raus stellen!
Morgen Restmüll, bitte rausstellen!
Kann man das mit einer Programmzeile bewerkstelligen?
Da Heute der Wert auf 8 steht, habe ich diesen mal zum Testen eingegeben. Ansonsten muss da natürlich die 1 rein, also einen Tag vorher.
Leider bekomme ich mit folgendem Befehl keine pushover Nachricht.
Ich möchte den Wert von RestmuellIn auslesen. Wenn der auf 8 steht, soll er die Nachricht schicken:
define Restmuelltonne notify RestmuellIn {if (Value("STATE") eq "8") {fhem("set Pushover msg 'SchwarzeTonne' 'Morgen Restmülltonne rausstellen' '' 0 '')}}
Zitat von: pointde am 22 April 2015, 11:40:21
Value("STATE")
Schau mal unter http://fhem.de/commandref.html#perl (http://fhem.de/commandref.html#perl)
Value() liefert dir den STATE von einem device, du musst allerdings das device auch angeben.
Der Dummy, den ich auslesen will heißt RestMuellIn. Dieser ist doch dann das Device, oder?!
Ja, aber du versuchst aus dem device namens STATE zu lesen.
Also praktisch so, oder:
Aber so gehts auch nicht.
define Restmuelltonne notify RestmuellIn {if (Value("RestmuellIn") eq "8") {fhem ("set Pushover msg 'SchwarzeTonne' 'Morgen Restmülltonne rausstellen' '' 0 '')}}
Maaannn!
Schon mal ins Logfile geschaut?
Ist da vielleicht zu sehen, dass es value() nicht gibt?
Es muss Value heißen (mit großem "V" am Anfang!) -> Perl ist case-sensitive!
Du meinst so, wie er es geschrieben hat? ;-)
:-[ Äh, ja!
Ich war mir eigentlich sicher, dass ich richtig geschaut habe. War wohl doch zu weit vom Monitor weg.
Eventuell könnte auch noch ein .* nach RestmuellIn helfen?
define Restmuelltonne notify RestmuellIn.* {if (Value("RestmuellIn") eq "8") {fhem ("set Pushover msg 'SchwarzeTonne' 'Morgen Restmülltonne rausstellen' '' 0 '')}}
Funktioniert leider auch nicht!
Basics des Code Debugging: Mach einfach den fehlenden String Terminator rein!
Ich habe ja die Basics nicht drauf! Für diese Zeile habe ich schon ewig gebraucht.
ZitatBasics des Code Debugging
Auf gut Deutsch: Kontrolliere mal die einfachen und doppelten Anführungszeichen :D
Der Fehler muss ja in dem Teil des Codes sein, da der hintere ja funktioniert:
define Restmuelltonne notify RestmuellIn.* {if (Value("RestmuellIn") eq "8")
Aber wo?
Nein, der hintere funktioniert nicht.
Wenn ich nur den hinteren Teil absetze bekomme ich aber die Nachricht!
Das ist der hintere Teil:
{fhem ("set Pushover msg 'SchwarzeTonne' 'Morgen Restmülltonne rausstellen' '' 0 '')}}
und der kann so unter GARANTIE nicht funktionieren
Habs mit iPhone kopiert. Das bei der 0 sind normale ""
Trotzdem funktioniert es nicht
Zähle doch bitte mal die Anzahl der " und der '.
Danke...
@EiFonUser: Bitte... nutze einen handelsüblichen Personalcomputer. Und RTFM!
ähm Jungs, es geht hier doch nicht darum Rätsel aufzugeben... macht es doch einfach DEUTLICH...
fhem ("set Pushover msg 'SchwarzeTonne' 'Morgen Restmülltonne rausstellen' '<GERAET>' 0 'siren' ")
Innerhalb des Pushover-Aufrufs werden einfache Anführungszeichen benutzt, die können etwas unübersichtlich werden, wenn sie nichts enthalten. Zur Verdeutlichung hab ich sie oben mal gefüllt. (Wobei <GERAET> natürlich nur ein Platzhalter für dein Handy ist. Am Schluss fehlte noch das doppelte Anführungszeichen für den fhem("xxx")-Aufruf...
Also, der Befehl alleine sendet die Nachricht jetzt:
{fhem ("set Pushover msg 'SchwarzeTonne' 'Morgen Restmülltonne rausstellen'")}
Der gesamte Befehl funktioniert aber nach wie vor nicht. Der State des Dummys RestmuellIn ist Heute 6
define Restmuelltonne notify RestmuellIn.* {if (Value("RestmuellIn") eq "6"));; {fhem ("set Pushover msg 'SchwarzeTonne' 'Morgen Restmülltonne rausstellen'")}}
Warum machst Du eigentlich diese ganzen Verrenkungen mit if und triggerst statt .* nicht gleich .6 ?
Und woher kommen auf einmal die Semikolons hinter den Klammern? Bist Du auch so ein direkter config-Editor? Gerade als Anfänger, benutz die Befehlszeile oben. Dann gibts auch Fehlermeldungen!
Ich möchte den if Befehl lernen, weil ich diesen dann evtl. bei anderen Projekten benutzen kann.
Nein, ich schreibe immer alles in die Kommandozeile. Die fhem.cfg habe ich noch nie bearbeitet.
Keiner meiner Versuche hat bisher geklappt. Obwohl ich jetzt schon fast 7h an diesem notify arbeite, funktioniert nur der pushover Teil.
Ich bekomme es nicht hin, dass mir der Wert meines Dummys RestmuellIn, wenn er z. B. state 5 hat eine Nachricht schickt.
Alternativ dazu habe ich dann auch noch an anderen notifys gearbeitet, - keins funktioniert:
Ich poste mal einige Versuche:
define Restmuelltonne notify Restmuell {if (Value("RestmuellIn") eq "5");; {fhem ("set Pushover msg 'SchwarzeTonne' 'Morgen Restmülltonne rausstellen' ")}}
define Restmuelltonne notify RestmuellIn:5 {\
system ("curl -s -F 'token=aW4xxxxx' -F 'user=uxxxx' -F 'message=SchwarzeTonne\MorgenRausstellen https://api.pushover.net/1/messages.json")\
}\
}
define BuegelzimmerTuereoffenPushover at *21:00:00 {if (Value("DrehgriffkontaktBuegelzimmer ") eq "open"));; {fhem ("set Pushover msg 'Bügelzimmer' 'Türe noch offen!!!'")}}
define Restmuelltonne notify RestmuellIn.5;; {fhem ("set Pushover msg 'SchwarzeTonne' 'Morgen Restmülltonne rausstellen' ")}
Und warum nimmst Du die beiden Semikolons nicht endlich wieder raus. Die waren vorher auch nicht drin!
Ohne es jetzt getestet zu haben, würde ich es so machen:
define Restmuelltonne notify RestmuellIn.5 set Pushover msg 'SchwarzeTonne' 'Morgen Restmülltonne rausstellen'
Zitat von: pointde am 25 April 2015, 16:34:50
Ich möchte den if Befehl lernen, weil ich diesen dann evtl. bei anderen Projekten benutzen kann.
Nein, ich schreibe immer alles in die Kommandozeile. Die fhem.cfg habe ich noch nie bearbeitet.
Keiner meiner Versuche hat bisher geklappt. Obwohl ich jetzt schon fast 7h an diesem notify arbeite, funktioniert nur der pushover Teil.
Ich bekomme es nicht hin, dass mir der Wert meines Dummys RestmuellIn, wenn er z. B. state 5 hat eine Nachricht schickt.
Alternativ dazu habe ich dann auch noch an anderen notifys gearbeitet, - keins funktioniert:
Ich poste mal einige Versuche:
define Restmuelltonne notify Restmuell {if (Value("RestmuellIn") eq "5");; {fhem ("set Pushover msg 'SchwarzeTonne' 'Morgen Restmülltonne rausstellen' ")}}
define Restmuelltonne notify RestmuellIn:5 {\
system ("curl -s -F 'token=aW4xxxxx' -F 'user=uxxxx' -F 'message=SchwarzeTonne\MorgenRausstellen https://api.pushover.net/1/messages.json")\
}\
}
define BuegelzimmerTuereoffenPushover at *21:00:00 {if (Value("DrehgriffkontaktBuegelzimmer ") eq "open"));; {fhem ("set Pushover msg 'Bügelzimmer' 'Türe noch offen!!!'")}}
define Restmuelltonne notify RestmuellIn.5;; {fhem ("set Pushover msg 'SchwarzeTonne' 'Morgen Restmülltonne rausstellen' ")}
Ich korrigiere einfach mal...
define BuegelzimmerTuereoffenPushover at *21:00:00 {if (Value("DrehgriffkontaktBuegelzimmer ") eq "open"));; {fhem ("set Pushover msg 'Bügelzimmer' 'Türe noch offen!!!'")}}
Funktioniert so:
define BuegelzimmerTuereoffenPushover at *21:00:00 {if (Value("DrehgriffkontaktBuegelzimmer") ne "closed") {fhem ("set Pushover msg 'Bügelzimmer' 'Türe noch offen!!!'")}}
Geändert sind wieder die Klammern... Semikolons und Leerzeichen. Und die Voraussetzung also Tür nicht (ne) geschlossen (closed)
Für deine Mülltonne würde ich ebenfalls ein AT definieren.
define MuelltonnePushover at *16:00:00 {if (Value("RestMuellIn") eq "1") {fhem ("set Pushover msg 'SchwarzeTonne' 'Morgen Restmülltonne rausstellen' ") } elsif (Value("PapierIn") eq "1") {fhem ("set Pushover msg 'Papiertonne' 'Morgen Papiertonne rausstellen' ") }
Man beachte folgende Basics:
if (<Bedingung>) { tudies; tujenes } elsif (<anderebedingung>) { tuetwasanderes } else { nochetwasanderes }
Im Ausführungsteil müssen mehrere Befehle mit einem Semikolon getrennt werden, ansonsten gehören in die komplette if-Struktur keine Semikolons als Trennzeichen.
Ich empfehle öfter mal wieder handelsübliche Texteditoren in denen man sich die If-Struktur untereinander und eingerückt notieren kann. Dann fallen falsche Klammern recht schnell auf.
Empfehlenswert ist zum Beispiel Notepad++
So. Ich hoffe mir ist am Handy kein Fehler entwischt....
Grüße
anfichtn
Nachtrag:
Zitat von: pointde am 20 April 2015, 13:50:06
Ich habe zwei Info-Dummies. Einer heißt PapierIn, einer RestmuellIn.
Wenn nun auf beiden die Zahl 1 steht, soll jeweils um 16:00 Uhr eine Nachricht mit folgendem Text geschickt werden:
Morgen Papiertonne, bitte raus stellen!
Morgen Restmüll, bitte rausstellen!
Kann man das mit einer Programmzeile bewerkstelligen?
Die Fragestellung lässt sich eindeutig mit ja beantworten.
Das mit der Bügelzimmertüre funktioniert jetzt Top, danke.
Die Mülltonne liefert folgenden Fehler:
MuelltonnePushover: Missing right curly or square bracket at (eval 406) line 2, at end of line
syntax error at (eval 406) line 2, at EOF
okay, kein Thema. Fhem mag leerzeichen nach { und vor } nicht.
define MuelltonnePushover at *16:00:00 {if (Value("RestMuellIn") eq "1") {fhem ("set Pushover msg 'SchwarzeTonne' 'Morgen Restmülltonne rausstellen' ")} elsif (Value("PapierIn") eq "1") {fhem ("set Pushover msg 'Papiertonne' 'Morgen Papiertonne rausstellen' ")}
Grüße
anfichtn
Selber Fehler, also habe ich nochmal eine Abschließende Klammer hinzugefügt:
define MuelltonnePushover at *16:00:00 {if (Value("RestMuellIn") eq "5") {fhem ("set Pushover msg 'SchwarzeTonne' 'Morgen Restmülltonne rausstellen' ")} elsif (Value("PapierIn") eq "16") {fhem ("set Pushover msg 'Papiertonne' 'Morgen Papiertonne rausstellen' ")}}
Jetzt kommt aber nur eine Nachricht von der Papiertonne, obwohl Restmüll auch passen würde.
edit:
der Dummy heißt RestmuellIn, falls fhem Groß- und klein unterscheidet...
Dies habe ich auch geändert, es kommt aber immer nur eine Meldung, jetzt die 1. vom Restmüll????
Ein if beendet die Ausführung, sobald der erste if/elsif/else-Teil zugetroffen hat.
Wenn also Restmüll zutrifft, wird der Rest des Konstrukts nicht mehr beachtet.
Und ja, FHEM ist case-sensitiv. Bzw. eigentlich ist perl case-senstitiv und FHEM beruht ja auf perl.
lg, Ici
ok, ist nicht schlimm, weil die beiden Tonnen eh nie miteinander abgeholt werden.
Danke für eure Hilfe. Jetzt bin ich ein klein wenig weiter....
Moin!
Wenn Restmüll- und Papier auch gleichzeitig dran sein können (davon bin ich NICHT ausgegangen), einfach ein weiteres elsif ergänzen:
define MuelltonnePushover at *16:00:00 {if (Value("RestMuellIn") eq "5") {fhem ("set Pushover msg 'SchwarzeTonne' 'Morgen Restmülltonne rausstellen' ")} elsif (Value("PapierIn") eq "16") {fhem ("set Pushover msg 'Papiertonne' 'Morgen Papiertonne rausstellen' ")} elsif ((Value("RestMuellIn") eq "5") && (Value("PapierIn") eq "16")) {fhem ("set Pushover msg 'Papiertonne & SchwarzeTonne' 'Morgen Papiertonne und Restmülltonne rausstellen' ")}}
Wegen der fehlenden Klammer.. die ist mir am Handy offenbar beim Kopieren entwischt.
Grüße
anfichtn
Moin!
Kann es sein, dass das Modul nicht mehr funktioniert? :o
Ich habe alles so gemacht wie es im Wiki und hier beschrieben steht.
Als Fehler bekomme ich "Error: No known response"
Über die Webseite von Pushover kann ich versenden. Api-Token und User-Token habe ich 100x kontrolliert.
Hat jemand eine Idee? Ich verzweifele langsam...
Danke!
David
in der fhem.cfg:
define Pushover1 Pushover a6kViPz... uroJNqNcTV...
folgender Befehl in der Befehlszeile führt zum error:
set Pushover1 msg 'Title' 'This is a text.' '' 0 ''
Hallo,
ich kann bestätigen, dass das Modul noch funktioniert.
schöne Grüße
Jo
Hier funktioniert es auch noch.
OK, habe den Fehler gefunden.
Magst du vielleicht hier posten, wo der Fehler lag?
Denn bei mir streikt es auch.
Mit der gleichen Fehlermeldung wie bei dir. :-\
Hallo,
ich bin gerade dabei mein morgendliches at für die Übermittlung von Temperatur und Luftfeuchtigkeit auf ein DOIF in Verbindung mit dem Pushover-Modul umzustellen.
Das Pushover-Modul habe ich eingerichtet und es funktioniert.
Ein Beispiel meines DOIF (funktioniert):
([17:15])(set Pushover msg 'Guten Morgen' 'Es hat [Aussen_Temp_Luftfeuchte:temperature]°C')
Wenn ich jetzt das ganze um die Luftfeuchtigkeit erweitere:
([17:15])(set Pushover msg 'Guten Morgen' 'Es hat [Aussen_Temp_Luftfeuchte:temperature]°C bei [Aussen_Temp_Luftfeuchte:humidity] % Luftfeuchtigkeit')
bekomme ich die Rückmeldung "set Pushover msg 'Guten Morgen' 'Es hat 30.3°C bei 46 % Luftfeuchtigkeit': Error: No known response Response was:"
Lasse ich in dem zweiten DOIF das %-Zeichen weg, dann funktioniert der Push auf mein Handy problemlos. Hat das Pushover-Modul ein Problem mit diesem Zeichen?
In meinem bisherigen at gibts damit keine Probleme, in dem at sende ich allerdings auch nicht über das Pushover-Modul.
Das Modul wäre jedoch wesentlich komfortabler ;-)
Hat jemand eine Idee?
Gruß
Hermann
PS: Die Uhrzeiten in den DOIF's sind rein zum testen, leider kann ich nicht so lange schlafen :P
Bitte... Maskiere die Sonderzeichen html-Konform. Statt % einfach % und alles wird gut.
Hier http://www.html-seminar.de/referenz-sonderzeichen.htm (http://www.html-seminar.de/referenz-sonderzeichen.htm) Gibt's was zum nachlesen.
Zitat von: anfichtn am 19 Juli 2015, 17:28:37
Bitte... Maskiere die Sonderzeichen html-Konform. Statt % einfach % und alles wird gut.
Hier http://www.html-seminar.de/referenz-sonderzeichen.htm (http://www.html-seminar.de/referenz-sonderzeichen.htm) Gibt's was zum nachlesen.
Habe nun das %-Zeichen durch % ersetzt:
([17:15])(set Pushover msg 'Guten Morgen' 'Es hat [Aussen_Temp_Luftfeuchte:temperature]°C bei [Aussen_Temp_Luftfeuchte:humidity]% Luftfeuchtigkeit')
Die Pushover-Nachricht wird nun nach dem "...[Aussen_Temp_Luftfeuchte:humidity]" abgeschnitten.
Hab ich in Deiner vorgeschlagenen Lösung einen Fehler?
Gruß
Nicht wirklich. Der Fehler liegt eher bei mir.
Ich finde nur gerade die Information zur korrekten Kodierung (nicht mit &...) hier im Forum auf die Schnelle nicht.
Probier mal mit %25, wie Das Prozentzeichen auch im Browser codiert wird.
Zitat von: anfichtn am 19 Juli 2015, 19:16:42
Nicht wirklich. Der Fehler liegt eher bei mir.
Ich finde nur gerade die Information zur korrekten Kodierung (nicht mit &...) hier im Forum auf die Schnelle nicht.
Probier mal mit %25, wie Das Prozentzeichen auch im Browser codiert wird.
Klasse, so funktioniert es! :)
Vielen Dank für die Hilfe
Gruß
Hallo zusammen,
ich beschäftige mich seit heute mit Pushover.
Das mir der Fhem die Temperatur auf das Handy pusht habe ich hinbehommen.
Zitatdefine pushoveraussentemp at *13:43 {\
my $temp=ReadingsVal("AussenTemp","temperature","");;\
fhem("set pushmsg msg 'AußenTemperatur' '$temp °C' '' 0 '' ");;\
}
Jetzt möchte ich das ich eine Pushmitteilung bekomme wenn die Heizungsstellantriebe ( HM-CC-RT-DN ) betätigt werden.
Der Text sollte dann so lauten: Heizung xy wurde auf 25 °C gedreht.
Kann mir da jemand helden?
Vielen Dank
Lapidu
Hallo lapidu,
ich habe das so ähnlich bei mir umgesetzt - würde damit für dich wohl ungefähr so aussehen:
define Tempcheck notify HM-CC-RT-DN_Clima.*desired-temp.* set pushmsg msg 'Temperaturverstellung' 'Heizung xy wurde auf %EVTPART1 °C gedreht'
Hoffe das hilft dir weiter...
Gruß Firetic
Danke Firetic, klappt wuderbar.
Hallo,
ein Problem hab ich noch.
Wenn ich die Temperatur an der Heizung ändere, kommt die Push Meldung ans Handy.
Nur kommt sie alle 3-5min immer wieder.
So sieht der befehl aus
Zitatdefine Tempcheck notify Heizung.2OG.Bad.*desired-temp.* set pushmsg msg 'Temperaturverstellung' 'Heizung xy wurde auf %EVTPART1 °C gedreht' '' 0 ''
Das liegt daran, dass Du kein event-on-change-reading für das Thermostat gesetzt hast. Damit erzeugt die regelmäßige Statusmeldung des Thermostats einen Event, auf den Dein Notify anspringt.
Ein event-on-change-reading .* auf die betroffenen Thermostate sollte Dein Problem beheben und Deine Logfiles verkleinern.
wie mach ich das genau?
Edit: Habs gefunden. Scheint zu funktionieren. Danke erstmal
So nächstes Problem.
Ich habe ein HM-LC-SW1-FM Relais mit dem ich das Licht schalte.
Ich möchte jeweils wenn das Licht aus oder an geschaltet wird, über Pushover benachrichtigt werden.
Hat jemand eine Idee wie das aussehen könnte?
Vielen Dank.
Lapidu
Ein notify auf den State des Schalters, und auch diesen Schalter mit event-on-change .* oder gleich event-on-change state belegen.
Das ist aber langsam ein wenig Offtopic hier und gehört wohl eher ins Homematic-Forum - auch wenn Du dort auf solche Fragen sicher in erster Linie den Hinweis bekämst, dass Du Dir mal die Einführung in fhem durchlesen solltest. (http://fhem.de/Heimautomatisierung-mit-fhem.pdf (http://fhem.de/Heimautomatisierung-mit-fhem.pdf))
Ich habe gerade festgestellt, dass ein Prozentzeichen im Text das Modul aus dem Trab bringt.
set pushmsg msg 'Entwarnung Lueftung.Kueche' 'Luftfeuchte: 55%, Taupunkt innen: 14,3°C'
Fehler: no response
set pushmsg msg 'Entwarnung Lueftung.Kueche' 'Luftfeuchte: 55, Taupunkt innen: 14,3°C'
Alles OK. Andere Umlaute scheinen kein Problem zu sein.
Ich habe mir gerade die API-Erweiterungen von Pushover angeschaut, die HTML-Style betreffen. Eigentlich ziemlich cool.
Dafür bräuchte das Modul ein zusätzliches Attribut html, dass wenn es auf 1 gesetzt wird, dass als Parameter für die Messages mitgibt. Aus meiner Sicht wäre es ausreichend, dass global für alles Messages im Modul zu regeln und nicht für jede Message separat.
Was denkt Ihr?
Ich habe das jetzt mal testweise eingebaut. Funktioniert bei mir super. Hier die API-Info (https://pushover.net/api#html), zu dem was aktuell möglich ist.
Gleichzeitig habe ich die möglichen Werte für priority um 2 und -2 erweitert.
Datei angehängt.
@volschin,
- da ich das momentane Pushover Fhem Modul allgemein für recht unflexibel halte, es wird nunmal einfach nur eine bestimmte Auswahl an Parametern unterstützt, z.B. fehlt auch der coole Paramter 'url=' womit man Fhem-Aktionen aufgrund eine PushMsg ausführen könnte.
- Und da das Modul mit BlockingGet arbeitet und somit bei jeder Pushmsg Fhem im besten fall für eine knappe Sekunde komplett lahmlegt, was besondern HM-Devices nicht mögen.
Habe ich mir ein myUtils-Ersatz dafür gebastelt, welcher NonBlocking arbeitet und alle Standard-Pushover-Api Parameter/Funktionen (bis auf die priority=2, receipts-API Funktionen) unterstützt.
use HttpUtils;
sub pushMsg($$@) {
my ($title,$message,$otherParams) = @_;
my $config = {
url => 'https://api.pushover.net/1/messages.json',
token => 'asfsdagsdfjsadkfjlasdkfjlsadkfjlsadf',
user => 'asdklfjsakljfklasdjflksdjafsdf',
defaultTitle => 'FHEM!',
accountDescription => 'Hauptaccount1'
};
pushMsgHttpGet($config,$title,$message,$otherParams);
}
sub pushMsg2ndAccount($$@) {
my ($title,$message,$otherParams) = @_;
my $config = {
url => 'https://api.pushover.net/1/messages.json',
token => 'sadflksdjaflkajsdklfjklasdjflkasdf',
user => 'askdlfjklasdjflkasdjflkjlkasdjflkasdf',
defaultTitle => 'FHEM!',
accountDescription => 'meinZweiterAccount'
};
pushMsgHttpGet($config,$title,$message,$otherParams);
}
sub pushMsgHttpGet($$$@) {
my ($config,$title,$message,$otherParams) = @_;
my $param = {
config => $config,
url => $config->{url},
timeout => 15,
noshutdown => 0,
loglevel => 5, #to debug set loglevel to 1
errorLoglevel => 1,
method => 'POST',
data => 'token='.$config->{token}.'&user='.$config->{user}.'&message='.$message.'×tamp='.int(time()).'&title='.(($title)?$title:$config->{defaultTitle}).(($otherParams)?'&'.$otherParams:''),
header => "Content-Type: application/x-www-form-urlencoded",
callback => \&pushMsgHttpResponse
};
HttpUtils_NonblockingGet($param);
}
sub pushMsgHttpResponse($) {
my ($param, $err, $data) = @_;
if($err ne "") {
Log $param->{errorLoglevel}, "pushMsgHttpResponse - ".$param->{config}->{accountDescription}." - Error while requesting ".$param->{url}." - $err";
}
elsif($data ne "") {
Log $param->{loglevel}, "pushMsgHttpResponse - ".$param->{config}->{accountDescription}." - url ".$param->{url}." returned: $data";
if ($data =~ /"status":(.*),/) {
if ($1 eq "1" && $param->{code} == 200) {
Log $param->{loglevel}, "pushMsgHttpResponse - ".$param->{config}->{accountDescription}." - Pushover successful received and queued";
}
elsif ($data =~ /"errors":\[(.*)\]/) {
Log $param->{errorLoglevel}, "pushMsgHttpResponse - ".$param->{config}->{accountDescription}." - Error: $1";
}
else {
Log $param->{errorLoglevel}, "pushMsgHttpResponse - ".$param->{config}->{accountDescription}." - Error: $data - HTTP-Status: ".$param->{code};
}
} else {
Log $param->{errorLoglevel}, "pushMsgHttpResponse - ".$param->{config}->{accountDescription}." - Error, no known response: $data";
}
}
}
ZitatAufruf (perl):
{ pushMsg(0,"message") } # simple Pushover Message
{ pushMsg("myTitle","message") } # mit abweichendem Titel vom default
{ pushMsg("myTitle","message","priority=1&sound=siren&url=http://www.fhem.de/tuEtwas&device=iPhone2") } # Ausnutzen weiterer API Parameter => https://pushover.net/api
Damit will ich das Modul keinesfalls schlechtreden, denn es tut ja generell das was versprochen wird!
Grüße
Wird das Modul noch von Johannes_B gepflegt?
Ich habe ebenfalls eine veränderte Version (siehe Anhang).
Dort habe ich die Callback API Funktion mit eingebaut, um bei der Bestätigung von Emergency Nachrichten ein Event in FHEM zu generieren.
Ich hatte auch noch vor es auf Non-Blocking umzuschreiben und die URLs zu unterstützen. Beides kein großartiger Aufwand, aber jetzt fallen mir die Augen zu...
Gruß
Julian
Zitat von: Loredo am 10 August 2015, 05:01:16
.....
Ich hatte auch noch vor es auf Non-Blocking umzuschreiben und die URLs zu unterstützen. Beides kein großartiger Aufwand, aber jetzt fallen mir die Augen zu...
Lieber Julian, das wäre der Hit in Tüten! ,-)
Zitat von: Loredo am 10 August 2015, 05:01:16
Ich hatte auch noch vor es auf Non-Blocking umzuschreiben und die URLs zu unterstützen. Beides kein großartiger Aufwand, aber jetzt fallen mir die Augen zu...
au ja !!!
Hier anbei jetzt eine Version mit folgenden Verbesserungen gegenüber der Standardversion:
# -> Rewrite for Non-Blocking HttpUtils
# -> much more readings
# -> Support for emergency callback via push (see documentation below)
# -> Support for supplementary URLs incl. push callback (e.g. for priority < 2)
# -> Added readingFnAttributes to AttrList
# -> Added support for HTML formatted text
# -> Added user/group token validation
Was noch fehlt:
- Pulling für Emergency Callbacks
- Storno von Emergency Callbacks
- Mischfall Priority=2 und URL Push-Callback löst ggf. die Events nicht wie erwartet aus (Emergency Callback und URL Callback überschneiden sich)
- FhemCallbackId sollte mehr zufällig generiert werden (analog Pushover Receipt)
- Doku
Die Syntax ist soweit gleich geblieben und wurde hinten nur erweitert (mir ist grad auch nix besseres eingefallen).
Die Push-Callbacks lassen sich analog zum Modul GEOFANCY einrichten (dazu gibt es auch einen langen Artikel im Wiki).
Einige simple HTML Tags können direkt zum Formatieren von Text genutzt werden. Wer diese Tags explizit angezeigt haben möchte, stellt vorne an seinem Text ein nohtml: voran.
Über die Supplementary URL kann man entweder eine URL mitschicken oder aber einen (oder mehrere) FHEM Befehl, der dann beim klick auf den Link ausgeführt wird.
Der FHEM Befehl wird dabei nicht mit auf das Gerät übertragen, sondern bleibt intern gespeichert. Auch die Supplementary Callbacks haben einen Timeout, weshalb er auch zwingend angegeben werden muss (wie bei den Prio2 Nachrichten auch). HTTP-URLs werden dazu über FHEM redirected, sofern das Attribut callbackUrl definiert ist. Ansonsten funktioniert das Timeout natürlich nicht. URLs sind nur einmal innerhalb der Gültigkeit aufrufbar, ansonsten gibt es eine Fehlermeldung.
Andere URLs als http/https sind nicht mit einem Timeout versehen und werden auch nicht im Reading getrackt, sondern direkt auf dem Gerät ausgeführt (z.B. Links in andere iOS Anwendungen).
Cool die Grundfunktionen habe ich eben erfolgreich getestet!
PS: State wurde von opened auf connected verändert! <-- finde ich gut!
Es gab vorher kein state ;)
Ah ok! ;-)
Was mir aufgefallen ist. Wenn ich einige Nachrichten hintereinander verschicke, scheint das Modul das ein oder andere zu verschlucken und dann geht der Status auf disconnected. Wie kann ich das Modul wieder connecten?
der Status ist kein Livestatus, sondern basiert auf dem letzten Event. Wenn es auf disconnected wechselt heißt das, dass der Pushover Webserver nicht innerhalb von 3 Sekunden Timeout geantwortet hat.
Alles klar! Ich werde das mal weiter beobachten! Genial ist, dass meine Freeze Meldungen von Perfmon weg sind beim versenden einer Nachricht! Genial! Danke schon einmal dafür!
Danke für die Weiterentwicklung!
Allerdings funktioniert bei mir die neue Version nicht:
lastResult Error: $VAR1 = [ 'application token is invalid' ];
state error
Das token ist das gleiche wie immer, mit der alten Version geht alles ....
das kann ich mir nicht vorstellen. die meldung kommt so direkt von der Pushover API zurück.
Über das Attribut verbose=5 kannst du im Logfile mehr sehen.
Was sein kann: Da sich einige Internals geändert haben, genügt es nicht das Modul neu zu laden. Du musst die Definition nochmals editieren und abspeichern oder alternativ FHEM neu starten (generell ist letzteres immer eine gute Idee, wenn man ein Modul händisch aktualisiert. Nicht umsonst muss man nach einem normalen Update auch neu starten).
Zitat von: Loredo am 11 August 2015, 12:07:26
Was sein kann: Da sich einige Internals geändert haben, genügt es nicht das Modul neu zu laden. Du musst die Definition nochmals editieren und abspeichern oder alternativ FHEM neu starten (generell ist letzteres immer eine gute Idee, wenn man ein Modul händisch aktualisiert. Nicht umsonst muss man nach einem normalen Update auch neu starten).
OK, danke, das war's. Ein reload reicht nicht, shutdown restart hat geholfen ....
Zitat von: Loredo am 11 August 2015, 02:00:05
Hier anbei jetzt eine Version mit folgenden Verbesserungen gegenüber der Standardversion:
# -> Added support for HTML formatted text
Hallo Loredo,
vielen Dank für Deine vielen Verbesserungen am Modul.
Ich hatte in meiner Version den HTML-Text über Attribut zuschaltbar und abschaltbar gemacht. Dies hat Kompatibilitätsgründe. Das Verhalten ist mit HTML ein anderes und es kann Nachteile haben, wenn es nur angeschaltet ist und nicht wirklich genutzt werden soll. Ein Beispiel ist eine in der Message enthaltene Telefonnummer, die in der normalen Textmessage auf dem iPhone als Link zum Anruf aufgebaut wird. In der HTML-Message wird das nicht abgebildet und Du musst explizit einen href auf tel: einbauen, um das gleiche Verhalten zu erreichen.
Daher wäre es schön, wenn Du die Schaltbarkeit für HTML als Attribut wieder mit einbauen könntest.
Gruß
Veit
Das sollte nicht nötig sein. Das HTML Flag wird nur mitgeschickt, wenn auch tatsächlich HTML verwendet wird. Das wird automatisch erkannt, ansonsten wird ganz normaler Plaintext gesendet. Nur für den Fall, dass man die HTML Tags absichtlich als Klartext senden will, ist das Textpräfix nohtml: eingebaut.
Ein Attribut hat den Nachteil, dass man es zur Laufzeit nur ungern ändern möchte. Mit dieser Lösung ist das nicht notwendig.
Das hört sich natürlich noch besser an, ich werde dahingehend nochmal intensiver testen.
Funktioniert super. :)
Ein kleiner Vereinfachungsvorschlag für das Matching des HTML-Textes:
/\<(\/|)[biu]\>|\<(\/|)font(.+)\>|\<(\/|)a(.*)\>/
Danke, übernehme ich gerne ;)
Im Hinblick hierauf (http://forum.fhem.de/index.php/topic,39983.0.html) überlege ich gerade noch die Syntax stark zu vereinfachen (im Grunde ähnlich wie dort). Bin allerdings nicht sicher, ob ich die Rückwärtskompatibilität dabei erhalten möchte (oder kann). Ich tendiere dazu meine Anpassungen in einem neuen Modul "Pushover2" oder so enden zu lassen. Dann kann ich das Modul auch problemlos einchecken und den Nutzern bleibt es überlassen zu wechseln oder nicht. Ist aber alles noch nicht ausgegoren...
Guten Tag
ich versuche meine ersten Schritte und bin am Verzweifeln. Ich ersuche um eure Hilfe - hab mir den ganzen Tread durchgelesen und experimentiert. Die Einsteiger Doku
habe ich auch schon angesehen)
Habe an meinem RPi einen DS18B20 am GPIO4 angeschlossen. Der stellt doch die Temperatur unter Readings temperature zur Verfügung?
Nun möchte ich eine PushoverMsg erhalten wenn der Sensor (Sensor_1_AZ) eine gewisse Temperatur überschreitet.
HIer der Code
define AZ.TempCritPush notify Sensor_1_AZ {
my $temp=ReadingsVal("Sensor_1_AZ","temperature","0");
if ($temp > 20) {
fhem ("set pushmsg msg 'Temperatur' 'Es hat $temp Grad ' '' 0 ''");
}
}
Der PushoverDienst ist eingerichtet und hat den Namen pushmsg
Mit der Meldung set pushmsg msg 'Test' 'Test' '' 0 ' funktioniert er auch.
Danke für eure Hilfe
LG
Helmut
Du solltest dich in DOIF einlesen:
define AZ.TempCritPush DOIF
([Sensor_1_AZ:temperature] > 20)
(set pushmsg msg 'Temperatur' 'Es hat [Sensor_1_AZ:temperature] Grad ' '' 0 '')
Ach kann das Leben einfach sein. Gut meine Anforderung war sicherlich auch nicht hoch, im Vergleich was ich hier so lese. Herzlichen Dank
Das ist aber wenig praktikabel. Du wirst von Push-Messages erschlagen, sobald die Temperatur über 20 geht.
Besser würde sich hier ein Watchdog oder noch besser ein Threshold machen.
Hallo
das dachte ich zuerst auch ABER ich hatte nach der Installation eine Nachricht bekommen und das wars......
Würdest du so nett sein und mir das Beispiel mit dem Threshold zeigen.
Ich tu mir einfach leichter wenn ich ein Beispiel habe wenn ich weitere Dinge basteln möchte
Herzlichen Dank
Helmut
Du kannst beim DOIF entsprechende Wiederholungswerte setzen. Da gibt es konkrete Beispiele zu in der (deutschen!) Commandref.
Alles viel einfacher als Threshold.
Ich hab da vorerst noch eine Verständnisfrage - stehe da wohl auf der Leitung - sorry
Wenn ich set pushmsg msg 'Test' 'Test' '' 0 ' aus der Kommandozeile von hem abschicke ertönt 1 Sek. danach ein Gong auf meinem iPhone.
Kommt aber die DOIF Meldung (wie von Lodern beschrieben) aufs iPhone ertönt nix. Auch habe ich noch nicht herausgefunden wann die Msg verschickt wird.
Ich glaube nach Speichern der Cfg und shutdown restart????
Hab jetzt gerade folgendes getestet:
define di_AZ.TempCritPush DOIF ([+00:05]) (pushmsg)
([Sensor_1_AZ:temperature] > 20)
(set pushmsg msg 'Temperatur' 'Es hat [Sensor_1_AZ:temperature] Grad ' '' 0 '')
Und bekomme die Meldung dass ein DOELSE benötigt wird. Das ist aber in der Doku bei "Relativer Zeitangabe" nicht....
Stelle mich leider an wie der erste Mensch. Zähle auf eure Unterstützung
Herzlichen Dank
glG Helmut
Nein, du verwendest DOIF nicht korrekt. Verzögerungen werden über ein Attribut gesteuert. Bitte lies die Doku.
Bei weiteren Fragen zu DOIF solltest du ein eigenes Thema dazu aufmachen, da es sich hier nicht um eine direkte Pushover Frage handelt.
@Loredo
Hast du vor in nächster Zeit deine eigene Version als zusätzliches Modul einzuchecken? Ich hab deine Variante kurz ausprobiert und war begeistert. Beim nächsten Update wurde die Version natürlich wieder durch das Original ersetzt...
Bevor ich jetzt meine ganzen Definitionen ändere, würde ich eigentlich gerne auf eine "offizielle" Version warten :-) Hast du das schon irgendwas geplant? Oder gibt es dann vielleicht sogar die Möglichkeit das vorhandene Modul schneller zu ersetzen?
Gruß Firetic
Ich habe hier (http://forum.fhem.de/index.php/topic,40404.0.html) mal einen "Antrag" gestellt das Modul einchecken zu dürfen.
Ok -Super :-D
Danke für die Info - dann werde ich mal abwarten was sich da in nächster Zeit tut...
ist eingecheckt
ist eingecheckt
Hallo, seit dem heutigen Update funktioniert mein Pushover Modul nicht mehr. Ich bekomme folgende Fehlermeldung:
5YjS5VAXd6YzaZGWdTTkSmeiXqaMP5 does not seem to be a valid user or group token
.
Mit dem alten Modul klappt alles....
Beste Grüße
Jürgen K.
Hm, dein Token scheint nicht mit u oder g zu beginnen. Ich hatte die API Dokumentation so verstanden, dass dies der Fall wäre und man daran user oder group Token unterscheiden kann (bei all meinen ~12 Token trifft dies auch zu!). Ist dieser Token schon sehr alt und wenn du einen neuen generierst, beginnt er dann mit u oder g?
Hallo Danke Für die schnelle Antwort.
Hier mein Token:
aDePv2VjtxSuZCD2FYxxxxxxxxxxxxx
Gruß
Jürgen K.
Edit: Habe mal einen neuen Token generiert. der beginnt auch mit a .
danke. das ist der App Token (deshalb beginnt er mit a). Die Meldung besagte aber, dass der User/Group Token nicht korrekt ist. Diesen hattet du ja schon gepostet. Ich kann aber mit beidem nichts anfangen.
tja SORRY..dann nehme ich eben die"alte" Version..
Danke
Jürgen
EDIT: Soo, habe einen neuen Account angelegt. Jetzt klappt´s auch mit dem neuen Modul
schon seltsam das.
Ich habe vorhin aber schon den Check abgemildert und eine neue Version eingecheckt. Es gibt ja auch noch die Validierung durch die Pushover API selbst, deren Rückmeldung auch als Reading angezeigt wird.
Für mich ist das jetzt so ok. Habe den bisherigen Account gelöscht.War auch schon etwas älter.. Die Konfiguration des neuen Accounts war ja nicht dramatisch. Danke nochmals.
Gruß
Jürgen
Hallo,
seit dem Update läuft das neue Pushover-Modul bei mir nicht mehr, weil es eine Abhängigkeit zu JSON.pm gibt. Da mein FHEM auf einer Synology Diskstation läuft, ist es nicht so einfach dort JSON zu installieren.
Besteht die Möglichkeit, die Abhängigkeit zu JSON aufzuheben? Oder - sofern JSON nicht installiert ist - das Modul auf die alte Funktionalität zu beschränken? Die hat mir eigentlich ausgereicht.
Viele Grüße,
Alex
Bekommen seit dem Update, beim senden von Nachrichten ohne Titel, die Fehlermeldung:
"Please define the default title in the pushover device arguments."
obwohl ich das Attribut "title" gesetzt habe.
Hi,
ich habe das gleiche Problem mit dem title seit der neuen Modulversion.
Gruß
André
Gleiches bei mir. Beim setzten eines individuellen Titels während im set-Befehl wird eine Nachricht versendet. Ohne diesen kommt die Meldung:
Please define the default title in the pushover device arguments.
obwohl das attr gesetzt ist.
Nachtrag:
Hab grad bemerkt, dass auch das default device ignoriert wird und eine "einfache" Nachricht mit Titel und Text an alle registrierten Geräte versendet wird.
Ein flotter Fix wäre sehr vorteilhaft.
Ist bisher keinem Tester aufgefallen ;)
Habe gerade einen Fix eingecheckt.
Super, das ging ja schnell.
Weiß jemand wie lange es ungefähr dauert bis der Fix beim Update Check registriert wird?
Morgen früh ab ~0800
Danke :)
Funktioniert wieder, vielen Dank!
Gruß
André
Hab's auch mal manuell geladen und kann ebenfalls bestätigen, dass beide Fehler behoben sind.
DANKE
Hi,
kannst Du eventuell ein kurzes Beispiel für die Verwendung von infix / callbackUrl geben? Irgendwie klappt das nicht so wie ich mir das dachte.
Danke!
Gruß
André
Hallo Loredo,
Die Verwendung eines % im Text funktioniert leider auch noch nicht. Ich habe gesehen, dass ein UrlEncode drin ist, aber anscheinend nicht an allen notwendigen Stellen.
Gruß
Veit
Ich habe gerade nochmals eine aktualisierte Version eingecheckt, die ohne Perl::JSON die alte Funktionalität erhält (das Error-Handling ist dann so eingeschränkt wie es früher auch war). Die neuen Funktionen brauchen Perl::JSON.
Das urlEncoding ist auch erweitert.
Zitat von: Andre am 28 August 2015, 15:12:01
kannst Du eventuell ein kurzes Beispiel für die Verwendung von infix / callbackUrl geben? Irgendwie klappt das nicht so wie ich mir das dachte.
Das Define hast du entsprechend geändert und den infix angefügt?
Also:
define msgPush_Julian Pushover khlgjgoiugouhliuho gkjgkzgiuzgtuzgiuzt pushCallback
Danach ist der Callback erreichbar unter http://127.0.0.1:8083/fhem/pushCallback (http://127.0.0.1:8083/fhem/pushCallback)
Das ist exakt gleich wie beim GEOFANCY Modul. Ich empfehle eine abgesicherte Konfiguration wie sie auch für das GEOFANCY Modul im Wiki beschrieben steht.
Das Attribut callbackUrl muss dann auf die URL gesetzt werden, mit der FHEM dann von außen erreichbar ist.
Also z.B. https://meindyndns.org/webhook/pushCallback (https://meindyndns.org/webhook/pushCallback).
pushCallback sollte hier mit dem gesetzten infix überein stimmen. Es kann aber je nach Art, wie man FHEM nach außen erreichbar macht, auch abweichen (z.B. wenn ein Reverse-Proxy eine andere URL nach außen bereitstellt und es an die interne weiterleitet).
Eine URL schickt man dann so:
set msgPush_Julian msg 'Testnachricht' 'Klick mal auf diese URL' '' 0 '' 0 3600 'Hier klicken' 'http://www.example.com/'
Eine Mobilgeräte-Interne URL geht auch (in diesem Fall gibts keine Callback Readings in FHEM):
set msgPush_Julian msg 'Testnachricht' 'In diesem Programm gehts weiter' '' 0 '' 0 3600 'Programm öffnen' 'program://'
Eine Emergency Nachricht sähe so aus:
set msgPush_Julian msg 'Wichtige Testnachricht' 'Es ist was schlimmes passiert, bitte bestätigen' '' 2 '' 120 3600
Eine Emergency Nachricht mit URL so:
set msgPush_Julian msg 'Wichtige Testnachricht' 'Es ist was schlimmes passiert, bitte bestätigen.' '' 2 '' 120 3600 'Weitere Infos ansehen' 'http://www.example.com/'
Supi, jetzt funktioniert auch %. Vielen Dank.
Zitat von: Loredo am 28 August 2015, 18:17:35
Ich habe gerade nochmals eine aktualisierte Version eingecheckt, die ohne Perl::JSON die alte Funktionalität erhält (das Error-Handling ist dann so eingeschränkt wie es früher auch war). Die neuen Funktionen brauchen Perl::JSON.
Super, Danke dass Du dran arbeitest :-)
Habe das Modul upgedatet, aber weiter JSON Probleme:
2015.08.30 18:03:25 0: Can't locate JSON.pm in @INC (you may need to install the JSON module) (@INC contains: /usr/lib/perl5/site_perl /usr/share/perl5/site_perl /usr/lib/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib/perl5/core_perl /usr/share/perl5/core_perl . /usr/local/FHEM/share/fhem/FHEM) at /usr/local/FHEM/share/fhem/FHEM/70_Pushover.pm line 350.
BEGIN failed--compilation aborted at /usr/local/FHEM/share/fhem/FHEM/70_Pushover.pm line 350.
Als ich sicherstellen wollte, dass ich die richtige Version installiert habe ist aufgefallen, dass das Modul gar nicht auftaucht, wenn ich version eingebe. Ich vermute mal, dass das durch Einfügen von $Id behoben werden kann, ähnlich wie z.B. beim CUL_HM Modul:
# $Id: 10_CUL_HM.pm 9168 2015-08-30 13:45:07Z martinp876 $
Kannst du in Zeile 350 mal das "use" in "require" umändern?
Ja, mit require läuft's auch ohne JSON :)
Dank Dir!
Danke! Hab eine gefixte Variante eingecheckt.
Ich habe noch etwas hinzugefügt:
1. Der Status wird jetzt alle 10 Minuten geprüft. Das heißt ein Device, welches wegen fehlender Internet-Verbindung mal auf "disconnected" schaltet, geht dann wieder auf "connected". Außerdem wird die Device-Liste dadurch aktualisiert und falls der APP-Token oder die User-ID ungültig werden sollte, dann merkt man das auch sehr schnell.
2. Es gibt ein Reading "available", welches zwischen 1 und 0 wechselt, je nachdem ob man gerade Nachrichten verschicken kann oder nicht ("state" ist komplexer und für eine solche Abfrage nicht geeignet). Ich brauchte das Reading für eine verlässliche Aussage für die schon erwähnten FHEM msg-Befehle und mache auf dieser Grundlage einen Fallback auf E-Mail.
Gruß
Julian
Das Update von heute früh hat mir keine Versionsnr. angezeigt. Scheinbar ist die Ergänzung von $Id im SVN nicht angekommen:
http://sourceforge.net/p/fhem/code/9174/
"70_Pushover: set Id keyword" meldet "Empty file"
Ein set Id keyword wird da nicht helfen, da es laut History in svn in 70_Pushover noch nie eine $Id Zeile gab. Damit hat auch ein gesetztes Keyword keinen Anker wo es landen könnte.
Das müsste Loredo dann noch einbauen.
Ist schon lange drin.
EDIT: Ah Pardon, andere Module. Hier noch nicht, aber jetzt ;)
Zitat von: volschin am 29 August 2015, 15:30:06
Supi, jetzt funktioniert auch %. Vielen Dank.
Weiß jemand wie ich jetzt einen Zeilenumbruch einfüge? Bisher habe ich das mit %0A gemacht, aber nun wird %0A ausgegeben (ohne Zeilenumbruch).
%%0A \%0A \\%0A \n \\n hab ich schon probiert.
Du könntest ein br tag nehmen. Das Modul kann ja jetzt HTML.
Ich habe gerade mal versucht eine Interaktion via pushover zu senden!
Folgende Fehlermeldung habe ich erhalten!
2015.09.02 21:00:03.383 1: PERL WARNING: Use of each() on hash after insertion without resetting hash iterator results in undefined behavior, Perl interpreter: 0x7e008 at ./FHEM/70_Pushover.pm line 761.
2015.09.02 21:00:03.384 3: stacktrace:
2015.09.02 21:00:03.385 3: main::__ANON__ called by ./FHEM/70_Pushover.pm (761)
2015.09.02 21:00:03.386 3: main::Pushover_SetMessage called by ./FHEM/70_Pushover.pm (172)
2015.09.02 21:00:03.387 3: main::Pushover_Set called by fhem.pl (3051)
2015.09.02 21:00:03.388 3: main::CallFn called by fhem.pl (1531)
2015.09.02 21:00:03.389 3: main::DoSet called by fhem.pl (1561)
2015.09.02 21:00:03.389 3: main::CommandSet called by fhem.pl (1042)
2015.09.02 21:00:03.390 3: main::AnalyzeCommand called by fhem.pl (913)
2015.09.02 21:00:03.392 3: main::AnalyzeCommandChain called by ./FHEM/01_FHEMWEB.pm (2068)
2015.09.02 21:00:03.392 3: main::FW_fC called by ./FHEM/01_FHEMWEB.pm (672)
2015.09.02 21:00:03.393 3: main::FW_answerCall called by ./FHEM/01_FHEMWEB.pm (435)
2015.09.02 21:00:03.394 3: main::FW_Read called by fhem.pl (3056)
2015.09.02 21:00:03.395 3: main::CallFn called by fhem.pl (651)
Aufruf wie in der CommandRef angegeben!
das sieht nach einer verhunzten FHEM Installation aus.
Hallo,
pushover erlaubt doch das gezielte Versenden an ein bestimmtes Device. Wenn ich ein einfaches "set pushmsg msg 'title' 'message' " mache, wird es an alle registrierten Geräte gesendet. Der Wiki-Eintrag sagt, dass es für gezielte Pushnachrichten folgendermaßen aussehen soll:
set pushmsg msg 'title' 'message' 'device' 'priority' 'sound' . Allerdings funktioniert das bei mir nicht. Wenn ich das Device mit angebe, wird es trotzdem an alle Empfänger geschickt.
Was mache ich falsch?
Gruß
Michael
Zitat von: Loredo am 02 September 2015, 22:20:07
das sieht nach einer verhunzten FHEM Installation aus.
Hm das kann ich nicht glauben, denn sonst funktioniert ja alles! Ich schaue mal weiter!
Zitat von: richberry22 am 02 September 2015, 23:35:17
set pushmsg msg 'title' 'message' 'device' 'priority' 'sound' . Allerdings funktioniert das bei mir nicht. Wenn ich das Device mit angebe, wird es trotzdem an alle Empfänger geschickt.
Die Syntax ist an dieser Stelle nicht wirklich optimal, deshalb überlege ich noch immer die zu ändern (und deshalb womöglich ein Modul "Pushover2" draus zu machen).
Funktionieren tut es so:
set msgPush.Julian msg 'title' 'message' 'device' 0 'sound'
Entscheidend dabei ist, dass die Priorität hier NICHT in einfache Hochkomma darf, damit sie erkannt wird.
Zitat von: Loredo am 03 September 2015, 16:07:28
Die Syntax ist an dieser Stelle nicht wirklich optimal, deshalb überlege ich noch immer die zu ändern (und deshalb womöglich ein Modul "Pushover2" draus zu machen). Funktionieren tut es so:
set msgPush.Julian msg 'title' 'message' 'device' 0 'sound'
Entscheidend dabei ist, dass die Priorität hier NICHT in einfache Hochkomma darf, damit sie erkannt wird.
Jo. Das funktioniert. Danke Dir vielmals!
Ich verstehe leider immer noch nicht, wie ich zB den Status eins Dummys mittels Pushover ändern kann. Folgendes habe ich bereits gemacht:
- WEBhook angelegt, wie hier beschrieben: http://www.fhemwiki.de/wiki/Anwesenheitserkennung#Das_GEOFANCY_Modul (http://www.fhemwiki.de/wiki/Anwesenheitserkennung#Das_GEOFANCY_Modul), habe aber zum Testen Basic Auth erst mal weggelassen. Komme auch von außen mittels meiner DynDNS:Port/webhook/ auf FHEM
- Beim Pushover Modul habe ich pushCallback an die Definition angehängt, FHEM darauf: Registering Pushover for webhook URI /pushCallback ...
scheint also auch zu funktionieren
- Die Callback URL habe ich auch angelegt in Form von https://MEINEDYNDS:8087/webhook/pushCallback
(natürlich ist MEINEDYNDS nur ein Platzhalter und die richtige URL steht dort ;)
- Jetzt sende ich eine Nachricht mittels FHEM, wie in der Commandref beschrieben: set Pushover1 msg 'Titel' 'Test' 'HA_Ede' 0 '' '' 3600 'Ausführen' 'set Test off'
- Die Nachricht kommt auf meinem Handy an und ich kann auf "Ausführen" klicken, allerdings kommt immer die Fehlermeldung, dass dafür kein Programm angelegt sei.
1) Wo genau befindet sich denn nun mein Denkfehler?
2) Kann man mit der CallbackUrl nur Nachrichten mit Priorität bestätigen und was genau heißt das?
3) Kann man überhaupt FHEM mittels Pushover Nachrichten Befehle übermitteln, wenn ja wie?
Vielleicht kann mir ja jemand helfen :)
EDIT:
Ich habe jetzt mal ein wenig damit weiter gespielt und versucht und festgestellt, dass man theoretisch ein Befehl über die URL senden könnte, wenn man diese in folgender Form anhängt:
set Pushover1 msg 'Titel' 'Test' 'HA_Ede' 0 '' 120 300 'Ausführen' 'https://XXXXXXXXX:8087/fhem?cmd.Test=set%20Test%20off&'
Allerdings scheint das ; ein Problem zu sein, dass sich die Nachricht nicht versenden lässt.
Es gab ein paar Stolpersteine, die ich gerade per Commit behoben habe (ab morgen per Update).
Außerdem ist bei der Nutzung der Supplementary-URL ohne Emergency trotzdem ein Zahlenwert für <retry> anzugeben (die Notation ist nunmal historisch einfach so):
set Pushover1 msg 'Titel' 'Test' 'HA_Ede' 0 '' 0 3600 'Ausführen' 'set Test off'
Zum Thema "Wofür ist Priority/Emergency Callback gut", siehe Pushover API Doku. Es geht dabei darum den Alarm zu bestätigen und die wiederholte Erinnerung zu beenden. Diese Bestätigung erhält auch FHEM als Event zurück.
super, jetzt funktioniert es ohne Probleme. Danke :)
EDIT:
Muss mich korrigieren. Kann jetzt bei einer normalen Meldung ein Befehl ausführen. Bei einer Alarmmeldung kommt allerdings folgender Fehler:
NOK unable to fing exisiting receipt 1442328400
Denke die Nummer ist wohl die Nummer der Pushoversendung, da diese auch in den Readings auftaucht:
available
1
2015-09-15 15:44:24
cbAck_1442328400
1
2015-09-15 15:47:23
cbAct_1442328400
executed: set Kamera stream
2015-09-15 15:47:23
cbDev_1442328400
HA_Ede
2015-09-15 15:46:41
cbMsg_1442328400
Folgender Kontakt wurde geöffnet: Test
2015-09-15 15:46:41
cbPrio_1442328400
2
2015-09-15 15:46:41
cbTitle_1442328400
Alarm Meldung
2015-09-15 15:46:41
cb_1442328400
rbbBoa3ere7KHaXZqCxtHH6aU2KbX3
2015-09-15 15:46:41
lastAction
set Kamera stream
2015-09-15 15:46:41
lastDevice
HA_Ede
2015-09-15 15:46:41
lastMessage
Folgender Kontakt wurde geöffnet: Test
2015-09-15 15:46:41
lastPriority
2
2015-09-15 15:46:41
lastRequest
17a1fbae5da4237fbe758d0041f6ecab
2015-09-15 15:46:41
lastResult
ok
2015-09-15 15:46:41
lastTitle
Alarm Meldung
2015-09-15 15:46:41
state
connected
2015-09-15 15:44:24
Interessant ist, dass ich den Befehl trotzdem ausführen kann, wenn ich zuerst den Alarm bestätige und dann auf "Ausführen" klicke. Es kommt zwar weiterhin der o.g. Fehler, aber der Kamera Dummy wird auf Stream gesetzt.
EDIT2:
Die Kamera wird auf Stream gesetzt mit dem Auführen des Bestätigen der Alarmmeldung, daher kann ich danach nicht mehr auf "Ausführen" klicken, weil es das quasi nicht mehr gibt. Jetzt habe ich es verstanden. Ist zwar leicht verwirrend gewesen, weil man ja quasi dazu verleitet wird über den Link die Kamera zu starten, aber ok :)
Die erzeugten Readings für das Callback sind u.U. noch nicht final.
Ich hätte hier auch gerne Rückmeldung inwiefern sie sich gut oder schlecht fürs Triggern eignen. Hintergrund dazu: Die Readings werden dynamisch erzeugt und beinhalten auch einen dynamischen Namen. Außerdem muss man vermutlich in seiner Programmlogik irgendwie wissen, dass man vorher eine Nachricht mit einem bestimmten Inhalt abgeschickt hat und dass man nun darauf eine Reaktion des Users erhalten hat. Ggf. möchte man ja nun z.B. den Sirenen-Alarm wieder ausschalten (eben implizit statt explizit mittels Supplementary URL). Für diese Gedankenspiele und Experimente hatte ich noch keine Zeit. Wer also damit herum testet ist herzlich eingeladen hier Rückmeldungen zu geben.
Interessant. Da ich Emergency Callback vom Handy nutze, schaue ich mir das mit der Rückmeldung mal demnächst an.
hallo :)
nach meinem Umzug auf mac bekomme ich folgende Meldung Kamm mir da jemand helfen danke im voraus !!!
2015.09.19 14:43:58 4: Pushover WhiteCastel: Found 5 argument(s)
2015.09.19 14:43:58 4: Pushover WhiteCastel: title='Briefkasten' message='Post ist da.'
2015.09.19 14:43:58 4: Pushover WhiteCastel: device='' priority=0 sound=''
2015.09.19 14:43:58 5: Pushover WhiteCastel: called function Pushover_SendCommand()
2015.09.19 14:43:58 4: Pushover WhiteCastel: REQ messages.json/title=Briefkasten&message=Post ist da.&priority=0&token=adh9GFNuoqG9axTPPA2Bq5uycHm928&user=ucZJT5qcAD6X8N4HhiQCRejCHyvGHr
2015.09.19 14:43:58 5: Pushover WhiteCastel: GET https://api.pushover.net:443/1/messages.json (POST DATA: title=Briefkasten&message=Post ist da.&priority=0&token=adh9GFNuoqG9axTPPA2Bq5uycHm928&user=ucZJT5qcAD6X8N4HhiQCRejCHyvGHr, noshutdown=1)
2015.09.19 14:43:59 5: Pushover WhiteCastel: called function Pushover_ReceiveCommand()
2015.09.19 14:43:59 4: Pushover WhiteCastel: RCV messages.json/title=Briefkasten&message=Post ist da.&priority=0&token=adh9GFNuoqG9axTPPA2Bq5uycHm928&user=ucZJT5qcAD6X8N4HhiQCRejCHyvGHr
2015.09.19 14:43:59 5: Pushover WhiteCastel: RES ERROR messages.json/title=Briefkasten&message=Post ist da.&priority=0&token=adh9GFNuoqG9axTPPA2Bq5uycHm928&user=ucZJT5qcAD6X8N4HhiQCRejCHyvGHr
<html>
<head><title>400 The plain HTTP request was sent to HTTPS port</title></head>
<body bgcolor="white">
<center><h1>400 Bad Request</h1></center>
<center>The plain HTTP request was sent to HTTPS port</center>
<hr><center>nginx</center>
</body>
</html>
mfg martin
Hast Du keine Perl-ssl installiert?
hallo :)
IO::Socket::SSL dieses Modul ist drauf brauche ich ein anderes ?
wie gesagt geht um osx
Hallo zusammen,
wenn ich die aktuelle Ankündigung richtig verstehe, funktioniert ab sofort nur noch SSL, oder?
http://updates.pushover.net/post/126918128857/api-upcoming-upgrade-to-sha256-ssl-certificate
Ich habe heute ein Update von FHEM gemacht und Pushover läuft nicht mehr auf der Fritzbox. :(
Ich habe versucht die 70_Pushover.pm anzupassen und auf Port 80 umzustellen (Zeile 183), trotzdem Fehler.
Fehlermeldung im FHEM ist nachfolgende:
lastResult: Error: this API request must be done over SSL (https://api.pushover.net/).
Hat jemand eine Idee, wie ich das auf der Fritzbox wieder zum Laufen bekomme? Danke vorab!
Nein.
Die Meldung besagt, dass sich der Hashing Algorithmus für die Verschlüsselung ändert, nicht dass jetzt nur noch verschlüsselt angefragt werden kann. Letzteres war nämlich schon immer so, weshalb auch seit der Umstellung des FHEM Moduls auf Non-Blocking das HTTPS-Attribut schlichtweg weggefallen ist und das Modul ausschließlich HTTPS macht.
Ich vermute stark, dass eure Perl Installationen hier mit SHA256 Schwierigkeiten haben. Da gibt es leider keine andere Lösung als eure Perl Umgebung auf den neusten Stand zu bringen.
irgendwie ist die commandref falsch das modul teilt die optionen nicht richtig oder ich hab was falsch. ich will im doif eine nachricht nur an das device iphone senden. es wird aber immer an alle gesendet.
commandref
Zitatset <Pushover_device> msg [title] <msg> [<device> <priority> <sound> [<retry> <expire> [<url_title> <action>]]]
Beispiel
code
set PushMsg msg 'topic' 'text' 'iPhone'
gebt ich das in befehlsfenster ein sendet er auch an alle, an doif liegt es wohl nicht
Ich meine wenn ein Device angegeben ist muss auch priority und Sound angegeben werden.
das ist korrekt
Sent from my iPhone using Tapatalk
kann mir da mal jemand helfen? :-[ http://forum.fhem.de/index.php/topic,42030.msg343624.html#msg343624
Der Test hat funktioniert:
define pushovertest at +*00:01:00 {\
my $temp=ReadingsVal("tempinnen", "temperature", "0");;\
fhem("set Pushover msg 'Temperatur' 'Außentemperatur betraegt $temp Grad' '' 0 '' ");;\
}
Jetzt möchte ich gerne eine Push für die Türklingel erhalten:
define FS20_19e600 FS20 0000 00
attr FS20_19e600 IODev CUL1
attr FS20_19e600 room Flur
define FileLog_FS20_19e600 FileLog ./log/FS20_19e600-%Y.log FS20_19e600
attr FileLog_FS20_19e600 logtype text
attr FileLog_FS20_19e600 room FS20
define FS20_19e601 FS20 0000 01
attr FS20_19e601 IODev CUL1
attr FS20_19e601 room Flur
define FileLog_FS20_19e601 FileLog ./log/FS20_19e601-%Y.log FS20_19e601
attr FileLog_FS20_19e601 logtype text
attr FileLog_FS20_19e601 room FS20
Hallo Loredo,
ich habe seit längerem mal wieder ein Update durchgeführt.
Jetzt habe ich leider ein kleines Problem mit dem Pushover-Modul.
Normalerweise schicke ich direkt beim Start von FHEM eine Pushover-Message auf mein Handy, um mir genau diesen Sachverhalt mitzuteilen. Allerdings steht bei mir nach einem FHEM-Neustart das Pushover-Device erst mal auf disconnected und geht erst nach den ca. 10 Minuten Wartezeit auf connected, oder wenn ich die DEF "modifiziere"
Dann allerdings funktioniert alles so, wie es soll.
Eine Idee, wo hier das Problem liegt?
Danke und Gruß
Benni.
Nach einem Neustart wartet das Modul ein paar Sekunden, bis es die Pushover Verbindung prüft und der Status dann auf connected wechselt. Danach wird zyklisch geschaut, ob die Zugangsdaten noch stimmen.
Nachrichten können allerdings auch im Status disconnected verschickt werden. Es ist dann aber lediglich ein Versuch, der eben bei zB abgelaufenen Zugangsdaten oder einer fehlerhaften Netzwerkverbindung nicht ausgeführt werden kann.
Ich selbst schicke auch eine Pushover Nachricht nach einem Neustart über ein Doif, das funktioniert hier problemlos. Allerdings macht es Sinn, den Versand auch hier etwas zu verzögern, weil während des Starts doch erhebliche Vorgänge laufen können und man die Last so besser verteilt. Die Verzögerung ist ja bei Doif ganz einfach, aber auch ein Watchdog sollte gehen.
Gruß
Julian
Ich hab jetzt auch mal noch eine Verzögerung von 15 Sekunden eingebaut, allerdings mit einem simplen AT.
Jetzt klappt dann das Versenden beim FHEM-Startup auch bei mir wieder
Danke dir für den Hinweis!
Gruß Benni.
PS: Irgendwann muss ich mich auch mal noch mit DOIF beschäftigen ;)
Ich habe in einer erweiterten Version die API Nutzung optimiert. Dies wurde notwendig, da die Pushover Betreiber mich diesbezüglich angeschrieben haben (u.a. weil die Zugangsdaten zu häufig validiert würden).
Beiliegende Version sollte bitte getestet werden, bevor ich sie ins SVN einchecke. Feedback dazu dann gerne hier.
Was hat sich geändert:
- User key und App token werden nach (re)define reprüft, nicht jedoch nach einem Neustart, solange diese zuvor bereits erfolgreich geprüft wurden
- Bei falschen Userdaten weden diese nicht mehr automatisch/zyklisch erneut geprüft. Erst nach einem Modify werden die Daten erneut geprüft, da angenommen wird, dass diese dann korrigiert wurden
- Die Rückmeldung bei Senden einer Nachricht, ob ein Token oder Key nicht mehr gültig ist, wird ausgewertet
- Es lassen sich keine Nachrichten verschicken, wenn Token oder Key nicht erfolgreich geprüft wurden
- die API Limits werden ausgelesen und beachtet; der Status kann dazu auf "limited" wechseln
- Nachrichten lassen sich trotz Status "disconnected" oder "limited" senden (das Reading "available" ist dann auf 0). Es ist zwar anzunehmen, dass die Nachricht nicht erfolgreich verschickt werden kann, es bleibt aber Sache des Users das Reading "available" vor einem Versand entsprechend zu beachten oder nicht (--> hier ließen sich noch mehr API Calls einsparen, ich habe jedoch erstmal zu Gunsten der FHEM Community darauf verzichtet)
- Wenn innerhalb von 6h keinerlei Nachricht verschickt wurde, wird einmalig geprüft, ob die Zugangsdaten noch gültig sind. Ansonsten reicht das erfolgreiche versenden einer Nachricht aus.
2015.11.01 10:59:19.114 3: set pushmsg msg 'fhem' '10:59:19: [info] NAS Platten aktiv!' '' 0 '' : Unable to send message: User key is invalid
2015.11.01 10:59:19.284 3: [sendmsg] - [MSG] 10:59:19: [info] NAS Platten aktiv!
Klappt bei mir nicht!
Das spricht zunächst einmal dafür, dass der User Key von der Pushover-API als nicht korrekt zurückgemeldet wurde (siehe auch Reading "lastResult").
Es scheint als wenn ältere User Keys durch die API nicht immer validiert werden können. In diesen Fällen hat es Leuten hier schon geholfen einen neuen User Key zu generieren.
Du kannst auch mal mit verbose=5 mitloggen was passiert.
@P.A.Trick:Ich vermute der Fehler kommt bei dir daher, dass du FHEM nicht neu gestartet hast, nachdem du das Modul eingespielt hast. Dadurch gibt es die neuen Readings noch nicht und der Default ist, dass dann angenommen wird, dass der User key noch nicht geprüft wurde bzw. somit nicht korrekt ist.
Da ich sonst keine Beschwerden hier höre, checke ich das Modul nun ein.
An alle Nutzer:
Das Update sollte ab morgen möglichst von jedem zeitnah eingespielt werden, um den Pushover Betreibern entgegen zu kommen und weniger Last auf deren Servern zu erzeugen.
Ist die Community der Nutzer hier so groß, dass das tatsächlich einen merkbaren Unterschied auf deren Servern macht?
Beeindruckt, Christian
Zitat von: Motivierte linke Hände am 03 November 2015, 15:07:58
Ist die Community der Nutzer hier so groß, dass das tatsächlich einen merkbaren Unterschied auf deren Servern macht?
Offenbar ist dem so.
Zitat von: Loredo am 03 November 2015, 15:02:16
@P.A.Trick:Ich vermute der Fehler kommt bei dir daher, dass du FHEM nicht neu gestartet hast, nachdem du das Modul eingespielt hast. Dadurch gibt es die neuen Readings noch nicht und der Default ist, dass dann angenommen wird, dass der User key noch nicht geprüft wurde bzw. somit nicht korrekt ist.
Da ich sonst keine Beschwerden hier höre, checke ich das Modul nun ein.
Hm das kann sein! Ich hatte nur ein reload gemacht ;-/ Ok das wird dann morgen sicher funktionieren!
Ich habe gerade ein Update eingecheckt, welches es ermöglicht, dass man als Device auch einen User oder Group Key angeben kann. Dieser wird dann statt dem Key aus dem define verwendet.
Somit muss man nicht zwangsläufig für jeden einzelnen Empfänger ein eigenes Pushover Device anlegen, sondern kann ein Device anlegen und alle damit adressieren. Wer dann trotzdem noch ein tatsächliches Device angeben will, kann es mit Doppelpunkt abgetrennt an den User Key anhängen.
Beispiele:
# senden an einen anderen User/Group Key als im Define vom Gerät "Pushover"
set Pushover msg 'System Message' 'Testnachricht' 'uAJYUbbFqwsm8xhZgvktKkh9YgwTRJ' 0 ''
# senden an ein spezielles Gerät des Nutzers
set Pushover msg 'System Message' 'Testnachricht' 'uAJYUbbFqwsm8xhZgvktKkh9YgwTRJ:Geraetename' 0 ''
Um trotzdem nicht überall in seinen Automationen den User Key mehrfach zu hinterlegen (und dort ggf. pflegen zu müssen), empfiehlt es sich einmal einen Blick auf das msg-Kommando (http://forum.fhem.de/index.php/topic,39983.0.html) zu werfen und den Userkey dort in einem msgContactPush Attribut in der Form "Pushover:uAJYUbbFqwsm8xhZgvktKkh9YgwTRJ" zentral zu hinterlegen.
Hallo, ich habe das Pushover Modul installiert und es ging genau eine Nachricht, aber jetzt habe ich das im Log:
2015.11.09 16:14:48 4: FHEMWEB:192.168.1.37:12670 POST /fhem&detail=Pushover1&dev.setPushover1=Pushover1&cmd.setPushover1=set&arg.setPushover1=msg&val.setPushover1=%27test%27; BUFLEN:0
2015.11.09 16:14:48 5: Cmd: >set Pushover1 msg 'test'<
2015.11.09 16:14:48 4: Pushover Pushover1: Found 1 argument(s)
2015.11.09 16:14:48 4: Pushover Pushover1: message='test'
2015.11.09 16:14:48 5: Pushover Pushover1: called function Pushover_SendCommand()
2015.11.09 16:14:48 4: Pushover Pushover1: REQ messages.json/title=Information&message=test&priority=0&token=axxxxxxxxxxxxxxxnTaumVAxsF&user=uSxxxxxxxxxxxeZj
2015.11.09 16:14:48 5: Pushover Pushover1: GET https://api.pushover.net:443/1/messages.json (POST DATA: title=Information&message=test&priority=0&token=abPbxxxxxxxxxxAxsF&user=uSnFVxxxxxxxxxxeZj, noshutdown=1)
2015.11.09 16:14:48 4: HttpUtils url=https://api.pushover.net:443/1/messages.json
2015.11.09 16:14:48 5: Triggering Pushover1 (1 changes)
2015.11.09 16:14:48 5: Notify loop for Pushover1 msg 'test'
2015.11.09 16:14:48 4: FHEMWEB:192.168.1.37:12670 GET /fhem?detail=Pushover1; BUFLEN:0
2015.11.09 16:14:48 4: name: /fhem?detail=Pushover1 / RL:2579 / text/html; charset=UTF-8 / Content-Encoding: gzip
/
2015.11.09 16:14:51 5: Pushover Pushover1: Received HttpUtils callback:
PARAM:
$VAR1 = {
'hu_blocking' => 0,
'callback' => sub { "DUMMY" },
'displayurl' => 'https://api.pushover.net:443/1/messages.json',
'noshutdown' => 1,
'sslargs' => {},
'NAME' => '',
'path' => '/1/messages.json',
'type' => {
'priority' => 0,
'title' => 'Information',
'action' => '',
'retry' => '',
'url_title' => '',
'expire' => '',
'sound' => '',
'device' => '',
'message' => 'test'
},
'cmd' => 'title=Information&message=test&priority=0&token=axxxxxxxxxxsF&user=uSxxxxxxxxxxxxxxeZj',
'redirects' => 0,
'data' => 'title=Information&message=test&priority=0&token=axxxxxxxxxxxxxxxsF&user=uSxxxxxxxxxxxxxxxxxxeZj',
'addr' => 'https://api.pushover.net:443',
'loglevel' => 4,
'timeout' => 3,
'protocol' => 'https',
'service' => 'messages.json',
'url' => 'https://api.pushover.net:443/1/messages.json',
'hash' => {
'VALIDATION_TIMER' => '1447057174.25499',
'NAME' => 'Pushover1',
'STATE' => 'disconnected',
'DEF' => 'axxxxxxxxxxxxxxxxxxxxxxsF uxxxxxxxxxxxxxxxxxxxxxxxxxxeZj',
'USER_KEY' => 'uxxxxxxxxxxxxxxxxxxxxxxxxxxxeZj',
'APP_TOKEN' => 'axxxxxxxxxxxxxxxxxxxxxxxxxxxxsF',
'READINGS' => {
'available' => {
'TIME' => '2015-11-09 16:14:18',
'VAL' => '0'
},
'state' => {
'TIME' => '2015-11-09 16:14:18',
'VAL' => 'disconnected'
}
},
'NR' => 95,
'TYPE' => 'Pushover'
},
'host' => 'api.pushover.net',
'conn' => undef
};
ERROR:
$VAR1 = 'https://api.pushover.net:443/1/messages.json: Can\'t connect(2) to https://api.pushover.net:443: SSL wants a read first';
DATA:
$VAR1 = '';
2015.11.09 16:14:51 4: Pushover Pushover1: RCV TIMEOUT messages.json/title=Information&message=test&priority=0&token=axxxxxxxxxxxxxxxxxxxxsF&user=uxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxeZj
2015.11.09 16:14:51 4: FHEMWEB:192.168.1.37:12670 GET /fhem?cmd={ReadingsVal(%22Pushover1%22,%22msg%22,%22%22)}&XHR=1; BUFLEN:0
2015.11.09 16:14:51 5: Cmd: >{ReadingsVal("Pushover1","msg","")}<
2015.11.09 16:14:51 4: name: /fhem?cmd={ReadingsVal(%22Pushover1%22,%22msg%22,%22%22)}&XHR=1 / RL:21 / text/plain; charset=UTF-8 / Content-Encoding: gzip
/
2015.11.09 16:14:51 4: Connection accepted from FHEMWEB:192.168.1.37:12678
2015.11.09 16:14:51 4: Connection closed for FHEMWEB:192.168.1.37:12670: EOF
2015.11.09 16:14:51 4: Connection accepted from FHEMWEB:192.168.1.37:12679
2015.11.09 16:14:51 4: FHEMWEB:192.168.1.37:12678 GET /fhem?cmd={AttrVal(%22Pushover1%22,%22room%22,%22%22)}&XHR=1; BUFLEN:0
2015.11.09 16:14:51 5: Cmd: >{AttrVal("Pushover1","room","")}<
2015.11.09 16:14:51 4: name: /fhem?cmd={AttrVal(%22Pushover1%22,%22room%22,%22%22)}&XHR=1 / RL:21 / text/plain; charset=UTF-8 / Content-Encoding: gzip
/
2015.11.09 16:14:51 4: Connection closed for FHEMWEB:192.168.1.37:12678: EOF
2015.11.09 16:14:51 4: Connection accepted from FHEMWEB:192.168.1.37:12683
2015.11.09 16:14:51 4: FHEMWEB:192.168.1.37:12679 GET /fhem?XHR=1&inform=type=status;filter=Pushover1;since=1447056887;fmt=JSON×tamp=1447056889422; BUFLEN:0
2015.11.09 16:14:51 4: FHEMWEB:192.168.1.37:12683 GET /fhem/FileLog_logWrapper?dev=Logfile&type=text&file=fhem-2015-11.log; BUFLEN:0
2015.11.09 16:14:57 4: Connection closed for FHEMWEB:192.168.1.37:12679: EOF
"SSL wants to read first" scheint die entscheidende Fehlermeldung zu sein. Hat jemand eine Idee was das Problem sein könnte? Meine Linux/FHEM Kenntnisse reichen nicht aus zu versehen wo ich was falsch gemacht habe. Neben dem 'define' in FHEM habe ich noch
sudo apt-get install libio-socket-ssl-perl
sudo apt-get install libjson-perl
cpan -i IO::Socket::SSL
auf dem RPI ausgeführt. Habe ich etwas vergessen?
EDIT:
Nach etwas Rumprobieren kann ich sagen, es funktioniert "manchmal". Hier scheint es irgendein Verbindungs-/Time out Problem zu geben? Prowl & Internet funktionieren problemlos, das muss also an Pushover liegen.
Ich vermute IO::Socket::SSL verhält sich etwas komisch je nach Plattform, Version etc.
Wenn dann müsste etwas in den HttpUtils von FHEM geändert werden, welche das Pushover Modul nutzt.
Kann jemand helfen den Fehler zu reproduzieren?
"manchmal" ist leider nicht hilfreich, um einen Fehler zu korrigieren :-\
Ja, "manchmal" ist bescheiden - aber ich sehe keine weiter hilfreichen Fehlermeldungen.
Ggf. funktioniert die erste Message nach dem Neustart immer oder Messages nach einer gewissen Zeit (10min?) - kurzfristig habe ich noch keine zwei Nachrichten rausbekommen.
Gesendet von iPhone mit Tapatalk
Hallo,
nach dem Update auf -- 70_Pushover.pm - Rev. 9960 (Fhem 5.7) -- funktioniert bei mir der Zeilenumbruch mit folgendem Code nicht mehr:
{fhem("set pushmsg msg 'PUSHOVER Test' 'Zeile1\nZeile2' 'android_01' 0 ''")}
Mit Version -- 70_Pushover.pm - Rev. 9384 (Fhem 5.6) -- funktioniert es.
Habe ich was übersehen?
Gruß
Jan
Zitat von: jago am 26 November 2015, 09:54:02
nach dem Update auf -- 70_Pushover.pm - Rev. 9960 (Fhem 5.7) -- funktioniert bei mir der Zeilenumbruch mit folgendem Code nicht mehr:
{fhem("set pushmsg msg 'PUSHOVER Test' 'Zeile1\nZeile2' 'android_01' 0 ''")}
Mit Version -- 70_Pushover.pm - Rev. 9384 (Fhem 5.6) -- funktioniert es.
Es gab seit 9384 keinerlei Änderung an der Nachrichtenverarbeitung. Der Nachrichtentext wird auch nicht abgeändert ä.o.
Schau doch mal ins Log bei verbose=5 ...
Das das aktuell nicht funktioniert, kann ich bestätigen. Dürfte aber auch mit 9834 eigentlich nicht mehr gehen. Hatten wir meiner Meinung nach hier im Thread. Nimm stattdessen dein br-Tag.
Ich habe gerade einen Patch eingecheckt, der \n als %0a überträgt und somit von Pushover dann als Newline interpretiert wird.
Wer wirklich ein \n übertragen will, kann es mit \\n escapen.
Ab morgen per Update.
Danke!
Habe die Rev 10043 installiert, jetzt folgendes Verhalten:
{fhem("set pushmsg msg 'PUSHOVER Test' 'Zeile1\nZeile2' 'android_01' 0 ''")}
Zeilenumbruch wird NICHT erkannt.
{fhem("set pushmsg msg 'PUSHOVER Test' 'Zeile1\\nZeile2' 'android_01' 0 ''")}
Zeilenumbruch wird erkannt.
{fhem("set pushmsg msg 'PUSHOVER Test' 'Zeile1<br>Zeile2' 'android_01' 0 ''")}
Zeilenumbruch mit br-Tag wird NICHT erkannt.
{fhem("set pushmsg msg 'PUSHOVER Test' '<font color='black'>Zeile1<br>Zeile2</font>' 'android_01' 0 ''")}
Zeilenumbruch wird, eingebettet in einen font-Tag, erkannt.
Irgendwie stehe ich jetzt auf dem Schlauch, sollte das bei Beispiel 1 und 2 nicht umgekehrt sein?
Kann jemand das Verhalten bestätigen oder was zu meiner (evtl. falschen) Syntax sagen?
Gruß
Jan
Zitat von: jago am 01 Dezember 2015, 12:45:16
{fhem("set pushmsg msg 'PUSHOVER Test' 'Zeile1\nZeile2' 'android_01' 0 ''")}
Zeilenumbruch wird NICHT erkannt.
Perl/FHEM Grundlagenkurs:
Kann auch nicht, denn du schreibst in Perl Code und dort bedeutet \n alleine schon etwas.
Also musst du im Perl Code selbst schon escapen, sprich \\n, damit als nicht-Perl Code hinterher beim Modul auch tatsächlich \n ankommt.
Also wie in deinem zweiten Beispiel, deshalb funktioniert es dort auch.
Die Frage, ob du hier wirklich {fhem("set...")} schreiben musst statt "set ...", kannst nur du beantworten. Dort gälte dann ein einfaches \n.
Zitat von: jago am 01 Dezember 2015, 12:45:16
{fhem("set pushmsg msg 'PUSHOVER Test' 'Zeile1<br>Zeile2' 'android_01' 0 ''")}
Zeilenumbruch mit br-Tag wird NICHT erkannt.
{fhem("set pushmsg msg 'PUSHOVER Test' '<font color='black'>Zeile1<br>Zeile2</font>' 'android_01' 0 ''")}
Zeilenumbruch wird, eingebettet in einen font-Tag, erkannt.
Das ist auch korrekt so. Nur für einen Zeilenumbruch HTML zu senden macht keinen Sinn, daher wird das ganze auch nur als HTML interpretiert, wenn du einen Formatierungsgrund mitlieferst.
Update eingecheckt:
- <br> oder <br /> führen auch zu HTML formatierter Nachricht
- \n wird automatisch in <br /> konvertiert, wenn HTML Tags erkannt wurden (a, b, i, u, font, br)
Hallo Loredo,
Danke für Erklärung und Update.
Zitat- <br> oder <br /> führen auch zu HTML formatierter Nachricht
Werde dann mit <br> arbeiten.
Gruß
Jan
Zitat von: Loredo am 14 September 2015, 10:58:10
Zum Thema "Wofür ist Priority/Emergency Callback gut", siehe Pushover API Doku. Es geht dabei darum den Alarm zu bestätigen und die wiederholte Erinnerung zu beenden. Diese Bestätigung erhält auch FHEM als Event zurück.
Hi Loredo.
Könntest Du mir kurz einen Hinweis geben, wie ich diese Bestätigung auswerten kann?
Danke und cheers
mi.ke
Zitat von: mi.ke am 22 Dezember 2015, 09:38:34
Könntest Du mir kurz einen Hinweis geben, wie ich diese Bestätigung auswerten kann?
Wenn eine Prio 2 Nachricht verschickt wird, werden dazu diese Callback-Readings angelegt:
cbAck_1450778325 0
cbDev_1450778325 iPhone
cbMsg_1450778325 Security%20issue%20in%20living%20room%2e
cbPrio_1450778325 2
cbTitle_1450778325 Emergency
cb_1450778325 rmXFi5u2GkLewZmu5BQLFDRNghHLu3
Bei Nutzung der URL-Funktion gibt es noch das Reading cbAct_*, welches dann entweder den auszuführenden FHEM-Befehl oder die zu verlinkende URL enthält (beides wird nicht an Pushover übertragen und bleibt nur in FHEM selbst).
Die Zahl hinten an den Readings entspricht dem Unix Timestamp, an dem die Gültigkeit der Nachricht ausläuft (basierend auf dem mit der Nachricht übergebenen Expire-Wert). Es kann also mehrere Nachrichten/Reading-Gruppen parallel geben.
Die Readings werden nach Ende ihrer Gültigkeit bzw. nach Bestätigung automatisch aufgeräumt (jedoch immer nur, wenn eine Nachricht verschickt wird, also nicht sofort sondern "bei Gelegenheit").
Sofern das Attribut callbackUrl richtig gesetzt wurde (also z.B. auf https://meinedynip.example.com/webhook/pushCallback1 (https://meinedynip.example.com/webhook/pushCallback1)), wird dann, sobald ein Gerät diese Nachricht über "acknowledge" bestätigt, eine Rückmeldung über die Pushover Server ausgelöst, so dass das Reading cbAck_* dann auf 1 wechselt. Du kannst also ein Notify oder Watchdog auf cbAck_.* triggern lassen. Wenn du dabei noch mehr auswerten möchtest, musst du die wohl über den Reading-Namen zunächst noch den Unix Timestamp herausholen, um auf die anderen Readingnamen schließen zu können und diese entsprechend auswerten zu können.
Das geht bisher nicht eleganter, weil nicht klar ist, wie genau der Callback verwendet wird und ich ihn selbst auch nicht verwende. Hier kann es also durchaus Optimierungsbedarf geben, sowohl was die Reading-Namen als auch was Trigger bzw. die Auswertung dieser angeht.
Gruß
Julian
Hallo Julian.
Vielen Dank für die ausfürliche Erklärung.
Nun weiss ich zumindest, warum das cbAck_* bei mir immer auf 0 bleibt, da ich keine callbackUrl gesetzt habe, da mein System von aussen nur per VPN erreichbar ist.
Schade, denn der Plan ist:
Ich lasse mich per Pushover alle 6 Std an Medikamente erinnern.
Die Erinnerung ist 1-2 Std gültig (alle 10 min) .
Die Verzögerungszeit, also wenn ich die Einnahme bestätige, soll dann auf die 6 Stunden dazugerechnet werden.
Leider bin ich ein Lamer was Programmieren betrifft, somit kann ich leider nicht aktiv an der Moduloptimierung mitwirken.
Cheers
mi.ke
Zitat von: mi.ke am 22 Dezember 2015, 11:18:35
Nun weiss ich zumindest, warum das cbAck_* bei mir immer auf 0 bleibt, da ich keine callbackUrl gesetzt habe, da mein System von aussen nur per VPN erreichbar ist.
Daran lässt sich auch nichts ändern, das gibt die Pushover API so vor. Es macht auch Sinn, wenn man rein eventbasiert (also nahezu in Echtzeit) arbeiten möchte.
ist es möglich einen "clearredings" Befehl einzubauen? Wenn ich mit dem Modul verschieden Sachen teste, dann laufen mir manchmal die Readings voll und gehen nicht weg, was nervt. Daher die Frage.
Zitat von: Amenophis86 am 23 Dezember 2015, 14:45:24
ist es möglich einen "clearredings" Befehl einzubauen? Wenn ich mit dem Modul verschieden Sachen teste, dann laufen mir manchmal die Readings voll und gehen nicht weg, was nervt. Daher die Frage.
Schau Dir mal http://fhem.de/commandref.html#deletereading an, das sollte es eigentlich überflüssig machen.
Gruß, Christian
ja mache es ja immer mit "deletereading Pushover1 cb.*" aber dann kann ich einfach einen Knopf drücken. Bin aber auch nicht böse, wenn es nicht kommt ;)
Zitat von: Loredo am 22 Dezember 2015, 10:31:19
Sofern das Attribut callbackUrl richtig gesetzt wurde (also z.B. auf https://meinedynip.example.com/webhook/pushCallback1 (https://meinedynip.example.com/webhook/pushCallback1)), wird dann, sobald ein Gerät diese Nachricht über "acknowledge" bestätigt, eine Rückmeldung über die Pushover Server ausgelöst, so dass das Reading cbAck_* dann auf 1 wechselt.
Hallo Julian.
Was ich nicht verstanden habe, ist . . .
Welchen Inhalt muss denn die callbackUrl z.B. https://meinedynip.example.com/webhook/pushCallback1 (https://meinedynip.example.com/webhook/pushCallback1)haben, bzw. wie fang ich denn den POST auf? Das cbAck_* muss ja auch wieder zu der Pushover Instanz geleitet werden.
Cheers
mi.ke
PS.
Frohes Fest
edit wegen: Rechtschreibfehler entfernt
Zitat von: mi.ke am 24 Dezember 2015, 16:48:56
Was ich nicht verstanden habe, ist . . .
Welchen Inhalt muss denn die callbackUrl z.B. https://meinedynip.example.com/webhook/pushCallback1 (https://meinedynip.example.com/webhook/pushCallback1)haben,
Habs jetzt erst mal so gelöst.
set Pushover msg 'Titel' 'Nachricht' '' 2 'Siren' 600 7200 'Hier klicken' 'http://USER:PASSWORT@192.168.x.x:8083/fhem?cmd=set%20TEST%20on')
Damit schalte ich einen Dummy (Taster-Funktion), der dann Aktionen ausführt.
Danach muss mann die Pushover-Nachricht als erhalten bestätigen.
Zum Glück gibts ja immer alternative Wege . . .
Cheers
mi.ke
PS.
RIP Lemmy
die callbackUrl dazu würde dann vermutlich in etwa so aussehen:
http://USER:PASSWORT@192.168.x.x:8083/fhem/pushCallback1
Allerdings: Das muss eine URL sein, die aus dem Internet vom Pushover Server aus aufgerufen werden kann. Wie das erreicht wird, kommt ganz auf deine Umgebung an. In der Regel wird man einen Reverse Proxy entsprechend sehr restriktiv dafür konfiguriert haben, so dass man über einen DynDNS-Namen nur auf die URI /fhem/pushCallback1 zugreifen kann. Man möchte auch TLS Offloading verwenden, um die Verbindung zu verschlüsseln. Ob man auf diesem Wege auch BasicAuth hinzfügen kann, habe ich nicht probiert. Ist aber ggf. eine gute Idee, sofern man mit den Zugangsdaten dann wirklich nichts anderes machen kann. BasicAuth sollte deshalb auch vom Reverse Proxy gemacht werden.
"/pushCallback1" entspricht dabei dem Infix, welcher beim define des jeweiligen Pushover Devices als optionaler Parameter angegeben wurde, also zB
define Pushover1 Pushover 01234 56789 pushCallback1
"/fhem/" kann (oder mehr noch sollte) einer speziell gehärteten FHEMWEB Instanz entsprechen (vor allem allowedCommands sollte dort auf "," gesetzt sein, siehe auch hier (http://forum.fhem.de/index.php/topic,45845.msg380625.html#msg380625)), über die man dann nichts weiter tun kann als die Infix URL anzusprechen (ein neues Attribut allowedDevices (http://forum.fhem.de/index.php/topic,46302.0.html) ist gerade in Diskussion, welches das ganze womöglich noch auf Pushover alleine einschränken ließe).
Hallo zusammen,
ich versuche Pushover auf Fhem zu definieren.
Beim Befehl : "define pushmsg Pushover <grRx8MAp9uxrLN7d3RAbkCHLR5iP5h> <uX33psEx1VCHjLpkqEdwsckE49XQQ6>" bekomme ich folgende Meldung:
"<uX33psEx1VCHjLpkqEdwsckE49XQQ6> does not seem to be a valid user or group token"
auch mit dem Token "aaXLFYKWKuvSH2RyLhsciq18AsUF8M" bekome ich die gleiche Meldung.
Gibt es eine Lösung für dies Meldung?
Danke
Hallo zusammen,
meine Frage hat sich schon erledigt.
War ein absoluter Anfängerfehler.....habe die Klammern mit gesenset.
Danke und LG
Hallo Loredo,
ich glaube ich habe ein Problem in der Implementierung entdeckt: ich habe das Callback mit reverse Proxy eingerichtet und prinzipiell funktioniert es auch, jedoch erhalte ich ein NOK zurück aus folgendem Grund:
Im "define" habe ich nicht meinen User Key angegeben, sondern einen Group Key. Das funktioniert auch problemlos, jedoch steht im "acknowledged_by" Feld des POSTs wiederum mein User Key. Der Source Code schreibt jedoch vor, dass der Key im acknowledged_by Feld und im define identisch sein müssen:
return ( "text/plain; charset=utf-8",
"NOK " . $receipt . ": invalid argument 'acknowledged_by'" )
if ( !defined( $webArgs->{acknowledged_by} )
|| $webArgs->{acknowledged_by} ne $hash->{USER_KEY} );
Könnte man das irgendwie anders implementieren? Oder anders gefragt: Wieso wurde es so implementiert? Prinzipiell sollte es doch erstmal egal sein, wer die Nachricht bestätigt, oder?
EDIT:
Laut der API (https://pushover.net/api#receipt) ist so ein Check übrigens auch nicht vorgesehen...
EDIT2:
Ich habe dazu einen Patch (http://forum.fhem.de/index.php?topic=48786) geschrieben.
Danke & viele Grüße
Hanjo
Bisher hatte ich mir Push-Nachrichten immer an die FHEM App schicken lassen. Nun hatte ich mich erbarmt und auch endlich die Pushover-App gekauft. Was mich nun (im direkten Vergleich zu den anderen iOS-Geräten im Haushalt) wundert: Pushover ist extremst langsam. Die Push-Nachrichten kommen teilweise bis zu 60 Sekunden später an.
Habt ihr auch ähnliche Erfahrungen?
Gibt es Tipps, wie ich das irgendwie optimieren kann?
Danke.
Bei mir dauert es ca. 1-2 Sekunden. Habe da nie andere Werte beobachten können, auch nicht bei anderen Familienmitgliedern
Gruß
Julian
Hi,
habe jetzt auch mal neugieriger weise mal pushover installiert. Also ich meine alles richtig gemacht zu haben aber STATE ist disconnected.
APP_TOKEN und USER_KEY sind eingetragen (per copy and paste) stehe jetzt etwas auf dem Schlauch?
Mit dem attribut device ist da mein iphone gemeint auf dem die Nachrichten auflaufen sollen?
Zitat von: ernst1024 am 20 Februar 2016, 03:18:18
habe jetzt auch mal neugieriger weise mal pushover installiert. Also ich meine alles richtig gemacht zu haben aber STATE ist disconnected.
Der Grund, warum STATE auf discconnected bleibt, steht wahrscheinlich im Logfile, wenn du verbose=5 setzt.
Zitat von: ernst1024 am 20 Februar 2016, 03:18:18
Mit dem attribut device ist da mein iphone gemeint auf dem die Nachrichten auflaufen sollen?
Damit ist die Bezeichnung des Gerätes gemeint, wie du es in Pushover benannt hast, sofern du mehrere Geräte registriert hast und eine Nachricht an ein ganz bestimmtes Gerät statt an alle senden möchtest.
hat anscheinend selbstheilende Kräfte. Heute morgen war dann state:connected ?
Uhrzeit mitsenden
Moin,
ich habe div. Pushover eingerichtet, unteranderem auch für die Überwachung der Haustür.
di_Haustuerwaechter DOIF
([EG.flu.TFK] eq "open")
(set pushmsg msg "Haustür" "Tür wurde geöffnet!" "iDirkPush" 0 "")
DOELSEIF
([EG.flu.TFK] eq "closed")
(set pushmsg msg "Haustür" "Tür wurde geschlossen!" "iDirkPush" 0 "")
Jetzt würde ich gerne, bei jeder Öffnung / Schließung der Haustür, die aktuelle Uhrzeit mitsenden.
So nach dem Motto
...
(set pushmsg msg "Haustür" "Tür wurde um" UHRZEIT "geöffnet!" "iDirkPush" 0 "")
...
Ich bekomme es aber leider nicht hin, kann mir jemand auf die "Sprünge" helfen?
Danke, Gruß Dirk
Wie wär's mit {localtime} .
Moin volschin,
Danke für Dein Hinweis, die Idee hatte ich auch schon, nur klappt es so leider nicht.
Als Meldung bekomme ich nicht die Zeit 15:05:45 angezeigt, sonder den Text {localtime}
Wenn ich eine Uhrzeit aus einem Dummy mitsenden will, klappt das ohne Probleme, nur bei direkter Uhrzeit will es einfach nicht.
Gruß Dirk
Du könntest den kompletten Ausführungsteil in Perl schreiben. Dann müsstest du die Uhrzeit einsetzen können.
Hier einfach mal ein Beispiel, wie man es in einem Notify umsetzen kann mit Variablen:
Lueftung.*:on {if (ReadingsVal("$NAME","window",'closed') eq "closed") {
my $hum=ReadingsVal("$NAME","humidity",'nix');
my $taui=ReadingsVal("$NAME","sensor_value",'nix');
my $taua=ReadingsVal("$NAME","desired_value",'nix');
my $voc=ReadingsVal("$NAME","voc",'0');
if ($voc > 999) {$voc='<font color="red">'.$voc.'</font>';}
fhem("set pushmsg msg 'Schimmelalarm $NAME' 'Wieder mal Lüften! Luftfeuchte: <b>$hum</b>%, Taupunkt innen: <b>$taui</b>°C außen: <b>$taua</b>°C Luftqualität: <b>$voc</b> ppm'");}}
Hallo Dirk,
eine Möglichkeit wäre auch den Zeitstempel des Readings auszulesen und diesen dann mit zu senden.
Mein Code sieht so aus:
define missedcall.ntfy notify FritzBox:missed_call:.* {my $Timestamp = ReadingsTimestamp("FritzBox","missed_call","0");;fhem "msg push 0 |FritzBox Verpasster Anruf| $EVENT $Timestamp"}
Gruß Schlimbo
Moin,
Danke für die weiteren Hinweise :)
und sorry für die späte Rückmeldung, war leider etwas "kränklich" :-[
Jetzt, wo der Körper wieder fit und der Geist ausgeruht ist, klappt es auch mit der Uhrzeit.
Meine aktuelle Lösung sieht wie folgt aus:
(set pushmsg msg "Haustür" "Tür wurde um {(strftime("%H:%M:%S",localtime()))} geöffnet" "iDirkPush" 0 "")
Vielen Dank und eine gesunde Restwoche wünscht Euch Dirk
Guten Morgen,
ich hoffe ich werde nicht gesteinigt weil ich nicht alle 31 Seiten gelesen habe.
Die Wiki konnte mir leider keine Antwort auf meine Frage liefern und auch die Suche hat nicht geholfen.
Aaaaalso :-)
Ich habe in einem Pushover Account mehrere Devices. Ich bekomme es aber aus FHEM nicht hin die Nachricht nur an ein Device zu senden.
Laut Wiki:
You can send messages via the following command:
# set <Pushover_device> msg <title> <msg> <device> <priority> <sound> [<retry> <expire>]
Wobei nicht erklärt ist, was <device> bedeutet. Ich hatte angenommen es wäre das Zieldevice gemeint. Dies klappt aber leider nicht. Die Nachricht geht immer an alle Devices.
Als Beispiel:
set PushMSG msg 'FHEM' 'Nur für Jay' 'Jay-Phone'
Für Tipps wäre ich sehr dankbar. Meine Frau interessiert sich nämlich nicht für Server-Statusmeldungen ;-)
Gruß
Jay
Ich meine, wenn du an nur ein Device senden willst, dann musst du auch noch Priorität und Sound setzten. Aber ja Device steht in diesem Fall für das zu Empfangende Gerät.
Das war es, vielen Dank.
In der Wiki steht:
set <Pushover_device> msg <title> <msg> <device> <priority> <sound> [<retry> <expire>]
FHEM gibt als Usage folgendes aus:
Syntax: PushMSG msg ['<title>'] '<msg>' ['<device>' <priority> '<sound>' [<retry> <expire> ['<url_title>' '<action>']]]
Hier sollte die Wiki angepasst werden. Imho ist die Usageausgabe im FHEM "richtiger".
Gruß
Jay
Habe es im Wiki geändert ;) Danke für den Hinweis.
Hallo Zusamen,
ich habe mich mal wieder an Pushover gewagt.
Habe jetzt folgendes Problem:
Ich möchte jede Änderungen an den Homematic Heitzungsventilen per Pushover am Handy angezeigt bekommen.
Das klappt auch wunderbar nur das mir dann folgendes angezeigt wird:
ZitatHeizung XY wurde auf %EVTPART1 °C gedreht.
In der fhem.cfg schaut das so aus:
Zitatdefine TempcheckXY notify Heizung.XY.*desired-temp.* set pushmsg msg 'Temperaturverstellung' 'Heizung XY wurde auf %EVTPART1 °C gedreht'
Kann mir jemand einen Tipp geben?
%EVTPART1 gibt es nicht mehr seit fhem 5.7
https://forum.fhem.de/index.php/topic,44094.0.html
Gruß
Julian
Danke für die Info.
Ich glaube, Du musst nur % durch $ ersetzen.
Sent from my iPhone using Tapatalk
Moin moin,
ich habe da auch noch ein "kleines" Problem mit pushover ...
es kommt leider nur jede ca. 2 Message durch. Laut log bekomme ich einen Timeout :-(
2016.06.05 22:41:41 5: Pushover pushover: Received HttpUtils callback:
PARAM:
{
'NAME' => '',
'addr' => 'https://api.pushover.net:443',
'callback' => sub { "DUMMY" },
'cmd' => 'title=Offene%20Fenster&message=Es%20ist%20ein%20Fenster%20offen%3a%20T%c3%bcr%20Wohnzimmer%2c%20T%c3%bcr%20Eingang%2c%20Fenster%20Schlafzimmer%2c%20&priority=0&token=atjhDhuYjHYjbpLxWGG4Vy54S7ter1&user=uQYGKkkuE32WbFBZ38LVEeDWE2AmqD',
'data' => 'title=Offene%20Fenster&message=Es%20ist%20ein%20Fenster%20offen%3a%20T%c3%bcr%20Wohnzimmer%2c%20T%c3%bcr%20Eingang%2c%20Fenster%20Schlafzimmer%2c%20&priority=0&token=atjhDhuYjHYjbpLxWGG4Vy54S7ter1&user=uQYGKkkuE32WbFBZ38LVEeDWE2AmqD',
'displayurl' => 'https://api.pushover.net:443/1/messages.json',
'hash' => {
'APP_TOKEN' => '<token>',
'CFGFN' => '',
'DEF' => '<def>',
'Helper' => {
'DBLOG' => {
'apiLimit' => {
'myDbLog' => {
'TIME' => '1464902766.63813',
' 'VALUE' => '7500
}
},
'apiRemaining' => {
'myDbLog' => {
'TIME' => '1465157916.33762',
' 'VALUE' => '7403
}
},
'apiReset' => {
'myDbLog' => {
'TIME' => '1464902766.63813',
' 'VALUE' => '1467349200
}
},
'available' => {
'myDbLog' => {
'TIME' => '1465159288.98447',
'VALUE' => '0'
}
},
'lastMessage' => {
'myDbLog' => {
'TIME' => '1465156716.22159',
'VALUE' => 'Fenster Schlafzimmer ist immer noch offen'
}
},
'lastRequest' => {
'myDbLog' => {
'TIME' => '1465157916.33762',
'VALUE' => '62c692c4264ed9fd27c5b62ba7003c6d'
}
},
'lastTitle' => {
'myDbLog' => {
'TIME' => '1465155515.26255',
'VALUE' => 'Fenster'
}
},
'msg \'Offene Fenster\' \'Es ist ein Fenster offen' => {
'myDbLog' => {
'TIME' => '1465159294.16033',
'VALUE' => 'Tür Wohnzimmer, Tür Eingang, Fenster Schlafzimmer, \''
}
},
'state' => {
'myDbLog' => {
'TIME' => '1465159288.98447',
'VALUE' => 'disconnected'
}
}
}
},
'NAME' => 'pushover',
'NR' => 539,
'READINGS' => {
'apiLimit' => {
'TIME' => '2016-06-02 23:26:06',
' 'VAL' => '7500
},
'apiRemaining' => {
'TIME' => '2016-06-05 22:18:36',
' 'VAL' => '7403
},
'apiReset' => {
'TIME' => '2016-06-02 23:26:06',
' 'VAL' => '1467349200
},
'available' => {
'TIME' => '2016-06-05 22:41:28',
'VAL' => 0
},
'devices' => {
'TIME' => '2016-06-02 07:30:55',
'VAL' => 'AnjaPhone,RalfPhone'
},
'group' => {
'TIME' => '2016-03-23 18:05:38',
'VAL' => '0'
},
'lastAction' => {
'TIME' => '2016-06-05 22:18:36',
'VAL' => '-'
},
'lastDevice' => {
'TIME' => '2016-06-05 22:18:36',
'VAL' => 'AnjaPhone,RalfPhone'
},
'lastMessage' => {
'TIME' => '2016-06-05 22:18:36',
'VAL' => 'Fenster Schlafzimmer ist immer noch offen'
},
'lastPriority' => {
'TIME' => '2016-06-05 22:18:36',
'VAL' => 0
},
'lastRequest' => {
'TIME' => '2016-06-05 22:18:36',
'VAL' => '62c692c4264ed9fd27c5b62ba7003c6d'
},
'lastResult' => {
'TIME' => '2016-06-05 22:18:36',
'VAL' => 'ok'
},
'lastTitle' => {
'TIME' => '2016-06-05 22:18:36',
'VAL' => 'Fenster'
},
'state' => {
'TIME' => '2016-06-05 22:41:28',
'VAL' => 'disconnected'
},
'tokenState' => {
'TIME' => '2016-03-23 18:05:38',
'VAL' => 'valid'
},
'userState' => {
'TIME' => '2016-03-23 18:05:38',
'VAL' => 'valid'
}
},
'STATE' => 'disconnected',
'TYPE' => 'Pushover',
'USER_KEY' => '<user>',
'VALIDATION_TIMER' => '1465159588.89491'
},
'host' => 'api.pushover.net',
'loglevel' => 4,
'noshutdown' => 1,
'path' => '/1/messages.json',
'protocol' => 'https',
'redirects' => 0,
'service' => 'messages.json',
'sslargs' => {},
'timeout' => 3,
'type' => {
'action' => '',
'device' => '',
'expire' => '',
'message' => 'Es%20ist%20ein%20Fenster%20offen%3a%20T%c3%bcr%20Wohnzimmer%2c%20T%c3%bcr%20Eingang%2c%20Fenster%20Schlafzimmer%2c%20',
'priority' => 0,
'retry' => '',
'sound' => '',
'title' => 'Offene Fenster',
'url_title' => ''
},
'url' => 'https://api.pushover.net:443/1/messages.json'
}
ERROR:
'connect to https://api.pushover.net:443 timed out'
DATA:
''
2016.06.05 22:41:41 4: Pushover pushover: RCV TIMEOUT messages.json/title=Offene Fenster&message=Es ist ein Fenster offen: Tür Wohnzimmer, Tür Eingang, Fenster Schlafzimmer, &priority=0&token=<token>&user=<User>
<token, <user>, <def> wurde entsprechend anonymisiert :-)
kann man evtl. noch ein Attribut <retry> hinzufügen? und dementsprechend den Vorgang wiederholen?
und evtl. auch direkt den "Notanker" useIP4only ?
Ich habe das Gefühl, da IPV6 noch nicht immer wirklich bei Pushover funktioniert.
Gruß und Dank
Ralf
Hi ich habe auch eine Frage zu Pushover.
Soweit funktioniert es super.
Nur würde ich gern die Push Nachricht auf meinen an der Wand hängenden Samsung Tablets direkt als Push anzeigen lassen. Das soll heißen das ein Push Fenster aufgeht und dies bestätigt wwerden muss. Das Tabelt ist nicht gesperrt da immer der Fully Browser mit Tablet UI läuft.
Habt ihr Ideen?
So in der Art wie bei Apple. Auf meinem iPhone wird eine Push Benachrichtigung direkt auf den Bildschirm angezeigt. Bei Samsung nur oben in der Menüleiste die gleich wieder im Hintergrund verschwindet.
Gruß Thomas
Zitat von: Depechem am 09 Juni 2016, 18:14:24
Nur würde ich gern die Push Nachricht auf meinen an der Wand hängenden Samsung Tablets direkt als Push anzeigen lassen. Das soll heißen das ein Push Fenster aufgeht und dies bestätigt wwerden muss. Das Tabelt ist nicht gesperrt da immer der Fully Browser mit Tablet UI läuft.
Wenn es um Nachrichten von FHEM geht, könntest Du die direkt mit TabletUI übermitteln, wenn das sowieso läuft (es gibt doch ein Popup-Widget, oder?). Dann bräuchtest Du Pushover dafür gar nicht.
Wenn Du allgemein eingehende Pushover-Nachrichten auf dem Tablet anzeigen willst, dürfte das wohl nur mit einer zusätzlichen App wie Tasker oder Automagic machbar sein.
habe noch etwas festgestellt:
es liegt vermutlich nicht am PushOver ....
die httputils sind etwas CPU kritisch :-(
ich habe auf meinem Cubietruck die unifi utilities deaktiviert (java Programm mit teilweise 150% CPU) und siehe da, gefühlt kommen da alle Nachrichten wieder an :-)
Zitat von: Wuppi68 am 05 Juni 2016, 23:04:43
Moin moin,
ich habe da auch noch ein "kleines" Problem mit pushover ...
es kommt leider nur jede ca. 2 Message durch. Laut log bekomme ich einen Timeout :-(
2016.06.05 22:41:41 5: Pushover pushover: Received HttpUtils callback:
PARAM:
{
'NAME' => '',
'addr' => 'https://api.pushover.net:443',
'callback' => sub { "DUMMY" },
'cmd' => 'title=Offene%20Fenster&message=Es%20ist%20ein%20Fenster%20offen%3a%20T%c3%bcr%20Wohnzimmer%2c%20T%c3%bcr%20Eingang%2c%20Fenster%20Schlafzimmer%2c%20&priority=0&token=atjhDhuYjHYjbpLxWGG4Vy54S7ter1&user=uQYGKkkuE32WbFBZ38LVEeDWE2AmqD',
'data' => 'title=Offene%20Fenster&message=Es%20ist%20ein%20Fenster%20offen%3a%20T%c3%bcr%20Wohnzimmer%2c%20T%c3%bcr%20Eingang%2c%20Fenster%20Schlafzimmer%2c%20&priority=0&token=atjhDhuYjHYjbpLxWGG4Vy54S7ter1&user=uQYGKkkuE32WbFBZ38LVEeDWE2AmqD',
'displayurl' => 'https://api.pushover.net:443/1/messages.json',
'hash' => {
'APP_TOKEN' => '<token>',
'CFGFN' => '',
'DEF' => '<def>',
'Helper' => {
'DBLOG' => {
'apiLimit' => {
'myDbLog' => {
'TIME' => '1464902766.63813',
' 'VALUE' => '7500
}
},
'apiRemaining' => {
'myDbLog' => {
'TIME' => '1465157916.33762',
' 'VALUE' => '7403
}
},
'apiReset' => {
'myDbLog' => {
'TIME' => '1464902766.63813',
' 'VALUE' => '1467349200
}
},
'available' => {
'myDbLog' => {
'TIME' => '1465159288.98447',
'VALUE' => '0'
}
},
'lastMessage' => {
'myDbLog' => {
'TIME' => '1465156716.22159',
'VALUE' => 'Fenster Schlafzimmer ist immer noch offen'
}
},
'lastRequest' => {
'myDbLog' => {
'TIME' => '1465157916.33762',
'VALUE' => '62c692c4264ed9fd27c5b62ba7003c6d'
}
},
'lastTitle' => {
'myDbLog' => {
'TIME' => '1465155515.26255',
'VALUE' => 'Fenster'
}
},
'msg \'Offene Fenster\' \'Es ist ein Fenster offen' => {
'myDbLog' => {
'TIME' => '1465159294.16033',
'VALUE' => 'Tür Wohnzimmer, Tür Eingang, Fenster Schlafzimmer, \''
}
},
'state' => {
'myDbLog' => {
'TIME' => '1465159288.98447',
'VALUE' => 'disconnected'
}
}
}
},
'NAME' => 'pushover',
'NR' => 539,
'READINGS' => {
'apiLimit' => {
'TIME' => '2016-06-02 23:26:06',
' 'VAL' => '7500
},
'apiRemaining' => {
'TIME' => '2016-06-05 22:18:36',
' 'VAL' => '7403
},
'apiReset' => {
'TIME' => '2016-06-02 23:26:06',
' 'VAL' => '1467349200
},
'available' => {
'TIME' => '2016-06-05 22:41:28',
'VAL' => 0
},
'devices' => {
'TIME' => '2016-06-02 07:30:55',
'VAL' => 'AnjaPhone,RalfPhone'
},
'group' => {
'TIME' => '2016-03-23 18:05:38',
'VAL' => '0'
},
'lastAction' => {
'TIME' => '2016-06-05 22:18:36',
'VAL' => '-'
},
'lastDevice' => {
'TIME' => '2016-06-05 22:18:36',
'VAL' => 'AnjaPhone,RalfPhone'
},
'lastMessage' => {
'TIME' => '2016-06-05 22:18:36',
'VAL' => 'Fenster Schlafzimmer ist immer noch offen'
},
'lastPriority' => {
'TIME' => '2016-06-05 22:18:36',
'VAL' => 0
},
'lastRequest' => {
'TIME' => '2016-06-05 22:18:36',
'VAL' => '62c692c4264ed9fd27c5b62ba7003c6d'
},
'lastResult' => {
'TIME' => '2016-06-05 22:18:36',
'VAL' => 'ok'
},
'lastTitle' => {
'TIME' => '2016-06-05 22:18:36',
'VAL' => 'Fenster'
},
'state' => {
'TIME' => '2016-06-05 22:41:28',
'VAL' => 'disconnected'
},
'tokenState' => {
'TIME' => '2016-03-23 18:05:38',
'VAL' => 'valid'
},
'userState' => {
'TIME' => '2016-03-23 18:05:38',
'VAL' => 'valid'
}
},
'STATE' => 'disconnected',
'TYPE' => 'Pushover',
'USER_KEY' => '<user>',
'VALIDATION_TIMER' => '1465159588.89491'
},
'host' => 'api.pushover.net',
'loglevel' => 4,
'noshutdown' => 1,
'path' => '/1/messages.json',
'protocol' => 'https',
'redirects' => 0,
'service' => 'messages.json',
'sslargs' => {},
'timeout' => 3,
'type' => {
'action' => '',
'device' => '',
'expire' => '',
'message' => 'Es%20ist%20ein%20Fenster%20offen%3a%20T%c3%bcr%20Wohnzimmer%2c%20T%c3%bcr%20Eingang%2c%20Fenster%20Schlafzimmer%2c%20',
'priority' => 0,
'retry' => '',
'sound' => '',
'title' => 'Offene Fenster',
'url_title' => ''
},
'url' => 'https://api.pushover.net:443/1/messages.json'
}
ERROR:
'connect to https://api.pushover.net:443 timed out'
DATA:
''
2016.06.05 22:41:41 4: Pushover pushover: RCV TIMEOUT messages.json/title=Offene Fenster&message=Es ist ein Fenster offen: Tür Wohnzimmer, Tür Eingang, Fenster Schlafzimmer, &priority=0&token=<token>&user=<User>
<token, <user>, <def> wurde entsprechend anonymisiert :-)
kann man evtl. noch ein Attribut <retry> hinzufügen? und dementsprechend den Vorgang wiederholen?
und evtl. auch direkt den "Notanker" useIP4only ?
Ich habe das Gefühl, da IPV6 noch nicht immer wirklich bei Pushover funktioniert.
Gruß und Dank
Ralf
Hallo,
ich habe ein kleines Problem mit dem Versand von Pushover Nachrichten an unterschiedliche Devices.
3 verschiedene Devices sind angelegt.
Wenn ich die Nachrichten "filtern" will, muss ich ja die entsprechenden Devices einzeln und bei mehreren mit : getrennt angeben.
Wenn ich allerdings mit folgendem Aufruf eine Nachricht schicke, kommt sie leider auf allen Devices an.
define Psh_Gruenschnitt DOIF (([14:30]) and [Abfallkalender:iCloud_Abfall_Gruenschnitt_tage] eq "1") ({fhem("set FHEMPushover msg 'FHEM' 'Morgen wird der Grünschnitt abgeholt!' 'iPhone:iPad' 0 ''")})
Wo liegt da mein Fehler?
Gruß
Stefan
Das einfachste ist verbose=5 zu setzen und dann im Log zu schauen, welcher Aufruf in Richtung Pushover aus deinem Kommando generiert wird.
Zitat von: StefanW am 09 Juli 2016, 13:23:56
Hallo,
ich habe ein kleines Problem mit dem Versand von Pushover Nachrichten an unterschiedliche Devices.
3 verschiedene Devices sind angelegt.
Wenn ich die Nachrichten "filtern" will, muss ich ja die entsprechenden Devices einzeln und bei mehreren mit : getrennt angeben.
Wenn ich allerdings mit folgendem Aufruf eine Nachricht schicke, kommt sie leider auf allen Devices an.
define Psh_Gruenschnitt DOIF (([14:30]) and [Abfallkalender:iCloud_Abfall_Gruenschnitt_tage] eq "1") ({fhem("set FHEMPushover msg 'FHEM' 'Morgen wird der Grünschnitt abgeholt!' 'iPhone:iPad' 0 ''")})
Wo liegt da mein Fehler?
Gruß
Stefan
War das nicht so? Also durch Komma getrennt?
define Psh_Gruenschnitt DOIF (([14:30]) and [Abfallkalender:iCloud_Abfall_Gruenschnitt_tage] eq "1") ({fhem("set FHEMPushover msg 'FHEM' 'Morgen wird der Grünschnitt abgeholt!' 'iPhone,iPad' 0 ''")})
Das ergibt sich alleine ja schon aus einem list vom Pushover Device
2016-02-17 14:47:12 devices motog-isabel,motog-nadin,nexus5-marko
Hmm, dann wäre die commandref und die Device specific help aber falsch. ???
Verbose 5 probiere ich mal aus.
Ich sehe hier wird begonnen nachzudenken ;)
In der Commandref ist aktuell nichts explizit darüber vermerkt, wie man mehrere Devices adressiert. Und ja es ist richtig, dass die Kommatrennung dafür gedacht ist. Was in der Commandref beschrieben ist ist der Fall, dass man Nachrichten grundsätzlich an einen anderen Empfänger oder eine andere Gruppe schicken möchte, als beim Define angegeben. Und wenn man dort dann speziell wieder ein bestimmtes Device ansprechen möchte, genau dann wird dieses mit einem Doppelpunkt von User/Group Key abgetrennt.
# an den User Key aus Device-Define schicken und dabei an alle Geräte des Users senden
set Pushover1 msg 'Titel' 'Dies ist ein Text.' '' 0 ''
# an den User Key aus Device-Define schicken und dabei an bestimmte Geräte des Users senden
set Pushover1 msg 'Titel' 'Dies ist ein Text.' 'Geraet1,Geraet2' 0 ''
# an einen anderen User Key schicken und dabei an alle Geräte des Users senden
set Pushover1 msg 'Titel' 'Dies ist ein Text.' 'u2aaaabbbbccccddddeeeeffff1234' 0 ''
# an einen anderen User Key schicken und dabei an eins bestimmtes Gerät des Users senden
set Pushover1 msg 'Titel' 'Dies ist ein Text.' 'u2aaaabbbbccccddddeeeeffff1234:Geraet1' 0 ''
Ansonsten kann ich für eine einfachere Syntax nur empfehlen, den FHEM msg-Befehl zu verwenden.
Ah, ok, dann war das wohl eine Fehlinterpretation meinerseits. :-[
Ich werde dann mal die Doppelpunkte durch Kommas ersetzen. ;)
Vielen Dank!
Hallo Fhem'er!
Ich häng gleich mal hier an,wenn der post hier nicht reingehört bitte verschieben.
Ich habe das Modul pushover in fhem geladen und alles geht,bis auf den Ton!
weder der standart Ton mit Modul:
TestGeraet1 {if(Value("Push_Aktiv") eq "on"){my $temp_Status = Value("TestGeraet1"); fhem ("set push msg 'TestGeraet1' 'Schaltzustand: $temp_Status' '' 0 '' ")}}
Noch mit curl:
DEF
testgereatschalter:on { system ("curl -s -F 'token=xxxxxx' -F 'user=xxxxx' -F 'message=test-test' '' 2 'siren' 30 120 https://api.pushover.net/1/messages.json")}
wo liegt mein Fehler?
Wenn ich von der Pushover Page eine Nachricht sende schreit der default und/oder die Anderen sounds ,also kann es nur an meinen code liegen.
Würde einer mal drüber sehen,danke und gruß
lumcat
Das richtige Format lautet so:
set push msg 'TestGeraet1' 'Schaltzustand: $temp_Status' '' 0 ''
in dem letzten Paar Anführungsstriche kannst du einen der hier angeführten Sounds einsetzen:
https://pushover.net/api#sounds (https://pushover.net/api#sounds)
set push msg 'TestGeraet1' 'Schaltzustand: $temp_Status' '' 0 'alien'
Gruß Loredo !
Ich hab set push msg 'TestGeraet1' 'Schaltzustand: $temp_Status' '' 0 'alien'
und
set push msg 'TestGeraet1' 'Schaltzustand: $temp_Status' '' 0 'siren'
ausprobiert und es kommen die Meldungen über Pushover ..... nur eben ohne Ton >:(
Ich habe heute Morgen irgendwo im Forum gelesen ,daß wenn man gerade beim Einstellen/Testen zu viele "winck's" in einen Zeitrahmen versendet, ein "Bandwidth throttling" aufgelegt wird.
Das könnte bei mir möglich sein denn am Anfang war alles OK.
Ich hoffe das dies die Ursache ist,und danke dir für die Schnelle Antwort
Gruß lumcat
Zitat von: lumcat am 13 August 2016, 18:36:57
Ich hoffe das dies die Ursache ist,und danke dir für die Schnelle Antwort
Etwas anderes kann ich dir auch nicht antworten. Auf alles, was an Pushover übergeben ist, habe ich keinen Einfluss.
Hi,
ist es irgendwie möglich über Pushover eine Interaktion mit FHEM hinzubekommen?
Beispiel, meine Bewässerungssteuerung berücksichtigt viele Faktoren die FHEM auswertet (Bodenfeuchtigkeit, Regenwahrscheinlichkeit, Uhreit bzw. twilight, Türsensoren).
Ich hätte aber gerne eine Nachricht von FHEM auf mein Handy: "Ich gieße in 5 min, soll ich?" Die Benachichtigung ist ja kein Problem aber angenommen ich will bzw. will nicht das gegossen wird, weil ich z.B. grade im Garten sitze?
Ist das irgendwie machbar? z.B. per Acknowledge Notification?
Oder hat jemand einen anderen Ansatz mit dem ich mit FHEM interagieren kann?
Grüße Dave
Webhook ist hier die Lösung. Kannst bei der Anwesenheitserkennung mal schauen, da ist sowas ähnliches hinterlegt.
Zitat von: davedeluxe am 08 September 2016, 10:49:59
Oder hat jemand einen anderen Ansatz mit dem ich mit FHEM interagieren kann?
http://fhem.de/commandref.html#TelegramBot
Zitat
allows the usage of the instant messaging service Telegram from FHEM in both directions (sending and receiving)
http://www.fhemwiki.de/wiki/TelegramBot
https://forum.fhem.de/index.php?topic=38328.0
Hi,
nachdem ich mich nun einen ganzen Tag mit dem Problem beschäftigt habe (und auch die 33 Seiten gelesen habe), nun ein Post in der Hoffung das Problem zu lösen:
Bei mir funktioniert das Modul, aber es funktioniert nicht über "curl".
d.h.
set Pushover1 msg 'fhem' 'Das Fenster wurde geschlossen!'
funktioniert und Nachrichten kommen an, aber
{system ("curl -s -F 'token=***************' -F 'user=*************' -F 'title=FHEM localIp' -F 'message=Backup mit fileSizeMB MB wird erstellt' https://api.pushover.net/1/messages.json")}
funktioniert NICHT. Auch (in entsprechend abgeänderter Form) nicht in der Konsole.
Das nervige ist, dass es keine Fehlermeldung gibt. Die curl Variante über die Befehlszeile gibt ein "-1" zurück und im Log (Verbose 5) kommt ein:
2016.09.25 15:53:40 4: WEB_192.168.2.11_55846 POST /fhem&fw_id=149&cmd=%7Bsystem+%28%22curl+-s+-F+%27token%3Da*******F%27+-F+%27user%3DuS***********%27+-F+%27title%3DFHEM+localIp%27+-F+%27message%3DBackup+mit+fileSizeMB+MB+wird+erstellt%27+https%3A%2F%2Fapi.pushover.net%2F1%2Fmessages.json%22%29%7D; BUFLEN:0
2016.09.25 15:53:40 5: Cmd: >{system ("curl -s -F 'token=***************' -F 'user=*************' -F 'title=FHEM localIp' -F 'message=Backup mit fileSizeMB MB wird erstellt' https://api.pushover.net/1/messages.json")}<
2016.09.25 15:53:41 4: name: /fhem&fw_id=149&cmd=%7Bsystem+%28%22curl+-s+-F+%27token%3D*****************sF%27+-F+%27user%3D**************%27+-F+%27title%3DFHEM+localIp%27+-F+%27message%3DBackup+mit+fileSizeMB+MB+wird+erstellt%27+https%3A%2F%2Fapi.pushover.net%2F1%2Fmessages.json%22%29%7D / RL:1291 / text/html; charset=UTF-8 / Content-Encoding: gzip
/
Unter https://github.com/jnwatts/pushover.sh hat jemand ein pushover Skript veröffentlicht. Das funktioniert auch nicht und gibt
pi@FHEM ~/Downloads/pushover.sh $ ./pushover.sh hallo
curl: (7) Failed to connect to api.pushover.net port 443: Network is unreachable
./pushover.sh: Failed to send message
wieder.
Dummerweise habe ich gerade sowohl FHEM als auch Raspbian einem Update unterzogen. Raspian inkl. dist-upgrade UND sentEmail installiert... :-\ D.h. hier kann es mehrere Ursachen geben.
Zu sentEmail und Pushover gibt es ja schon ein paar Posts, aber weder mit noch ohne dem ominösen "$" in der SSL.pm funktioniert es. tls= no ist gesetzt, IO::Socket::SSL, Mozilla::CA, Net::SSLeay und LWP::Protocol::https installiert.
D.h. die Vermutung ist, dass das Ganze mit SSL zu tun hat. Ich bin aber (fast) noob und konnte das Problem nicht selbst identifizieren. Es ist komisch, dass das Modul funktioniert...
Kann mir jemand einen Tip geben, wo ich suchen kann, um den Fehler zu finden?
Lieben Dank im Voraus!
Martin
Wieso willst du Pushover als Systemaufruf ausführen und nicht das funktionierende Modul benutzen?
Man nimmt entweder das Modul oder ein Systemaufruf mit curl. Wobei ich immer das Modul nehmen würde.
Zitat von: CoolTux am 25 September 2016, 11:02:54
Wieso willst du Pushover als Systemaufruf ausführen und nicht das funktionierende Modul benutzen?
Man nimmt entweder das Modul oder ein Systemaufruf mit curl. Wobei ich immer das Modul nehmen würde.
Ja, mache ich auch, aber "externe" Skripts wie backup.sh, etc benutzen curl. Daher auch das nervige Problem das wieder zum Laufen zu bringen. (mal agesehen davon, dass das mit curl ja zeigt, dass irgendwo was nicht stimmt und repariert werden sollte...)
Kannst ja auf der fhem Kiste mal ein Ping api.pushover.net machen. Dein Skript sagt da ja Netzwerk nicht erreichbar.
Wenn das geht hat er Probleme mit Port 443. Firewall?
Zitat von: CoolTux am 25 September 2016, 11:36:25
Kannst ja auf der fhem Kiste mal ein Ping api.pushover.net machen. Dein Skript sagt da ja Netzwerk nicht erreichbar.
Wenn das geht hat er Probleme mit Port 443. Firewall?
oh, das hatte ich vergessen zu erwähnen. Ja, ping funktioniert.
Firewall wäre mir nicht bekannt. Ist ein Raspberry 2...
Zitat von: CoolTux am 25 September 2016, 11:36:25
Kannst ja auf der fhem Kiste mal ein Ping api.pushover.net machen. Dein Skript sagt da ja Netzwerk nicht erreichbar.
Wenn das geht hat er Probleme mit Port 443. Firewall?
Im Grunde ist dies genau das wieso ich hier poste:
im Modul funktioniert es, aber über die Konsole nicht! -> die Frage ist:
was macht das Modul anders? Ich gehe mal stark davon aus, dass das Moduls auch auch API (und somit Port 443) benutzt. D.h. das müsste doch ein Ansatz sein zu verstehen, wo das Problem liegen könnte...
Schau doch einfach mal ins Modul rein, dann siehst Du doch was es macht.
Das Modul macht auch nichts anderes als die über Port 443 zu verbinden. Dein cURL hat ein Netzwerkproblem, warum auch immer. Warum sprichst du denn nicht einfach Fhem und das Modul per cURL von außen an, wenn du etwas aus einem Shell-Script verschicken willst?
Zitat von: Loredo am 26 September 2016, 10:04:47
Das Modul macht auch nichts anderes als die über Port 443 zu verbinden. Dein cURL hat ein Netzwerkproblem, warum auch immer. Warum sprichst du denn nicht einfach Fhem und das Modul per cURL von außen an, wenn du etwas aus einem Shell-Script verschicken willst?
Fair enough. Irgendetwas hat mir wohl SSL und das "Internet" zerschossen. Ich hatte IO::Socket::SSL, Mozilla::CA, Net::SSLeay und LWP::Protocol::https nochmals installiert in der Hoffnung das Problem zu lösen.
Aber bei Net::SSLeay gab es Probleme (libssl-dev fehlt wohl) und jetzt geht garnichts mehr. Nichtmal ping und libssl-dev kann ich auch nicht installieren weil kein Internet. :'(
Netzwerk geht aber... ???
Falls jemand hierzu eine Idee hat: her damit! *gier*
Ansonsten: lieben Dank für die Hilfe, das ist kein Problem für diesen thread.
Hallo
Kann ich im Pushover Modul eine Nachricht so Versenden das es die http-Seite von meinen Geräten (meist iOS Divces) Direkt erkannt wird und dann auch automatisch öffnet?
MfG
Nein, du wirst immer noch auf den Link tappen müssen.
Okay des ist aber dann sehr unSmart...
und aber für was gibt es den dann in der Pushover iOS APP die Einstellung "Auto-Open URLs" ??
Warum probierst du es nicht einfach aus?
Ich habe es ja aus probiert und macht nichts deswegen frage ich ja gerade... und ich dachte ich hatte es schon mal das es funktioniert hat aber evtl war des nicht über FHEM Pushover Modul
Das ist wenn eine reine Funktion der App ansich und hat mit FHEM gar nichts zu tun.
naja also wenn ich auf der Webseite https://pushover.net/ (https://pushover.net/) eine Nachricht schicke.
Kann ich eine URL eintragen. Also separat. Nicht als Überschrift oder als Text sondern extra.
Und der wird mir dann auch direkt automatisch geöffnet.(Also wenn ich die Nachricht öffne)
Dann liest du besser die Commandref:
http://fhem.de/commandref.html#Pushover (http://fhem.de/commandref.html#Pushover)
Die letzten beiden Beispiele sind wohl was du suchst. Du kannst als Action auch eine URL eintragen.
also wenn ich mir das Beispiel
set Pushover msg 'Emergency' 'Security issue in living room.' '' 2 'siren' 30 3600 'http://www.google.de' 'MeiniPhone'
mal her nehme und auf meine Daten anpasse passiert genau nichts also mit dem URL ich bekommen die Nachricht als mit hoher Priorität, der andere Klingel ton kommt und ich muss den empfang auch bestätigen.
Aber das was ich eigentlich wollte das der URL automaisch sich mit öffnet passiert wieder nicht.
Noch jemand eine Idee ?
Ein gruseliges Szenario: URLs die sich automatisch öffnen...
naja kann ja nicht jeder jedes x Beliebige (oder was auch immer) URL an mein Pushover senden oder?
in meinen Konkreten fall soll es halt zb. wenn es klingelt das Bild der Kamera direkt Öffnen.
bin aber offen für bessere Vorschläge!
Für solche Aufgaben eigenen sich Tools wie Tasker oder Automagic (in FHEM mit dem Modul AMAD) viel besser.
Cool danke werde mir das mal anschauen gibt's den beide für iOS?
Aber trotzdem würde mich Das hier mit Pushover und URL auch intressieren!
Ich denke aber, dass hier davür der falsche Ort ist, da es sich ganz offenbar um ein Problem mit Pushover handelt und nicht mit dem FHEM-Modul.
Ohne Jailbreak wird da bei iOS nicht viel gehen. Das ist der Nachteil von solch absolut abgeschlossenen Systemen.
Hö? das verstehe ich jetzt nicht Denke eigetlich genau anders rum
Das ich was im FHEM Pushover Modul vielleicht Falsch mache.
Den Über andere dienste oder zb. online über Pushover.net seite funktioniert es ja ohne Probleme eine URL mit zu versenden die sich dann beim Öffnen der Nachricht mir Öffnet.
Also kann es doch nicht an iOS oder an der HW liegen oder doch?
Sorry wenn ich jetzt was falsch verstehe...
Mein Einwand zu iOS bezog sich auf Apps wie Tasker.
Bezüglich Pushover: Es liegt dann sicher an der Kodierung der URL. Sie wird sicher nicht als solche erkannt. Ob das Modul da was machen kann, weiß ich nicht.
achso sorry des habe ich dann auch falsch verstanden...
naja in der Nachricht wird es ja auch als URL link erkannt sonst könnte ich ja nicht nur drauf drücken und er öffnet sich oder?
vielleicht kann ja einer der Programmiere mal was dazu sagen.
schau dir mal telegram an.
da kannst du zumindest bilder mit verschicken. Wenn du also deine Kamera in FHEM eingebunden hast, dann könntest du beim klingeln einen Screenshot machen und diese per telegram auf dein Smartphone pushen.
Schau nochmal in die commandref. Ich glaube, du verwendest das set falsch.
kannst du mal genauer sagen was du meinst?
weil eine Nachricht bekomme ich ja.
Warum schlägst du nicht selbst eben die commandref auf? Aber gut. Ich habe gute Laune, ich mache das für dich.
set <Pushover_device> msg [title] <msg> [<device> <priority> <sound> [<retry> <expire> [<url_title> <action>]]]
Tipp: Schau dir nochmal die Reihenfolge und den Tipp von Loredo oben an.
Sorry aber ich stehe voll auf dem schlauch.... wo ist den der fehler...
meines:
set Pushover msg 'Überschrift' Text der Nachricht.' '' 2 'siren' 30 3600 'http://www.google.de' 'MeiniPhone'
aus ComRef
set Pushover1 msg 'Hint' 'This is a reminder to do something' '' 0 '' 0 3600 'Click here for action' 'set device something'
set Pushover1 msg 'Emergency' 'Security issue in living room.' '' 2 'siren' 30 3600 'Click here for action' 'set device something'
bin ich jetzt falsch oder das Beispiel In der commandref
Du bist falsch bzw. liest du falsch. Das Beispiel ist korrekt. Die action kommt in den letzten Parameter. Und der Hinweis von Loredo oben sagt auch genau, wo die URL hin kommt. Es ist der Parameter action (was auch sehr logisch ist). Bitte lesen.
Zitat von: Loredo am 10 November 2016, 09:06:45
Die letzten beiden Beispiele sind wohl was du suchst. Du kannst als Action auch eine URL eintragen.
Ich bin jetzt aber hier raus. Mehr geht nicht.
Hallo zusammen,
ich habe Pushover nach Anleitung hinzugefügt.... erst stand der state auf conect und mittlerweile auf disconnected.
Zitat
ERROR:
$VAR1 = 'https://api.pushover.net:443/1/messages.json: Can\'t connect(2) to https://api.pushover.net:443: SSL connect attempt failed error:2707307E:OCSP routines:OCSP_check_validity:status not yet valid SSL connect attempt failed error:2707307E:OCSP routines:OCSP_check_validity:status not yet valid';
DATA:
$VAR1 = '';
2016.11.15 10:51:44 4: Pushover Push: RCV TIMEOUT messages.json/title=Test&message=Dies ist ein Test&priority=0&token=aq5du9nbvvmvraat3q7risat8kr6oh&user=uAUggWExLtMy68vnyy9FoWcgRAB176
kommt als Ausgabe im LOG.
Ich hab auch schon Mitteilungen geschickt gehabt mit
set push msg 'test' 'bla bla'
Woran kann das liegen?
Die Fehlermeldung besagt, dass SSL dich davor geschützt hat deine Anfrage an einen Server abzusenden, dessen Zertifikat (noch) nicht gültig ist. Es ist davon auszugehen, dass dir der Pushover Server ein zu neues Zertifikat präsentiert hat. Da kann das FHEM Modul auch nichts dran ändern.
Ich habe gerade eine experimentelle, neue Version vom Pushover Modul eingecheckt.
Diese bietet folgende Neuerungen:
1. Support für Apple Watch Glances API (https://pushover.net/api/glances) über neuen set-Befehl "set glance"
2. alternative Syntax über parseParams (bisherige Syntax bleibt für msg-Setter erhalten, wird aber nicht weiter gepflegt)
Der Glance-Befehl ist ausschließlich über die neue parseParams Syntax erreichbar. Der msg-Befehl sollte weiterhin die alte Syntax kennen und zusätzlich auch über die flexiblere parseParams Methode angesprochen werden können.
Was bedeutet das?
Die unflexible und strenge bisherige Syntax wird als Legacy deklariert. Stattdessen kann man die Werte für Priorität, Sound etc. jetzt als key=value Format mit angeben.
Beispiele:
# Examples for messages using parseParams method
#
set Pushover1 msg This is a text.
set Pushover1 msg title=Title This is a text.
set Pushover1 msg title='Several words title' This is a text.
set Pushover1 msg title=Title This is a text. priority=1
set Pushover1 msg title=Emergency priority=2 Security issue in living room. sound=siren retry=30 expire=3600
set Pushover1 msg title=Hint This is a reminder to do something.
set Pushover1 msg title=Hint This is a reminder to do something. expire=3600 url_title='Click here for action' action='set device something'
set Pushover1 msg title=Emergency Security issue in living room. priority=2 sound=siren retry=30 expire=3600 url_title='Click here for action' action='set device something'
# Examples for using glances
#
set Pushover1 glance This is a text.
set Pushover1 glance title='Title' This is a text.
set Pushover1 glance title='Title' This is a text. subtext='Some more info'
set Pushover1 glance percent=75
set Pushover1 glance count=2
Wenn das alles so funktioniert, dann ergänze ich auch die Commandref entsprechend.
Au Backe, da kommt aber eine Menge Arbeit auf mich zu ;D
Wieso? Die alte Syntax bleibt ja ;)
Oder meinst du du möchtest gleich auf den msg-Befehl umstellen 8)
Nein, msg geht bei mir leider nicht. Was sehr schade ist im übrigen. Aber meine Messages sind da zu speziell. Gerade was Lautstärkenanpassung bei den Durchsagen an geht.
Die alte Syntax ist aber abgekündigt und wird nicht mehr gepflegt wenn ich Dich richtig verstanden habe. Daher gehe ich lieber einmalig mehr Aufwand ein als irgendwann eine Überraschung zu erleben. So in einem Jahr oder so. Ausserdem finde ich die neue Syntax auch ansprechender für meinen Kopf ;D
Hallo Zusammen,
Pushover bietet ja prinzipiell die Möglichkeit Emojis im Text und Betreff zu versenden (Webfrontend und E-Mail-Gateway).
Die Verwendung dieser Symbole/Piktogramme finde ich für Status- und Infomeldungen hilfreich und schick: ein Bild sagt oft mehr als Tausend Worte.
In FHEM nutze ich das bisher beim Versenden von E-Mails (http://www.fhemwiki.de/wiki/E-Mail_senden (http://www.fhemwiki.de/wiki/E-Mail_senden)). Dies mache ich dabei z.B. wie folgt:
my $emoji="\x{1F234}";
$text=$emoji.decode('utf-8',$text);
1F234 ist der Unicode (https://de.wikipedia.org/wiki/Liste_der_Unicodebl%C3%B6cke#Liste_der_Bl.C3.B6cke (https://de.wikipedia.org/wiki/Liste_der_Unicodebl%C3%B6cke#Liste_der_Bl.C3.B6cke)) des Emojis und $text übergebe ich dann als Bodytext in der E-Mail-Routine.
Ich habe das so auch mit dem Pushover-Modul probiert ($text als <msg>). Leider ohne Erfolg. Gibt es hier irgend etwas Besonderes zu beachten oder ist die Implementierung (derzeit) nicht dafür ausgelegt?
Danke und Gruß
Christoph
Ist das AppleWatch spezifisch (sound, priority usw) oder geht das auf jeden Pushover-Client?
Zitat von: Chris_Worms am 22 November 2016, 11:14:48
Ist das AppleWatch spezifisch (sound, priority usw) oder geht das auf jeden Pushover-Client?
Das geht auf jedem Pushover Client
Ich merke gerade, dass mit dem aktuellen CVS-Stand folgende Befehl falsch interpretiert wird:
set pushOver msg '' 'Es klingelt an der Haustür.' '' 0 'bike'
Am Endgerät steht nun:
Es klingelt an der Haustür. 0 bike
Ansonsten finde ich die neue Syntax ganz nett.
Zitat von: FunkOdyssey am 22 November 2016, 17:34:17
Ich merke gerade, dass mit dem aktuellen CVS-Stand folgende Befehl falsch interpretiert wird:
set pushOver msg '' 'Es klingelt an der Haustür.' '' 0 'bike'
Am Endgerät steht nun:
Es klingelt an der Haustür. 0 bike
Ansonsten finde ich die neue Syntax ganz nett.
ich habe auch Probleme damit. Seit dem Update läuft Pushover nicht mehr wie es soll.
Wurden alle Befehle geändert???
Gibt es irgendwo eine genaue Liste wie man die msg genau befüllen muss??
Die Commandref sowie das Wiki ist noch mit alten Befehlen gefüllt.
Hier im Forum findet man auch keine genauen Angaben.
Ich bitte mal um Beispiele wie man es nun neu einbindet ohne erst 100 Nachrichten zum Testen zuschicken zu müssen.
Um den Ton mitzusenden muss man aus ehemals
'pushover'
das machen
sound=siren
Aber wie kann ich 2-3 Devices vorbelegen? Bis letztens funktionierte
'Tablet,iPhone'
dies geht aber nicht mehr, Dies habe ich auch schon probiert aber funktioniert nicht
device=Tablet,iPhone
Danke im voraus
Hallo zusammen
nach dem heutigen Update ist der Wurm in PushOver drin.
Ich glaube der Sendestring enthält keine Trennzeichen mehr (')
set Pushover1 msg 'Info' 'Test 2 off' 'sm-g900f' 0 'siren'
mit Update
2016.11.22 19:59:30 4: Pushover Pushover1: RCV messages.json/&message=Info Test 2 off sm-g900f 0 siren&priority=0&token=
2016.11.22 19:59:30 5: Pushover Pushover1: RES messages.json/&message=Info Test 2 off sm-g900f 0 siren&priority=0&token=
ohne Update
2016.11.22 20:00:03 4: Pushover Pushover1: RCV messages.json/title=Info&message=Test 2 off&device=sm-g900f&priority=0&sound=siren&token=
2016.11.22 20:00:03 5: Pushover Pushover1: RES messages.json/title=Info&message=Test 2 off&device=sm-g900f&priority=0&sound=siren&token=
Kann das jemand bestätigen ?
LG
Stefan
Zitat von: FunkOdyssey am 22 November 2016, 17:34:17
Ich merke gerade, dass mit dem aktuellen CVS-Stand folgende Befehl falsch interpretiert wird:
Ich habe dafür gerade einen Fix eingecheckt.
Zitat von: Depechem am 22 November 2016, 17:52:09
Wurden alle Befehle geändert???
Nein: https://forum.fhem.de/index.php/topic,16215.msg525565.html#msg525565
Zitat von: Depechem am 22 November 2016, 17:52:09
Gibt es irgendwo eine genaue Liste wie man die msg genau befüllen muss??
Die Commandref sowie das Wiki ist noch mit alten Befehlen gefüllt.
Hier im Forum findet man auch keine genauen Angaben.
Und nochmal: https://forum.fhem.de/index.php/topic,16215.msg525565.html#msg525565Zitat von: Depechem am 22 November 2016, 17:52:09
Ich bitte mal um Beispiele wie man es nun neu einbindet ohne erst 100 Nachrichten zum Testen zuschicken zu müssen.
Da schau her: https://forum.fhem.de/index.php/topic,16215.msg525565.html#msg525565
Hallo zusammen
nach heutigen Update scheint es wieder zu passen.
2016.11.23 11:17:13 4: Pushover Pushover1: RCV messages.json/title=Info&message=Test 2 off&device=sm-g900f&priority=0&sound=siren&token=
2016.11.23 11:17:13 5: Pushover Pushover1: RES messages.json/title=Info&message=Test 2 off&device=sm-g900f&priority=0&sound=siren&token=
Danke schön
LG
Stefan
Zitat von: Loredo am 23 November 2016, 00:28:23
Ich habe dafür gerade einen Fix eingecheckt.
Nein: https://forum.fhem.de/index.php/topic,16215.msg525565.html#msg525565
Und nochmal: https://forum.fhem.de/index.php/topic,16215.msg525565.html#msg525565
Da schau her: https://forum.fhem.de/index.php/topic,16215.msg525565.html#msg525565
Also entweder bin ich wirklich zu dumm oder du verstehst mich nicht!? Deinen Link habe ich schon vor deiner Nachricht gelesen, leider hat er meiner Meinung nach gar nix wirkliches mit meiner Frage zu tun!?
Das Problem mit dem mitzusendenen Ton lag an dem Fehler des Modus dieses du jetzt gefixt hast.
Aber das Problem mit dem auswählen von 2-3 Devices funktioniert immer noch nicht. Dein Link hat mir dabei auch nicht weiter geholfen.
Also nochmal wie kann man "2-3 Devices" ansprechen???
Damit geht es nicht mehr:
set Pushover_Pushnachrichten msg 'Türklingel' 'Thomas' 'TabletThomasWohnzimmer,iPhoneThomas' 0 'pushover'
Also ich muss noch einmal die Frage an alle stellen!
Laut Loredo bin ich ja nur zu blöd zum lesen da er mir zu allen Fragen nur eine Verlinkung eines seiner Posts gibt.
Testet mal bitte alle ob nach dem Update des Pushover Moduls weiterhin die selekierte Auswahl von Devices noch klappt!?
Also so in etwa:
set Pushover_Pushnachrichten msg 'Türklingel' 'Thomas' 'TabletThomasWohnzimmer,iPhoneThomas' 0 'pushover'
'TabletThomasWohnzimmer,iPhoneThomas'
ein einzelnes Device einzutragen funktioniert, ganz leer lassen bedeutet an alle zu senden dies geht auch, nur an 2 oder mehrere Devices geht nicht mehr.
Scheinbar geht dies aber seit dem Update des Moduls nicht mehr. Ich habe heut früh ein Update gemacht.
Ich freue mich auf jede Rückinfo.
Gruß Thomas
also bei mir funktioniert das hier auf jedenfalls so:
set PushFHEM msg 'Smart-Home' 'Es hat an der Tür geklingelt!' 'iPad1,iPad2,iPhone1,iPhone2' 0 'pushover' 0 0 'Hier klicken' 'http://192.168.x.x/camera'
wenn dir des was hilft.
Also ich übergebe lieber immer alle Werte mit dann kann ich es leichter ändern wenn was ist.
deswegen auch die "null" werte.
Mit freundlichen Grüßen
Zitat von: Black7king am 23 November 2016, 18:12:00
also bei mir funktioniert das hier auf jedenfalls so:
set PushFHEM msg 'Smart-Home' 'Es hat an der Tür geklingelt!' 'iPad1,iPad2,iPhone1,iPhone2' 0 'pushover' 0 0 'Hier klicken' 'http://192.168.x.x/camera'
wenn dir des was hilft.
Also ich übergebe lieber immer alle Werte mit dann kann ich es leichter ändern wenn was ist.
deswegen auch die "null" werte.
Mit freundlichen Grüßen
Danke für deine Hilfe, selbst mit allen Werten geht es nicht. Hast du das aktuelle Pushover-Modul Update gemacht?
Zitat von: Depechem am 23 November 2016, 12:05:11
Meinung nach gar nix wirkliches mit meiner Frage zu tun!?
Dann formuliere doch bitte deine Fragen ordentlich und schreib auch, was du schon alles gelesen und probiert hast.
Es ging hier bisher um die neue Syntax und du hast zwei Themen komplett unklar durcheinander gebracht. Natürlich wirst du da erstmal auf das verwiesen, was zuvor schon geschrieben wurde, wenn du den Eindruck erweckst es nicht gelesen zu haben.
Zitat von: Depechem am 23 November 2016, 16:37:46
Also ich muss noch einmal die Frage an alle stellen!
Weshalb meinst du dich wiederholen zu müssen? Das hier ist keine Hotline und du bist kein Kunde, der mit mir einen SLA mit einer Reaktionszeit von 2 Stunden vereinbart hat. Wenn dir also keiner direkt antwortet, nimm doch einfach an, dass ich und auch andere ggf. auch andere Dinge zu tun haben?
Zitat von: Depechem am 23 November 2016, 16:37:46
Laut Loredo bin ich ja nur zu blöd zum lesen
Siehe oben.
Vielleicht gehst du auch etwas sorgfältiger mit der Anzahl deiner Satzzeichen um (z.B. kein ?! oder ?? oder !!!) und wählst die Art deiner Formulierungen etwas weniger angreifend. Dies war auch ein Grund dir "nur" die Links zum vorigen Post zu geben (andere Gründe siehe oben).
Zitat von: Depechem am 23 November 2016, 16:37:46
Scheinbar geht dies aber seit dem Update des Moduls nicht mehr. Ich habe heut früh ein Update gemacht.
Ich habe mir nun die Zeit genommen es mir anzusehen. Es hat nichts mit der Syntax-Änderung zu tun, jedoch mit einer anderen Änderung am selben Tag (https://forum.fhem.de/index.php/topic,39983.msg525371.html#msg525371) im Bezug auf die Extrahierung von User/Group Tokens als Präfix bei der Device-Angabe. Ich habe gerade einen entsprechenden Fix eingecheckt.
Hallo,
erstmal vielen Dank für die Arbeit.
Ich habe mal ein wenig mit Glances die die Apple Watch gespielt.
"set pushmsg glance text" funktioniert.
Aber Befehle wie "set pushmsg glance count=75" oder "set pushmsg glance percent=75" führen zum state=error.
Wenn man über Curl die API direkt mit "count=75" bedient funktioniert es. Ein "percent=75" habe ich da allerdings auch mit hinbekommen. Das wird in der Complication nicht angezeigt.
Viele Grüße,
Zitat von: FritzWutz am 23 November 2016, 20:39:47
Aber Befehle wie "set pushmsg glance count=75" oder "set pushmsg glance percent=75" führen zum state=error.
Es gab nur einen Vertipper bei count, der Rest funktioniert so wie er soll/muss. Bitte auch die Hinweise in der Pushover API Beschreibung zu den Glances beachten, z.B.
Zitat
Apple Watch
Pushing data to the Apple Watch must be done infrequently, or WatchOS will stop processing updates due to battery concerns. Please note that Pushover does not do any throttling of your data updates, so it is up to you to throttle your Glances API calls. When sending data to the Apple Watch, we recommend at least 20 minutes between each call. If you have pushed too much data and WatchOS stops processing updates, this resets overnight.
Remember, the data presented through our Glances API should be low-priority (something to be occasionally glanced at). If you need to send data that is delivered right away and presented to the user, use our Messages API (https://pushover.net/api).
Zitat von: Loredo am 23 November 2016, 19:23:42
Dann formuliere doch bitte deine Fragen ordentlich und schreib auch, was du schon alles gelesen und probiert hast.
Es ging hier bisher um die neue Syntax und du hast zwei Themen komplett unklar durcheinander gebracht. Natürlich wirst du da erstmal auf das verwiesen, was zuvor schon geschrieben wurde, wenn du den Eindruck erweckst es nicht gelesen zu haben.
Weshalb meinst du dich wiederholen zu müssen? Das hier ist keine Hotline und du bist kein Kunde, der mit mir einen SLA mit einer Reaktionszeit von 2 Stunden vereinbart hat. Wenn dir also keiner direkt antwortet, nimm doch einfach an, dass ich und auch andere ggf. auch andere Dinge zu tun haben?
Siehe oben.
Vielleicht gehst du auch etwas sorgfältiger mit der Anzahl deiner Satzzeichen um (z.B. kein ?! oder ?? oder !!!) und wählst die Art deiner Formulierungen etwas weniger angreifend. Dies war auch ein Grund dir "nur" die Links zum vorigen Post zu geben (andere Gründe siehe oben).
Ich habe mir nun die Zeit genommen es mir anzusehen. Es hat nichts mit der Syntax-Änderung zu tun, jedoch mit einer anderen Änderung am selben Tag (https://forum.fhem.de/index.php/topic,39983.msg525371.html#msg525371) im Bezug auf die Extrahierung von User/Group Tokens als Präfix bei der Device-Angabe. Ich habe gerade einen entsprechenden Fix eingecheckt.
Ich entschuldige mich hiermit für meine Ausdrucksweise.
Nach heutigen Update läuft es jetzt alles wieder wie vorher.
Dafür vielen Dank
Falls es interessiert, ich habe ein Problem mit der alten Syntax, zusammen mit einem aufruf einer Funktion aus der 99_myUtils. Mit der neuen Syntax funktioniert es aber tadellos und ich werde meine Pushover's umstellen - soll somit nur ein Hinweis sein.
Befehl:
set pushIngo msg 'Warnung' '{(checkWindowOpen("msg"))}' 'IngoS6' 2 'siren' 30 3600
Meldung:
Warnung 'Fenster nicht geschlossen:
Buero
Garage
[25.11 19:37:39]' IngoS6 2 siren 30 3600
mit der neuen Syntax:
set pushIngo msg title=Warnung {(checkWindowOpen("msg"))} device=IngoS6 priority=2 sound=siren retry=30 expire=3600
Meldung:
(Warnung steht im Titel)
Fenster nicht geschlossen:
Garage
[25.11 20:04:24]
Ich finde die neue Syntax wesentlich besser! Was mir grad ein wenig befremdlich erscheint ist, dass der Messagetext keinen key hat.
evtl. könnte man den Befehl so oder so ähnlich gestalten:
set pushIngo msg={(checkWindowOpen("msg"))} title=Warnung device=IngoS6 priority=2 sound=siren retry=30 expire=3600
oder ist das nicht FHEM konform?
Gruß
Ingo
Zitat von: FritzWutz am 23 November 2016, 20:39:47
Hallo,
erstmal vielen Dank für die Arbeit.
Ich habe mal ein wenig mit Glances die die Apple Watch gespielt.
"set pushmsg glance text" funktioniert.
Aber Befehle wie "set pushmsg glance count=75" oder "set pushmsg glance percent=75" führen zum state=error.
Wenn man über Curl die API direkt mit "count=75" bedient funktioniert es. Ein "percent=75" habe ich da allerdings auch mit hinbekommen. Das wird in der Complication nicht angezeigt.
Viele Grüße,
Danke für die Änderung. Ein Glance mit "count" funktioniert jetzt. Mit "percent" gibt bei mir aber eine Fehlermeldung "you must supply at least one data parameter". Hat das schon mal jemand ausprobiert?
Viele Grüße,
Hallo,
Benachrichtigungen habe ich bisher über DebianMail gemacht. Seit einem Update funktioniert das nicht mehr. Kurzerhand habe ich dann Pushover probiert. Eine Meldung wie z.B. "Batteriewarnung" ist damit kein Problem. Allerdings bei mehreren, in meinem Fall Homematic Geräten mit Batterien hätte ich gern noch das betreffende Device übermittelt. Es handelt sich um ein Internal Reading von HMInfo.
Ich habe versucht es wie bei DebianMail umzusetzten. Hier das Beispiel DebianMail als notify:
hm:ERR_bat.* {DebianMail('xxxl@xxx.xxx','FHEM Batteriewarnung',InternalVal("hm","ERR_names",""))}
Hier ein Versuch von vielen mit Pushover:
hm:ERR_bat.* {fhem "set pushmsg msg 'Batteriewarnung',InternalVal("hm","ERR_names","")"}
Es wird mir Syntax Fehler angezeigt. Natürlich habe ich noch andere Sachen ausprobiert aber es ist für mich stochern im Nebel. Immer mit dem Ergebnis von Syntax Fehlern.
Weiß denn jemand ob das überhaupt in Verbindung mit Pushover realisierbar ist?
Ich habe ähnliche (aber doch anders) Beispiel gefunden, wo immer was in die 99-myUtils eingetragen werden musste. Hoffte aber das es einfacher geht.
Ich freue mich über jeden Hinweis.
Danke und viele Grüße
Weil die Syntax (sprich dein Aufruf) auf falsch ist. Schau nochmal hier http://fhem.de/commandref_DE.html#Pushover nach und dann vergleich es mal mit deinem Aufruf :)
Ich verstehs nicht. Ich finde da keinen Hinweis wie ich mir aus dem Internals von "HMInfo" einen Namen des betreffenden Devices übergeben lassen kann.
DebianMail funktioniert nun wieder bei mir. Dort klappt die Übergabe perfekt. Trotzdem interessiert mich natürlich wie ich mir bei Pushover so was anzeigen lassen kann.
Falls noch jemand eine Idee hat wäre das Klasse.
Derzeit hab ich beides parallel laufen. Finde Pushover recht interessant. Derzeit lasse ich mir statt dem Device nun eben die Warnung und den Hinweis in HMInfo nachzuschauen anzeigen. Geht ja auch ;)
Viele Grüße
Das Problem ist nicht die Abfrage des InternelVal, sondern die Formatierung deines Pushover Befehls. Dieser entspricht nicht dem Schema, wie mittels FHEM eine Pushover Nachricht versendet wird.
Vielleicht hilft dir das auf die Sprünge:
Zitatset <Pushover_device> msg [title] <msg> [<device> <priority> <sound> [<retry> <expire> [<url_title> <action>]]]
Hab jetzt ne Weile verschiedene Freds zu meinem Problem gelesen, aber leider noch keinen Ansatz zu Lösung gefunden. Daher nun meine Frage:
Hab ein DOIF am laufen das mit dem Befehl
set Pushover1 msg 'Notfall' 'Haustuer nicht abgeschlossen,[FuT_StatusAnzeige_Speak] offen' 'RobNote4' '2' ''30 3600
abschließt.
Hab früher statt [FuT_StatusAnzeige_Speak] den state von [FuT_StatusAnzeige_Speak] in der Push geliefert gekriegt.
Hat sich was geändert oder warum geht das nicht mehr?
Kann mir jemand auf die Sprünge helfen?
Gr. Rob
Hab nochmal in Ruhe gelesen.
Und umgestelllt ! ::)
Zitat(set Pushover1 msg title=Notfall [FuT_StatusAnzeige_Speak] offen. device=RobNote4 priority=2 sound= retry=30 expire=3600)
..macht wieder genau was ich will.
Gr. Rob
Dabei noch der Hinweis: Die [device:reading] Notation wird nicht vom Pushover Modul interpretiert, sondern von DOIF oder IF. Sieht man bei dir auch prima, weil du die DOIF Klammern mit drum gelassen hast :-)
Wenn es also mit der alten Notation nicht geklappt hat, liegt das nicht am Pushover Modul, sondern an der Erkennung bei DOIF oder einer Änderung dort.
Kann es sein, dass die neue Syntax noch in der CommandRef geändert werden muss??
Edit:
ZitatWenn das alles so funktioniert, dann ergänze ich auch die Commandref entsprechend.
Alles klar, gerade gefunden :)
Also ich würde gerne mal Pushover Für die Apple Watch ausprobieren. Habe aber da noch paar fragen.
Ersten muss ich dazu noch irgendwas installieren oder reicht es FHEM auf dem aktuellen stand zuhaben?
Dann wie kann ich die Nachricht an eine Bestimmte AW schicken? muss ich da das gerät angeben das damit verbunden ist?
und dann die Frage kann ich da auch Bilder mit auf die AW schicken oder geht hier nur Text?
es sind ja hier https://pushover.net/api/glances (https://pushover.net/api/glances) die rede von Über Schrift und Text.
Zitat von: Loredo am 21 November 2016, 16:23:33
# Examples for using glances
#
set Pushover1 glance This is a text.
set Pushover1 glance title='Title' This is a text.
set Pushover1 glance title='Title' This is a text. subtext='Some more info'
set Pushover1 glance percent=75
set Pushover1 glance count=2
Fragen über Fragen vielleicht kann mir ja jemand helfen.
Im Voraus schon mal vielen dank!
PS: http://fhem.de/commandref_DE.html#Pushover (http://fhem.de/commandref_DE.html#Pushover) steht leider auch nichts nützliches dafür
Hallo,
ich habe die letzten Tage mein Programm auf den neuen Nachrichten Befehl umgebaut. Heute Morgen habe ich dann festgestellt, dass bei einigen Pushnachrichten der Zeilenumbrüche nicht funktioniert. Im Moment habe ich immer ein \n eingefügt.
Wie mache ich das am besten, so dass es immer funktioniert?
Vielen Dank im voraus
arokh12
Hallo,
seit meinem letzten 'update' funktioniert dies hier nicht mehr:
DEF ([07:00]) (set PushAndreasJasmin msg 'Wetter' 'Um 7h: [AussenTemp:temperature]°C, [AussenTemp:humidity]%' '' 0 'none')
NAME morgensTemp_doif
NR 216
NTFY_ORDER 50-morgensTemp_doif
STATE cmd_1
TYPE DOIF
Readings:
2016-12-21 07:00:00 cmd 1
2016-12-21 07:00:00 cmd_event timer_1
2016-12-21 07:00:00 cmd_nr 1
2016-12-21 07:00:00 error set PushAndreasJasmin msg 'Wetter' 'Um 7h: -0.1°C: Syntax: PushAndreasJasmin msg ['<title>'] '<msg>' ['<device>' <priority> '<sound>' [<retry> <expire> ['<url_title>' '<action>']]] 82%' '' 0 'none': Unknown command 82%', try help.
2016-12-21 07:00:00 state cmd_1
2016-12-21 07:00:00 timer_01_c01 22.12.2016 07:00:00
Condition:
0 DOIF_time_once($hash,0,$wday)
Könnte mir jemand bitte 'auf die Sprünge' helfen? ;)
Etwas dürftig das hier so "hinzuklatschen".
Die Fehlermeldung kommt aus DOIF, der Fehler ist also mit DOIF zu klären.
... ich würde mal darauf tippen, dass er das Komma im Befehlsteil als separierer zwischen 2 Befehlen interpretiert. Also bitte nochmal klammern.
@Loredo: sehe ich genauso!
Gruß Michael
Zitat von: l2r am 21 Dezember 2016, 15:04:27
... ich würde mal darauf tippen, dass er das Komma im Befehlsteil als separierer zwischen 2 Befehlen interpretiert. Also bitte nochmal klammern.
Danke! Das Komma war die Stolperfalle.
Zitat von: arokh12 am 17 Dezember 2016, 10:33:36
Hallo,
ich habe die letzten Tage mein Programm auf den neuen Nachrichten Befehl umgebaut. Heute Morgen habe ich dann festgestellt, dass bei einigen Pushnachrichten der Zeilenumbrüche nicht funktioniert. Im Moment habe ich immer ein \n eingefügt.
Wie mache ich das am besten, so dass es immer funktioniert?
Vielen Dank im voraus
arokh12
Daran hänge ich auch gerade. Hast du eine Lösung für den Zeilenumbruch gefunden?
So recht verstehe ich nicht, warum der Description Text nicht konsequenterweise auch einen Parameter bekommt. Denn sowie man im Titel ein Leerzeichen angibt - ohne diesen in einfache Anführungszeichen zu setzen (wie im Beispiel oben) - rennt man in den nächsten Fehler.
Unabhängig davon finde das Modul top und ich benutze es täglich. Vielen Dank an den Modulautor!
Zitat von: FHEMAN am 31 Dezember 2016, 15:03:24
Daran hänge ich auch gerade. Hast du eine Lösung für den Zeilenumbruch gefunden?
So recht verstehe ich nicht, warum der Description Text nicht konsequenterweise auch einen Parameter bekommt. Denn sowie man im Titel ein Leerzeichen angibt - ohne diesen in einfache Anführungszeichen zu setzen (wie im Beispiel oben) - rennt man in den nächsten Fehler.
Unabhängig davon finde das Modul top und ich benutze es täglich. Vielen Dank an den Modulautor!
Ich habe nach einigen probieren, meine ganzen \n durch ein <br> ersetzt. Damit funktioniert es bei mir problemlos.
Guten Rutsch
arokh12
Zitat von: arokh12 am 31 Dezember 2016, 15:07:41
Ich habe nach einigen probieren, meine ganzen \n durch ein <br> ersetzt. Damit funktioniert es bei mir problemlos.
Guten Rutsch
arokh12
Ah gut, vielen Dank. Das funktioniert bei den Description Texten (nicht im Titel, was aber ok ist).
Zitat von: FHEMAN am 31 Dezember 2016, 15:20:31
Ah gut, vielen Dank. Das funktioniert bei den Description Texten (nicht im Titel, was aber ok ist).
Ah, gut zu wissen. Das hab ich noch nicht ausprobiert, ob das im Titel anders ist.
arokh12
Gesendet von iPad mit Tapatalk
Zitat von: FHEMAN am 31 Dezember 2016, 15:03:24
Daran hänge ich auch gerade. Hast du eine Lösung für den Zeilenumbruch gefunden?
Funktioniert hier wie erwartet:
set Pushover msg title=Test zeile1\nzeile2
Zitat von: FHEMAN am 31 Dezember 2016, 15:03:24
So recht verstehe ich nicht, warum der Description Text nicht konsequenterweise auch einen Parameter bekommt.
Weil es einfacher ist und sich der Nachrichtentext bereits durch den Setter "msg" impliziert.
Zitat von: FHEMAN am 31 Dezember 2016, 15:03:24
Denn sowie man im Titel ein Leerzeichen angibt - ohne diesen in einfache Anführungszeichen zu setzen (wie im Beispiel oben) - rennt man in den nächsten Fehler.
Works as designed/intended. Diese Form der Notation ist ja FHEM übergreifend bei mehreren Modulen im Einsatz (und teilt sich auch eine Code Basis dafür). Ohne Anführungszeichen kann natürlich nicht erraten werden, wo der Inhalt z.B. für den Titel aufhören soll und wo der Nachrichtentext beginnt. Den Nachrichtentext explizit mit z.B. text="Zeile1\nZeile2 mit noch mehr Text" anzugeben hilft da auch nicht zu verstehen, dass Anführungszeichen unerlässlich bleiben. Dennoch bleibt die neue Notation flexibler und einfacher als zuvor, beispielsweise weil die Reihenfolge egal ist.
Zitat von: FHEMAN am 31 Dezember 2016, 15:20:31
Das funktioniert bei den Description Texten (nicht im Titel, was aber ok ist).
Die Pushover API selbst unterstützt auch keine mehrzeiligen Titel. Ist IMHO auch wenig sinnvoll; Romane gehören in den Beschreibungstext.
Zitat von: Loredo am 04 Januar 2017, 16:12:44
Funktioniert hier wie erwartet:
set Pushover msg title=Test zeile1\nzeile2
Funktioniert bei mir hier auch aktuell. Keine Ahnung, was wir da falsch gemacht haben. Dann kann ich meine Ersetzungsroutinen wieder ausbauen.
Zitat
Weil es einfacher ist und sich der Nachrichtentext bereits durch den Setter "msg" impliziert.
Im ersten Moment erschien es mir auch so. Aber übersichtlich ist das mMn nicht. So gesehen könnte der Setter "msg" dann ebenfalls eingespart werden. (Oder als Default gesetzt werden, sofern es noch andere gibt/geben wird)
Zitat
Works as designed/intended. Diese Form der Notation ist ja FHEM übergreifend bei mehreren Modulen im Einsatz (und teilt sich auch eine Code Basis dafür). Ohne Anführungszeichen kann natürlich nicht erraten werden, wo der Inhalt z.B. für den Titel aufhören soll und wo der Nachrichtentext beginnt. Den Nachrichtentext explizit mit z.B. text="Zeile1\nZeile2 mit noch mehr Text" anzugeben hilft da auch nicht zu verstehen, dass Anführungszeichen unerlässlich bleiben. Dennoch bleibt die neue Notation flexibler und einfacher als zuvor, beispielsweise weil die Reihenfolge egal ist.
Genau das meine ich ja: Um nicht raten zu müssen und um es übersichtlicher zu halten, wäre die konsequente Nutzung von Anführungszeichen aus meiner Sicht sinnvoll. Dass es an anderer FHEM Stelle ähnlich läuft, macht es ja nicht besser.
//edit: habe gerade gesehen, dass du die FHEM Referenz diesbezüglich angepasst hast. Ich denke, das hilft ungemein.
Zitat
Die Pushover API selbst unterstützt auch keine mehrzeiligen Titel. Ist IMHO auch wenig sinnvoll; Romane gehören in den Beschreibungstext.
Vollkommen ok, wie gesagt.
Mit ging es mit meinen Hinweisen nur darum, den ein oder anderen Hilfepost hier zu vermeiden.
Ich habe gerade eine neue Version eingecheckt und darin auch die CommandRef mit der neuen Syntax und dem Support für die Glances erweitert.
Man kann sich jetzt entscheiden auch den Nachrichtentext explizit als Option mit anzugeben, die Beispiele in der CommandRef machen das deutlich. Somit hat jeder die Wahl es sich einfach oder kompliziert zu gestalten.
Ab morgen per Update.
Moin,
ich habe das Modul auch seit einiger Zeit ohne Probleme z.B. zur pushen der Wettervorhersage als 2maligen push pro Tag am laufen.
Allerdings habe ich seit 3. Jan. einen doppelten push, einmal mit korrekten Daten aus dem Wetter-Proplanta und einmal mit täglich denselben Daten.
Ich kann den Fehler leider nicht finden...vielleicht könnt Ihr das ja:
Einmal ein List aus dem Device
Internals:
DEF 31028 de
INTERVAL 600
NAME Wetter_Pro
NR 375
STATE Tmin: -1 Tmax: 1 T: 1.9 H: 80.3 W: 10.8 P: 1023.4
TYPE PROPLANTA
URL http://www.proplanta.de/Wetter/profi-wetter.php?SITEID=60&PLZ=31028&STADT=31028&WETTERaufrufen=stadt&Wtp=&SUCHE=Wetter&wT=
Readings:
2017-01-09 14:47:35 cloudBaseMax 1000
2017-01-09 14:47:35 cloudBaseMin 600
2017-01-09 14:47:35 dewPoint -1.4
2017-01-09 14:47:35 durationFetchReadings 10.00
2017-01-09 14:47:35 fc0_chOfRain00 20
2017-01-09 14:47:35 fc0_chOfRain03 20
2017-01-09 14:47:35 fc0_chOfRain06 20
2017-01-09 14:47:35 fc0_chOfRain09 15
2017-01-09 14:47:35 fc0_chOfRain12 15
2017-01-09 14:47:35 fc0_chOfRain15 15
2017-01-09 14:47:35 fc0_chOfRain18 10
2017-01-09 14:47:35 fc0_chOfRain21 10
2017-01-09 14:47:35 fc0_chOfRainDay 15
2017-01-09 14:47:35 fc0_chOfRainNight 15
2017-01-09 14:47:35 fc0_cloud00 100
2017-01-09 14:47:35 fc0_cloud03 100
2017-01-09 14:47:35 fc0_cloud06 100
2017-01-09 14:47:35 fc0_cloud09 87.5
2017-01-09 14:47:35 fc0_cloud12 87.5
2017-01-09 14:47:35 fc0_cloud15 87.5
2017-01-09 14:47:35 fc0_cloud18 37.5
2017-01-09 14:47:35 fc0_cloud21 62.5
2017-01-09 14:47:35 fc0_date 09.01.2017
2017-01-09 14:47:35 fc0_dew 0
2017-01-09 14:47:35 fc0_evapor 1
2017-01-09 14:47:35 fc0_frost 1
2017-01-09 14:47:35 fc0_moonRise 14:07
2017-01-09 14:47:35 fc0_moonSet 04:39
2017-01-09 14:47:35 fc0_rad 1
2017-01-09 14:47:35 fc0_rain 0
2017-01-09 14:47:35 fc0_rain00 0
2017-01-09 14:47:35 fc0_rain03 0
2017-01-09 14:47:35 fc0_rain06 0
2017-01-09 14:47:35 fc0_rain09 0
2017-01-09 14:47:35 fc0_rain12 0
2017-01-09 14:47:35 fc0_rain15 0
2017-01-09 14:47:35 fc0_rain18 0
2017-01-09 14:47:35 fc0_rain21 0
2017-01-09 14:47:35 fc0_sun 25
2017-01-09 14:47:35 fc0_temp00 0
2017-01-09 14:47:35 fc0_temp03 0
2017-01-09 14:47:35 fc0_temp06 0
2017-01-09 14:47:35 fc0_temp09 -1
2017-01-09 14:47:35 fc0_temp12 1
2017-01-09 14:47:35 fc0_temp15 -1
2017-01-09 14:47:35 fc0_temp18 -1
2017-01-09 14:47:35 fc0_temp21 -1
2017-01-09 14:47:35 fc0_tempMax 1
2017-01-09 14:47:35 fc0_tempMin -1
2017-01-09 14:47:35 fc0_uv 2
2017-01-09 14:47:35 fc0_weatherDay stark bewoelkt
2017-01-09 14:47:35 fc0_weatherDayIcon http://www.proplanta.de/wetterdaten/images/symbole/t4.gif
2017-01-09 14:47:35 fc0_weatherEvening wolkig
2017-01-09 14:47:35 fc0_weatherEveningIcon http://www.proplanta.de/wetterdaten/images/symbole/n3.gif
2017-01-09 14:47:35 fc0_weatherMorning bedeckt
2017-01-09 14:47:35 fc0_weatherMorningIcon http://www.proplanta.de/wetterdaten/images/symbole/t5.gif
2017-01-09 14:47:35 fc0_weatherNight stark bewoelkt
2017-01-09 14:47:35 fc0_weatherNightIcon http://www.proplanta.de/wetterdaten/images/symbole/n4.gif
Einmal der Push:
define PushTempEarly at *06:30 {\
my $temp=ReadingsVal("Wetter_Pro","fc0_tempMax","");;\
my $morgens=ReadingsVal("Wetter_Pro","fc0_weatherMorning","");;\
my $nachmittags=ReadingsVal("Wetter_Pro","fc0_weatherEvening","");;\
my $regenday=ReadingsVal("Wetter_Pro","fc0_chOfRainDay","");;\
fhem("set PushMessage msg 'Guten Morgen, Simon sagt: ' 'Das Wetter am Vormittag wird: $morgens und es wird max. $temp °C. Die Regenwahrscheinlichkeit liegt bei $regenday Prozent. Am Nachmittag wird es $nachmittags. Ich wünsche Dir einen schönen Tag' '' 0 '' ")}
Vielleicht hat jemand eine Idee
Gruss
Thomas
vielleicht mal auf die neue Syntax umstellen...
msg title='Guten Morgen, Simon sagt: ' 'Das Wetter am Vormittag wird: $morgens und es wird max. $temp °C. Die Regenwahrscheinlichkeit liegt bei $regenday Prozent. Am Nachmittag wird es $nachmittags. Ich wünsche Dir einen schönen Tag' priority=0
Moin,
danke für die Unterstützung, und Nein´, es war nicht die Syntax, -->allerdings eine 2te FHEM Instanz auf dem Testsystem die diesen Blödsinn gepusht hat.
Das Modul ist doch eigentlich schon länger Zeit auf Non-Blocking HttpUtils umgeschrieben worden oder?
Hatte neulich einen Internetausfall und Zuhause gab es wohl andauernd längere Lags bei den Reaktionen von FHEM während ich noch arbeiten war.
Der WAF war natürlich sofort im Keller. ;)
Habe bei all den internetbasierenden Modulen in meinem FHEM schon gefürchtet, dass ich eine zweite lokale FHEM Installation mit FHEM2FHEM für all das Zeug auslagern muss.
Nach einigen Tests ist Pushover aber das einzige Modul, welches FHEM bei mir regelmäßig blockiert wenn keine Internetverbindung da ist.
Trenne ich die Verbindung habe ich alle paar Minuten ein c.a. 20 Sekunden-Lag.
Sobald ich Pushover auf disabled setze passiert das nicht mehr.
Kann das jemand anderes auch nachstellen und/oder hat eine Idee wo in dem Modul noch blockierender Code zu finden ist?
Module, die auf das Internet zugreifen, schalte mein FHEM sofort auf disabled, wenn googles DNS Server per PRESENCE nicht erreichbar sind.
Ah, sehr gute Idee. :)
Danke
Zitat von: Thyraz am 11 Januar 2017, 09:15:41
Das Modul ist doch eigentlich schon länger Zeit auf Non-Blocking HttpUtils umgeschrieben worden oder?
Ist es.
Zitat von: Thyraz am 11 Januar 2017, 09:15:41
Hatte neulich einen Internetausfall und Zuhause gab es wohl andauernd längere Lags bei den Reaktionen von FHEM während ich noch arbeiten war.
AFAIK ist Non-Blocking HttpUtils nicht 100% unblockierend. Die DNS Auflösung ist nach wie vor blockierend (lässt sich wohl nicht vermeiden) und wenn kein Internet vorhanden ist wird natürlich bis zu einem Timeout blockiert. Das Modul merkt allerdings, dass es den Request nicht erfolgreich absetzen konnte und deaktiviert sich dann.
Zitat von: Thyraz am 11 Januar 2017, 09:15:41
Nach einigen Tests ist Pushover aber das einzige Modul, welches FHEM bei mir regelmäßig blockiert wenn keine Internetverbindung da ist.
Trenne ich die Verbindung habe ich alle paar Minuten ein c.a. 20 Sekunden-Lag.
Sobald ich Pushover auf disabled setze passiert das nicht mehr.
Kann das jemand anderes auch nachstellen und/oder hat eine Idee wo in dem Modul noch blockierender Code zu finden ist?
Das ist nicht nachzuvollziehen. Es gibt nichts, was das Modul alle 20sek tun würde, ohne dass Nachrichten darüber verschickt würden.
@Loredo: Er hat auch nicht davon gesprochen, dass das Modul alle 20 Sekunden etwas macht.
Ja, passiert eher so alle 5-10 Minuten und ist dann für etwa 20 Sekunden blockiert.
Für den Fall, dass während eines Internetausfalls eine Pushnachricht versucht wird zu verschicken, wird sich das Modul auf "disabled" setzen, damit bei Nutzung des msg-Befehls erkannt werden kann, dass ein alternatives Routing verwendet werden muss, um die Nachricht zuzustellen (beispielsweise Audio). Wenn das Modul sich selbst disabled hat (nicht zu verwechseln mit dem Attribut "disabled"), dann wird alle 5 Minuten geschaut, ob wieder eine Verbindung zu Pushover aufgebaut werden kann. Ist das der Fall, wechselt der Status wieder auf "connected".
Das Timeout für HttpUtils ist auf 3 Sekunden eingestellt und kann über das Attribut timeout geändert werden. Warum aber HttpUtils nicht spätestens zumindest nach diesen 3 Sekunden nicht mehr auf eine DNS Antwort wartet, bleibt vermutlich ein Geheimnis. Du kannst auch versuchen dein lokales DNS Setup zu optimieren und negative Responses zu cachen (z.B. unbound auf deinem FHEM Server mit installieren).
Evtl auch mal dem Blockieren mit apptime und ggf perfmon genauer auf die Spur gehen.
Hallo,
wäre es vielleicht möglich, die Anzahl verschickter/verbleibender kostenloser Push-Nachrichten als Reading auszugeben? Die api bieten das laut https://pushover.net/api (https://pushover.net/api) an:
https://api.pushover.net/1/apps/limits.json?token=(your app token)
Auch wenn 7500 Nachrichten nicht so schnell erreicht werden, wäre es sicherlich interessant, wie viele man so verschickt.
Danke!
schöne Grüße
Jo
Gibt es bereits: apiLimit, apiRemaining und apiReset.
Gruß
Julian
Super, danke!
Hab ich echt übersehen :(
Schöne Grüße
Jo
Ich habe dank des Forums Pushover eingerichtet. Klappt auch soweit.
Aktuell nutze ich presence, um die Erreichbarkeit meiner LAN-Komponenten zu überwachen. Ich würde nun gern eine Pushnachicht bekommen, wenn ein Gerät Offline geht.
Geht mein Gerät Offline, wird auch schön der Status auf "absent" gesetzt. Ich habe es auch hinbekommen, dass mir dann eine Nachricht gesendet wird:
AP_Dachgeschoss {fhem ("set pushmsg msg 'FHEM' 'Statusänderung_AP_DG' '' 0 ''")}
Allerdings schickt er mir eine Nachricht bei Statusänderung, ich kann aber nicht sehen ob "absent" und "present". Ich bekomme es aber nicht hin, den Status "absent" und "present" mit in die Pushnachricht zu bekommen, damit ich auch anhand der Nachricht weiß, ob das Gerät Offline oder Online ist.
Darum meine Frage: wie bekomme ich den Wert des Readings mit in die Nachricht?
Danke schon mal :)
schau mal hier: http://fhem.de/commandref_DE.html#perl und hier: http://fhem.de/commandref_DE.html#notify
Danke dir.
Das hatte ich schon gelesen. Hab aber leider noch nicht so den Durchblick, wie ich mein Code anpassen muss, damit er mir den Wert eines Readings mitsendet...
Schau mal hier:
https://fhem.de/commandref_DE.html#set (https://fhem.de/commandref_DE.html#set)
Zitat
Ab featurelevel 5.7 ersetzt das set und setreading Befehl
- [device:reading] mit dem Wert des Readings für device, falls sowohl device, als auch Reading existiert, und nicht leer ist.
- [device:reading:d] wie ohne :d, aber alles nicht-numerische wird entfernt, siehe ReadingsNum
- {(perlExpression)} mit dem Ergebnis der perlExpression. $DEV wird dabei mit dem Namen des vom set betroffenen Gerätes ersetzt.
Du kannst beim Set-Kommando an beliebiger Stelle einfach [AP_Dachgeschoss:state] reinschreiben, wenn der Status für das Device "AP_Dachgeschoss" im Reading "state" steht und mitgeschickt werden soll.
Super, danke dir. Nun funzt es genau so wie ich es wollte. :)
Nun habe ich aber noch eine weitere Frage: für einige wenige (unwichtige) Ereignisse möchte ich die Nachrichten an das Handy meiner Frau schicken.
Wie setzt ich das am besten um? Der User-Key wird beim Einrichten von pushover in fhem schon festgelegt. Wie stelle ich das an, dass ich einen zweiten User-Key anlege und diesen gesondert ansprechen kann?
Entweder als Device die UserID angeben (optional gefolgt vom Gerät mit Doppelpunkt abgetrennt) oder ein weiteres, separates Pushover Device in FHEM anlegen.
Danke Loredo,
ich werde der Übersichtlichkeit halber ein weiteres Pushover Device einrichten.
@marvin78
ZitatModule, die auf das Internet zugreifen, schalte mein FHEM sofort auf disabled, wenn googles DNS Server per PRESENCE nicht erreichbar sind
Kannst das mal bitte erörtern.
LG
Tom
Presense Module in der lan-ping Variante auf 8.8.8.8
Dann ein Notify (oder Doif) darauf, welches mit set disabled / enabled die Module schaltet.
OK danke das ist OK.
Pushover lässt sich allerdings doch nur über das attr disabled 1 setzen.
Das lässt sich ja auch per DOIF z.B.
defmod InternetCheckSchalter DOIF ([GoogleCheck] eq "absent") (attr PushBenachrichtigung disable 1) DOELSEIF ([GoogleCheck] eq "present") (deleteattr PushBenachrichtigung disable)
Aber ist das Modul denn auch wirklich aus wenn es NICHT gespeichert wird? Oder bin ich da jetzt ganz verkehrt?
LG
Tom
Funktioniert bei mir nicht, wenn ich Pushover erstmalig auf der Uhr anzeigen lasse, sehe ich einen dünnen Kreis mit einem Punkt.
Sende ich eine der obigen Pushs, ist der Kreis vollflächig in der gleichen Farbe wie der Hintergrund, dh kaum sichtbar.
Drücke ich drauf, sehe ich die auf dem IPhone eingegangen Pushs, aber nicht die testpush
Jemand eine Idee?
Push zum iPhone mit msg funktioniert tadellos
Das klingt als wolltest du dem Entwickler der Pushover App deine Erfahrung mitteilen. Wir entwickeln diese App hier nicht, wir schicken nur Daten dorthin.
Gruß
Julian
Das ist schon klar, meine konkrete(re)n Fragen:
Kennt jemand dieses Verhalten?
Funktioniert bei anderen glance ohne dieses Verhalten?
Kann es an der Syntax der Meldung liegen oder müssen noch Attribute gesetzt werden?
Hier noch ein List
Internals:
APP_TOKEN .....
DEF ...... .....
NAME pushmsg
NR 687
STATE connected
TYPE Pushover
USER_KEY ......
VALIDATION_TIMER 1486405047.414
Readings:
2017-02-06 11:35:44 apiLimit 7500
2017-02-06 13:17:27 apiRemaining 7456
2017-02-06 11:35:44 apiReset 1488348000
2017-02-06 10:29:21 available 1
2017-01-12 20:47:50 devices ipad,iphone-K-H
2017-01-07 20:47:50 group 0
2017-02-06 12:14:14 lastAction -
2017-02-06 13:17:27 lastDevice ipad,iphone-K-H
2017-02-06 12:14:14 lastMessage 1
2017-02-06 12:14:14 lastPriority 0
2017-02-06 13:17:27 lastRequest aa4c7304a2473182fd33ef8ddcd891d4
2017-02-06 13:17:27 lastResult ok
2017-02-06 11:43:42 lastSubtext Some more info
2017-02-06 13:17:27 lastText 2
2017-02-06 13:17:27 lastTitle
2017-02-06 10:29:21 state connected
2017-01-07 20:47:50 tokenState valid
2017-01-07 20:47:50 userState valid
Attributes:
room Allgemein,Pushover
Das Problem mit der Apple Watch habe ich auch: Die Pushover Messages aus FHEM kommen alle (!) auf dem iPhone zuverlässig an, aber auf der Watch nur zufallsbedingt bzw. mit erheblicher Verzögerung. Das sieht aber nicht nach FHEM aus, sondern wie ein Apple-Watch OS Problem (seit Watch OS 3.1.3 oder dem neuesten iOS Update).
Sonderbar ist nur das ich mit der alten Syntax bei Aufruf aus einem Notify (set FHEM ...) korrekte Ergebnisse habe, bei Aufruf aus einem DOIF aber plötzlich die Probleme aufgetreten sind.
Da aber auf dem iPhone alles zuverlässig ankommt, kann die Ursache nicht in FHEM bzw. dem Pushover Modul liegen.
Gruß, Klaus
Bei mir werden die Pushnachrichten auch nicht an die Watch weitergeleitet.
Verstehe aber nicht warum, normal spiegelt die Watch doch einfach die Notifications vom iPhone.
Man merkt auch den Unterschied:
Wenn normal (z.B. bei anderen Apps) bei entsperrter Watch eine Nachricht reinkommt, bleibt das iPhone stumm und vibriert nicht.
Dafür "tippt" einen die Watch an.
Bekomme ich jetzt aber PushNotifications von PushOver, vibriert direkt das Handy und nicht die Watch.
Wusste gar nicht, dass das technisch überhaupt so möglich ist, solang an in der Watch App für die jeweilige Anwendung "iPhone Benachrichtigungen spiegeln" aktiv hat. :-/
Bei allen anderen Apps klappts...
Zitat von: Klaus.A am 13 Februar 2017, 00:54:55
Das Problem mit der Apple Watch habe ich auch: Die Pushover Messages aus FHEM kommen alle (!) auf dem iPhone zuverlässig an, aber auf der Watch nur zufallsbedingt bzw. mit erheblicher Verzögerung. Das sieht aber nicht nach FHEM aus, sondern wie ein Apple-Watch OS Problem (seit Watch OS 3.1.3 oder dem neuesten iOS Update).
Sonderbar ist nur das ich mit der alten Syntax bei Aufruf aus einem Notify (set FHEM ...) korrekte Ergebnisse habe, bei Aufruf aus einem DOIF aber plötzlich die Probleme aufgetreten sind.
Da aber auf dem iPhone alles zuverlässig ankommt, kann die Ursache nicht in FHEM bzw. dem Pushover Modul liegen.
Gruß, Klaus
Ich reihe mich hier einmal ein, genau das gleiche Problem. Manche Benachrichtigungen kommen bis zur Watch durch, manche nicht, auf dem iPhone klappt es währenddessen super. WatchOS/ IOS sind aktuell.
Was ich bez. FHEM herausgefunden habe: Alte vs. neue Modul-Syntax kann ich definitiv ausschließen, es klappt bei beiden mal ja und mal nicht. Ich hab jetzt schon viel probiert und es scheint wirklich rein zufällig zu sein. Selbst die identische Nachricht (selber Titel, selber text) klappt manchmal, manchmal aber nicht. Und interessant ist auch, dass es bei anderen Apps (z.B. Telegram, Threema etc.) sehr zuverlässig funktioniert.
Moin,
erst einmal vielen Dank für das tolle Modul es funktioniert fast alles wie gewünscht. Ich habe nur ein Problem mit der Callback-Funktion. Das Reading "cbAck_*" bleibt bei mir dauerhaft auf "0", obwohl ich das Atrribut "callbackUrl" gesetzt habe. Habe "verbose" auf 5 gesetzt und bekomme auch eine Bestätigung im Logfile, dass der entsprechende User die Pushover-Meldung acknowledged hat:
2017.03.17 12:24:37 4: Pushover pushmsg callback: link='/pushCallback1' URI='receipt=******&acknowledged=1&acknowledged_at=1489749876&acknowledged_by=******&acknowledged_by_device=farin'
Dennoch bleibt das Reading cbAck_* auf 0. Meine Callbackurl sieht folgendermaßen aus:
https://api:passwort@webhook.meinedomain.de/webhook/pushCallback1
Ich arbeite hier mit einem Apache reverseproxy und kann z.B. auch erfolgreich per HTTP readings setzen. Ich bin unter anderem nach folgender Anleitung gegangen: https://wiki.fhem.de/wiki/Anwesenheitserkennung#Webhook_weiter_absichern
Ich habe auch schon probiert das ganze ohne Authentifizierung zu machen, jedoch hat auch dies nicht den gewünschten Erfolg gebracht. Hat jemand vllt. noch eine Idee dazu?
Gruß
Farin1337
An alle Apple Watch Glance Ausprobierer:
Ich muss euch nochmals mit der Nase auf ein Zitat in der API Dokumentation (https://pushover.net/api/glances) stoßen (was ich hier schon öfters getan habe):
Zitat
Please note that our Glances API is currently in beta and may be subject to change.
und
Zitat
These pieces of data should be low-priority since they often cannot get updated in real-time or very frequently, and they must be concise because they are often viewed on small screens such as a watch face.
und
Zitat
Pushing data to the Apple Watch must be done infrequently, or WatchOS will stop processing updates due to battery concerns. Please note that Pushover does not do any throttling of your data updates, so it is up to you to throttle your Glances API calls. When sending data to the Apple Watch, we recommend at least 20 minutes between each call. If you have pushed too much data and WatchOS stops processing updates, this resets overnight.
Remember, the data presented through our Glances API should be low-priority (something to be occasionally glanced at). If you need to send data that is delivered right away and presented to the user, use our Messages API.
Die korrekte Schlussfolgerung ist also, dass ihr beim testen einfach zu viel und oft updated und die Verzögerungen in erster Linie dadurch entstehen, weil die Apple Watch API nicht für dauerhaftes Echtzeitupdate ausgelegt ist, um Strom zu sparen. Das ist nichts, was die Pushover App ändern könnte (oder gar das FHEM Modul, wie peterk_de richtig analysiert).
Zitat von: farin1337 am 17 März 2017, 12:41:00
Ich habe nur ein Problem mit der Callback-Funktion. Das Reading "cbAck_*" bleibt bei mir dauerhaft auf "0", obwohl ich das Atrribut "callbackUrl" gesetzt habe. Habe "verbose" auf 5 gesetzt und bekomme auch eine Bestätigung im Logfile, dass der entsprechende User die Pushover-Meldung acknowledged hat:
2017.03.17 12:24:37 4: Pushover pushmsg callback: link='/pushCallback1' URI='receipt=******&acknowledged=1&acknowledged_at=1489749876&acknowledged_by=******&acknowledged_by_device=farin'
Gibt es denn Readings, die im Namen den Wert von "receipt" beinhalten? Da wäre ein "list" und ein nicht geschwärztes Log interessant.
Hi,
ich gehöre auch zu den "Apple Watch Glance Ausprobierern" :).
Es ist zur Zeit nicht nur umständlich möglich, "count" und "percent" wieder auf '0' zu setzen.
Folgendes setzt zwar "percent" auf '25', aber "count" bleibt unverändert:
set Pushover glance count=0 percent=25
Folgendes ist der Workaround, mit dem ich es doch schaffe, "count" auf 0 zu setzen:
set Pushover glance count="-0" percent=50
Durch kontinuierliches ändern des Percent-Wertes kann ich sicherstellen, dass die Änderungen auf der Applewatch ankommen und nicht durch das WatchOS blockiert werden.
Nach einem kurzen Blick in den Pushover-Code würde ich davon ausgehen, dass folgendes bei '0' nicht funktioniert:
$values{count} = $h->{count} ? $h->{count} : undef;
$values{percent} = $h->{percent} ? $h->{percent} : undef;
Meine Perl-Fähigkeiten sind aber nicht gut genug, um hier sicher zu sein und einen Fix vorzuschlagen.
Vielen Dank im Voraus
LG
Christian
Zitat von: choenig am 20 März 2017, 10:03:02
Es ist zur Zeit nicht nur umständlich möglich, "count" und "percent" wieder auf '0' zu setzen.
Fair enough. Habe einen Patch dazu eingecheckt.
Zitat von: Loredo am 18 März 2017, 15:17:15
Gibt es denn Readings, die im Namen den Wert von "receipt" beinhalten? Da wäre ein "list" und ein nicht geschwärztes Log interessant.
Danke für deine Antwort und sorry, dass ich mich erst jetzt melde. Das Reading "cb_*" hat nur den Wert von receipt. Unter "list" finde ich keine Reading, die im Namen den Wert von "receipt" beinhalten. Ich habe das ganze bis jetzt nur mit einem Android Client probiert, werde es heute Abend einmal mit einem Apple Gerät ausprobieren. Anbei das entsprechende Logfile:
2017.03.20 12:46:55 4: Pushover pushmsg: RCV messages.json/title=Notfall&message=Sicherheits-Alarm im Wohnzimmer.&device=farin&priority=2&sound=siren&retry=30&expire=120&callback=https://user:passwort@domain.de/webhook/pushCallback1&token=<MEINTOKEN>&user=<MEINUSER>
2017.03.20 12:46:55 5: Pushover pushmsg: RES messages.json/title=Notfall&message=Sicherheits-Alarm im Wohnzimmer.&device=farin&priority=2&sound=siren&retry=30&expire=120&callback=https://user:passwort@domain.de/webhook/pushCallback1&token=<MEINTOKEN>&user=<MEINUSER>
{"receipt":"rtj7cf11ufzgb7bogypv8h7q3j7vxg","status":1,"request":"304ccd84-3620-4145-8c18-779f2859eb21"}
2017.03.20 12:48:19 4: Pushover pushmsg callback: link='/pushCallback1' URI='receipt=rtj7cf11ufzgb7bogypv8h7q3j7vxg&acknowledged=1&acknowledged_at=1490010496&acknowledged_by=uirpG2u*******&acknowledged_by_device=farin'
Hier die entsprechenden Readings:cbAck_1490010534 0 2017-03-20 12:46:55
cbDev_1490010534 farin 2017-03-20 12:46:55
cbMsg_1490010534 Sicherheits-Alarm im Wohnzimmer. 2017-03-20 12:46:55
cbPrio_1490010534 2 2017-03-20 12:46:55
cbTitle_1490010534 Notfall 2017-03-20 12:46:55
cb_1490010534 rtj7cf11ufzgb7bogypv8h7q3j7vxg 2017-03-20 12:46:55
lastRequest 304ccd84-3620-4145-8c18-779f2859eb21 2017-03-20 12:46:55
Gruß
Farin
Zitat von: farin1337 am 20 März 2017, 12:58:42
Danke für deine Antwort und sorry, dass ich mich erst jetzt melde. Das Reading "cb_*" hat nur den Wert von receipt. Unter "list" finde ich keine Reading, die im Namen den Wert von "receipt" beinhalten.
Ok, ich denke ich konnte da was finden und habe einen Patch eingecheckt.
Ab morgen ist es außerdem möglich, dass man die Aufforderung zur Bestätigung bei Priorität 2 Nachrichten vorzeitig beenden kann.
Siehe auch https://forum.fhem.de/index.php/topic,69281.0.html
ist das dann auch über den msg-Befehl bedienbar oder muss es über Optionen gelöst werden?
gruß Michael
Ja wird über die Advanced Options unterstützt.
Ok, danke schau ich mir dann morgen mal an.
Gruß Michael
Gesendet von iPhone mit Tapatalk Pro
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.
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
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?
ja das stimmt. ein At reicht auch.
...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).
Du kannst " nicht ineinander verschachteln.
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
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])
Danke Frank, mit deinem DOIF hat es geklappt. :) Meine Pushnachricht kam an!!!
Frage nur: wozu ist dieser Code nötig:
DOELSEIF ([20:15|1])
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.
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
Nabend,
mir wäre ein Fix bei der Sache schon wichtig, da ich unabhängig text, subtext und title versende.
Das ist eher ein Versehen als Absicht. Ich habe gerade das Errorhandling etwas überarbeitet und eingecheckt.
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
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.
Da ist in der Tat ein Dreher in der Prüfung gewesen. Habe einen Fix eingecheckt.
Ich bin schon verzweifelt, erst klappt msg nicht und dann auch noch das Pushover Modul nicht :D dann werde ich morgen weiter versuchen.
Noch eine Frage die eigentlich zu msg gehört, aber auch zu Pushover. Wenn ich url bzw Action mittels msg übertragen will, wie genau muss es dann geschrieben werden, wie in der Pushover API, oder alles groß? Hab dazu verschiedene Antworten im Forum gefunden. Leider war es im ersten Post von msg nicht dokumentiert. Die Advanced Optionen hatte ich dort gar nicht gesehen.
Zitat von: Amenophis86 am 02 April 2017, 22:18:13
Noch eine Frage die eigentlich zu msg gehört, aber auch zu Pushover. Wenn ich url bzw Action mittels msg übertragen will, wie genau muss es dann geschrieben werden, wie in der Pushover API, oder alles groß? Hab dazu verschiedene Antworten im Forum gefunden. Leider war es im ersten Post von msg nicht dokumentiert. Die Advanced Optionen hatte ich dort gar nicht gesehen.
Die "Advanced Options" (inzwischen heißen sie "User Parameter") sind experimentell und sollen getestet werden, sie sind bisher noch nicht offizieller Bestandteil.
Bisher aus gutem Grund, denn:
Der msg-Befehl kann seit ein paar Tagen (https://forum.fhem.de/index.php/topic,39983.msg611418.html#msg611418) auch die neue parseParams Notation von key=value für erweiterte Optionen wie url_title=Titel und reicht diese dann direkt an nachgelagerte Module wie Pushover durch. Man kann dann direkt alle Befehle so übergeben, wie es das Zielmodul verlangt. Wenn man mehrere Module und Nachrichtentypen bei sich verwendet, kann es dabei aber zu Überlagerungen kommen, wenn Module die selben Parameter haben, diese aber eine unterschiedliche Bedeutung haben. Deshalb kann man den Modulnamen gefolgt von einem Unterstrich als Präfix davor schreiben. Dieses Präfix wird dann entfernt, wenn die Nachricht an das passende Modul übergeben wird. Aus url_title=Titel wird dann also Pushover_url_title=Titel.
Die früheren "Advanced Options" über den Text mittels des JSON am Ende werden noch zur Kompatibilität unterstützt, werden aber nicht mehr empfohlen. Nach einer Übergangszeit werde ich dann wohl auch die Platzhalter wie %Pushover_SOUND% aus dem Standard Schema entfernen, denn durch die Möglichkeit die Parameter direkt durchzureichen braucht es diesen Umweg nicht mehr länger.
Für Module, die parseParams nicht verwenden, bleibt diese Möglichkeit aber grundsätzlich erhalten. Man kann diese Platzhalter auch über die User Parameter ansprechen.
Zum einen hab ich es gerade getestet, das Update hat geholfen.
Zum zweiten vielen Dank für die Erklärung. Noch eine Frage zu Action bei Pushover. Ich habe bei mir einen Revers Proxy mit https im Einsatz. Weiterhin kann aus dem Internet nur ein eine FHEMWEB zugreifen. Aktuell hat diese nur Zugriff auf das device Test und den Befehl set. Wenn ich jetzt mittels action='set Test off'
sende, dann passiert nichts. Gebe ich jedoch meine komplette dyndns URL inkl ?cmd=set%20Test%20off
dann geht es. Wo ist der Unterschied bzw was genau passiert bei reiner action=TuEtwas. Wie kommt da der Befehl bei FHEM an?
FHEM Befehle können nur direkt verwendet werden, wenn der Callback richtig konfiguriert wurde.
Der Befehl wird in FHEM gespeichert, die Pushover App bekommt nur einen Link mit einer ID auf den Befehl. Dadurch wird der interne FHEM Befehl nach außen hin nicht bekannt.
Es macht Sinn das Verbose-Level höher zu setzen um zu sehen, welche Details ein Modul dann über sein Verhalten Preis gibt.
All meine Module sind dafür ausgelegt, dass man sie entsprechend debuggen und verstehen kann, was sie tun.
Zitat von: Loredo am 03 April 2017, 23:24:56
FHEM Befehle können nur direkt verwendet werden, wenn der Callback richtig konfiguriert wurde.
sollte eigentlich sein, werde ich aber nochmal nachsehen.
Zitat
Der Befehl wird in FHEM gespeichert, die Pushover App bekommt nur einen Link mit einer ID auf den Befehl. Dadurch wird der interne FHEM Befehl nach außen hin nicht bekannt.
Ah, alles klar. danke
Zitat
Es macht Sinn das Verbose-Level höher zu setzen um zu sehen, welche Details ein Modul dann über sein Verhalten Preis gibt.
All meine Module sind dafür ausgelegt, dass man sie entsprechend debuggen und verstehen kann, was sie tun.
da bin ich dran und werde heute Abend hoffentlich weiter kommen, wenn ich wieder Zeit finde.
Und nochmals danke, dass du so viel Zeit und Geduld für mich opferst :)
ich habe den Fehler gefunden. "action" muss bei msg zwingend mit "Pushover_action" benannt werden. Es kam sonst anstelle von "set Test on" nur "set " als Befehl an. Sowohl, wenn es mit "" eingeschlossen wurde, als auch mit ''. Warum kann ich nicht sagen, aber nach langem Testen habe ich es mir so erklären können. Soll heißen
msg @rr_Device action="set Test on" url_title="Klick" title="FHEM" expire=3600 retry=0 Klick mich
funktioniert nicht richtig. Es kommt als Befehl nur "set " an. Aber
msg @rr_Device Pushover_action="set Test on" url_title="Klick" title="FHEM" expire=3600 retry=0 Klick mich
funktioniert.
Ich hab mein Problem mit der Apple Watch gelöst. 8)
Hab heute gesehen, dass man sich über die Pushover Homepage Testnachrichten schicken kann.
Dort kann man auch auswählen, ob über "Pushover (Default)" oder die angelegte App für Fhem.
Immer wenn ich Fhem gewählt hab, kam die Nachricht direkt auf dem iPhone an und nicht auf der Watch.
Bei Auswahl von "Pushover (Default)" hat hingegen die Watch vibriert.
Hab dann mal den Namen meiner Pushover App auf "Pushover" geändert und mein Custom Icon gelöscht.
Seitdem geht es problemlos mit den Notifications direkt auf die Watch.
Keine Ahnung was von beidem die Lösung war, oder beides zusammen.
Ich habe folgendes Problem. Ich lasse meine Batterie Stati überwachen und ein Pushnachricht (Pushover) soll mich informieren, wenn ein neuer Status gemeldet wird. Manchmal kommt die Nachricht an, manchmal kommt sie nicht an und Pushover setzt sich auf disconnected.
Folgende Definitionen liegen vor:
defmod ZE.Battery_Check notify .*:[Bb]attery:.* {
if($EVENT !~ m/ok/ and $NAME ne "WandTablet") { fhem("msg \@rr_Etienne title='Batterie Warnung' Folgende Batterie ist fast leer: $NAME") }
}
Folgender Fehler wird ausgegeben, obwohl die Nachricht richtig ankommt. Der Fehler erscheint auch NUR auf der Pushover Detail ansicht des Moduls, sonst nirgendwo. Diese hatte ich beim Senden immer offen. :
jquery.min.js line 2:
Uncaught Error: Syntax error, unrecognized expression: [informId='Pushover-msg title='' device='HA_Etienne:' priority=0 url_title="" message='Folgende Batterie ist fast leer-ts']
Im Log Selbst wird kein Fehler ausgegeben. Ausgelöst habe ich das ganze mittels setreading Test Battery low
Ich dachte erst, dass es daran liegt, das ich title mit '' gesetzt habe, aber auch, wenn ich es mit \"\" setze kommt der Fehler. Die SuFu hat mich leider nicht weiter gebracht. Daher stelle ich mal hier die Frage.
Es geht sogar soweit, dass Pushover plötzlich disconnected ist und ich es neu initialisieren muss.
Hier mal ein verbose 5 zur Pushover Nachricht vom Pushover Modul:
2017.04.12 11:15:07 5: Pushover Pushover: Received HttpUtils callback:
PARAM:
$VAR1 = {
'httpheader' => 'HTTP/1.1 200 OK
Date: Wed, 12 Apr 2017 09:15:05 GMT
Content-Type: application/json; charset=utf-8
Transfer-Encoding: chunked
Connection: close
X-Frame-Options: SAMEORIGIN
X-XSS-Protection: 1; mode=block
X-Content-Type-Options: nosniff
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: POST, OPTIONS
Access-Control-Allow-Headers: X-Requested-With, X-Prototype-Version, Origin, Accept, Content-Type, X-CSRF-Token, X-Pushover-App
Access-Control-Max-Age: 1728000
X-Limit-App-Limit: 7500
X-Limit-App-Remaining: 7205
X-Limit-App-Reset: 1493614800
ETag: W/"b1ff591b6a39c8bf04df8ec1cce47023"
Cache-Control: max-age=0, private, must-revalidate
X-Request-Id: 24d9a845-3718-4a4c-b0ce-6cd6c96aae7d
X-Runtime: 0.026469
X-Frame-Options: DENY
Strict-Transport-Security: max-age=31536000',
'cmd' => 'title=Batterie%20Warnung&message=Folgende%20Batterie%20ist%20fast%20leer%3a%20Test&device=HA_Etienne&token=ag4pvZivE2eDdDP8zhQn6GjozTi8Zq&user=u3BN2ABSXtzZX72V5eVC4rDpwz4maf',
'code' => '200',
'service' => 'messages.json',
'NAME' => '',
'conn' => undef,
'loglevel' => 4,
'path' => '/1/messages.json',
'hu_filecount' => 1,
'protocol' => 'https',
'hu_blocking' => 0,
'header' => 'Accept: application/json;charset=UTF-8
User-Agent: FHEM-Pushover/1.0.0
Agent: FHEM-Pushover/1.0.0
Accept-Charset: UTF-8',
'displayurl' => 'https://api.pushover.net:443/1/messages.json',
'host' => 'api.pushover.net',
'noshutdown' => 1,
'addr' => 'https://api.pushover.net:443',
'sslargs' => {},
'redirects' => 0,
'hu_portSfx' => '',
'httpversion' => '1.1',
'buf' => '',
'data' => 'title=Batterie%20Warnung&message=Folgende%20Batterie%20ist%20fast%20leer%3a%20Test&device=HA_Etienne&token=ag4pvZivE2eDdDP8zhQn6GjozTi8Zq&user=u3BN2ABSXtzZX72V5eVC4rDpwz4maf',
'hash' => {
'DEF' => 'ag4pvZivE2eDdDP8zhQn6GjozTi8Zq u3BN2ABSXtzZX72V5eVC4rDpwz4maf pushCallback',
'NR' => 161,
'helper' => {
'bm' => {
'Pushover_Set' => {
'mAr' => [
$VAR1->{'hash'},
'Pushover',
'msg',
'title=\'\'',
'device=\'HA_Etienne:\'',
'priority=0',
'url_title=""',
'message=\'Folgende',
'Batterie',
'ist',
'fast',
'leer:',
'Test\'',
'title=\'Batterie',
'Warnung\''
],
'max' => 13,
'dmx' => 0,
'tot' => 35,
'cnt' => 38
},
'Pushover_Define' => {
'dmx' => 0,
'mAr' => [
$VAR1->{'hash'},
'Pushover Pushover ag4pvZivE2eDdDP8zhQn6GjozTi8Zq u3BN2ABSXtzZX72V5eVC4rDpwz4maf pushCallback'
],
'max' => 2,
'cnt' => 1,
'tot' => 2
}
}
},
'APP_TOKEN' => 'ag4pvZivE2eDdDP8zhQn6GjozTi8Zq',
'NAME' => 'Pushover',
'READINGS' => {
'apiReset' => {
'TIME' => '2017-04-11 18:52:39',
'VAL' => '1493614800
'
},
'tokenState' => {
'VAL' => 'valid',
'TIME' => '2017-04-02 12:15:55'
},
'devices' => {
'VAL' => 'HA_Anja,HA_Etienne,Tab_Ede',
'TIME' => '2017-04-11 03:35:47'
},
'apiLimit' => {
'VAL' => '7500
',
'TIME' => '2017-04-11 18:52:39'
},
'lastResult' => {
'VAL' => 'ok',
'TIME' => '2017-04-12 11:08:47'
},
'lastAction' => {
'TIME' => '2017-04-12 11:08:47',
'VAL' => '-'
},
'apiRemaining' => {
'TIME' => '2017-04-12 11:08:47',
'VAL' => '7206
'
},
'lastTitle' => {
'VAL' => 'Batterie Warnung',
'TIME' => '2017-04-12 11:08:47'
},
'available' => {
'TIME' => '2017-04-12 11:04:44',
'VAL' => 1
},
'lastMessage' => {
'VAL' => 'Folgende Batterie ist fast leer: Test',
'TIME' => '2017-04-12 11:08:47'
},
'lastRequest' => {
'VAL' => '9bfbb839-b420-4f30-b0c1-af7cfcb03954',
'TIME' => '2017-04-12 11:08:47'
},
'lastDevice' => {
'VAL' => 'HA_Etienne',
'TIME' => '2017-04-12 11:08:47'
},
'lastText' => {
'TIME' => '2017-04-04 20:54:40',
'VAL' => 'TestNachricht'
},
'group' => {
'TIME' => '2017-04-02 12:15:55',
'VAL' => '0'
},
'userState' => {
'TIME' => '2017-04-02 12:15:55',
'VAL' => 'valid'
},
'lastPriority' => {
'VAL' => '0',
'TIME' => '2017-04-02 20:16:22'
},
'state' => {
'TIME' => '2017-04-12 11:04:44',
'VAL' => 'connected'
}
},
'fhem' => {
'infix' => 'pushCallback'
},
'TYPE' => 'Pushover',
'VALIDATION_TIMER' => '1492009727.93609',
'USER_KEY' => 'u3BN2ABSXtzZX72V5eVC4rDpwz4maf',
'STATE' => 'connected'
},
'url' => 'https://api.pushover.net:443/1/messages.json',
'type' => {
'device' => 'HA_Etienne',
'timestamp' => undef,
'url_title' => undef,
'action' => undef,
'message' => 'Folgende%20Batterie%20ist%20fast%20leer%3a%20Test',
'title' => 'Batterie Warnung',
'retry' => undef,
'sound' => undef,
'priority' => undef,
'expire' => undef
},
'callback' => sub { "DUMMY" },
'timeout' => 3
};
ERROR:
$VAR1 = '';
DATA:
$VAR1 = '{"status":1,"request":"24d9a845-3718-4a4c-b0ce-6cd6c96aae7d"}';
2017.04.12 11:15:07 4: Pushover Pushover: RCV messages.json/title=Batterie Warnung&message=Folgende Batterie ist fast leer: Test&device=HA_Etienne&token=ag4pvZivE2eDdDP8zhQn6GjozTi8Zq&user=u3BN2ABSXtzZX72V5eVC4rDpwz4maf
2017.04.12 11:15:07 5: Pushover Pushover: RES messages.json/title=Batterie Warnung&message=Folgende Batterie ist fast leer: Test&device=HA_Etienne&token=ag4pvZivE2eDdDP8zhQn6GjozTi8Zq&user=u3BN2ABSXtzZX72V5eVC4rDpwz4maf
{"status":1,"request":"24d9a845-3718-4a4c-b0ce-6cd6c96aae7d"}
Zitat von: Amenophis86 am 12 April 2017, 11:20:29
Folgender Fehler wird ausgegeben, obwohl die Nachricht richtig ankommt. Der Fehler erscheint auch NUR auf der Pushover Detail ansicht des Moduls, sonst nirgendwo. Diese hatte ich beim Senden immer offen. :
jquery.min.js line 2:
Uncaught Error: Syntax error, unrecognized expression: [informId='Pushover-msg title='' device='HA_Etienne:' priority=0 url_title="" message='Folgende Batterie ist fast leer-ts']
Diese Meldung wird vom Longpoll von FHEMWEB generiert, dessen Javascript offenbar nicht mit dem Nachrichteninhalt umgehen kann, um die Darstellung zu aktualisieren.
ok heißt das, dass ich irgendwas besser ändern sollte an der Nachricht, oder, dass dich damit leben muss?
Entweder lebst du damit oder du machst Rudi als Maintainer für FHEMWEB darauf aufmerksam.
zweiteres hört sich gut an. Wobei ich es jetzt erst Mal umgestellt habe. Aber werde es Rudi trotzdem schreiben ;)
Hi.
Ich habe das Problem, dass bei Pushover Nachrichten mit FHEM Befehl action="set device irgendwas" keine Aktion ausgelöst wird, sondern nur, wenn ich einen FHEM URL dort eintrage.
Ist das zuvor beschriebene Problem von Anfang April noch immer aktuell oder sollte das eigentlich funktionieren?
Sacha
Zitat von: SachaB am 29 April 2017, 15:03:47
Ich habe das Problem, dass bei Pushover Nachrichten mit FHEM Befehl action="set device irgendwas" keine Aktion ausgelöst wird, sondern nur, wenn ich einen FHEM URL dort eintrage.
Hast du denn die callbackUrl richtig eingerichtet? FHEM Befehle werden im Modul zwischengespeichert und es wird eine alternative URL generiert, die an das Endgerät geschickt wird. Das kann aber nur gemacht werden, wenn die nach außen erreichbare callbackUrl richtig konfiguriert ist und auch der Infix dazu passend vergeben wurde. Bei beiden kann die URI (nicht URL, also der Pfad) unterschiedlich sein, wenn ein Reverse Proxy sich entsprechend darum kümmert.
Das ist nicht nach außen erreichbar und soll es auch gar nicht sein.
Das soll nur im lokalen WLAN gehen.
Muss ich da trotzdem einen Callback URL angeben?
Und wie genau sieht so ein Callback URL aus? Ist das irgendwo dokumentiert? In der Ref zum Modul hab ich nix gefunden.
Natürlich, ohne URL geht nix. Die kann auch nur lokal vom Endgerät aus erreichbar sein.
Die Callback URL ist natürlich eine Adresse im Format
http://domain.tld/fhem/<INFIX>
Das genaue Format hängt von deiner FHEM Installation ab. Der INFIX ist das, was du beim Define von Pushover vergeben hast.
Zitat von: Loredo am 02 Mai 2017, 20:24:59
Natürlich, ohne URL geht nix. Die kann auch nur lokal vom Endgerät aus erreichbar sein.
Die Callback URL ist natürlich eine Adresse im Format
http://domain.tld/fhem/<INFIX>
Das genaue Format hängt von deiner FHEM Installation ab. Der INFIX ist das, was du beim Define von Pushover vergeben hast.
Okay verstehe. Ich hatte bei der DEF keinen infix gesetzt. Aber den kann man ja irgendwie eindeutig vergeben. Jetzt gehts.
Gesendet von iPhone mit Tapatalk
Ich schaffe es irgendwie nicht das Benachrichtigungen nur auf ein Smartphone gesendet werden. Wie ist die korrekte Schreibweise damit das geht. Leider kommen andere Pushnachrichten immer wieder doppelt bei allen Smartphones an, woran kann das liegen?
Hier mal ein Code der immer doppelt versendet wird, habe ich dort einen Fehler gemachtZWave_SENSOR_NOTIFICATION_2:open { if (Value("Alle_Bewohner") eq "absent") {fhem ("set Pushover msg 'Flur' 'Bewegung erkannt' '' 0 'cosmic'")}}
Siehe CommandRef: https://fhem.de/commandref_DE.html#Pushover
set <Pushover_device> msg <text> device=<smartphone1>[,<smartphone2>,...]
Zitat von: elmer am 07 Mai 2017, 10:04:15
Ich schaffe es irgendwie nicht das Benachrichtigungen nur auf ein Smartphone gesendet werden. Wie ist die korrekte Schreibweise damit das geht. Leider kommen andere Pushnachrichten immer wieder doppelt bei allen Smartphones an, woran kann das liegen?
Doppelt:
Sendet dein Device vll den Status doppelt? Mal mit Event-on-* arbeiten
Alle Smartphone bekommen die Nachricht:
Hast ja auch keine konkreten Empfänger benannt.
Danke, jetzt geht schon mal das einzelne Smartphone, ich hatte nie device= angegeben.
Werde mal überall Event on change Reading setzen, vielleicht hören die doppelten Meldungen dann auf.
Es geht doch nich so wie es gehen soll, ich habe jetzt gelesen das es eine alte und eine neue Schreibweise bei Pushover gibt.
Also bei der alten Schreibweise die ich verwende funktioniert eigentlich alles, nur wenn ich mein Smartphone mit angebe ignoriert er das.
Ich habe jetzt die neue Schreibweise einmal getestet, jetzt kommt aber nichts mehr an.
([HM_52EC7C:"open"]) (set Pushover msg title=Mähroboter device=Samsung-S7 priority=1 sound=tugboat)
Du hast gar keinen Nachrichtentext angegeben, was soll denn da ankommen? ;)
Oh man Brett vorm Kopf :-\
Jetzt kommt was an, aber ohne Ton, ist das Modul so zickig oder bin ich zu doof ;D
Geht hier.
Wenn gar kein Sound abgespielt wird, dann liegt es an deinen Telefoneinstellungen oder dem aktuellen Telefonstatus (z.B. Bluetooth Kopfhörer gekoppelt und du hörst gerade mit einem zweiten gepairten Gerät Musik o.ä.). Das ist dann eine reine Geschichte der Pushover.app und deines Telefons, nichts mit oder in FHEM.
Wenn der Standardsound abgespielt würde statt "tugboat", dann wäre was im Modul verkehrt. Geht hier aber.
Ok, nach Fhem Neustart scheint es zu gehen, wieso auch immer.
Moin!
ich denke, ich habe einen kleinen Bug festgestellt. wenn ich (in meinem Fall aus einem DOIF) nur ein Reading als Message versenden möchte, wird kein Text ausgegeben:
([11:27] and [myAbfall:now_text] ne "") (set pushmsg msg title='SS150 Müll Erinnerung' message='[myAbfall:now_text]' device='StephansHandy' sound='siren' )
wenn ich allerdings davor irgendeinen Text (hier als Beispiel nur einen Punkt) stelle, klappt es einwandfrei:
([11:27] and [myAbfall:now_text] ne "") (set pushmsg msg title='SS150 Müll Erinnerung' message='.[myAbfall:now_text]' device='StephansHandy' sound='siren' )
Hab ich etwas übersehen? Muss ich evtl. etwas escapen?
Vielen Dank auf alles Fälle für das geniale Modul!
Viele Grüße
Stephan
Leider verwechselst du diesen Thread mit einem DOIF Support Thread.
Bitte zunächst ausprobieren, ob der reine Pushover set-Befehl so funktioniert wie gewünscht. Falls ja, dann ist deine Frage für das DOIF Forum.
Ich habe Pushover in FHEM integriert und auch für Callback konfiguriert, was inzwischen ebenfalls funktioniert.
Wie sieht die korrekte Syntax für den MSG Befehl aus, damit ich folgendes Szenario abbilden kann?
1. Die Push-Mitteilung führt beim Klick auf Bestätigung dazu, dass die ACTION ausgeführt wird
2. Die URL führt alternativ dazu, dass eine Stornierung CANCEL dieser Nachricht stattfindet
Mit diesem Szenario könnte man dann abbilden, dass man auf ein Event mit ANNAHME oder ABLEHNUNG reagieren kann.
Wenn ich es annehmen möchte, klicke ich auf Bestätigung und eine Aktion wird ausgeführt, zum Ablehnen klicke ich den Link.
Danke für euere Hilfe!
Hallo zusammen,
ich versuche verzweifelt, eine Nachricht per Pushover an meine Devices zu schicken, scheitere aber immer an der Priorität 2.
Setze ich wie gefordert "retry" passiert gar nichts und im FHEM Log steht: "retry is out of scope"
Kann mir jemand sagen, was das bedeutet und was ich falsch mache?
Vielen Dank.
Grüße Mave
Ohne genau zu wissen, was du machst, kann man nicht sagen, was Du falsch machst.
Folgender Befehl:
set Push_Nachricht msg title=KUECHE Wasseralarm! priority=2 retry=30 expire=3600
führt zu folgendem Eintrag im FHEM Log:
notify_Wassermelder return value: parameter retry is out of scope
Eine Pushnachricht wird natürlich nicht versendet.
Grüße Mave
wenn du Leerzeichen in einem String hast, dann muss das Ganze in "" gesetzt werden.
Zitat von: CommandRef<option2>="<value with space in it>"
Edit:
Und was das mit einem notify zu tun hat verstehe ich nicht. Sollte es mit den "" immer noch nicht gehen, dann poste bitte auch mal ein list von "Push_Nachricht" und xxx deine Keys etc aus.
Über das Notify reagiert FHEM, wenn der HomeMatic Wassermelder Feuchtigkeit meldet (Status wechselt von 0 auf 1). Dann soll eine Nachricht per Pushover verschickt werden.
Das Ganze funktioniert auch seit Wochen wunderbar ohne priority.
Jetzt wollte ich die priority auf 2 setzen, damit ich einen Alarmton abspielen kann und die Nachricht bestätigen muss - bekomme es aber nicht hin.
Grüße Mave
Für den Alarmtext "Wasseralarm!" benötige ich keine Hochkommas.....dachte ich zumindest.
Ich hab da grad eine Vermutung, wo Du nach dem Notify fragst....
Vermutlich ist meine Klammersetzung falsch und das Notify betrachtet das retry als einen optionalen Parameter, den es natürlich nicht gibt.... :o
Ich muss das mal heute Abend überprüfen.
Danke erstmal.
Grüße Mave
Vielleicht postest du einfach mal ein List des notify. Mit halben Informationen lässt es sich schwer helfen :)
Hi,
ich ahbe da mal ne Frage zum Pushover Modul.
Aktuell nutze ich Pushover zur Bestätigung wenn bei mir die Rolläden geschlossen wurden.
Dazu habe ich natürlich einen Pushover Account und alles soweit eingebunden. Funktioniert alles bestens.
Jetzt habe ich aber noch eine weitere Anwendung für meinen Freundeskreis, die in einem anderen Fall ebenfalls von mir eine Push-Nachricht bekommen sollen.
Dazu habe ich im Pushover Account bei Applications neben der fhem Application noch die zweite Application mit einem eigenen Icon usw. agelegt.
Und gleichzeitig eine Empfängergruppe. Das verschicken der Nachrichten an eine Gruppe funktioniert, aber wie verschicke ich denn die Nachrichten über eine andere App (also anderer API token)?
Ist das überhaupt möglich? Denn in fhem im Modul Pushover ist der App Token ja hinterlegt. oder kann ich einen zweiten Dienst mit gleichem API token und anderen App token anlegen?
Danke
Gruss
Dennis
Sorry meine Frage hat sich erübrigt. Habe es hinbekommen. War zu schnell im Forum unterwegs :-)
Gruss
Dennis
Dann Teile doch deine Lösung mit, dass andere die danach suchen auch eine Lösung finden :)
Hi, na klar.
Also zunächst habe ich im Pushover Account eine neue App angelegt. Damit bekommt man auch einen neuen API Token. Dann im Pushover Account eine Gruppe angelegt und man bekommt auch dort einen neuen Group-Key. Mit beiden Keys wird in fhem einfach ein weiteres Pushover Device angelegt. War mir nicht sicher ob das funktioniert, aber es geht. Muss halt nur einen anderen Namen als das bestehende haben.
Und schon hat man unter dem gleichen Account eine weitere Pushover Möglichkeit.
Gruss
Dennis
Moin,
ich habe Pushover grundsätzlich erfolgreich laufen. Jetzt möchte ich mir eine universelle Batterie-Warnung erstellen, bei der dann auch automatisch das Gerät mit angegenen wird, welches sich mit BattLow gemeldet hat.
So etwas hatte ich für eine Email-Warnung bereits mal realisiert (aus dem Wiki), aber das funktioniert bei seit längerem nicht mehr und habe ich daher schließlich auch wieder entfernt.
Gruß, Christoph
Dafür gibt es zahlreiche Beispiele im CommandRef und im Wiki. Was hast Du schon? Funktioniert evtl. etwas nicht?
Hi, ich habe eine Frage zum ausgeben von Perl-Funktionen in der Pushovernachricht.
Hier ein Beispiel:
set Pushover_Pushnachrichten msg 'HOFTÜRCHEN [8_fach_Sender_Hoftor_Btn_02:state]' 'geöffnet (Nachricht da Schalter aktiv)' 'iPhoneThomas' 0 'none'
durch [8_fach_Sender_Hoftor_Btn_02:state]
wird mir ein "open" oder "closed" in der Nachricht mit ausgegeben.
Ich möchte aber statt dem eingentlichen Status nur den Zeitstempel dieses Readings in die Nachricht bekommen.
Im Forum wurde mir bereits diese Perl-Funktion [ReadingsTimestamp($NAME,"state","0")]
als Hilfestellung gegeben. Leider bringt die mir so 1 zu 1 in der Pushovernachricht nicht weiter.
Könnt ihr mir helfen?
Gruß Thomas
Zitat
[8_fach_Sender_Hoftor_Btn_02:state]
[/quote
Das ist kein Perl. Auf die Perl-Ebene wechselt man mit geschweiften Klammern.
Entsprechend kannst du den Inhalt der Klammern auch nicht einfach durch Perl-Code ersetzen.
Versuch stattdessen mal
Zitat
{ReadingsTimestamp($NAME,"state","0")}
Zitat von: Thyraz am 06 September 2017, 09:24:12
Bei:
set Pushover_Pushnachrichten msg 'HOFTÜRCHEN {ReadingsTimestamp($NAME,"state","0")}' 'geöffnet (Nachricht da Schalter aktiv)' 'iPhoneThomas' 0 'none'
kommt folgende Pushover-Nachricht an:
HOFTÜRCHEN geöffnet {ReadingsTimestamp($NAME,"state","0")} (Nachricht da Schalter aktiv)
Also er kann dies gar nicht auswerten!
Ok, wenn der Befehl mit dem Inline-Perl nicht klarkommt, dann eben andersrum alles von Perl aus:
{
my $timestamp = ReadingsTimestamp($NAME,"state","0");
fhem("set Pushover_Pushnachrichten msg 'HOFTÜRCHEN $timestamp' 'geöffnet (Nachricht da Schalter aktiv)' 'iPhoneThomas' 0 'none'");
}
Zitat von: Thyraz am 06 September 2017, 10:30:49
Ok, wenn der Befehl mit dem Inline-Perl nicht klarkommt, dann eben andersrum alles von Perl aus:
{
my $timestamp = ReadingsTimestamp($NAME,"state","0");
fhem("set Pushover_Pushnachrichten msg 'HOFTÜRCHEN $timestamp' 'geöffnet (Nachricht da Schalter aktiv)' 'iPhoneThomas' 0 'none'");
}
Ok Danke schonmal,
nur leider kommt da ein Error.
Vieleicht sollte ich sagen das das ganze über ein DOIF funktionieren soll.
Dieser alte DOIF Code hat den "state" per Pushover übermittelt:
([Fenster_Buero:state:] eq "open")(set Pushover_Pushnachrichten msg 'HOFTÜRCHEN' 'geöffnet [Fenster_Buero,,] (Nachricht da Schalter aktiv)' 'iPhoneThomas' 0 'none')
wenn ich den einfach mit deinem Code austausche:
([Fenster_Buero:state:] eq "open"){
my $timestamp = ReadingsTimestamp($NAME,"state","0");
fhem("set Pushover_Pushnachrichten msg 'HOFTÜRCHEN $timestamp' 'geöffnet (Nachricht da Schalter aktiv)' 'iPhoneThomas' 0 'none'");
}
oder so
([Fenster_Buero:state:] eq "open")({
my $timestamp = ReadingsTimestamp($NAME,"state","0");
fhem("set Pushover_Pushnachrichten msg 'HOFTÜRCHEN $timestamp' 'geöffnet (Nachricht da Schalter aktiv)' 'iPhoneThomas' 0 'none'");
})
kommt folgender Error bei Auslößung:
{ my $timestamp = ReadingsTimestamp($NAME,"state","0"); fhem("set Pushover_Pushnachrichten msg 'HOFTÜRCHEN $timestamp' 'geöffnet (Nachricht da Schalter aktiv)' 'iPhoneThomas' 0 'none'"); }: Global symbol "$NAME" requires explicit package name at (eval 992472) line 1, <GEN382839> line 1.
Zitat von: Depechem am 06 September 2017, 10:44:51
Vieleicht sollte ich sagen das das ganze über ein DOIF funktionieren soll.
Könnte helfen. ;)
Zitat
oder so
([Fenster_Buero:state:] eq "open")({
my $timestamp = ReadingsTimestamp($NAME,"state","0");
fhem("set Pushover_Pushnachrichten msg 'HOFTÜRCHEN $timestamp' 'geöffnet (Nachricht da Schalter aktiv)' 'iPhoneThomas' 0 'none'");
})
kommt folgender Error bei Auslößung:
{ my $timestamp = ReadingsTimestamp($NAME,"state","0"); fhem("set Pushover_Pushnachrichten msg 'HOFTÜRCHEN $timestamp' 'geöffnet (Nachricht da Schalter aktiv)' 'iPhoneThomas' 0 'none'"); }: Global symbol "$NAME" requires explicit package name at (eval 992472) line 1, <GEN382839> line 1.
Diese Version ist auf alle Fälle die richtige.
Der Ausführungsteil beginnt bei DOIF immer mit einer runden Klammer.
An der Fehlermeldung siehst du dann woran es liegt:
In dem aktuellen Ausführungsbereich gibt es keine Variable mit dem Namen "$NAME".
$NAME wird als Feature bei Notifiy erwähnt und hält den Namen des auslösenden Devices:
https://wiki.fhem.de/wiki/Notify
Willst du in Wirklichkeit nicht einfach den Devicenamen von "Hoftürchen" anstatt einer Variable an dieser Stelle stehen haben?
Zitat von: Thyraz am 06 September 2017, 11:06:58
Könnte helfen. ;)
Diese Version ist auf alle Fälle die richtige.
Der Ausführungsteil beginnt bei DOIF immer mit einer runden Klammer.
An der Fehlermeldung siehst du dann woran es liegt:
In dem aktuellen Ausführungsbereich gibt es keine Variable mit dem Namen "$NAME".
$NAME wird als Feature bei Notifiy erwähnt und hält den Namen des auslösenden Devices:
https://wiki.fhem.de/wiki/Notify
Willst du in Wirklichkeit nicht einfach den Devicenamen von "Hoftürchen" anstatt einer Variable an dieser Stelle stehen haben?
Super Danke dir ich habe es durch deine Hilfe:
([Fenster_Buero:state:] eq "open")({
my $timestamp = ReadingsTimestamp("Fenster_Buero","state","0");
fhem("set Pushover_Pushnachrichten msg 'HOFTÜRCHEN $timestamp' 'geöffnet (Nachricht da Schalter aktiv)' 'iPhoneThomas' 0 'none'");
})
Ich bekomme keine Pushnachrichten wenn meine Jalousien oder Stellmotoren sich bewegen. Lediglich die Anwesenheit via Handy wird mir mitgeteilt, obwohl es die gleiche Programmierung ist.
Handy...
# Sven's Samsung A5
define HA.SvenWlan PRESENCE lan-ping xxx.xxx.xxx.xxx 60
attr HA.SvenWlan event-on-change-reading state
attr HA.SvenWlan ping_count 4
attr HA.SvenWlan room Status
#HA.Jay definieren
define HA.Sven dummy
attr HA.Sven eventMap 1
attr HA.Sven room Status
#HA.Jay auf on setzen bei Anwesenheit
define HASvenOn notify HA.SvenWlan:present { fhem ("set HA.Sven on;; setstate watchdogHASvenWlanAbwesend defined") if (Value("HA.Sven") ne "on") }
#HA.Jay auf off setzen nach 3 Min Abwesenheit
define watchdogHASvenWlanAbwesend watchdog HA.SvenWlan:absent 00:03 HA.SvenWlan:present set HA.Sven off
attr watchdogHASvenWlanAbwesend regexp1WontReactivate 1
attr watchdogHASvenWlanAbwesend room Status
#Pushover Notification Zuhause
define HA.SvenPushoveran notify HA.Sven:on { fhem ("set PushMessenger msg 'Anwesenheit' 'Sven ist Zuhause.' '' 0 ''")}
define HA.SvenPushoveraus notify HA.Sven:off { fhem ("set PushMessenger msg 'Anwesenheit' 'Sven hat das Haus verlassen.' '' 0 ''")}
Stellmotor
define HM_531770_Sw_01 CUL_HM xxxxxx
attr HM_531770_Sw_01 comment Kanal 1 steuert FBH-Heizkreise 1-2 (Wohnzimmer)
attr HM_531770_Sw_01 group Schaltaktoren
attr HM_531770_Sw_01 model HM-LC-SW2-FM
attr HM_531770_Sw_01 peerIDs 00000000,
attr HM_531770_Sw_01 room CUL_HM,Wohnzimmer
attr HM_531770_Sw_01 webCmd statusRequest:toggle:on:off
#
# Wohnzimmer - Heizungregelung (Automatik- / Urlaubsmodus)
#
define HM_531770_Sw_01.Auto DOIF ([Modus_FHZ] eq "Auto" and ([04:15-21:00] and [WZ.LaCrosse:temperature] < 21.5)) (set HM_531770_Sw_01 on) \
DOELSEIF ([Modus_FHZ] eq "Auto" and ([04:15-21:00] and [WZ.LaCrosse:temperature] > 22.5)) (set HM_531770_Sw_01 off) \
DOELSEIF ([Modus_FHZ] eq "URLAUB" and ([04:15-21:00] and [WZ.LaCrosse:temperature] < 17.5)) (set HM_531770_Sw_01 on) \
DOELSEIF ([Modus_FHZ] eq "URLAUB" and ([04:15-21:00] and [WZ.LaCrosse:temperature] > 19.5)) (set HM_531770_Sw_01 off) \
DOELSEIF ([22:00-04:00] and [WZ.LaCrosse:temperature] < 17.5) (set HM_531770_Sw_01 on) \
DOELSEIF ([22:00-04:00] and [WZ.LaCrosse:temperature] > 19.5) (set HM_531770_Sw_01 off)
attr HM_531770_Sw_01.Auto group Schaltaktoren
attr HM_531770_Sw_01.Auto room CUL_HM,Wohnzimmer
attr HM_531770_Sw_01.Auto sortby 02
attr HM_531770_Sw_01.Auto wait 0:3600
#
# Wohnzimmer - Heizungregelung (Sommermodus)
#
define HM_531770_Sw_01.Off DOIF ([Modus_FHZ] eq "AUS") (set HM_531770_Sw_01.Auto disable) DOELSEIF ([Modus_FHZ] ne "AUS") (set HM_531770_Sw_01.Auto initialize)
attr HM_531770_Sw_01.Off group Schaltaktoren
attr HM_531770_Sw_01.Off room CUL_HM,Wohnzimmer
attr HM_531770_Sw_01.Off sortby 03
#
# Wohnzimmer - Benachrichtigung für Stellmotor
#
define HM_531770_Sw_01.SM.Oeffnung dummy
attr HM_531770_Sw_01.SM.Oeffnung eventMap 1
attr HM_531770_Sw_01.SM.Oeffnung room Haus,Status
#
# HM_531770_Sw_01.SM.Oeffnung definieren
#
define HM_531770_Sw_01.SM.Oeffnung.An notify HM_531770_Sw_01:on.* { fhem ("set HM_531770_Sw_01.SM.Oeffnung on") if(Value("HM_531770_Sw_01.SM.Oeffnung") ne "on") }
define HM_531770_Sw_01.SM.Oeffnung.Aus notify HM_531770_Sw_01:off.* { fhem ("set HM_531770_Sw_01.SM.Oeffnung off") if(Value("HM_531770_Sw_01.SM.Oeffnung") ne "off") }
#
# Pushover Notification bei Stellmotorenöffnung
#
define HM_531770_Sw_01.SM.Oeffnung.Pushover.On notify HM_531770_Sw_01.SM.Oeffnung:on {\
my $temperature_wz = sprintf "%.2f°C", ReadingsVal("WZ.LaCrosse","temperature",0);;\
my $temperature_te = sprintf "%.2f°C", ReadingsVal("GT.LaCrosse","temperature",0);;\
{fhem ("set PushMessenger msg 'FHZ (Wohnzimmer)' 'Die Stellmotoren wurden geöffnet.\n-WZ.Temperatur $temperature_wz\n-Außentemperatur $temperature_te'")}
#
Stellmotor on wir mir nicht mitgeteilt. Ideen ?
Keiner eine Idee ?
Ich glaube nicht, dass es ein Pushover Problem ist, eher, dass deine Programmierung einen Fehler hat. Kann dir gerade nicht sagen welche, ist ja auch recht komplex und lässt sich sicher einfach umsetzen. Aber ich würde mal mit dem trigger-Befehl/Dummys arbeiten und schauen, ob jeder richtig reagiert, wie er reagieren sollte.
Zitat von: en-trust am 30 Oktober 2017, 19:34:08
Keiner eine Idee ?
ich habe abgewandelt
{my $temperature_wz = sprintf "%.2f°C", "4";;{fhem ("set pushover msg 'FHZ (Wohnzimmer)' 'Die Stellmotoren $temperature_wz'")}
getestet.
Pushover msg kam an. Deine Frage hat mit deinem Aufbau mit ziemlicher Sicherheit nichts mit Pushover zu tun. Teste wie Amenophis86 vorgeschlagen hat, die Notifies in kleineren Scheiben und stelle deine Frage ggf. als eigenen Post im Anfängerbereich wenn du an der Programmierung scheiterst.
Kann es sein das aktuell immer 2 Meldungen ankommen? Habe seit ewiger Zeit nichts an der Konfig geändert und erhalte neuerdings immer die Nachrichten doppelt
bei mir alles OK.
kein Fehlverhalten feststellbar
Zitat von: chris1284 am 06 Dezember 2017, 08:23:49
Kann es sein das aktuell immer 2 Meldungen ankommen? Habe seit ewiger Zeit nichts an der Konfig geändert und erhalte neuerdings immer die Nachrichten doppelt
Bei mir keine Probleme. Alles aktuell. Teste mal aus dem Modul selbest mit "set <pushover> msg xxxx". Wenn hier auch 2 ankommen --> Modul, wenn nicht, dein notify oder coding welches die Message sendet.
Zitat von: chris1284 am 06 Dezember 2017, 08:23:49
Kann es sein das aktuell immer 2 Meldungen ankommen? Habe seit ewiger Zeit nichts an der Konfig geändert und erhalte neuerdings immer die Nachrichten doppelt
Der Fehler liegt anscheinend in der App. Gestern wurde eine korrigierte Version veröffentlicht.
Hab es mit den Pushover hinbekommen. Macht jetzt auch was er soll. Allerdings bekomme ich nun 2 Messages zum selben State.
Zunächst habe ich bei den Aktoren jeweils attr xxxx event-on-change-reading state eingesetzt.
Allerdings bekomm ich bei der Äbderung des Stellmotorenwertes nun 2 Messages. Einmal ...Stellmotor wurde auf set_off geändert und zeitgleich ...Stellmotor wurde auf off geändert.
# Badezimmer (FHZ)
define HM_xxx_Sw_01.PushNotify notify HM_xxx_Sw_01 {if(Value("PushMessenger_OnOff") eq "on"){\
my $temp_Status = Value("HM_xxx_Sw_01");;\
fhem ("set PushMessenger msg 'FHZ (Wohnzimmer)' 'Der Status (HM_xxx_Sw_01) wurde auf $temp_Status geändert.")}}
attr HM_xxx_Sw_01.PushNotify group Aktoren
attr HM_xxx_Sw_01.PushNotify room Status
Hat jmd eine Idee ?
HM Geräte haben einen Zwischenstatus set_xx bei jeder Änderung.
Du musst genauer auf dem Event triggern, oder in deinem Code die "set_xx" Events ausfiltern.
Könntest Du mir ein Beispiel für das Triggern und ausfiltern geben.
Hallo zusammen,
Habe heute gelesen das man auch Bilder seit neuerstens verschicken kann.
https://updates.pushover.net/post/170043375237/pushing-images-with-pushover-30 (https://updates.pushover.net/post/170043375237/pushing-images-with-pushover-30)
Gruß Gerd
Also wenn man das ins FHEM Modul mit ein bauen könnte wäre mega!!
Das macht dann einiges einfacher :-)
Das mit den Bilder wäre einfach genial!
An der Funktion wäre ich auch sehr interessiert. Mann kann zwar auch eine Mail an Pushover mit dem Foto schicken. Bei mir wird die Nachricht dann aber erst mit einer deutlichen Verzögerung von sicher 20 Sekunden auf das Handy gepusht.
Auf die Funktion warte ich auch schon lange. Man könnte einen Snapshot der Kamera direkt beim Push auf das Gerät anzeigen lassen.
Muss jetzt nur noch in das FHEM modul einbauen
Zitat von: Black7king am 29 Januar 2018, 08:06:49
Muss jetzt nur noch in das FHEM modul einbauen
Vielen Dank für deine Mühen, hilft sicher einigen!
Ich habe mir gestern mal das Modul angeschaut.
Den Paramter für das Attachment einzubauen war kein Problem.
Die Nachricht kommmt an, aber das Bild wird nicht korrekt dargestellt.
In der API steht, dass auch der HTTP Header entsprechend angepasst werden muss, damit das Format stimmt.
Da bin ich noch dran...
Zitat von: Loki am 07 Februar 2018, 10:13:26
Ich habe mir gestern mal das Modul angeschaut.
Den Paramter für das Attachment einzubauen war kein Problem.
Die Nachricht kommmt an, aber das Bild wird nicht korrekt dargestellt.
In der API steht, dass auch der HTTP Header entsprechend angepasst werden muss, damit das Format stimmt.
Da bin ich noch dran...
Hallo Loki,
Gibts schon was neues?
Wenn du Tester brauchst, helf ich dir gerne.
Gruß Robert.
Gesendet von iPhone mit Tapatalk Pro
Guten Abend,
leider habe ich seit kurzer Zeit Probleme mit dem pushover Modul. Mein Aufruf im DOIF sieht so aus:
set pushover msg title=Alarm priority=2 retry=10 expire=3600 Sicherheits-Alarm in der Wohnung. sound=siren device=iPhone_Mathias
Es wird keine Nachricht verschickt. Als Fehler im Log steht folgendes:
parameter retry is out of scope
Der Code hat bis vor kurzer Zeit funktioniert. Könnt ihr mir helfen?
VG Mathias
Laut API darf muss retry einen Wert von min 30 haben.
Danke, das war der Fehler. Mit retry=30 geht es!
Zitat von: no_Legend am 16 Februar 2018, 10:15:00
Hallo Loki,
Gibts schon was neues?
Wenn du Tester brauchst, helf ich dir gerne.
Gruß Robert.
Gesendet von iPhone mit Tapatalk Pro
Leider komme ich nicht weiter.
Ich schaffe es nicht, über HttpUtils den Header korrekt aufzubauen.
Der Request muss letztendlich so aussehen:
[other HTTP headers]
Content-Type: multipart/form-data; boundary=--abcdefg
----abcdefg
Content-Disposition: form-data; name="user"
[ your Pushover user key ]
----abcdefg
Content-Disposition: form-data; name="token"
[ your Pushover API token ]
----abcdefg
Content-Disposition: form-data; name="message"
your message here
----abcdefg
Content-Disposition: form-data; name="attachment"; filename="your_image.jpg"
Content-Type: image/jpeg
[ raw binary data of image file here ]
----abcdefg--
Hey
Vielleicht hilft dir das weiter.
https://github.com/thijsbekke/OctoPrint-Pushover
Gruß Gerd
Alternativ kann man auch ne kleine Routine in den myUtils ablegen und den Weg über "curl" gehen.
Aufrug dann über:
{Pushover "nachricht", "/mnt/test.jpg", 1}
#### Pushover
sub Pushover ($$$) {
my $text = shift;
my $pic = shift;
my $prio = shift;
system("curl -s --form-string 'token=xxx' --form-string 'user=xxx' --form-string 'message=$text' --form-string 'message=$text' -F 'attachment=\@$pic' --form-string 'priority=$prio' https://api.pushover.net/1/messages.json &");
Log 1, "Pushover Message: $text, Picture: $pic";
}
Man kann das halt mit den Optionen nach belieben anpassen.
Das würde ich Schummeln nennen.. ;)
Ich habe gerade ein Update eingecheckt, welches Attachments unterstützt.
Hallo Loredo,
ich habe nun nach dem Update " 15162 2017-10-01 11:25:11" im Header stehen. Ich vermute, dass ist die richtige?
Kannst du mir bitte zur Benutzeung etwas auf die Sprünge helfen?
Das Modul ist "connected" und msgs gehen wie gewohnt raus.
Wie hänge ich ein JPG dran?
Ich habe es z.B. so versucht:
set Pushover msg title="Subject" attachment="/path/to/my/local/pic.jpg" Some Text
Leider ohne Bild.
Danke für die Hilfe!
Gruß
David
EDIT:
Sorry - heißt "Ich habe gerade ein Update eingecheckt" - dass es noch nicht gleich freigegeben und verfügbar ist? Da kenne ich mich leider nicht aus...
Hey David,
# $Id: 70_Pushover.pm 15162 2017-10-01 11:25:11Z loredo $
ist noch die alte Version ohne Anhang!
Mach morgen noch mal ein Update.
K, danke! :)
Gruß
David
Moin!
70_Pushover.pm 16358 2018-03-09 09:58:05
Attachment Funktioniert! :)
Vielen Dank!
Gruß
David
Hast du es wie du oben beschrieben hast aufgerufen?
set Pushover msg title="Subject" attachment="/path/to/my/local/pic.jpg" Some Text
Ich bekomme es so irgendwie nicht hin. Es wird kein Bild verschickt :-\
Muss ich sonst irgendwas besonderes beachten?
Danke schonmal
Hallo Firetic.
Der Pfad ist entgegen meiner Annahme von gestern relativ zur FHEM installation.
Mein Bild liegt absolut betrachtet auf meinem Rpi unter "/opt/fhem/www/images/default/bild.jpg"
Ich sende mein Bild also so: attachment="www/images/default/bild.jpg" da meine Fhem Installation unter /opt/fhem zu finden ist.
Gruß
David
Super - das war mein Fehler :D
Danke dir
Hat jemand eventuell schon probiert einen Plot zu verschicken der mit
{ plotAsPng("mySVGPlot") }
erzeut wird?
helft mir doch mal bitte ich stehe gerade wieder voll auf dem schlauch was mache ich falsch...
set PushFHEM msg title="DingDong" message="Tür Bild Test" attachment="/www/snapshots/Door_snapshot.jpg" device="iPhone6S"
iOS -> Pushover 3.1.1 (text kommt auch an)
local Pfad ist -> /opt/fhem/www/snapshots/Door_snapshot.jpg (hier Kann ich mit filezilla das Bild öffnen)
Größe Bild -> 459 KB / 2688 × 1520 Pix (640x480 geht auch net)
Ver. -> 70_Pushover.pm 16358
Wo ist mein Fehler? jemand eine Idee was ich übersehe? Ist es die Auflösung? habe es aber schon mit geringer probier hat auch nicht geklappt..
bin wirklich ratlos..
@budda85
Habe ich noch nciht versucht. Gehe ich die Tage mal an.
@Black7king
Hat der fhem-Prozess auch sicher Zugriffsrechte auf den Pfad und die Datei? Da würde ich als erstes mal nach schauen...
Vielleicht zum Test mal als Weblink einbinden
define Testweblink weblink image /fhem/www/snapshots/Door_snapshot.jpg
Gruß
David
Zitat von: davipet am 15 März 2018, 14:10:46
@Black7king
Hat der fhem-Prozess auch sicher Zugriffsrechte auf den Pfad und die Datei? Da würde ich als erstes mal nach schauen...
Vielleicht zum Test mal als Weblink einbinden
define Testweblink weblink image /fhem/www/snapshots/Door_snapshot.jpg
So bekomme ich des Bild angezeigt, was abgelegt wurde.
hier hat dann das Bild eine Auflösung von 800x450 pix dran kann es ja auch nicht liegen oder?
Dann versuch mal:
set PushFHEM msg title="DingDong" message="Tür Bild Test" attachment="fhem/www/snapshots/Door_snapshot.jpg" device="iPhone6S"
Grüße Marcel
Zitat von: Ma_Bo am 15 März 2018, 15:33:46
set PushFHEM msg title="DingDong" message="Tür Bild Test" attachment="fhem/www/snapshots/Door_snapshot.jpg" device="iPhone6S"
Danke Für den tipp geht leider auch nicht...
habe es jetzt schon die Variationen durch und keine klappt.
set PushFHEM msg title="DingDong" message="Tür Bild Test" attachment="/www/snapshots/Door_snapshot.jpg" device="iPhone6S"
set PushFHEM msg title="DingDong" message="Tür Bild Test" attachment="/fhem/www/snapshots/Door_snapshot.jpg" device="iPhone6S"
set PushFHEM msg title="DingDong" message="Tür Bild Test" attachment="/opt/fhem/www/snapshots/Door_snapshot.jpg" device="iPhone6S"
und jeweils auch mit und ohne backslash...
Bei mir funktionierts
set pushmsg msg title="ALARM" attachment="www/snapshots/IPCAM_snapshot.jpg" Bewegung im Büro erkannt!!
Ich würde bei dir das führende / weglassen...
Das / vor dem Pfad mal weglassen?
Zitat von: Black7king am 15 März 2018, 15:38:59
Danke Für den tipp geht leider auch nicht...
habe es jetzt schon die Variationen durch und keine klappt.
set PushFHEM msg title="DingDong" message="Tür Bild Test" attachment="/www/snapshots/Door_snapshot.jpg" device="iPhone6S"
set PushFHEM msg title="DingDong" message="Tür Bild Test" attachment="/fhem/www/snapshots/Door_snapshot.jpg" device="iPhone6S"
set PushFHEM msg title="DingDong" message="Tür Bild Test" attachment="/opt/fhem/www/snapshots/Door_snapshot.jpg" device="iPhone6S"
und jeweils auch mit und ohne backslash...
Du hast es noch nicht so probiert, wie ich es geschrieben hatte...
Tapatalk iPhone, daher kurz gehalten.
EDIT: ah ok, den letzten Satz überlesen...
Mal so probieren wie raiderxxl schrieb...
Evtl. hast du zu viele Angaben...
Tapatalk iPhone, daher kurz gehalten.
Zitat von: raiderxxl am 15 März 2018, 15:51:17
Bei mir funktionierts
set pushmsg msg title="ALARM" attachment="www/snapshots/IPCAM_snapshot.jpg" Bewegung im Büro erkannt!!
Ich würde bei dir das führende / weglassen...
Wie schon oben geschrieben
ohne backslash gehts nicht... aber danke an alle die sich einen kopf darum machen...
Zitat von: Ma_Bo am 15 März 2018, 15:56:50
Mal so probieren wie raiderxxl schrieb...
Evtl. hast du zu viele Angaben...
set PushFHEM msg message="Tür Bild Test" attachment="/www/snapshots/Door_snapshot.jpg" device="iPhone6S"
set PushFHEM msg message="Tür Bild Test" attachment="www/snapshots/Door_snapshot.jpg" device="iPhone6S"
geht nicht
und die frisst er auch net (geht eine Nachricht ohne text garnicht (message=xxxxxxx))???
set PushFHEM msg title="DingDong" attachment="/www/snapshots/Door_snapshot.jpg" device="iPhone6S"
set PushFHEM msg title="DingDong" attachment="www/snapshots/Door_snapshot.jpg" device="iPhone6S"
set PushFHEM msg title="DingDong" device="iPhone6S"
Usage: PushFHEM msg <text> [ option1=<value> option2='<value with space>' ... ]
So mal versucht:
set PushFHEM msg Achtung DingDong title="DingDong" attachment="/www/snapshots/Door_snapshot.jpg" device="iPhone6S"
Ich habs so drin und es funktioniert... ohne Slash ...
lass mal das ganze anderen Gedöns weg schau dir nochmal die device help an da gab es ne Änderung im Aufbau der Msg.... Gibt da ein Extra Hinweis...
Zitat von: Ma_Bo am 15 März 2018, 16:09:38
So mal versucht:
set PushFHEM msg Achtung DingDong title="DingDong" attachment="/www/snapshots/Door_snapshot.jpg" device="iPhone6S"
leider auch nicht.. :'(
speilt es eine rolle welches device dahinter steht?
will jetzt meine tausend versuche ja nicht immer an alle gerate pushen da springen mir sonst ein paar im Dreieck...
Zitat von: raiderxxl am 15 März 2018, 16:11:48
Ich habs so drin und es funktioniert... ohne Slash ...
lass mal das ganze anderen Gedöns weg schau dir nochmal die device help an da gab es ne Änderung im Aufbau der Msg.... Gibt da ein Extra Hinweis...
ist aus der Hilfe kann das der Grund sein?
set Pushover1 msg message="Pushover message using explicit option for text content." This part of the text will be ignored.
Update hast du aber gemacht? ;-) und Reboot?
Gib mal version Pushover ein ...
Zitat von: raiderxxl am 15 März 2018, 16:17:58
Update hast du aber gemacht? ;-) und Reboot?
Gib mal version Pushover ein ...
:'( ich trau mir im moment selbst den dümmsten Fehler zu ... aber sie selbst
App ist auch aktuell...?
Zitat von: Ma_Bo am 15 März 2018, 16:22:51
App ist auch aktuell...?
3.1.1 vor 1 Woche upgedatet laut iPhone
edit:
Habes auch gerade an den Mac gesendet kommt über den Web-App auch nix an außer text...
ok PM ist OK ;-)
ich hbe es gerade nochmal mit device versucht...
set pushmsg msg title="ALARM" attachment="www/snapshots/IPCAM_snapshot.jpg" Bewegung im Büro erkannt!! device=iphoneX
Versuch genau das:
set PushFHEM msg title="DingDong" attachment="www/snapshots/Door_snapshot.jpg" Achtung DingDong !!! device=iPhone6S
Kommt nur an einem gerät an
Zitat von: raiderxxl am 15 März 2018, 16:26:54
ok PM ist OK ;-)
ich hbe es gerade nochmal mit device versucht...
set pushmsg msg title="ALARM" attachment="www/snapshots/IPCAM_snapshot.jpg" Bewegung im Büro erkannt!! device=iphoneX
Versuch genau das:
set PushFHEM msg title="DingDong" attachment="www/snapshots/Door_snapshot.jpg" Achtung DingDong !!! device=iPhone6S
Kommt nur an einem gerät an
also wenn ihr auch nimmer weiter wisst, ich würde es verstehen wenn ihr aufgebt :-D
aber tausend dank für die ganze Unterstützung!!!
Vielleicht:
set PushFHEM msg Ding Dong Test title=DingDong attachment=www/snapshots/Door_snapshot.jpg device=iPhone6S
Ich nutze es selber noch nicht, kann daher nicht testen...
In der commandref steht:
Attributes:
storage - Wird als Standardpfad beim Versand von Anhängen verwendet, ansonsten wird das globale Attribut modpath benutzt.
Muss man dort noch was angeben...?
ich hab bei Modpath . stehen und das attribut storage hab ich nicht ...
Zitat von: Ma_Bo am 15 März 2018, 16:38:58
Vielleicht:
set PushFHEM msg Ding Dong Test title=DingDong attachment=www/snapshots/Door_snapshot.jpg device=iPhone6S
so gehts auch nicht...
bin aber trotzdem einen halben schritt weiter... hab es zwar ausersehen An alle geschickt aber er versucht am mac was zu laden..
Zitat von: raiderxxl am 15 März 2018, 16:44:36
ich hab bei Modpath . stehen und das attribut storage hab ich nicht ...
Zitat von: Ma_Bo am 15 März 2018, 16:42:27
Ich nutze es selber noch nicht, kann daher nicht testen...
In der commandref steht:
Attributes:
storage - Wird als Standardpfad beim Versand von Anhängen verwendet, ansonsten wird das globale Attribut modpath benutzt.
Muss man dort noch was angeben...?
da muss nur soweit ich weis was eingetragen werden wenn das Verzeichnis nicht der Standart Speicher Pfad von FHEM ist aber korrigiert mich wenn ich falsch liege...
alos "/opt/fhem/..."
Ich hab Dir mal ne PN geschickt..
Wie verhält es sich eigentlich mit Bildern ausserhalb des FHEM Verzeichnisses? Die komplette Pfadangabe mit einem Slash am Anfang oder ohne?
Das geht irgendwie gar nicht. Das Storage Attribut hat bei mir nur das IPCam Modul und das legt die Bilder fleissig in /mnt/hdd/Cam_Snapshots ab. Dort habe ich auch diesen Pfad so angegeben.
Update: Habe mal in Zeile 21 "storage" noch als wählbares Attribut eingetragen und dieses dann mit dem Pfad gesetzt. Wie man im Modulcode sieht, wird es auch ausgewertet.
Es funktioniert jetzt und das Bild geht durch. Aber das Logfile sieht dann mit Verbose 5 grauenvoll aus. :o
Vielleicht kann sich das Loredo noch mal anschauen.
Zitat von: Dittel am 18 März 2018, 18:12:33
Vielleicht kann sich das Loredo noch mal anschauen.
Warum sollte ich? verbose Level 5 ist nun wirklich zum debuggen da und genau dafür sind auch die Informationen ::)
Könnte man die Readings noch erweitern um "lastAttachment" ?
Bei mir funktionierte meine Eingabe:
set push_3d msg title=' ALARM' attachment='www/snapshots/webcam3d_snapshot.jpg'
Entscheidend sind die Zeichen: '
Die Gänsefüßchen: " funktionierten dagegen nicht.
Mal eine blöde Frage: Pushover (also zuallererst der Dienst selber, nicht das FHEM Modul) unterstützt es nicht Benachrichtigungen zu "canceln", oder?
Mir ist eben aufgefallen, dass wenn ich auf dem iOS Lockscreen eine Whatsapp Nachricht habe und dann diese am Computer über web.whatsapp.com lese,
die Benachrichtigung vom Lockscreen des Handys verschwindet ohne das Gerät zu entsperren.
iOS scheint also mittlerweile ein Entfernen von Push-Benachrichtigungen zu unterstützen, das war mir noch gar nicht bekannt.
Ist dies mit der Pushover API auch schon möglich?
Das entfernen von Push Nachrichten in iOS geht schon länger, es haben aber noch immer wenige Apps integriert. Das Handling ist nicht so einfach, je nach Architektur und Aufwand. Im Grunde wird dafür eine Silent Notification genutzt soweit ich weiß, was dann natürlich schnell auch die Kapazitätsanforderung für den Pushdienst verdoppeln kann. Das lohnt sich für viele App Anbieter finanziell dann aber nicht.
Ob Pushover das eingebaut hat, weiß ich gerade gar nicht.
Sent from my iPhone using Tapatalk
Ok, danke für die Info. :)
Wir haben hier z.B. Erinnerungen für Wäsche und Trockner.
Fand die Idee ganze nett, dass die Notification bei meiner Frau auf dem Handy verschwindet wenn ich zuerst heimkomme und die Wäsche schon geholt habe.
Oder das selbe bei Erinnerungen an offene Fenster.
Damit könnte man ja sowohl die Erinnerung killen, als auch die Badge an der App wieder reduzieren/löschen.
Man ist gefühlt doch recht oft am Löschen alter Benachrichtigungen. ;)
Ich habe gerade mal ein bisschen mit Actions getestet und bin dabei auf einen Stolperstein gestoßen:
set pushmsg msg Test-Text device="meinDevice" title="Test!" priority=2 retry=30 expire=900 url_title="Abbrechen" action="set device reading 1"
2018-06-07 13:00:31 Pushover pushmsg apiRemaining: 7444
2018-06-07 13:00:31 Pushover pushmsg lastTitle: Test!
2018-06-07 13:00:31 Pushover pushmsg lastMessage: Test-Text
2018-06-07 13:00:31 Pushover pushmsg lastPriority: 2
2018-06-07 13:00:31 Pushover pushmsg lastAction: set device reading 1
2018-06-07 13:00:31 Pushover pushmsg lastDevice: meinDevice
2018-06-07 13:00:31 Pushover pushmsg lastRequest: e3cd8f35-66be-42b7-a3d4-8d4a50a475c2
2018-06-07 13:00:31 Pushover pushmsg cbTitle_1528370130: Test!
2018-06-07 13:00:31 Pushover pushmsg cbMsg_1528370130: Test-Text
2018-06-07 13:00:31 Pushover pushmsg cbPrio_1528370130: 2
2018-06-07 13:00:31 Pushover pushmsg cbAck_1528370130: 0
2018-06-07 13:00:31 Pushover pushmsg cbDev_1528370130: meinDevice
2018-06-07 13:00:31 Pushover pushmsg cb_1528370130: r1vpmeyruj7yzcso4w1o7wty23fx5j
2018-06-07 13:00:31 Pushover pushmsg cbAct_1528370130: set device reading 1
2018-06-07 13:00:31 Pushover pushmsg lastResult: ok
Wird also ordentlich verschickt und kommt auch auf dem Handy an.
Klicke ich nun auf den Link "Abbrechen" gemäß url_title, bekomme ich aber einen Fehler beim Callback:
NOK unable to find existing receipt 1528370130
Klicke ich dagegen in der Pushover App auf "Acknowledge", kommt der Callback im FHEM sauber an:
2018-06-07 13:01:20 Pushover pushmsg cbAck_1528370130: 1
2018-06-07 13:01:20 Pushover pushmsg cbAckBy_1528370130: ub5d6zeji124hith7wyp23yew2vyoj
2018-06-07 13:01:20 Pushover pushmsg cbAckAt_1528370130: 1528369279
2018-06-07 13:01:20 Pushover pushmsg cbAct_1528370130: executed: set device reading 1
D.h. der Callback funktioniert, aber der Link in der Push-Nachricht irgendwie nicht. Trotzdem ist aber url_title ein Pflichtattribut, sobald ich auch "action" benutze. Mir würde ja das reine Acknowledge ausreichen, aber warum muss ich dann noch url_title angeben, zudem wenn der Link dann auch nicht funktioniert. Das kann ich ja niemandem hier im Haus beibringen, dass da zwar ein Link ist, der aber nicht benutzt werden soll...
Mit Verbose 5 sieht man beim Aufruf des Links aus der Nachricht folgendes im Log:
Pushover pushmsg callback: link='/cbPushover' URI='acknowledged=1&acknowledged_by=ub5d6zeji123hith1wyp97yew2vyoj&FhemCallbackId=1528370658&cbNr=1528370658'
Beim Anklicken von "Acknowledge" wird dagegen folgender Link aufgerufen:
Pushover pushmsg callback: link='/cbPushover' URI='receipt=rumn44kno2jxdbptisjzbhwhybnkqk&acknowledged=1&acknowledged_at=1528369841&acknowledged_by=ub5d6zeji123hith1wyp97yew2vyoj&acknowledged_by_device= meinDevice'
Der springende Punkt im Code ist wohl der hier:
if ( defined( $webArgs->{receipt} ) ) {
$receipt = $webArgs->{receipt};
}
elsif ( defined( $webArgs->{FhemCallbackId} ) ) {
$receipt = $webArgs->{FhemCallbackId};
}
else {
return ( "text/plain; charset=utf-8",
"NOK missing argument receipt or FhemCallbackId" );
}
# search for existing receipt
keys %{ $hash->{READINGS} };
while ( my ( $key, $value ) = each %{ $hash->{READINGS} } ) {
$revReadings{ $value->{VAL} } = $1
if ( defined( $value->{VAL} ) && $key =~ /^cb_(\d+)$/ );
}
if ( defined( $revReadings{$receipt} ) ) {
Offenbar wird hier bei übergebener FhemCallbackId Variable das passende Reading nicht gefunden. Übergibt man direkt ein receipt, das ja in cb_<FhemCallbackId> gespeichert ist, klappt das.
Hallo zusammen,
ich nutze das Modul schon seit einer Weile und bin gerade dabei Attachments anhängen zu wollen.
Das funktioniert nur noch nicht so ganz wie ich es mir vorstelle.
Im Detail: Anhänge aus dem Verzeichnis von FHEM funktionieren. D.h. wenn die Datei in /opt/fhem liegt, dann kann ich mit dem Parameter attachment arbeiten.
Nun liegen meine Dateien aber nicht dort und das Verzeichnis ist auch kein Unterverzeichnis davon.
Theoretisch sollte ich mit dem Attribut storage den Ablageort der Dateien angeben können.
Das funktioniert aber nicht, weil das Modul das Attribut storage nicht kennt:
pushmsg: unknown attribute storage. Type 'attr pushmsg ?' for a detailed list.
Mit modpath mag ich nicht arbeiten, weil mir das andere Dinge kaputtmacht.
Mein Workaround ist die Angabe des Pfades mit führendem "../../", um auf das Rootverzeichnis zu kommen und von dort in den Pfad einzusteigen. Nicht schön, aber geht.
Hat jemand einen anderen Tipp?
Zitat von: db am 06 Juli 2018, 21:44:21
Hallo zusammen,
ich nutze das Modul schon seit einer Weile und bin gerade dabei Attachments anhängen zu wollen.
Das funktioniert nur noch nicht so ganz wie ich es mir vorstelle.
Im Detail: Anhänge aus dem Verzeichnis von FHEM funktionieren. D.h. wenn die Datei in /opt/fhem liegt, dann kann ich mit dem Parameter attachment arbeiten.
Nun liegen meine Dateien aber nicht dort und das Verzeichnis ist auch kein Unterverzeichnis davon.
Theoretisch sollte ich mit dem Attribut storage den Ablageort der Dateien angeben können.
Das funktioniert aber nicht, weil das Modul das Attribut storage nicht kennt:
pushmsg: unknown attribute storage. Type 'attr pushmsg ?' for a detailed list.
Mit modpath mag ich nicht arbeiten, weil mir das andere Dinge kaputtmacht.
Mein Workaround ist die Angabe des Pfades mit führendem "../../", um auf das Rootverzeichnis zu kommen und von dort in den Pfad einzusteigen. Nicht schön, aber geht.
Hat jemand einen anderen Tipp?
ersetze mal
../../ mit
/ dann geht es sofort Absolut im root los
Danke für die Antwort.
Leider funktioniert die absolute Pfadangabe nicht. Das habe ich vorher schon probiert. Bis zur Verzweiflung.
Hat schon mal jemand versucht über die Tablet UI Oberfläche eine Pushover Nachricht zu erstellen? Falls ja, könnte ihr mir bitte eine Hilfestellung geben.
Ich möchte eine individuelle Nachricht an einzelne Benutzer senden können(am besten noch auswählen können wer diese Nachricht alles erhält.
EIne IOS App zum erstellen einer Pushover Nachricht würde mir auch ausreichen. Leider habe ich da nix gefunden.
VG Thomas
Wie kann man Readings via Pushover verschicken? Ich verstehe die Syntax noch nicht wirklich ... Ich habe es testweise mit folgendem probiert:
set pushmsg msg title=Test priority=-1 get ReadingsVal(KeyValueProtocol_BME_2","Temperatur","")
Das funktioniert aber nicht. In der FHEM Referenz wird kein derartiges Beispiel besprochen.
EDIT: So geht es:
set pushmsg msg title=Messwerte priority=-1 'Temperatur' [KeyValueProtocol_BME_2:Temperatur]
Wenn ich <b>Test</b> zur Textformatierung nutze, dann wird in der Pushover App alles richtig angezeigt. In den Notification werden aber die Zeilenumbrüche nicht mehr erkannt. Woran liegt das? Kann man das umgehen?
EDIT: Scheint eine Limitierung seitens Android zu sein -> https://pushover.net/api Kann man die Umwandlung von /n in <br> verhindern?
Zitat von: Persuasiv am 05 August 2018, 17:33:52
Wie kann man Readings via Pushover verschicken? Ich verstehe die Syntax noch nicht wirklich ... Ich habe es testweise mit folgendem probiert:
set pushmsg msg title=Test priority=-1 get ReadingsVal(KeyValueProtocol_BME_2","Temperatur","")
Das funktioniert aber nicht. In der FHEM Referenz wird kein derartiges Beispiel besprochen.
EDIT: So geht es:
set pushmsg msg title=Messwerte priority=-1 'Temperatur' [KeyValueProtocol_BME_2:Temperatur]
So geht es aber nur in einem DOIF (weil nur da die [Device:Reading]-Syntax funktioniert.Alternativ hätte es vermutlich so lauten müssen:
set pushmsg msg title=Test priority=-1 {ReadingsVal("KeyValueProtocol_BME_2","Temperatur","")}
(ungetestet und ohne Gewähr)
Das stimmt nicht, set magic ist seit 5.7 (meine ich) allgemein gültig. Schau mal in der CommandRef unter set.
Allgemein gültig wäre ich vorsichtig, aber ja, es gibt eine zentrale Funktion und diese nutzt die aktuelle Pushover Version auch, zumindest wenn man von der Legacy set Variante die Finger lässt.
There was a network upgrade in my neighbourhood, so my cable modem would be intermittently offline.
Pushover messages would block the main event loop for a long time and other events (EnOcean, local MQTT) would not be processed anymore.
I noticed in the Pushover module source that the HTTP requests are non-blocking and timeout after 3 seconds.
So why did this still block ?
2908:2018.11.20 08:09:07 3: [Freezemon] Long function call detected SetFn:Pu_Lr - 240.051553 seconds
2909:2018.11.20 08:09:07 3: [Freezemon] Long running Command detected set Pu_Lr msg "[REDACTED]" sound=bugle:Command - 240.05215 seconds
2910:2018.11.20 08:09:07 3: [Freezemon] Long function call detected NotifyFn:Ntf_Front_Door_Closed - 240.052615 seconds
2911:2018.11.20 08:09:08 3: [Freezemon] Long function call detected ReadFn:Mosquitto - 240.149559 seconds
2912:2018.11.20 08:09:08 1: [Freezemon] freezemon: possible freeze starting at 08:05:08, delay is 240.032 possibly caused by: cmd-set Pu_Lr msg "[REDACTED]" sound=bugle(Command) fn-SetFn(Pu_Lr) fn-NotifyFn(Ntf_Front_Door_Closed) fn-ReadFn(Mosquitto) tmr-ModbusLD_GetUpdate(N/A)
2913:2018.11.20 08:13:08 3: [Freezemon] Long function call detected SetFn:Pu_Lr - 240.094297 seconds
2914:2018.11.20 08:13:08 3: [Freezemon] Long running Command detected set Pu_Lr msg "[REDACTED]" sound=bugle:Command - 240.094805 seconds
2915:2018.11.20 08:13:08 3: [Freezemon] Long function call detected NotifyFn:Ntf_Front_Door_Closed - 240.095177 seconds
2916:2018.11.20 08:13:08 3: [Freezemon] Long function call detected ReadFn:Mosquitto - 240.197343 seconds
My best guess is DNS lookup would block the request.
You may want to have a look to the dnsServer attribute on the global device to explicitly set your DNS resolver IP. CommandRef states that DNS will only be non-blocking if this attribute was set.
Hallo Zusammen,
ich habe ein GPS Device welches mir nebst den GPS Daten auch ein reading für einen HTML Link zu Google Maps liefert.
Nun ist es ja möglich der Pushnachricht eine URL mitzugeben.
Ist es möglich das Reading abzugreifen und als URL mit in die Pushover Nachricht zu geben?
Habe schon einiges versucht, jedoch will es leider nicht.
Stelle mir das so vor:
set Push msg title="Standort Camper" message="Für den aktuellen Standort klicke bitte auf den Link." action="[KastenGPS:link] url_title="GoogleMaps Standort Camper" expire=3600
Ist es möglich dies umzusetzen, und wenn ja, wer kann den Wald vor lauter Bäumen für mich fällen?
Vielen Dank vorab.
beste Grüße Patrick
Dir fehlt beim Action Parameter das schließende Gänsefüßchen oben.
Danke Loredo, das war`s. ;D
Meinst ich hab das vorher gesehen?! ???
Vielen vielen Dank.
Hallo an alle! Habe seit über zwei Jahre meine waschmschiene über eine Homematic steckdose laufen und pushover eingerichtet, da durch bekam ich eine nachricht auf Android gerät(e).
Die medungen bekomme ich ich auch jetzt noch wie auch immer, nur früher spielte auf den gerät(en) noch musik ab und das fehlte mir seit übereinen Monat. Alle meine versuche das rauszufinden scheiterten bis jetzt. Weis vieleicht jemand mir mit Rat wieter zu helfen. In Fhem sind meine einstellungen ohne änderungenm bei Pushover auch, ause das ich noch verschiedene Geräte mitreingenommen habe, um das erstgerät als defekt auszuschliesen.
Danke
Hi Loredo,
Glances klappen nicht im HTML-Mode. Könntest du daher die Prüfung nochmal erweitern, ob Subtext, Title oder Text HTML enthält?
--> Korrekte Lösung im nächsten Post.
Hintergrund ist der, dass ich gerne auf meine Apple Watch 4 eine 3-Zeilige Glance mit Symbolen (Unicode-Emojis per ....; ) schicken möchte. Das klappt aber nur im HTML-Mode, im normalen Modus rendert die Pushover-Api einfach den Hex Code ...
Hmm OK das hätte gar nicht geholfen ... ich habe jetzt weiterprobiert und es nach unzähligen Versuchen hinbekommen, eine Glance mit Emoji zu versenden:
- Wenn man in FHEMWeb im Befehl das Emoji im Browser sieht, dann kommt es auch richtig an (am besten also einfach das Emoji und nicht den Code dafür hineinkopieren). Ob das Pushover-Modul HTML erkennt oder nicht, spielt offenbar keine Rolle.
- In dem API-Call muss für Glances noch das Flag html=1 gesetzt sein. Dazu habe ich in den Block if ( $cmd eq "glance" ) { ...
einfach
$values{html} = "1";
eingefügt ... und nun geht es und die Emojis sind auf der Uhr :-)
Klappt übrigens auch mit dem alten Modular-Watchface genau wie mit dem Infograph Modular, sollte also auch mit Apple Watches < 4 gehen!
Edit: Falls die Frage aufkommt, wofür man da eigentlich Emojis braucht, hab ich mal noch 2 Screenshots von beiden Modular-Watchfaces angehängt
Hallo zusammen,
kann es sein, dass das pushover modul mit absoluten Pfaden im attachment pfad überfordert ist? Ich meine ja.
Mir gelingt es nur Bilder über attachment zu verschicken, wenn diese sich relativ zum fhem Pfad befinden.
Also konkret:
set pushmsg msg foobar title=baz attachment=/mnt/nfs/nas/fhem/www/snapshots/vivotek_snapshot.jpg
set pushmsg msg foobar title=baz attachment=./www/snapshots/vivotek_snapshot.jpg
Im Log mit verbose 5 sehe ich:
----msgsgmnt--',
'code' => '200',
'conn' => undef,
'type' => {
'retry' => undef,
'action' => undef,
'message' => 'foobar',
'timestamp' => undef,
'url_title' => undef,
'priority' => undef,
'sound' => undef,
'attachment' => 'file://.//mnt/nfs/nas/fhem/www/snapshots/vivotek_snapshot.jpg',
'title' => 'baz',
'expire' => undef,
'device' => undef
},
'addr' => 'https://api.pushover.net:443',
'url' => 'https://api.pushover.net:443/1/messages.json',
'compress' => 1,
'timeout' => 3,
'data' => '----msgsgmnt
Content-Disposition: form-data; name="message"
foobar
Mich macht der Punk vor .//mnt stutzig. Scheit so, als ob eines der beteiligten Module vor den Pfad nen Punkt macht, was natürlich falsch ist.
Übrigens funktioniert auch folgende Kombination nicht:
set pushmsg msg Test-Text title="Test!" priority=2 expire=900 retry=30 url_title="Abbrechen" action="set device reading 1"
Das Logfile behauptet expire wäre nicht angegeben.:
Agent: FHEM-Pushover/1.0.0',
'loglevel' => 4,
'service' => 'messages.json',
'hu_blocking' => 0,
'noshutdown' => 1,
'NAME' => '',
'path' => '/1/messages.json',
'hu_portSfx' => '',
'sslargs' => {},
'addr' => 'https://api.pushover.net:443',
'type' => {
'attachment' => undef,
'url' => 'set device reading 1',
'title' => 'Test!',
'expire' => undef,
'device' => undef,
'sound' => undef,
'action' => 'set device reading 1',
'cbNr' => 1550606880,
'message' => 'Test-Text',
'priority' => 2,
'timestamp' => undef,
'url_title' => 'Abbrechen',
'retry' => 30
},
DATA:
$VAR1 = '{"expire":"must be supplied with priority=2","errors":["expire must be supplied with priority=2"],"status":0,"request":"cc645caa-ae9a-4553-9e71-1361986704a9"}';
Könnte einer der Profis mal über die beiden Punkte (absoluter Pfad bei attachments und expire) drüber kucken.
Schonmal Danke !
edit
Die Frage konnte ich mir mittlerweile selbst beantworten: https://forum.fhem.de/index.php/topic,97499.msg913713.html#msg913713 (https://forum.fhem.de/index.php/topic,97499.msg913713.html#msg913713)
Zitat von: Phiolin am 07 Juni 2018, 13:06:43
Ich habe gerade mal ein bisschen mit Actions getestet und bin dabei auf einen Stolperstein gestoßen:
set pushmsg msg Test-Text device="meinDevice" title="Test!" priority=2 retry=30 expire=900 url_title="Abbrechen" action="set device reading 1"
2018-06-07 13:00:31 Pushover pushmsg apiRemaining: 7444
2018-06-07 13:00:31 Pushover pushmsg lastTitle: Test!
2018-06-07 13:00:31 Pushover pushmsg lastMessage: Test-Text
2018-06-07 13:00:31 Pushover pushmsg lastPriority: 2
2018-06-07 13:00:31 Pushover pushmsg lastAction: set device reading 1
2018-06-07 13:00:31 Pushover pushmsg lastDevice: meinDevice
2018-06-07 13:00:31 Pushover pushmsg lastRequest: e3cd8f35-66be-42b7-a3d4-8d4a50a475c2
2018-06-07 13:00:31 Pushover pushmsg cbTitle_1528370130: Test!
2018-06-07 13:00:31 Pushover pushmsg cbMsg_1528370130: Test-Text
2018-06-07 13:00:31 Pushover pushmsg cbPrio_1528370130: 2
2018-06-07 13:00:31 Pushover pushmsg cbAck_1528370130: 0
2018-06-07 13:00:31 Pushover pushmsg cbDev_1528370130: meinDevice
2018-06-07 13:00:31 Pushover pushmsg cb_1528370130: r1vpmeyruj7yzcso4w1o7wty23fx5j
2018-06-07 13:00:31 Pushover pushmsg cbAct_1528370130: set device reading 1
2018-06-07 13:00:31 Pushover pushmsg lastResult: ok
Wird also ordentlich verschickt und kommt auch auf dem Handy an.
Klicke ich nun auf den Link "Abbrechen" gemäß url_title, bekomme ich aber einen Fehler beim Callback:
NOK unable to find existing receipt 1528370130
Klicke ich dagegen in der Pushover App auf "Acknowledge", kommt der Callback im FHEM sauber an:
2018-06-07 13:01:20 Pushover pushmsg cbAck_1528370130: 1
2018-06-07 13:01:20 Pushover pushmsg cbAckBy_1528370130: ub5d6zeji124hith7wyp23yew2vyoj
2018-06-07 13:01:20 Pushover pushmsg cbAckAt_1528370130: 1528369279
2018-06-07 13:01:20 Pushover pushmsg cbAct_1528370130: executed: set device reading 1
D.h. der Callback funktioniert, aber der Link in der Push-Nachricht irgendwie nicht. Trotzdem ist aber url_title ein Pflichtattribut, sobald ich auch "action" benutze. Mir würde ja das reine Acknowledge ausreichen, aber warum muss ich dann noch url_title angeben, zudem wenn der Link dann auch nicht funktioniert. Das kann ich ja niemandem hier im Haus beibringen, dass da zwar ein Link ist, der aber nicht benutzt werden soll...
Mit Verbose 5 sieht man beim Aufruf des Links aus der Nachricht folgendes im Log:
Pushover pushmsg callback: link='/cbPushover' URI='acknowledged=1&acknowledged_by=ub5d6zeji123hith1wyp97yew2vyoj&FhemCallbackId=1528370658&cbNr=1528370658'
Beim Anklicken von "Acknowledge" wird dagegen folgender Link aufgerufen:
Pushover pushmsg callback: link='/cbPushover' URI='receipt=rumn44kno2jxdbptisjzbhwhybnkqk&acknowledged=1&acknowledged_at=1528369841&acknowledged_by=ub5d6zeji123hith1wyp97yew2vyoj&acknowledged_by_device= meinDevice'
Der springende Punkt im Code ist wohl der hier:
if ( defined( $webArgs->{receipt} ) ) {
$receipt = $webArgs->{receipt};
}
elsif ( defined( $webArgs->{FhemCallbackId} ) ) {
$receipt = $webArgs->{FhemCallbackId};
}
else {
return ( "text/plain; charset=utf-8",
"NOK missing argument receipt or FhemCallbackId" );
}
# search for existing receipt
keys %{ $hash->{READINGS} };
while ( my ( $key, $value ) = each %{ $hash->{READINGS} } ) {
$revReadings{ $value->{VAL} } = $1
if ( defined( $value->{VAL} ) && $key =~ /^cb_(\d+)$/ );
}
if ( defined( $revReadings{$receipt} ) ) {
Offenbar wird hier bei übergebener FhemCallbackId Variable das passende Reading nicht gefunden. Übergibt man direkt ein receipt, das ja in cb_<FhemCallbackId> gespeichert ist, klappt das.
Da ich heute danach gefragt wurde: Das ganze funktioniert bis heute nicht korrekt.
Es gibt aber in der Pushover API meines Wissen auch gar keine Pflicht, für eine Action auch einen url_title anzugeben.
Ich habe daher bei mir einfach die entsprechende Abfrage im Pushover Modul gelöscht - Problem zumindest für mich quasi gelöst.
--- 70_Pushover.pm.orig 2019-03-01 13:26:04.956633423 +0100
+++ 70_Pushover.pm 2019-03-01 13:26:15.200670205 +0100
@@ -1104,10 +1104,6 @@
if ( defined( $values{url_title} )
&& !defined( $values{action} ) );
- return "parameter action requires parameter url_title"
- if ( defined( $values{action} )
- && !defined( $values{url_title} ) );
-
return "messages containing a URL require parameter expire"
if ( defined( $values{action} )
&& defined( $values{url_title} )
Bei mir gleiches Verhalten :-\
set pushmsg msg Test-Text title="Test!" priority=2 retry=30 expire=900 url_title="Abbrechen" action="set device reading 1"
Die message kommt in der Android APP an, ein klick auf Abbrechen wird mit NOK unable to find existing receipt 1551527984
quittiert. Bei klick auf Acknowledge passiert bei mir - im Gegensatz zum Vorredner - genau gar nichts.
Das ist übrigens 1 zu 1 das Beispiel aus der CommandRef.
Gibt es denn irgendjemanden hier, bei dem callbacks funktionieren?
Inhalt des Logfiles
2019.03.02 12:44:44 5: Pushover pushmsg: called function Pushover_SetMessage2()
2019.03.02 12:44:44 5: Pushover pushmsg: Adding emergency callback URL http://192.168.178.22:8083/fhem/pushCallback
2019.03.02 12:44:44 5: Pushover pushmsg: Adding supplementary URL 'Abbrechen' (http://192.168.178.22:8083/fhem/pushCallback?acknowledged=1&acknowledged_by=u5w94jotqcyo44qqaupqe85optgse9&FhemCallbackId=1551527984) with action 'set device reading 1' (expires after 900 => 1551527984)
2019.03.02 12:44:44 5: Pushover pushmsg: called function Pushover_SendCommand()
2019.03.02 12:44:44 4: Pushover pushmsg: REQ messages.json/retry=30&expire=900&cbNr=1551527984&callback=http://192.168.178.22:8083/fhem/pushCallback&title=Test!&message=Test-Text&action=set device reading 1&url_title=Abbrechen&url=http://192.168.178.22:8083/fhem/pushCallback?acknowledged=1&acknowledged_by=u5w94jotqcyo44qqaupqe85optgse9&FhemCallbackId=1551527984&priority=2&user=u5w94jotqcyo44qqaupqe85optgse9&token=aephqegbu1qvi52w7iom9o9w75fq3z
2019.03.02 12:44:44 5: Pushover pushmsg: GET https://api.pushover.net:443/1/messages.json (POST DATA: retry=30&expire=900&cbNr=1551527984&callback=http://192.168.178.22:8083/fhem/pushCallback&title=Test!&message=Test-Text&action=set device reading 1&url_title=Abbrechen&url=http://192.168.178.22:8083/fhem/pushCallback?acknowledged=1&acknowledged_by=u5w94jotqcyo44qqaupqe85optgse9&FhemCallbackId=1551527984&priority=2&user=u5w94jotqcyo44qqaupqe85optgse9&token=aephqegbu1qvi52w7iom9o9w75fq3z, noshutdown=1)
2019.03.02 12:44:45 5: Pushover pushmsg: Received HttpUtils callback:
PARAM:
$VAR1 = {
'hu_blocking' => 0,
'service' => 'messages.json',
'displayurl' => 'https://api.pushover.net:443/1/messages.json',
'protocol' => 'https',
'hash' => {
'FUUID' => '5c785965-f33f-88d3-8666-f437e2d82fe6ae36',
'DEF' => 'aephqegbu1qvi52w7iom9o9w75fq3z u5w94jotqcyo44qqaupqe85optgse9 pushCallback',
'TYPE' => 'Pushover',
'.FhemMetaInternalss' => 1,
'VALIDATION_TIMER' => '1551547939.46311',
'helper' => {
'FAILED_USERKEYS' => {}
},
'APP_TOKEN' => 'aephqegbu1qvi52w7iom9o9w75fq3z',
'.attrminint' => [],
'fhem' => {
'infix' => 'pushCallback'
},
'NR' => 104,
'OLDREADINGS' => {},
'CFGFN' => '',
'.attraggr' => [],
'USER_KEY' => 'u5w94jotqcyo44qqaupqe85optgse9',
'NAME' => 'pushmsg',
'VERSION' => '70_Pushover.pm:v0.0.18690/2019-02-22',
'STATE' => 'error',
'READINGS' => {}
},
'httpheader' => 'HTTP/1.1 200 OK
Server: nginx
Date: Sat, 02 Mar 2019 11:44:45 GMT
Content-Type: application/json; charset=utf-8
Transfer-Encoding: chunked
Connection: close
X-Frame-Options: SAMEORIGIN
X-XSS-Protection: 1; mode=block
X-Content-Type-Options: nosniff
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: POST, OPTIONS
Access-Control-Allow-Headers: X-Requested-With, X-Prototype-Version, Origin, Accept, Content-Type, X-CSRF-Token, X-Pushover-App, Authorization
Access-Control-Max-Age: 1728000
X-Limit-App-Limit: 7500
X-Limit-App-Remaining: 7394
X-Limit-App-Reset: 1554094800
ETag: W/"a0f478f43f6e8a2dae90678cc16d2a88"
Cache-Control: max-age=0, private, must-revalidate
X-Request-Id: 9cbbaaad-d18b-41d3-902c-d3a608d71b19
X-Runtime: 0.084167
X-Frame-Options: DENY
Strict-Transport-Security: max-age=31536000',
'hu_portSfx' => '',
'auth' => 0,
'host' => 'api.pushover.net',
'addr' => 'https://api.pushover.net:443',
'httpversion' => '1.1',
'callback' => sub { "DUMMY" },
'loglevel' => 4,
'cmd' => 'retry=30&expire=900&cbNr=1551527984&callback=http%3a%2f%2f192%2e168%2e178%2e22%3a8083%2ffhem%2fpushCallback&title=Test%21&message=Test%2dText&action=set%20device%20reading%201&url_title=Abbrechen&url=http%3a%2f%2f192%2e168%2e178%2e22%3a8083%2ffhem%2fpushCallback%3facknowledged%3d1%26acknowledged%5fby%3du5w94jotqcyo44qqaupqe85optgse9%26FhemCallbackId%3d1551527984&priority=2&user=u5w94jotqcyo44qqaupqe85optgse9&token=aephqegbu1qvi52w7iom9o9w75fq3z',
'timeout' => 3,
'compress' => 1,
'noshutdown' => 1,
'hu_filecount' => 1,
'path' => '/1/messages.json',
'type' => {
'retry' => 30,
'expire' => 900,
'cbNr' => 1551527984,
'callback' => 'http://192.168.178.22:8083/fhem/pushCallback',
'attachment' => undef,
'title' => 'Test!',
'message' => 'Test-Text',
'action' => 'set device reading 1',
'device' => undef,
'url_title' => 'Abbrechen',
'url' => 'http://192.168.178.22:8083/fhem/pushCallback?acknowledged=1&acknowledged_by=u5w94jotqcyo44qqaupqe85optgse9&FhemCallbackId=1551527984',
'sound' => undef,
'priority' => 2,
'timestamp' => undef
},
'redirects' => 0,
'NAME' => '',
'code' => '200',
'conn' => undef,
'buf' => '',
'sslargs' => {},
'hu_port' => '443',
'data' => 'retry=30&expire=900&cbNr=1551527984&callback=http%3a%2f%2f192%2e168%2e178%2e22%3a8083%2ffhem%2fpushCallback&title=Test%21&message=Test%2dText&action=set%20device%20reading%201&url_title=Abbrechen&url=http%3a%2f%2f192%2e168%2e178%2e22%3a8083%2ffhem%2fpushCallback%3facknowledged%3d1%26acknowledged%5fby%3du5w94jotqcyo44qqaupqe85optgse9%26FhemCallbackId%3d1551527984&priority=2&user=u5w94jotqcyo44qqaupqe85optgse9&token=aephqegbu1qvi52w7iom9o9w75fq3z',
'url' => 'https://api.pushover.net:443/1/messages.json',
'header' => 'Accept-Charset: UTF-8
Accept: application/json;charset=UTF-8
User-Agent: FHEM-Pushover/1.0.0
Agent: FHEM-Pushover/1.0.0'
};
ERROR:
$VAR1 = '';
DATA:
$VAR1 = '{"receipt":"rga6pamxk4n8fkf4otr1obonoo1qzi","status":1,"request":"9cbbaaad-d18b-41d3-902c-d3a608d71b19"}';
2019.03.02 12:44:45 4: Pushover pushmsg: RCV messages.json/retry=30&expire=900&cbNr=1551527984&callback=http://192.168.178.22:8083/fhem/pushCallback&title=Test!&message=Test-Text&action=set device reading 1&url_title=Abbrechen&url=http://192.168.178.22:8083/fhem/pushCallback?acknowledged=1&acknowledged_by=u5w94jotqcyo44qqaupqe85optgse9&FhemCallbackId=1551527984&priority=2&user=u5w94jotqcyo44qqaupqe85optgse9&token=aephqegbu1qvi52w7iom9o9w75fq3z
2019.03.02 12:44:45 5: Pushover pushmsg: RES messages.json/retry=30&expire=900&cbNr=1551527984&callback=http://192.168.178.22:8083/fhem/pushCallback&title=Test!&message=Test-Text&action=set device reading 1&url_title=Abbrechen&url=http://192.168.178.22:8083/fhem/pushCallback?acknowledged=1&acknowledged_by=u5w94jotqcyo44qqaupqe85optgse9&FhemCallbackId=1551527984&priority=2&user=u5w94jotqcyo44qqaupqe85optgse9&token=aephqegbu1qvi52w7iom9o9w75fq3z
{"receipt":"rga6pamxk4n8fkf4otr1obonoo1qzi","status":1,"request":"9cbbaaad-d18b-41d3-902c-d3a608d71b19"}
2019.03.02 12:52:45 4: Pushover pushmsg callback: link='/pushCallback' URI='acknowledged=1&acknowledged_by=u5w94jotqcyo44qqaupqe85optgse9&FhemCallbackId=1551527984'
2019.03.02 12:52:45 4: Pushover pushmsg callback: unable to find existing receipt 1551527984
List von Pushover Device
Internals:
APP_TOKEN aephqegbu1qvi52w7iom9o9w75fq3z
CFGFN
DEF aephqegbu1qvi52w7iom9o9w75fq3z u5w94jotqcyo44qqaupqe85optgse9 pushCallback
FUUID 5c785965-f33f-88d3-8666-f437e2d82fe6ae36
NAME pushmsg
NR 104
STATE connected
TYPE Pushover
USER_KEY u5w94jotqcyo44qqaupqe85optgse9
VALIDATION_TIMER 1551548685.41073
VERSION 70_Pushover.pm:v0.0.18690/2019-02-22
OLDREADINGS:
READINGS:
2019-03-02 12:44:45 apiLimit 7500
2019-03-02 12:44:45 apiRemaining 7394
2019-03-02 12:44:45 apiReset 1554094800
2019-03-02 12:44:45 available 1
2019-03-02 12:44:45 cbAck_1551527984 0
2019-03-02 12:44:45 cbAct_1551527984 set device reading 1
2019-03-02 12:44:45 cbDev_1551527984 all
2019-03-02 12:44:45 cbMsg_1551527984 Test-Text
2019-03-02 12:44:45 cbPrio_1551527984 2
2019-03-02 12:44:45 cbTitle_1551527984 Test!
2019-03-02 12:44:45 cb_1551527984 rga6pamxk4n8fkf4otr1obonoo1qzi
2019-03-02 12:44:45 lastAction set device reading 1
2019-03-02 12:44:45 lastDevice all
2019-03-02 12:44:45 lastMessage Test-Text
2019-03-02 12:44:45 lastPriority 2
2019-03-02 12:44:45 lastRequest 9cbbaaad-d18b-41d3-902c-d3a608d71b19
2019-03-02 12:44:45 lastResult ok
2019-03-02 12:44:45 lastTitle Test!
2019-03-02 12:44:45 state connected
2019-03-02 12:44:45 tokenState valid
2019-03-02 12:44:45 userState valid
fhem:
infix pushCallback
helper:
FAILED_USERKEYS:
Attributes:
callbackUrl http://192.168.178.22:8083/fhem/pushCallback
icon pushover
verbose 5
Mir ist klar, es handelt sich hier um ein OpenSource Project, in welches viel Freizeit und Engagement der Maintainer fließt. Danke auch dafür.
Aber eine Sache stört micht dann doch ein bischen. Dieses Thema / Problem mit den callbacks ist alles andere als neu und wurde schon mehrfach addressiert - auch schon als PN. Ich erwarte ja nicht, dass die Maintainer alles liegen und stehen lassen und sich sofort auf das Thema stürzen, aber zumindest ein Lebenszeichen oder ein "ich kucke es mir bei Gelegenheit an" wäre schon schön. Auch die Anwender versenken in so ein Thema viel Zeit in Analyse und Fehlersuche etc. Hier hat sich ein User sogar schon an einem patch versucht: https://forum.fhem.de/index.php?topic=48786 (https://forum.fhem.de/index.php?topic=48786).
Im Sand verlaufen...
Also an mangelndem Input kann es nicht liegen, dass sich bei dem Problem nichts bewegt.
Zitat von: peterk_de am 18 Februar 2019, 15:44:07
Hmm OK das hätte gar nicht geholfen ... ich habe jetzt weiterprobiert und es nach unzähligen Versuchen hinbekommen, eine Glance mit Emoji zu versenden:
Es gibt ab morgen die Möglichkeit beim Text das Präfix "html:" Vorzuhängen, dann wird der Text als HTML interpretiert. Wenn man HTML Tags wie <b> etc nutzt passiert das jetzt wie bei den normalen Push Nachrichten automatisch.
Zitat von: nuccleon am 19 Februar 2019, 21:02:04
Mich macht der Punk vor .//mnt stutzig. Scheit so, als ob eines der beteiligten Module vor den Pfad nen Punkt macht, was natürlich falsch ist.
Du hast offenbar das Attribut "storage" übersehen, ansonsten wird das globale Attribut "modpath" als Standardpfad verwendet, damit man nicht dauernd einen vollen Pfad angeben muss. Absolute Pfade werden ab morgen jetzt gesondert behandelt.
Zitat von: nuccleon am 02 März 2019, 13:09:01
Mir ist klar, es handelt sich hier um ein OpenSource Project, in welches viel Freizeit und Engagement der Maintainer fließt.
Dann schreibt doch einfach nicht solch einen Mist. Das ist ja wie "Ich habe nichts gegen Ausländer, ABER ...".
Ist ja schön, wenn du in deinem Leben und deinen Projekten immer nur eine einzelne Baustelle zu beackern hast - chapeau!
Zitat von: Loredo am 03 März 2019, 15:47:58
Du hast offenbar das Attribut "storage" übersehen, ansonsten wird das globale Attribut "modpath" als Standardpfad verwendet, damit man nicht dauernd einen vollen Pfad angeben muss. Absolute Pfade werden ab morgen jetzt gesondert behandelt.
Das storage Attribut existiert nur in der CommandRef, keinesfalls in der AttrList.
$hash->{AttrList} =
"disable:0,1 disabledForIntervals do_not_notify:0,1 timestamp:0,1 title sound:pushover,bike,bugle,cashregister,classical,cosmic,falling,gamelan,incoming,intermission,magic,mechanical,pianobar,siren,spacealarm,tugboat,alien,climb,persistent,echo,updown,none device priority:0,1,2,-1,-2 callbackUrl retry expire "
. $readingFnAttributes;
Funktioniert storage wenn man es als userAttribute angibt?
Zitat von: Loredo am 03 März 2019, 15:58:39
Dann schreibt doch einfach nicht solch einen Mist. Das ist ja wie "Ich habe nichts gegen Ausländer, ABER ...".
Ist ja schön, wenn du in deinem Leben und deinen Projekten immer nur eine einzelne Baustelle zu beackern hast - chapeau!
Also bitte Loredo das ist unsachlich. Ich wollte dich hier jetzt nicht persönlich angreifen. Wenn du das so empfindest, dann liegt hier ein Missverständnis vor.
Wie gesagt, es erwartet niemand, dass alles sofort erledigt wird. Bitte nicht persönlich nehmen, ich bin lediglich der Meinung, dass man vom Maintainer nach einigen Wochen - so wie es in der MAINTAINER.txt steht - eine Reaktion erwarten kann. Davon lebt ja auch das Projekt. Ich kann als Anwender des Moduls nur Analysen in Form von Logs usw beisteuern... Und bevor es jetzt total in OffTopic abgleitet, nochmal die Frage nach dem callbackUrl.
Offenbar gibt es damit ein Problem. Und zwar nicht nur bei mir. Ich wäre dir sehr dankbar, wenn du bei
Gelegenheit mal einen Blick daruf werfen könntest. Falls du noch mehr Input benötigst, kann ich dir den gerne liefern.
Moin,
also ich hab die Callbacks, nun bei mir zum laufen gebracht. hier was ich dafür eingestellt habe (zusammenhängendes Farbig markiert, musste leider quote nehmen da code keine Farbe zulässt):
Zitat
DEF: <user> <token> pushcallback
Attribut: callbackUrl "http://<FHEM-IP>:<FHEM-PORT>/fhem/pushcallback"
Aufruf läuft dann über:
set <Pushover-Device> msg '<Text>' priority=1 retry=30 expire=7200 url_title='Tu was in FHEM' action='<FHEM Aktion>'
Mit Priority 2 habe ich es nicht getestet da es für meinen Zweck eher störend war die Meldung bestätigen zu müssen.
Das einzige Problem was ich habe das mir mein Firefox aufm Handy nach dem Klick auf den Link sagt das er mit dem Protocol "pushover:/" nichts anfangen kann. Aber damit kann ich leben ^^
Attached is a small patch that adds an optional quiet argument for msgCancel like:
set <Pushover_device> msgCancel <ID> [quiet]
This avoids filling the log when called from DOIF for example with 'Invalid cancel_id" messages when cancel_id is not set.
I'm encountering an issue when sending a message using strings that have the Perl internal UTF-8 flag set in combination with an attachment.
I'm using the Time::Ago package which runs the Encode::decode_utf8() function on all output strings which set the internal UTF-8 flag by default.
https://github.com/mla/time-ago/blob/master/lib/Time/Ago.pm#L20
This appears to break sending a message in combination with an attachment.
Example:
{ my $s = Encode::decode_utf8('less than a minute');; fhem("set Pu_Al msg $s attachment=www/images/default/fhemicon_ios.png") }
Returns: Error 400: message cannot be blank
The solution is to use the utf8::decode() function that removes the internal UTF-8 flag if the string does NOT contain multi-byte UTF-8 characters.
Example:
{ my $s = Encode::decode_utf8('less than a minute');; utf8::decode($s);; fhem("set Pu_Al msg $s attachment=www/images/default/fhemicon_ios.png") }
Returns: 200 ok
Is this expected behaviour that Fhem (Pushover or Httputils) does not work with strings that have internal UTF-8 flag set?
Zitat von: Phiolin am 01 März 2019, 13:26:55
Da ich heute danach gefragt wurde: Das ganze funktioniert bis heute nicht korrekt.
Es gibt aber in der Pushover API meines Wissen auch gar keine Pflicht, für eine Action auch einen url_title anzugeben.
Ich habe daher bei mir einfach die entsprechende Abfrage im Pushover Modul gelöscht - Problem zumindest für mich quasi gelöst.
--- 70_Pushover.pm.orig 2019-03-01 13:26:04.956633423 +0100
+++ 70_Pushover.pm 2019-03-01 13:26:15.200670205 +0100
@@ -1104,10 +1104,6 @@
if ( defined( $values{url_title} )
&& !defined( $values{action} ) );
- return "parameter action requires parameter url_title"
- if ( defined( $values{action} )
- && !defined( $values{url_title} ) );
-
return "messages containing a URL require parameter expire"
if ( defined( $values{action} )
&& defined( $values{url_title} )
Im aktuellen Code ist der url_title Parameter immer noch Pflicht für eine "action". Gibt es da einen Grund? Offiziell ist das laut API wohl unnötig und es funktioniert bei mir zumindest auch ohne url_title (ich habe die Abfrage einfach bei mir rausgenommen) problemlos - bzw. funktionieren Callbacks für mich praktisch sogar nur dann.
Ich glaub früher war das mal anders, kann auch sein, dass ich den url_title intern für das Tracking oder so braucht.
Ich habs mal rausgenommen.
Hallo,
kann mir jemand sagen, ob ich auch mehrer Bilder versenden kann. Genaugenommen 2 in einer Nachricht.
Vielen Dank
Rene
Habe in Pushover eine Delivery Group erstellt. Danach im fhem ein zweites Pushover Device mit dem Group Key anstelle des App-Tokens und meinem User Key.
Ich bekomme aber immer einen unauthorized Status für dieses Device.
Wie kann ich an diese Pushover Delivery Group senden?
Zitat von: skycrack am 15 Oktober 2019, 21:16:21
kann mir jemand sagen, ob ich auch mehrer Bilder versenden kann. Genaugenommen 2 in einer Nachricht.
Nein, das geht nicht.
Zitat von: richberry22 am 31 Dezember 2019, 13:54:45
Habe in Pushover eine Delivery Group erstellt. Danach im fhem ein zweites Pushover Device mit dem Group Key anstelle des App-Tokens und meinem User Key.
Ich bekomme aber immer einen unauthorized Status für dieses Device.
Wie kann ich an diese Pushover Delivery Group senden?
Die Authentifizierung ist trotzdem mit deinen Benutzerdaten vorzunehmen. Um dann an die Delivery Group zu verschicken musst du diese als Empfänger angeben. Dafür gibt es das Attribut "device", siehe Commandref (https://fhem.de/commandref.html#Pushover):
Zitat
device - type: text - Your user's device name to send the message directly to that device, rather than all of the user's devices (multiple devices may be separated by a comma). May also be set to a specific User or Group Key. To address a specific device for a specific User/Group, use User/Group Key first and add device name separated by colon.
Zitat von: Loredo am 31 Dezember 2019, 14:03:17
Die Authentifizierung ist trotzdem mit deinen Benutzerdaten vorzunehmen. Um dann an die Delivery Group zu verschicken musst du diese als Empfänger angeben. Dafür gibt es das Attribut "device", siehe Commandref (https://fhem.de/commandref.html#Pushover):
OK. Danke für die schnelle Hilfe.
Guten Morgen,
in der neuesten iOS-Version unterstützt Pushover nun sogenannte "Critical Alerts", welche den Do-Not-Disturb-Modus und die Lautsträrkeeinstellungen des Geräts ignorieren. Darauf habe ich lange gewartet und es gleich mal ausprobiert.
Funktioniert mit dem Modul hervorragend bei Notifications, die mit Priority 1 versendet werden.
LG
Oli
Hallo Leute,
bei mir läuft Pushover seit langer Zeit und auch bisher problemlos.
Ab und an habe ich kurze freezes in meinem System und mit Hilfe des Moduls 98_freezemon bin ich nun auf ein Problem mit Pushover gestossen.
Sobald ein disconnect von Pushover entsteht, lasse ich mir die letzte Nachricht, welche nicht per Pushover verschickt wurde, per Telegram als Fallbacklösung schicken.
Seit dem ich nun freezemon nutze, konnte ich feststellen, dass FHEM für knapp 3 Sekunden einfriert, wenn Pushover mal nicht erreichbar ist.
Meine erste Frage ist, kann sich jemand mal folgenden Log (den freezemon angelegt hat) anschauen und mir sagen, warum FHEM durch Pushover einfriert und was man da evtl. gegen machen kann...?
Zum anderen habe ich noch die Frage, ob man es ins Pushovermodul einbauen kann, dass wenn eine Nachricht nicht verschickt wurde, diese in eine "Warteschlange" gestellt wird und alle anderen folgenden Nachrichten, die versendet werden sollen auch in diese Warteschlange angereiht werden, bis Pushover wieder erreichbar ist...?
Grüße Marcel
LOG von freezemon: (key und token habe ich weg geXXXt)
=========================================================
[Freezemon] FreezeMonitor: possible freeze starting at 12:00:11, delay is 2.212 possibly caused by: tmr-CODE(0x25a33e8)(dnsQuery) tmr-sleep_WakeUpFn(N/A)
2020.03.18 12:00:10.053 5: DNS ANSWER 50:7072818000010001000000000361706908707573686f766572036e65740000010001c00c00010001000001070004cff45166
2020.03.18 12:00:10.053 4: DNS result for api.pushover.net: 207.244.81.102, ttl:263
2020.03.18 12:00:10.053 4: IP: api.pushover.net -> 207.244.81.102
--- log skips 3.114 secs.
2020.03.18 12:00:13.167 4: HttpUtils: https://api.pushover.net:443/1/messages.json: Can't connect(2) to https://api.pushover.net:443: SSL wants a read first
2020.03.18 12:00:13.169 5: Pushover PushoverNUC: Received HttpUtils callback:
PARAM:
$VAR1 = {
'host' => 'api.pushover.net',
'compress' => 1,
'auth' => 0,
'displayurl' => 'https://api.pushover.net:443/1/messages.json',
'hu_blocking' => 0,
'NAME' => '',
'loglevel' => 4,
'callback' => sub { "DUMMY" },
'hu_port' => '443',
'timeout' => 3,
'protocol' => 'https',
'data' => 'message=Morgen%20wird%20GELB%20abgeholt&title=Muellerinnerung&user=XXX&token=XXX',
'url' => 'https://api.pushover.net:443/1/messages.json',
'cmd' => 'message=Morgen%20wird%20GELB%20abgeholt&title=Muellerinnerung&user=XXX&token=XXX',
'conn' => undef,
'noshutdown' => 1,
'service' => 'messages.json',
'path' => '/1/messages.json',
'hash' => {
'VALIDATION_TIMER' => '1584546915.94068',
'DEF' => 'XXX XXX',
'.FhemMetaInternals' => 1,
'NR' => 80,
'READINGS' => {
'x_last_msg' => {
'TIME' => '2020-03-18 10:55:15',
'VAL' => 'msg \'TRACCAR C220\' \'TRACCAR C220 online\' \'iphone-marcel\' 0 \'\''
},
'lastDevice' => {
'TIME' => '2020-03-18 10:55:15',
'VAL' => 'iphone-marcel'
},
'apiLimit' => {
'VAL' => '7500
',
'TIME' => '2020-03-16 16:41:28'
},
'x_last_msg_1' => {
'VAL' => 'msg \'Uhrzeit\' \'Es sind 07:50 Uhr.\' \'iphone-marcel\' 0 \'\'',
'TIME' => '2020-03-18 10:55:15'
},
'tokenState' => {
'TIME' => '2020-03-05 07:06:07',
'VAL' => 'valid'
},
'lastResult' => {
'TIME' => '2020-03-18 10:55:15',
'VAL' => 'ok'
},
'lastPriority' => {
'TIME' => '2020-03-11 03:41:16',
'VAL' => '1'
},
'state' => {
'TIME' => '2020-03-16 12:05:13',
'VAL' => 'connected'
},
'available' => {
'VAL' => '1',
'TIME' => '2020-03-16 12:05:13'
},
'userState' => {
'VAL' => 'valid',
'TIME' => '2020-03-05 07:06:07'
},
'apiReset' => {
'TIME' => '2020-03-16 16:41:28',
'VAL' => '1585717200
'
},
'apiRemaining' => {
'TIME' => '2020-03-18 10:55:15',
'VAL' => '7268
'
},
'group' => {
'TIME' => '2020-03-05 14:42:20',
'VAL' => '0'
},
'lastTitle' => {
'VAL' => 'TRACCAR C220',
'TIME' => '2020-03-18 10:55:15'
},
'lastMessage' => {
'TIME' => '2020-03-18 10:55:15',
'VAL' => 'TRACCAR C220 online'
},
'x_last_msg_2' => {
'TIME' => '2020-03-18 12:00:10',
'VAL' => 'msg \'Uhrzeit\' \'Es sind 07:50 Uhr.\' \'iphone-marcel\' 0 \'\''
},
'devices' => {
'TIME' => '2020-03-05 14:42:20',
'VAL' => 'iphone-marcel,iphone-sarah'
},
'lastRequest' => {
'VAL' => '2700ae00-25ed-4fe5-a2f8-90729b1cc8a4',
'TIME' => '2020-03-18 10:55:15'
},
'lastAction' => {
'TIME' => '2020-03-18 10:55:15',
'VAL' => '-'
}
},
'STATE' => 'connected - Restmessages: 7268
',
'NAME' => 'PushoverNUC',
'USER_KEY' => 'XXX',
'CFGFN' => '/opt/fhem/FHEM/Pushover.cfg',
'.attrminint' => [],
'.attraggr' => [],
'APP_TOKEN' => 'XXX',
'FUUID' => '5e610166-f33f-5000-6452-ca377f1a7bafc61e',
'TYPE' => 'Pushover',
'FVERSION' => '70_Pushover.pm:v2.2.0-s20897/2020-01-06'
},
'redirects' => 0,
'header' => {
'Agent' => 'FHEM-Pushover/1.0.0',
'User-Agent' => 'FHEM-Pushover/1.0.0',
'Accept-Charset' => 'UTF-8',
'Accept' => 'application/json;charset=UTF-8'
},
'hu_portSfx' => '',
'sslargs' => {},
'type' => {
'retry' => undef,
'url_title' => undef,
'attachment' => undef,
'device' => undef,
'message' => 'Morgen wird GELB abgeholt',
'sound' => undef,
'expire' => undef,
'title' => 'Muellerinnerung',
'timestamp' => undef,
'action' => undef,
'priority' => undef
},
'httpversion' => '1.1',
'addr' => 'https://api.pushover.net:443'
};
ERROR:
$VAR1 = 'https://api.pushover.net:443/1/messages.json: Can\'t connect(2) to https://api.pushover.net:443: SSL wants a read first';
DATA:
$VAR1 = '';
2020.03.18 12:00:13.169 4: Pushover PushoverNUC: RCV TIMEOUT messages.json/message=Morgen wird GELB abgeholt&title=Muellerinnerung&user=XXX&token=XXX
2020.03.18 12:00:13.183 5: End notify loop for Pushover_ueberwachung_online_DOIF
2020.03.18 12:00:13.199 5: End notify loop for PushoverNUC
2020.03.18 12:00:13.200 5: Cmd: >setreading PushoverNUC x_last_msg_1 [PushoverNUC:x_last_msg]<
2020.03.18 12:00:13.210 5: End notify loop for PushoverNUC
2020.03.18 12:00:13.210 5: Cmd: >sleep 0.3<
2020.03.18 12:00:13.212 5: [Freezemon] FreezeMonitor: ----------- Starting Freeze handling at 2020.03.18 12:00:13.212 ---------------------
2020.03.18 12:00:13.212 5: [Freezemon] FreezeMonitor found something that's not a REF sleep_WakeUpFn
2020.03.18 12:00:13.212 5: Freezemon: something went wrong sleep_WakeUpFn
[Freezemon] FreezeMonitor: possible freeze starting at 12:00:11, delay is 2.212 possibly caused by: tmr-CODE(0x25a33e8)(dnsQuery) tmr-sleep_WakeUpFn(N/A)
Hallo,
ich habe ein neues iPhone und seitdem bekomme ich keine Pushover Nachrichten mehr auf dem Device. Folgendes habe ich gemacht.
- Als iphone über pushover.net aus Account gelöscht
- App auf neuem iphone gelöscht und neu installiert
- Apple Watch App ebenfalls neu installiert.
- Test Message über pushover.net und fhem klappt.
Das Reading der Devices aktualisiert sich allerdings nicht.
Wie kann ich das anstoßen, damit die Geräteliste in FHEM aktuell ist?
Gruß
Udo
Hi Zusammen,
hat jemand auf dem IPhone auch das Problem, dass man die Nachrichten nur noch sieht, wenn man in Pushover manuell aktualisiert?
Zitat von: M.Piet am 02 April 2020, 15:44:34
Hi Zusammen,
hat jemand auf dem IPhone auch das Problem, dass man die Nachrichten nur noch sieht, wenn man in Pushover manuell aktualisiert?
Ja, hatte ich auch. Lösung war die App zu löschen und neu zu installieren. Die hatte sich wohl nicht mehr sauber aktualisiert.
Hallo,
warum wird der Sound/Alarm an meinen Handy nicht abgespielt?
Vibration funktioniert und der Meldetext auch.
Kann es an den Einstellungen der Pushover-App auf meinen Adroid Galaxy S7 liegen?
Sound hätte ich aber aktiviert und auch einen ausgewählt.
Internals:
CFGFN
DEF WASSERSENSOR_ALARM:water.* set Push msg title=Wassermelder Alarm sound=siren device=galaxys7_kar retry=60 expire=600 Wasser: $EVENT
FUUID 4a55f505-r53f-455f-g0d5-5dsbf6f955367c7a
NAME WASSERSENSOR_ALARM_var
NOTIFYDEV WASSERSENSOR_ALARM
NR 665351
NTFY_ORDER 50-WASSERSENSOR_ALARM_var
REGEXP WASSERSENSOR_ALARM:water.*
STATE 2020-10-13 21:26:52
TRIGGERTIME 1602617212.10457
TYPE notify
Helper:
DBLOG:
state:
DbLog:
TIME 1602617184.8194
VALUE active
READINGS:
2020-10-13 21:26:24 state active
Attributes:
room Alarm
Vielen Dank
Ruggy
Folgendes habe ich jetzt in der DEF ergänzt und es funktioniert.
priority=1
Hallo zusammen,
Würde die Frage nach dem Versand von SVGPlot als Bild gerne nochmal stellen.
Benutzt das jemand bzw. kann mir jemand eine Tip geben wie man es machen könnte?
Hab es via plotAsPng probiert, dass scheint aber nicht zu gehen.
DankeDei jo
Hallo, ich brauche mal Hilfe beim Verständnis.
ZitatTOKEN = API Token/Key (zu finden unter der angelegten Application)
USER = Your User Key (wird direkt nach dem Einloggen angezeigt)
In der Android-App gibt es einen User-Key, ich denke mal damit ist der Api-Token gemeint, oder?
Wie und wo bekommt man dann den USER her? Beim einloggon wo, in der App? auf der Webseite? Ist das dann auch als USER benannt?
Zitat von: Superposchi am 17 November 2020, 23:04:15
Hallo, ich brauche mal Hilfe beim Verständnis.
In der Android-App gibt es einen User-Key, ich denke mal damit ist der Api-Token gemeint, oder?
Wie und wo bekommt man dann den USER her? Beim einloggon wo, in der App? auf der Webseite? Ist das dann auch als USER benannt?
In der App steht User-Key das ist auch so gemeint. Das ist der User Key.
Api-Key findest du auf der Webseite. Logge dich ein, Unten hast du "Your applications" und da suchst du dir die für deine Fhem-Installation aus, draufklicken und dann hast auch den api-token
Ok, habs, Danke dafür.
Hinweis meinerseits: es wäre besser verständlich wenn gleich geschrieben wäre, dass das eine in der App und das andere auf der Homepage unter Application zu finden ist. Der Hinweis "beim Einloggen" kann sehr weit gedehnt werden, da ich mich auf verschiedenen Geräten/Oberflächen einloggen muss.
P.S. Gibt es eine Möglichkeit nur einzelne Geräte anzusprechen?
Habe aktuell zwei Handys und zwei Tablets am Laufen und nicht immer ist jede Nachricht für jedes Gerät sinnvoll.
Zitat von: Superposchi am 18 November 2020, 09:26:02
Hinweis meinerseits: es wäre besser verständlich wenn gleich geschrieben wäre, dass das eine in der App und das andere auf der Homepage unter Application zu finden ist. Der Hinweis "beim Einloggen" kann sehr weit gedehnt werden, da ich mich auf verschiedenen Geräten/Oberflächen einloggen muss.
wo steht das?
Define
define <name> Pushover <token> <user> [<infix>]
Du musst einen Account erstellen, um den User Key zu bekommen.
Und du musst eine Anwendung erstellen, um einen API APP_TOKEN zu bekommen.
Und das sogar mit hinterlegten Links damit du direkt weitergeleitet wirst.
Einbinden des Dienstes in FHEM
Das Modul wird mit dem folgenden Befehl in FHEM definiert:
define pushmsg Pushover <TOKEN> <USER>
Die Token werden der Pushover-Seite entnommen. <<<<<<<<<<<<<<<<<<<<<<<<<<<
TOKEN = API Token/Key (zu finden unter der angelegten Application)
USER = Your User Key (wird direkt nach dem Einloggen angezeigt)
Zitat von: Superposchi am 18 November 2020, 09:26:02
P.S. Gibt es eine Möglichkeit nur einzelne Geräte anzusprechen?
Habe aktuell zwei Handys und zwei Tablets am Laufen und nicht immer ist jede Nachricht für jedes Gerät sinnvoll.
Ja, attribut "devices"
Set
msg
set <Pushover_device> msg <text> [<option1>=<value> <option2>="<value with space in it>" ...]
Die folgenden Optionen können genutzt werden, um den Nachrichteninhalt und die Zustellung zu beeinflussen::
device - Typ: Text - Dein selbst vergebener Gerätename, um die Nachricht direkt an dieses Gerät zu senden anstatt an alle Geräte gleichzeitig (mehrere Geräte können mit Komma getrennt
ZitatTOKEN = API Token/Key (zu finden unter der angelegten Application)
USER = Your User Key (wird direkt nach dem Einloggen angezeigt)
Für mich war nicht klar wo einloggon, speziell auch weil der User-Key in der App ja unter den Settings steht
Aber ist auch nur ein Hinweis.
Das mit dem device funktioniert auch super. Gerade mit Nachrichten auf ein einzelnes Gerät getestet.
Wenn ich zwei der Geräte anschreiben will muss ich dann device="Gerät1, Gerät2" schreiben oder ist die Syntex ohne Leerzeichen?
Zitat von: Superposchi am 18 November 2020, 10:10:53
Wenn ich zwei der Geräte anschreiben will muss ich dann device="Gerät1, Gerät2" schreiben oder ist die Syntex ohne Leerzeichen?
nutze ich nicht, einfach testen ...
Hi, habe gerade einen Fehler gefunden, durch den beim Acknowledge über Callback URI kein Event für cbAck_<ID> ausgelöst wird. Ursache ist ein fehlendes readingsEndUpdate(). Mit folgendem Patch auf Version funktionieren meine notifies wieder:
# $Id: 70_Pushover.pm 20897 2020-01-06 12:16:20Z loredo $
--- 70_Pushover.pm.orig 2021-10-28 22:23:46.520196944 +0200
+++ 70_Pushover.pm 2021-10-28 22:26:26.594053966 +0200
@@ -339,6 +339,7 @@
. "</a></body></html>"
) if ( $redirect ne "" );
}
+ readingsEndUpdate( $hash, 1 );
}
else {
Vor kurzem habe ich ein Update meiner Installation durchgeführt, das Letzte davor war am 03.05.2020. Da die aktuelle Version von Pushover augenscheinlich zuletzt im Januar 2020 geändert wurde, vermute ich, dass sich zwischenzeitlich außerhalb des Moduls etwas verändert hat, weswegen bei fehlendem readingsEndUpdate() keine Events generiert werden.
Grüße,
Andy.
Hi, kann ich irgendwie auch einen leeren Description Text übergeben? Manchmal möchte ich einfach nur einen Titel senden.
Zitat von: gandy am 28 Oktober 2021, 22:49:03
Hi, habe gerade einen Fehler gefunden, durch den beim Acknowledge über Callback URI kein Event für cbAck_<ID> ausgelöst wird. Ursache ist ein fehlendes readingsEndUpdate(). Mit folgendem Patch auf Version funktionieren meine notifies wieder:
# $Id: 70_Pushover.pm 20897 2020-01-06 12:16:20Z loredo $
--- 70_Pushover.pm.orig 2021-10-28 22:23:46.520196944 +0200
+++ 70_Pushover.pm 2021-10-28 22:26:26.594053966 +0200
@@ -339,6 +339,7 @@
. "</a></body></html>"
) if ( $redirect ne "" );
}
+ readingsEndUpdate( $hash, 1 );
}
else {
Vor kurzem habe ich ein Update meiner Installation durchgeführt, das Letzte davor war am 03.05.2020. Da die aktuelle Version von Pushover augenscheinlich zuletzt im Januar 2020 geändert wurde, vermute ich, dass sich zwischenzeitlich außerhalb des Moduls etwas verändert hat, weswegen bei fehlendem readingsEndUpdate() keine Events generiert werden.
Grüße,
Andy.
Ich habe ein Issues in Github erstellt. Du kannst gerne einen PR erstellen wenn Du magst dann verlinke ich ihn mit dem Issues
https://github.com/fhem/mod-Pushover/issues/3
Hallo zusammen,
ich nutze Pushover schon eine ganze Weile für Batteriewarnungen, Tür-/Fensteröffungen während Abwesenheit usw.
Ich hab das eingerichtet bevor es das Pushover Modul gab und auf diese Weise realisiert (Token und User natürlich korrekt von pushover.net übertragen).
{ system ("curl -s -F 'token=xxx' -F 'user=yyy' -F 'message=Haustür geöffnet' -F 'priority=1' https://api.pushover.net/1/messages.json") }
Diese Anweisung ist Teil eines Notifys mit einer If-Bedingung.
Hat so einige Jahre funktioniert. Plötzlich ging gar nichts mehr - Nachrichten kamen nicht an. Außer Updates wurden keien Änderungen vorgenommen. Das Logfile zeigte folgendes:
curl: relocation error: /usr/lib/arm-linux-gnueabihf/libcurl.so.4: symbol ��H version GLIBC_2.4 not defined in file libc.so.6 with link time reference
Da ich keinen Plan habe was hier das Problem ist, habe ich das Pushovermodul eingerichtet.
Direkt nach dem dem das Pushover definiert war hat auch alles funktioniert. Alle Nachrichten kamen korrekt an.
Nach einem FHEM Neustart ist das Pushovermodul allerdings disconnected. Auch das manuelle Senden einer Nachricht hat nichts gebracht. Nach etlichen Neustarts war das Modul dann plötzlich wieder verbunden allerdings nicht dauerhaft. Nach einem weiteren Neustart ist das Modul wieder disconnected und ist auch nicht dazu zu bewegen wieder zu funktionieren.
Natürlich ist libio-socket-ssl-perl installiert - das Modul funktionierte zwischenzeitlich ja auch mal.
Hat vielleicht jemand einen Tipp für mich? Danke schon mal.
Was steht denn im log? Wenn da nix zu finden ist, dann mal verbose am device ändern für mehr Ausgaben.
Attribut:
device - Typ: Text - Dein selbst vergebener Gerätename, um die Nachricht direkt an dieses Gerät zu senden anstatt an alle Geräte gleichzeitig (mehrere Geräte können mit Komma getrennt ..
Damit ist der Gerätename auf "pushover.net" und nicht jener im FHEM gemeint
Chris
Könnte mal jemand versuchen ein Bild als Attachment an eine Nachricht anzuhängen. Ich kann nur noch Messages ohne Anhang verschicken seit ein paar Tagen. :o
Edit: Der Status switcht nach dem senden sofort auf "diconnectet" und auch auf Verbose 5 steht nix im $VAR Error.
Das Versenden von Bildern als Attachment funktioniert bei mir leider auch nicht mehr. Eine Lösung für das Problem kenne ich nicht.
Workaround funktioniert: https://forum.fhem.de/index.php/topic,120149.msg1223868.html#msg1223868
edit: vergesst es, plötzlich tut es.
Hallo zusammen,
beim Empfang der Pushnachrichten aus FHEM, wird in der Nachricht immer das FHEM Logo mitgesendet.
Ist es möglich dies zu deaktivieren?
Zitat von: pitman am 29 September 2022, 15:49:50
Hallo zusammen,
beim Empfang der Pushnachrichten aus FHEM, wird in der Nachricht immer das FHEM Logo mitgesendet.
Ist es möglich dies zu deaktivieren?
Welches Logo du mitsendest legst du doch im Channel in Pushover selbst fest. Oder welches Logo meinst du?
"Your Application"???
Oh Mann. 🤦♂️
Ich hab es jahrelang genutzt, ohne irgendetwas zu ändern.
Vielen Dank für die Auffrischung 👍
Ist es möglich über FHEM einen Smiley bzw. einen Emoji per Pushover zu senden?
Zitat von: pitman am 30 September 2022, 13:55:48
Ist es möglich über FHEM einen Smiley bzw. einen Emoji per Pushover zu senden?
an apple watch scheinbar, ansonsten nein. Zumindest weiß ich nichts davon
https://forum.fhem.de/index.php/topic,16215.msg907766.html#msg907766
Also als Inhalt einer Nachricht?
Einfach den Emoji (der ja auch nur ein Unicode "Text"-zeichen ist) an der richtige Stelle in den set Befehl des Pushover Moduls einsetzen, damit er als Teil der Message geschickt wird, oder eben als alleinige Message ohne weiteren Text.
Hallo!
Ich habe seit kurzen (ein paar Tage) irgendwie Schwierigkeiten Nachrichten zu verschicken. Es kommt immer wieder zu einem Timeout:
Nachricht:
set pushmsg msg device=Tab title='Wasser in Küche ausgelaufen!' sound=siren priority=2 retry=30 expire=3600 ACHTUNG! In der Küche ist Wasser ausgelaufen! Sofort beheben! Batterie: 2.80 V Batteriestatus: ok RSSI: -58
Bisher sind diese Nachrichten immer problemlos durchgekommen. jetzt lese ich bei Verbose 1 etwas von RCV Timeout.
Ich habe festgestellt, dass die Nachrichten bisher durchkommen, wenn ich im Modul das Timeout auf 10sekunden setze. Könnte das Attribut (was ja in dem Programmpart bereits abgefragt wird, aber nicht verfügbar ist) mit eingebaut werden?
Warum es jetzt zu dem Timeouts kommt weiß ich nicht. Sind die Nachrichten etwas kürzer kommen diese eigentlich immer durch. Diese werden aber auch von einem anderen DOIF versendet.
Ich könnte mir vorstellen, das mein FHEM auf dem Raspberry einfach etwas mehr ausgelastet ist (Ich bin gerade dabei mir ein FTUI interface zu erstellen). Vielleicht ist unsere Internetverbindung auch einfach nicht die beste...oder Pushover ist langsamer geworden?
Gruß
Bismosa
Zitat von: bismosa am 13 November 2022, 15:18:06
Warum es jetzt zu dem Timeouts kommt weiß ich nicht. Sind die Nachrichten etwas kürzer kommen diese eigentlich immer durch. Diese werden aber auch von einem anderen DOIF versendet.
Ich könnte mir vorstellen, das mein FHEM auf dem Raspberry einfach etwas mehr ausgelastet ist (Ich bin gerade dabei mir ein FTUI interface zu erstellen). Vielleicht ist unsere Internetverbindung auch einfach nicht die beste...oder Pushover ist langsamer geworden?
Ich habe zwar mehr Leistung als einen Raspberry aber das Versenden ist ... Klicken und das Handy blinkt. Ohne irgend einen Delay. Vermutlich hast du irgendwo anders ein Problem.
Eine Idee, hast du DNS-Attribut gesetzt? Vielleicht hat dein Raspberry ein Problem mit der Namensauflösung.
Attribut irgend sowas ... die Ip deines DNS musst du selber wissen und entsprechend setzen.
attr global dnsServer 127.0.0.11
Hallo!
Wie bereits geschrieben ist mein Raspberry nicht sehr potent und hat mittlerweile viele Aufgaben zu erledigen.
Suboptimal dazu ist, das die Nachricht zu einer Zeit verschickt wird, wenn der Raspberry eh schon auf 100% Auslastung läuft.
Das hängt auch damit zusammen, das in diesem Fall ein selbstgebauter Wassermelder mittels "http get" seine Werte meldet. Da ist FHEM eh etwas mehr ausgelastet. Die Firmware ist jedoch "fix". Da kann ich nur mit zu großem Aufwand etwas ändern...z.B. telnet verwenden. (und bisher funktionierte es ja auch ;) )
Ich gehe nochmal weiter auf Fehlersuche. Es passiert auch häufig, wenn ich das nur als Kommando abschicke.
Jedoch kommen die Nachrichten mit einem längeren Timeout eigentlich bisher immer durch. Da es ja auch Nonblocking ist, passiert ja nichts, wenn ein Augenblick länger gewartet wird.
So sehen die Zeiten übrigens bei mir aus:
2022.11.13 20:08:47 5: Pushover pushmsg: GET https://api.pushover.net:443/1/messages.json ...
2022.11.13 20:08:51 5: Pushover pushmsg: Received HttpUtils callback: ...
2022.11.13 20:13:05 5: Pushover pushmsg: GET https://api.pushover.net:443/1/messages.json ...
2022.11.13 20:13:09 5: Pushover pushmsg: Received HttpUtils callback
Gruß
Bismosa
Ich würde tippen, dass dein Pi nicht ausgelastet ist sondern FHEM hängt.
In dem Fall würde ich eine zweite Instanz auf dem Pi installieren. Alles was freezes verursacht in die zweite Instanz verlegen und beide mittels RFHEM oder FHEM2FHEM verbinden.