Leased scan class on tags using binEnum()

I have an object on a template I change the colour on depending on 4 tags Alarm/Starting/Stopping/Running
I created a custom property called Status with an expression binding

binEnum(tag("edge") + {Pump.Device_ID} + "/Alarm.value"),etc,etc,etc)

I then use this Status property as a driving property for the style customiser.
My question is when this object is on an active screen should the 4 tags change to the leased/driven rate? They don’t.
Is there a better way of doing this?

Bring the tags into custom properties with their own tag bindings, then build your expression from those.

Imnsho, if you are using the tag() expression function, you’re making a mistake. (It was the way to do indirect tag binding before indirect binding became its own thing. Should have been deprecated at that point.)

Hi Phil, Thanks for the tip, I have now created 5 custom properties with indirect tag bindings and use binEnum() to update my status custom property. This did solve my problem cheers.