My whole point of my request was to keep the number of building stones to a minimum. I want to do as much as possible with the native functionalities and keep the number of third party community apps as low as possible. The thing is that for some of my flows I now have to rely on third party apps like Countdown and Loops to do (imho) very trivial things.
Three very common programming patterns are the Timeout Pattern, the Debounce Pattern and a Delayed Loop Pattern. These patterns require a lot of advanced flow steps in order to create these with the native building blocks we have now and thus I use Countdown and Loops for this.
I use these patterns in my flow to do a bunch of things that are mainly related to home security. I have a smart lock paired with Heimdall and motion sensors to secure my house. The smart lock is automatically locked and Heimdall is automatically armed when the last person left the house. Heimdall is automatically disarmed when the first person comes home. And when a person comes home, he will receive a notification on their phone to open the doors as well manually. This all works fine for residence of my home, but sometimes you would also allow someone else to enter the house for instance to water the plants while we’re on holiday. For this I used a simpel remote, and a person needs to click a few buttons in the right order within a certain timeframe to disarm the alarm. For this, I used a timeout pattern with countdown.
I also created a flow that fully locks the door when the last person went to sleep, and unlocks the door exactly 20min after the last person woke up. For this, I used a debounce pattern. This is to prevent unwanted unlocking when people woke up but went to sleep again within 20min. Or Other people leaving, coming home and/or going to bed (night shifts here). I also need to use Countdown for this.
When the alarm does go off, I send a notification to all owners, but I also play a very loud alarm over all Sonos speakers. This alarm is repeated every 2 minutes until the alarm is turned off. For this I use Loops.
I have a bunch of other flows with debounce and timeout patterns as well. And yes, some of them I was already able to refactor to the new sustained values feature, including some that check for power usage. For others however, I could only use native building blocks if Atom would build their new sustained values features into their own logic cards.
This is why I was a bit confused, and maybe also a bit annoyed that when I asked for a saw, someone suggested me a screwdriver without even asking me what I would need a saw for. They are both equally valuable tools, but they both serve different purposes.