rule "Test Mail"
when
Item Sk1_power_reachable changed to Offline or
Item Sk2_power_reachable changed to Offline or
Item s001_power_reachable changed to Offline or
Item s002_power_reachable changed to Offline or
Item s003_power_reachable changed to Offline or
Item s004_power_reachable changed to Offline or
Item s005_power_reachable changed to Offline or
Item s006_power_reachable changed to Offline or
Item s007_power_reachable changed to Offline or
Item s008_power_reachable changed to Offline or
Item s009_power_reachable changed to Offline or
Item s010_power_reachable changed to Offline or
Item s011_power_reachable changed to Offline or
Item s012_power_reachable changed to Offline or
Item s013_power_reachable changed to Offline or
Item s014_power_reachable changed to Offline or
Item s015_power_reachable changed to Offline or
Item s016_power_reachable changed to Offline or
Item s017_power_reachable changed to Offline or
Item s018_power_reachable changed to Offline
then
// send an email
sendMail(âmailâ, âItem go offline!â, ââ)
end
i want that oh send me name of item whiŃh go offline. I try add + OfflineThings.state + but it not work
2017-11-24 16:32:30.559 [INFO ] [el.core.internal.ModelRepositoryImpl] - Loading model 'test2.rulesâ
2017-11-24 16:32:30.637 [WARN ] [el.core.internal.ModelRepositoryImpl] - Configuration model âtest2.rulesâ is either empty or cannot be parsed correctly!
2017-11-24 16:32:31.289 [INFO ] [el.core.internal.ModelRepositoryImpl] - Validation issues found in configuration model âtest2.rulesâ, using it anyway:
The use of wildcard imports is deprecated.
The use of wildcard imports is deprecated.
The use of wildcard imports is deprecated.
The use of wildcard imports is deprecated.
2017-11-24 16:32:31.325 [INFO ] [el.core.internal.ModelRepositoryImpl] - Loading model 'test2.rulesâ
2017-11-24 16:33:09.923 [INFO ] [el.core.internal.ModelRepositoryImpl] - Validation issues found in configuration model âtest2.rulesâ, using it anyway:
The use of wildcard imports is deprecated.
The use of wildcard imports is deprecated.
The use of wildcard imports is deprecated.
The use of wildcard imports is deprecated.
2017-11-24 16:33:10.065 [INFO ] [el.core.internal.ModelRepositoryImpl] - Refreshing model 'test2.rulesâ
2017-11-24 16:33:18.058 [INFO ] [el.core.internal.ModelRepositoryImpl] - Validation issues found in configuration model âtest2.rulesâ, using it anyway:
The use of wildcard imports is deprecated.
The use of wildcard imports is deprecated.
The use of wildcard imports is deprecated.
The use of wildcard imports is deprecated.
2017-11-24 16:33:18.355 [INFO ] [el.core.internal.ModelRepositoryImpl] - Refreshing model 'test2.rulesâ
2017-11-24 16:35:26.898 [ERROR] [.script.engine.ScriptExecutionThread] - Rule âTest Mailâ: An error occurred during the script execution: The name âOfflineThingsâ cannot be resolved to an item or type.
I respect your preference for spoilers and linking to sendspace. But the majority here prefers code brackets. I need to register on sendspace to see your rules. Sorry, I donât want to do that. Just past it here using the code brackets.
// This rule file is autogenerated by HABmin.
// Any changes made manually to this file will be overwritten next time HABmin rules are saved.
// Imports
import org.openhab.core.library.types.*
import org.openhab.core.persistence.*
import org.openhab.model.script.actions.*
import org.joda.time.*
// Global Variables^M
rule "Test Mail"
when
Item Sk1_power_reachable changed to Offline or
Item Sk2_power_reachable changed to Offline or
Item s001_power_reachable changed to Offline or
Item s002_power_reachable changed to Offline or
Item s003_power_reachable changed to Offline or
Item s004_power_reachable changed to Offline or
Item s005_power_reachable changed to Offline or
Item s006_power_reachable changed to Offline or
Item s007_power_reachable changed to Offline or
Item s008_power_reachable changed to Offline or
Item s009_power_reachable changed to Offline or
Item s010_power_reachable changed to Offline or
Item s011_power_reachable changed to Offline or
Item s012_power_reachable changed to Offline or
Item s013_power_reachable changed to Offline or
Item s014_power_reachable changed to Offline or
Item s015_power_reachable changed to Offline or
Item s016_power_reachable changed to Offline or
Item s017_power_reachable changed to Offline or
Item s018_power_reachable changed to Offline
then
// send an email
sendMail("mail", "Item go offline!", "")
end
With this solution you need to create temporary items to store the state to compare it. Maybe there is something better but this works pretty good for me.
Create an rule.items file.
rule "Send Mail Offline"
when
Time cron "0 0/1 * 1/1 * ? *"
then
/*
* itemList is list of all your items you want mails from.
* example put into (s018_power_reachable s017_power_reachable) and so on
* you will need to create for each item one extra item to store the state
* s017_power_reachable_old s018_power_reachable_old
* Thoose _old items go into the itemList_old (s018_power_reachable_old s017_power_reachable_old)
* Thoose 2 lists must be in the EXACT same order. If not you will store Value ON from Item1 into maybe Item33
*/
val itemList = newArrayList()
val itemList_old = newArrayList()
val StringBuilder msg = new StringBuilder
for (var i = 0; i < itemList.size(); i++)
{
var item = itemList.get(i)
var item_old = itemList_old.get(i)
if (item.state == OFF && item_old.state == ON)
{
msg.append("Dev :" + item.name() + "is offline")
sendMail(your@mail.de, "Subject", msg.toString)
logInfo("Mail Info", "[INFO] Mail send")
}
item_old.setState(item.state)
}
end
If you need help understanding this rule. Just leave a message.