If I manually run the rule it works fine, but my fan no longer autostarts, how can I improve my rule?
What evidence is there that it should have run and that it didn’t run? As a good starting point to answer this question, enable all logging for the rule, then check Logs to see what the output is (particularly when you think there should have been a trigger event, and checking event history for the devices in question could be the next best idea if there is nothing).
See also:
The fan used to start right up whenever I had a fire and the temperature difference got large enough from the ceiling and floor. But now it will only start when I manually run the rule.
Without this, you may as well ask a oujia board what's happening ![]()
dev:942025-02-08 02:31:48.553 pmdebugRefreshing with commands [2602, 8611, 700503, 700504, 700505, 700506, 700507]
You need to look at the logs when a trigger event occurs.
Those are not logs from the rule (or if not that, relevant device events), which, as above, is what you want.
Got it, thank you, that was the only log on the switch. Seems like the rule log is triggering a lot but the switch isn't turning on.
For starters, I would write a way to prevent the rule from triggering every three minutes when the temperature still reports a delta of 3.5 degrees and is still in a wait for timeout status. You likely have an instance of the rule running for each of those trigger events in your log. Use private boolean is false in the required expression in addition to to the date constraints. Have the first step of the rule turn the private boolean true, and the last step should be private boolean false.
Secondly, it would not hurt to cancel rule timers for the rule (second action) just in case you have an instance already running.
Maybe not likely, but possible you are still on a wait from when you manually ran actions to test it out.
Also, since it is showing "turned on" in the logs, have you verified that you can turn the fan on from the device page in hubitat? (maybe asked an answered in that it worked when you ran it manually. But, it wouldn't hurt to check and make sure the device is actually receiving commands and acting on them)
This is good advice. Just wanted to add that recently @bravenel recommended the use of a conditional trigger over a required expression for a similar use case; that thread also has a simple example of a conditional trigger that is applicable to your use.
This topic was automatically closed 365 days after the last reply. New replies are no longer allowed.

