I’ve been slowly adding more and more devices and just adding on to my SmartApps program. I’ve noticed there’s lots of separate programs that do similar things such as “turn the lights on when i get home” and “turn the lights off when I leave.” Anyone have any opinions or suggestions on whether it’s best to have dozens of SmartApps trying to run a house or if a single unified program is best?
If it’s something I want to make generic for others to use, I tend to keep the feature-set more simple. If I do want to shoe-horn in a few different features, just be sure to put them behind required: false flags so people can enable them only if they want.
However, for things I’ve built for my own home that have no obvious relevance to someone else, I pack it full of everything I want it to do instead of breaking it up.
If it makes sense to do it from a performance standpoint, that’s also something to consider. For example, I have “Ready for Rain” that checks the weather every 30 minutes if you have a contact sensor open. If I had another app I was going to make that was going to check for rain for something else, I’d lean toward shoe-horning it in here as querying the same API for two different uses seems wasteful to me. In my opinion, if there’s tangible performance gains (or at least being a good steward of the API), I’d be more likely to do it.