Ongoing count by matching tag values

I would use the techniques in this topic:

and this topic:

.. to report the status changes to a project library script for cross referencing.

In the timer processing script, cache the zones per status tag. Force update the cached zones on any initialChange.

For each zone, maintain a set() of true status tag paths. Each queued event would loop through the tag's zones adding or removing from the set.

Within the event, track which zones you've touched with a temporary set.

After processing all queued events for that tick of the timer, loop through the zones that were touched and build a list of zone tags to update. The values are the lengths of the zones' sets.