I have an alert that emails us if an Item goes offline by setting an expiry metadata for 12 hr. and sending a refresh command to the Items in the group every 11 hrs. It works in some cases but other times it doesn’t.
So I created a test rule that sends an email if an Item does not change over a given time period. That seems to work. Now I want to use the same alert but monitor a group of sensors so I get an email if any of the sensors have not changed over a given period of time. So I replaced the block that had the Item in it with one to check the state of the Items in the group (get members of group > Flatline Group, in the script below) but it’s causing an error. I need to know the right way to have that block work correctly. Here’s the script:
Well that was pretty far into teh weeds for me. I have simplified this script for testing and out of that other thread, came up with this but it’s giving me an error that it’s failing to execute action 2:
I thought maybe it was because I wasn’t actually getting the state of the member first so I tried this but got the same result:
Yeah I saw that but that’s where I kind of got lost. I’m not familiar with how that is accomplished. Also, it looks like the state of the battery levels in that example is mapped to an ON/OFF state. I assume that above a certain level they are on and then off below that level. That won’t work for me because I’m trying to get notified if an item DOESN’T change over a given period of time.
I checked again and it works, the problem is that persistence takes almost 40 seconds to store the values, see my logfile
2022-03-29 21:51:17.347 [INFO ] [org.openhab.rule.AATest ] - Testrule Started
2022-03-29 21:51:17.476 [INFO ] [org.openhab.rule.AATest ] - Reklame not changed
2022-03-29 21:51:17.483 [INFO ] [org.openhab.rule.AATest ] - Terrasse not changed
2022-03-29 21:51:17.486 [INFO ] [org.openhab.rule.AATest ] - Garten not changed
2022-03-29 21:51:17.488 [INFO ] [org.openhab.rule.AATest ] - Grillplatz not changed
2022-03-29 21:51:17.490 [INFO ] [org.openhab.rule.AATest ] - Parkplatz not changed
2022-03-29 21:51:17.492 [INFO ] [org.openhab.rule.AATest ] - Gastgarten not changed
2022-03-29 21:51:31.031 [INFO ] [openhab.event.ItemCommandEvent ] - Item 'Outdoor_Garten' received command ON
2022-03-29 21:51:31.033 [INFO ] [penhab.event.ItemStatePredictedEvent] - Item 'Outdoor_Garten' predicted to become ON
2022-03-29 21:51:31.036 [INFO ] [openhab.event.ItemStateChangedEvent ] - Item 'Outdoor_Garten' changed from OFF to ON
2022-03-29 21:51:32.129 [INFO ] [openhab.event.ItemCommandEvent ] - Item 'Outdoor_Gastgarten' received command ON
2022-03-29 21:51:32.131 [INFO ] [penhab.event.ItemStatePredictedEvent] - Item 'Outdoor_Gastgarten' predicted to become ON
2022-03-29 21:51:32.135 [INFO ] [openhab.event.ItemStateChangedEvent ] - Item 'Outdoor_Gastgarten' changed from OFF to ON
2022-03-29 21:51:33.160 [INFO ] [openhab.event.ItemCommandEvent ] - Item 'Outdoor_Grillplatz' received command OFF
2022-03-29 21:51:33.162 [INFO ] [penhab.event.ItemStatePredictedEvent] - Item 'Outdoor_Grillplatz' predicted to become OFF
2022-03-29 21:51:33.165 [INFO ] [openhab.event.ItemStateChangedEvent ] - Item 'Outdoor_Grillplatz' changed from ON to OFF
2022-03-29 21:51:34.193 [INFO ] [openhab.event.ItemCommandEvent ] - Item 'Outdoor_Parkplatz' received command ON
2022-03-29 21:51:34.195 [INFO ] [penhab.event.ItemStatePredictedEvent] - Item 'Outdoor_Parkplatz' predicted to become ON
2022-03-29 21:51:34.201 [INFO ] [openhab.event.ItemStateChangedEvent ] - Item 'Outdoor_Parkplatz' changed from OFF to ON
2022-03-29 21:51:35.211 [INFO ] [openhab.event.ItemCommandEvent ] - Item 'Outdoor_Reklame' received command OFF
2022-03-29 21:51:35.213 [INFO ] [penhab.event.ItemStatePredictedEvent] - Item 'Outdoor_Reklame' predicted to become OFF
2022-03-29 21:51:35.218 [INFO ] [openhab.event.ItemStateChangedEvent ] - Item 'Outdoor_Reklame' changed from ON to OFF
2022-03-29 21:51:51.466 [INFO ] [openhab.event.RuleUpdatedEvent ] - Rule 'AATest' has been updated.
==> /var/log/openhab/openhab.log <==
2022-03-29 21:51:52.254 [INFO ] [org.openhab.rule.AATest ] - Testrule Started
2022-03-29 21:51:52.389 [INFO ] [org.openhab.rule.AATest ] - Terrasse not changed
2022-03-29 21:51:52.396 [INFO ] [org.openhab.rule.AATest ] - Garten not changed
2022-03-29 21:51:52.398 [INFO ] [org.openhab.rule.AATest ] - Grillplatz not changed
2022-03-29 21:51:52.401 [INFO ] [org.openhab.rule.AATest ] - Parkplatz not changed
2022-03-29 21:51:52.403 [INFO ] [org.openhab.rule.AATest ] - Gastgarten not changed
==> /var/log/openhab/events.log <==
2022-03-29 21:52:08.197 [INFO ] [openhab.event.RuleUpdatedEvent ] - Rule 'AATest' has been updated.
==> /var/log/openhab/openhab.log <==
2022-03-29 21:52:09.011 [INFO ] [org.openhab.rule.AATest ] - Testrule Started
2022-03-29 21:52:09.147 [INFO ] [org.openhab.rule.AATest ] - Terrasse not changed
first i run the rule to see all 6 items in my group
i switched 5 of them
17 seconds after i changed the first item i run the rule and still 5 items show up
after 34 seconds i run the rule again and only the item which was not changed show up
Actually this isn’t working for me. I believe the problem is that this is looking for a change of state of the item. In this case the items in question are temp & humidity sensors so I’m looking for a change in the number or value but I don’t see a block for that?
I want this block, but to have “Number” or “value” in place of “state”:
When I try this with something like switches it works, but with these sensors it doesn’t. I dumbed it down to eliminate variables for testing and I’m still getting emails even though the temp is changing many times in 30 minutes:
The trigger for this rule is a time trigger set to every 30 min.