MSR, Repeat While not evaluated?
-
Hi,
Running the latest version 24212 on docker.
I want to run some appliances when my solar panels deliver over 1200 watts to the net. In this example the dryer. So when the dryer is turned on, the rule starts (SET). There first is a 3 min delay in case the dryer is turned on manually, that is group "Check if auto start is needed". If the dryer is not running, the status is set to waiting, and the shown Repeat Until should wait as long the power delivered is higher than -1200 for at least 120 seconds and the status is still waiting. Higher as the value is negative. For some reason that repeat until "DR Wait for solar high or manual start" looks skipped. Nothing in the logs. What am I missing?[latest-24212]2024-08-07T12:38:49.895Z <Rule:INFO> rule-Dryer Automatic Cycle Start (rule-lzjtr8w7 in House Controls) evaluated; rule state transition from RESET to SET! [latest-24212]2024-08-07T12:38:49.900Z <Engine:INFO> Enqueueing "rule-Dryer Automatic Cycle Start<SET>" (rule-lzjtr8w7:S) [latest-24212]2024-08-07T12:38:49.910Z <Engine:NOTICE> Starting reaction rule-Dryer Automatic Cycle Start<SET> (rule-lzjtr8w7:S) [latest-24212]2024-08-07T12:38:49.911Z <Engine:NOTICE> rule-Dryer Automatic Cycle Start<SET> delaying until 1723034509911<8/7/2024, 2:41:49 PM> [latest-24212]2024-08-07T12:41:49.912Z <Engine:INFO> Resuming reaction rule-Dryer Automatic Cycle Start<SET> (rule-lzjtr8w7:S) from step 3 [latest-24212]2024-08-07T12:41:49.924Z <Engine:NOTICE> Starting reaction rule-Dryer Automatic Cycle Start<SET>/DR Check if auto start is needed (rule-lzjtr8w7:S-rule-lzjtr8w7-1j83mwf7) [latest-24212]2024-08-07T12:41:49.954Z <Engine:NOTICE> Starting reaction rule-Dryer Automatic Cycle Start<SET>/DR Check if auto start is needed/DR Check auto start (rule-lzjtr8w7:S-rule-lzjtr8w7-1j83mwfc) [latest-24212]2024-08-07T12:41:50.125Z <HubitatController:INFO> HubitatController#hubitat-C7 action x_hubitat_HealthCheck.ping([Object]{ }) on Switch#hubitat-C7>69 succeeded [latest-24212]2024-08-07T12:41:50.125Z <Engine:INFO> Resuming reaction rule-Dryer Automatic Cycle Start<SET>/DR Check if auto start is needed/DR Check auto start (rule-lzjtr8w7:S-rule-lzjtr8w7-1j83mwfc) from step 2 [latest-24212]2024-08-07T12:41:50.125Z <Engine:NOTICE> rule-Dryer Automatic Cycle Start<SET>/DR Check if auto start is needed/WM Check auto start delaying until 1723034525125<8/7/2024, 2:42:05 PM> [latest-24212]2024-08-07T12:42:05.125Z <Engine:INFO> Resuming reaction rule-Dryer Automatic Cycle Start<SET>/DR Check if auto start is needed/DR Check auto start (rule-lzjtr8w7:S-rule-lzjtr8w7-1j83mwfc) from step 3 [latest-24212]2024-08-07T12:42:05.215Z <HubitatController:INFO> HubitatController#hubitat-C7 action power_switch.on([Object]{ }) on Switch#hubitat-C7>69 succeeded [latest-24212]2024-08-07T12:42:05.216Z <Engine:INFO> Resuming reaction rule-Dryer Automatic Cycle Start<SET>/DR Check if auto start is needed/WM Check auto start (rule-lzjtr8w7:S-rule-lzjtr8w7-1j83mwfc) from step 4 [latest-24212]2024-08-07T12:42:05.219Z <Engine:INFO> rule-Dryer Automatic Cycle Start<SET>/DR Check if auto start is needed/DR Check auto start all actions completed. [latest-24212]2024-08-07T12:42:05.234Z <Engine:INFO> Resuming reaction rule-Dryer Automatic Cycle Start<SET>/DR Check if auto start is needed (rule-lzjtr8w7:S-rule-lzjtr8w7-1j83mwf7) from step 5 [latest-24212]2024-08-07T12:42:05.234Z <Engine:INFO> rule-Dryer Automatic Cycle Start<SET>/DR Check if auto start is needed all actions completed. [latest-24212]2024-08-07T12:42:05.249Z <Engine:INFO> Resuming reaction rule-Dryer Automatic Cycle Start<SET> (rule-lzjtr8w7:S) from step 4 [latest-24212]2024-08-07T12:42:05.249Z <Engine:INFO> rule-Dryer Automatic Cycle Start<SET> all actions completed.
(g_DryerStatus should have been "waiting" and not "running" the moment the log was captured, so that should not be the issue. Unless it takes some time for a variable to actually change?)
Cheers Rene
-
Sit tight. There's more to this than meets the eye. The repeat...while conditions are meant to be Constraints, not Triggers, so I'm not sure that the condition options like "sustained for" should work at all here, and I'm not sure why it allowed you to use them. Let me dig in.
-
Well, I think all you need to do to address what's there is move the test of power to a separate rule, and then use a Rule State condition in your while group to check that rule (but don't use any condition options in the while group -- you can use them in the new Rule, though).
-
T toggledbits locked this topic on