Im Gegensatz zu Items gibt es bei Things keine Gruppen.
Du kommst also leider nicht darum herum, jedes Thing einzeln als Trigger aufzuführen.
In der Auswertung kannst Du aber sehr wohl unterscheiden, welches der Things die Rule getriggert hat, und welchen Zustand das Thing hat:
Code: Alles auswählen
rule "Push Thing Offline"
when
Thing "deconz:temperaturesensor:00212E070550:00158d0003faf862010401" changed or
Thing "deconz:temperaturesensor:00212E070550:00158d0003faf862010402" changed or
Thing "deconz:temperaturesensor:00212E070550:00158d0003faf862010403" changed or
Thing "deconz:temperaturesensor:00212E070550:00158d0003faf862010404" changed
then
if(newThingStatus == "Online") {
return;
}
val actions = getActions("pushover", "pushover:pushover-account:375383cc42")
val strLastDigits = triggeringThing.substring(triggeringThing.lastIndexOf(":") + 1)
val strMessage = "Temperatursensor "
switch(strLastDigits) {
case "00158d0003faf862010401" : strMessage += "Wohnzimmer "
case "00158d0003faf862010402" : strMessage += "Schlafzimmer "
case "00158d0003faf862010403" : strMessage += "Büro "
case "00158d0003faf862010404" : strMessage += "Kinderzimmer "
default : {
logWarn("pushThing", "Da ist was schief gelaufen! ThingID {} nicht in Liste...",triggeringThing)
return;
}
}
strMessage += "ist gerade " + newThingStatus + "!"
actions.sendMessage("ThingStatus", strMessage)
logInfo("pushThing", strMessage)
end
Wesentlich eleganter wäre es, die Thing IDs gleich sinnvoll zu setzen. Die Buchstaben-Zahlenkombination sollte bei der Übernahme aus der Inbox angepasst werden können.
Man könnte auch eine Mapping-Tabelle dafür verwenden - und natürlich kann man den String für die Nachricht auch anders gestalten, genau wie man auch newThingstatus explizit auswerten kann, falls das interessant ist.
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.2.2, LXC), mit openHABian eingerichtet