Gro-Clock Rule

Trying to setup a Gro-Clock for my daughter's room using an Inovelli RGBW bulb and rule machine.
I want the bulb to turn on as a night light that is pink at 100% (signalling from outside her room that it's bedtime) and fade down to 30% over time as she falls asleep. I then have a separate rule to turn it green at 100% based on time of day or one of our sleep sensors detecting we're out of bed.

I'm having 2 issues.
1: Set color and level. The color changes properly, and the level changes in the device attributes, but the bulb does not actually change levels. I've gotten around this by running a custom action for "setLevel".
2: The fade over time only runs the very first time after I edit this action. The first time I can see the level attribute dropping when I look at the bulb device. After that, the level attribute on the bulb just stays at 100 no matter how many times I run it. I read somewhere that the fade doesn't work well when in the same rule so I also tried splitting it off into another rule with the exact same result. First time the level fades, after that it just stays at 100.

I've also tried setting a variable to 100 and then doing a repeating action that repeats every 1s, 60x to subtract 1 from the variable and issue the custom setLevel action. This should bring it from 100 to 40 over 60s, but the level on the bulb never changes and the repeating seems to ignore the repeat 60 times and just keeps subtracting 1 every second and ends up well below 0.

I'm fighting every instinct to not setup webcore where this would be so simple to do, so any help would be greatly appreciated.

Here's the rule

Removed the custom action and triggered the rule with logging open. It appears the only command being sent to the bulb is the RGB command.
dev:3882020-02-11 08:48:08.422 pm debugr:255, g: 69, b: 225