Here are a few of my ideas:
- Use an Item with the Expire binding for the On and Off locks. This will eliminate the need for the timers.
- Use the sendCommand method, not the Action. See Textual Rules | openHAB
- Consider how you can apply Design Pattern: How to Structure a Rule to avoid some of that duplicated code
- logInfo(itemName, “OFF”) is basically duplicating what already gets logged to events.log, do you reall yneed this?