Issue with Repeat (malformed) in Wash Machine Rule

I noticed Hubitat saying there are some errors in my rule, the code and errors are listed below. Anyone have any idea's why I am getting these errors? I thought the logic was pretty straight forward. I started out by using someone elses rule for a wash machine on here. Basically monitoring power for it to drop below 45w for 4 minutes, then triggering a repeat action to send a notification until someone opens the washer door.

IF (Power level of Wash Machine Outlet(42.6) is > 45.0(F) [FALSE]) THEN
Cancel Delayed Actions
Rule Boolean True: Monitor - Washing Machine Running
ELSE-IF (Private Boolean is true(T) [TRUE]) THEN
Rule Boolean False: Monitor - Washing Machine Running
Delay 0:04:00 (cancelable)
Set washer.ended to current time
Repeat every 0:05:00 (stopable)
IF (Wash Machine Door closed(T) [TRUE]) THEN
Notify Pixel 4, Pixel 4 XL and Speak on Craft Room Hub, Downstairs Speaker, Basement Speaker, Kitchen display, Garage Speaker: 'The clothes washing machine has finished running at %washer.ended%'
ELSE-IF (Wash Machine Door open(F) [FALSE]) THEN
Stop Repeating Actions
END-IF
END-IF

*** malformed REPEAT ***

1 Like

So this rule just finished running (did a load of laundry). Looks like its stuck in repeating mode, even though it hits the "Stop Repeating Actions". I am getting this error "Cannot pop() an empty list"... Not sure exactly what the issue is there?

app:8142020-07-14 09:27:03.899 am errorjava.util.NoSuchElementException: Cannot pop() an empty List on line 6523 (doRepeatR)

app:8142020-07-14 09:27:03.893 am infoAction: END-IF

app:8142020-07-14 09:27:03.882 am infoMonitor - Washing Machine Running - Test: Action Repition stopped

app:8142020-07-14 09:27:03.879 am infoAction: Stop Repeating Actions

app:8142020-07-14 09:27:03.876 am infoAction: ELSE-IF (Wash Machine Door open(T) [TRUE]) THEN

app:8142020-07-14 09:27:03.852 am infoAction: Notify Dana's Pixel 4, Bryan's Pixel 4 XL and Speak on Craft Room Hub, Downstairs Speaker, Basement Speaker, Kitchen display, Garage Speaker: 'The clothes washing machine has finished running at %washer.ended%' (skipped)

app:8142020-07-14 09:27:03.831 am infoAction: IF (Wash Machine Door closed(F) [FALSE]) THEN (skipping)

app:8142020-07-14 09:27:03.726 am infoMonitor - Washing Machine Running - Test: Repeating Actions

app:8142020-07-14 09:26:58.954 am errorjava.util.NoSuchElementException: Cannot pop() an empty List on line 6523 (doRepeatR)

app:8142020-07-14 09:26:58.948 am infoAction: END-IF

app:8142020-07-14 09:26:58.937 am infoMonitor - Washing Machine Running - Test: Action Repition stopped

app:8142020-07-14 09:26:58.934 am infoAction: Stop Repeating Actions

app:8142020-07-14 09:26:58.930 am infoAction: ELSE-IF (Wash Machine Door open(T) [TRUE]) THEN

app:8142020-07-14 09:26:58.906 am infoAction: Notify Dana's Pixel 4, Bryan's Pixel 4 XL and Speak on Craft Room Hub, Downstairs Speaker, Basement Speaker, Kitchen display, Garage Speaker: 'The clothes washing machine has finished running at %washer.ended%' (skipped)

app:8142020-07-14 09:26:58.884 am infoAction: IF (Wash Machine Door closed(F) [FALSE]) THEN (skipping)

app:8142020-07-14 09:26:58.809 am infoMonitor - Washing Machine Running - Test: Repeating Actions

You need to add in END-REP at the end of the actions you want to repeat.

Thank you for that, sorry didn't know that was needed. I updated the code and I don't see the malformed repeat error anymore. Going to try running another load and hope it all works this time :wink:

Also FYI the documentation (Rule-4.0 - Hubitat Documentation says the following...

" END-REP is optional, and if omitted, all actions after Repeat Actions will be repeated."

I think the doc might need to be updated so that it does say its required, otherwise you will get a malformed repeat error.

Just curious why you are using Rule Machine to do this when there are a couple very good laundry monitor apps that are much simpler to use, and probably less taxing on hub resources.

Good question :slight_smile:

The reason I guess is I haven't found one that does what I want...

There is this one, [RELEASE] Laundry Manager, but from what I have seen it relies upon reseting the washing machine to "idle" by pushing a button. The WAF will go out the window if she has to push a button every-time she changes the laundry.. might be a small thing to do, but trying to make this more automated not less.

"Can assign a button to reset status to any finished status to idle (I have a Samsung button mounted near the W/D to quickly reset the status)"

I don't know why they don't have it setup with a door sensor so when the door opens it gets reset. Even if you open it to throw in something new, it should just go back to a running state as power levels will reach the trigger point.

Are there any better ones out there I might be missing, I have done some searching but haven't come across one. I don't think the Rule I created would be that taxing on Hubitat itself, the rules really only run while the wash machine is on which is only a few hours a week.

Did you try either of these? I have used the first one for about a year and it works good with my setup.

I installed the first, didn't have anything for the contact sensor or smart repeat notifications, but looks like the second one does so going to try that one out. Thanks for sending the links, ill let you know how it goes. If all else fails my code seems pretty good for my Rule Machine I setup to monitor the washing machine, but would be nice to use the app if possible.

It looks like the JonoPorter one is a port, just wish they would integrate the cool things he did into the main app as it looks like that one is also getting update more frequently.

It seems like none of them are really getting supported anymore.

This topic was automatically closed 365 days after the last reply. New replies are no longer allowed.