ich würde gerne eine E-Mail Benachrichtigung erhalten, wenn das letzte Update eines Items, z.B. eines Leckage-Sensors, länger als 24h zurückliegt.
Leider bekomme ich die Berechnung bzw. die IF-Bedingung in der Rule nicht hin. Kann mir vllt. jemand einen Tipp geben, wie ich ansetzen könne?
Soweit bin ich schon mal...
Die Rule wird momentan noch per Schalter ausgelöst. Soll später einmal am Tag geprüft werden. Das Item "DatumundZeit" enthält die aktuelle Systemzeit als ZonedTime 2022-05-14T14:43:32.000+0200. Der Sensor liefert im gleichen Format die Zeit.
Code: Alles auswählen
configuration: {}
triggers:
- id: "1"
configuration:
itemName: Test_Test_Switch_1
state: ON
type: core.ItemStateChangeTrigger
conditions: []
actions:
- inputs: {}
id: "2"
configuration:
type: application/vnd.openhab.dsl.rule
script: >+
var TimeShelly1 = (Shelly_Humidity_01_Last_Update)
var TimeDiff = (Shelly_Humidity_01_Last_Update-DatumundZeit)
if (TimeDiff != 0) {
val mailActions = getActions("mail","mail:smtp:Mail_SMTP")
val success = mailActions.sendMail("E-Mail-Adresse", "WARNING - OPENHAB", "Letzte Aktualisierung liegt: "+(TimeDiff.state)+
" Tage zurück!"))
}
type: script.ScriptAction