In Home Assistant 2023.7 a feature was added to allow services to provide a response.

This release brings in a change to Home Assistant, which we consider to be one of the biggest game changers of the past years: Services can now respond with data! 🤯

It is such a fundamental change, which will allow for many new use cases and opens the gates for endless possibilities.

In this release the functionality has only been enabled for a couple of services, but I’m having trouble picturing what we can use this for now and in the future.

What are some use cases you can think of on how to use this new feature?

  • draecas@lemmy.world
    link
    fedilink
    English
    arrow-up
    1
    ·
    edit-2
    1 year ago

    Imagine you have a household with 2 adults and 2 kids, and you’ve setup some level of presence tracking. You want to use automations to turn off everything if nobody is home, turn on some things if only kids are home, turn on other things if only adults are home, and turn on everything if kids and adults are home. You could build this logic into every automation you have, but it’s a lot of repeated logic to put in every time you wanna add something cool.

    Blueprints mean you don’t have to write it out in every automation. But I’ve never found them to be especially convenient for updating. And they still have the automation doing all of the heavy lifting.

    You could have a home State sensor that you depend on automations to manually update. But this is only as up to date as you make it, either running every so often (stale data) or using automations based on a change in presence tracking to update a sensor (buggy maybe? have not tried it but sounds prone to race conditions and misfires to me). Closer, but unideal IMO.

    Or you could pull this logic into a service that returns 1 of 4 possible states - full, empty, kids, adults. Your automation no longer has any logic to figure out what the state is or who’s home, it just asks what set of rules are in effect and can apply them. This lets the automation focus on a smaller area, which means less shit that needs updating if you change something, less chance for bugs.

    There’s not a ton new you can do now that you couldn’t accomplish before, but you can do it in smarter, more maintainable ways.