currentValue("lock") not updating

To be honest, I would refactor this code in such a way that you can remove the pause methods, and I would stick with run in.
Using pause can cause all sorts of concurrency issues.
I understand that firing 6 consecutive lock commands may not lock all 6 locks, but that's the point of this app.
Removing the pause will at least allow the app to try again sooner than before.

Good to know. I was throwing pauses into some code but didn't get around to asking how this affected things. Will remove pauses.

I'm having a similar issue with a lock, when switching to night mode the rule turns on HSM, dim lights, turn the TV off and is "supposed to" lock the door, everything works fine except for locking the door has yet to work, however if I'm on the Dashboard or device page and manually tell it to lock it does it instantly?

Make a virtual switch called auto lock or something like that. In the device details, set auto off to 1sec

Create a RM trigger and set auto lock virtual switch as the trigger and lock the lock as th action. In HSM, turn on the switch, instead off settin the front door to lock directly. See if that helps.

Normally thatโ€™s not needed but something isnโ€™t working perfectly with your lock. I use a similar method, but I use a full Rule instead of a trigger. That way I can assign as a condition, that the door contact sensor must also be closed for the lock to operate.