Seite 1 von 1

Pushover Binding - Time To Live Wert mitgeben

Verfasst: 5. Okt 2024 16:45
von neuling10
Hallo an die Runde,

ich lasse mir von meiner Edimax Doorcam eine Nachricht via Pushover auf mein Smartphone senden, wenn es an der Tür klingelt. ich würde diese Pushover Nachricht gerne nach x Stunden automatisch löschen. In der Pushover iOS App kann man nur die max. Anzahl an aufbewahrten Nachrichten einstellen, leider jedoch kein automatisches Löschen nach gewissem Zeitablauf.

Laut Pushover API sollte das mit dem Wert "Time To Live" funktionieren https://pushover.net/api#ttl). In der OH Binding Beschreibung ist hiervon nichts zu lesen. Weiß jemand, ob und wie ich einen Wert für Time To Live mitgeben kann in der actions.sendAttachementMessage? Meine DSL Rule sieht folgendermaßen aus:

Code: Alles auswählen

executeCommandLine("wget", "http://10.10.30.20:8080/ipcamera/xxxxxxxx/ipcamera.jpg", "-O",  "/tmp/" + "Haustuer.jpg")

val actions = getActions("pushover", "pushover:pushover-account:xxxxxxxxx")
actions.sendAttachmentMessage("Klingel Haustür", "openHAB", "/tmp/Haustuer.jpg", "") 
Grüße
neuling10

Re: Pushover Binding - Time To Live Wert mitgeben

Verfasst: 5. Okt 2024 21:39
von udo1toni
Äh, doch, das steht in der Anleitung drin:
sendMessage(String message, @Nullable String title, @Nullable Duration ttl) - This method is used to send a plain text message with TTL.
[...]
sendHtmlMessage(String message, @Nullable String title, @Nullable Duration ttl) - This method is used to send a HTML message with TTL.
[...]
sendMonospaceMessage(String message, @Nullable String title, @Nullable Duration ttl) - This method is used to send a monospace message with TTL.
[...]
sendAttachmentMessage(String message, @Nullable String title, String attachment, @Nullable String contentType, @Nullable Duration ttl) - This method is used to send a message with an attachment and TTL.
[..]
sendURLMessage(String message, @Nullable String title, String url, @Nullable String urlTitle, @Nullable Duration ttl) - This method is used to send a message with an URL and TTL.
sendMessageToDevice(String device, String message, @Nullable String title, @Nullable Duration ttl) - This method is used to send a message to a specific device with TTL.
Die ausgelassenen Zeilen beziehen sich jeweils auf die Option ohne ttl. letztlich ist ttl ein optionaler Wert :)
Es gibt sogar ein konkretes Code-Beispiel. Hier mal als DSL Code:

Code: Alles auswählen

val actions = getActions("pushover", "pushover:pushover-account:account")
// send expiring message
actions.sendMessage("Boost has been activated", "Recuperator", Duration.ofHours(1))
JavaScript wäre ganz ähnlich...

Re: Pushover Binding - Time To Live Wert mitgeben

Verfasst: 5. Okt 2024 23:49
von neuling10
Ah ja, vielen Dank Udo, ich hab die Abkürzung TTL dummerweise nicht mit Time To Live interpretiert :idea:

Läuft nun und Expire Date ist wie gewünscht angegeben bei der Pushover Nachricht :D