Modul für Pushover

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

Vorheriges Thema - Nächstes Thema

Loredo

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.
Hat meine Arbeit dir geholfen? ⟹ https://paypal.me/pools/c/8gDLrIWrG9

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

Amenophis86

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.
Aktuell dabei unser neues Haus mit KNX am einrichten. Im nächsten Schritt dann KNX mit FHEM verbinden. Allein zwei Dinge sind dabei selten: Zeit und Geld...

krikan

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

Amenophis86

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 ;)
Aktuell dabei unser neues Haus mit KNX am einrichten. Im nächsten Schritt dann KNX mit FHEM verbinden. Allein zwei Dinge sind dabei selten: Zeit und Geld...

mi.ke

#439
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), 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  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
FHEM 5.9 | RPi4 + 5 x RPi(Z) + FB7590 + FB 6890 LTE via LAN und WAN (VPN) verbunden.
2 x CUL868 + 3 x RFXTRX(e) + 6 x HMwLanGW + 4 x z2tGw + 5 x LGW + 2 x IRBlast + CO2 +++
FS20, FHT, FMS, Elro(mod), CM160, Revolt, LGTV, STV, AVR, withings, HM-sec-*, HM-CC-RT-DN, AMAD, PCA301, arlo, Aqara

mi.ke

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  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
FHEM 5.9 | RPi4 + 5 x RPi(Z) + FB7590 + FB 6890 LTE via LAN und WAN (VPN) verbunden.
2 x CUL868 + 3 x RFXTRX(e) + 6 x HMwLanGW + 4 x z2tGw + 5 x LGW + 2 x IRBlast + CO2 +++
FS20, FHT, FMS, Elro(mod), CM160, Revolt, LGTV, STV, AVR, withings, HM-sec-*, HM-CC-RT-DN, AMAD, PCA301, arlo, Aqara

Loredo

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), über die man dann nichts weiter tun kann als die Infix URL anzusprechen (ein neues Attribut allowedDevices ist gerade in Diskussion, welches das ganze womöglich noch auf Pushover alleine einschränken ließe).
Hat meine Arbeit dir geholfen? ⟹ https://paypal.me/pools/c/8gDLrIWrG9

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

Byllyy

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

Byllyy

Hallo zusammen,

meine Frage hat sich schon erledigt.
War ein absoluter Anfängerfehler.....habe die Klammern mit gesenset.

Danke und LG

Hanjo

#444
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 ist so ein Check übrigens auch nicht vorgesehen...

EDIT2:
Ich habe dazu einen Patch geschrieben.

Danke & viele Grüße
Hanjo

FunkOdyssey

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.

Loredo

Bei mir dauert es ca. 1-2 Sekunden. Habe da nie andere Werte beobachten können, auch nicht bei anderen Familienmitgliedern


Gruß
Julian
Hat meine Arbeit dir geholfen? ⟹ https://paypal.me/pools/c/8gDLrIWrG9

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

ernst1024

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?
Gruß Ernst

Loredo

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 meine Arbeit dir geholfen? ⟹ https://paypal.me/pools/c/8gDLrIWrG9

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

ernst1024

hat anscheinend selbstheilende Kräfte. Heute morgen war dann state:connected ?
Gruß Ernst