Mimic Shelving/Ack using a script

You could use a Gateway Timer script to check how long the value has been set to 1. How about this:

-Your button sets that memory tag to 1.
-You create gateway timer script that runs once an hour and checks that tag, and if it’s true then it increments the value of another memory tag. The script also checks the value of that second memory tag and when that second memory tag’s value is 2, it writes 0 to both tags.