A rule that triggers when a Thing changes its status and calls a user defined rule with the Thing and information about the Thing. The conditions of the called script are enforced so events can be filtered there (e.g. only process changes from ONLINE to some other status).
The following properties are passed to the called rule:
||The UID of the Thing that changed status|
||The status the Thing was in before the change|
||Some Thing statuses have additional detail. For example, a Thing that has been disabled would have a status of
||The status the Thing changed to.|
||The detail the Thing changed to, or
||The actual JS Scripting Thing Object (see Thing - Documentation)|
The original Java Thing Object can be reached through
thing.rawThing. The Most of the properties besides the
thing are included to make writing the rule called by this one easier to write in Blockly.
Additional conditions can be placed on this rule or on the called rule to further limit when it runs (e.g. don’t run at night).
Feel free to customize this rule as much as desired to meet your needs. You could even replace the code that calls your rule and put that processing inline.
An important note, this version works significantly differently from the older OH 3.x version of the rule template. But it works much closer to how I envisioned the original one to work in the first place but didn’t know how to configure the trigger properly.
Language: JS Scripting (ECMAScript 2021 with the openhab-js helper library injection enabled)
- OH 4.0.0 +
- JS Scripting add-on installed
- initial release