Button Entity - When to use?

This is in reference to the new Button entity that was added to HA core in this PR. It seems to serve a similar purpose to services, which leads me to the following questions:

  1. Is the button entity designed to replace services?
  2. If not, then in which situations should one be used vs. the other?


See Proposal: Button Entity · Discussion #643 · home-assistant/architecture · GitHub

I think it basically adds a level of indirection between a UI button and a service call, for use cases that evade me, currently :wink:

Thanks @koying - I read that architecture proposal but am still not clear on when button entities should be used instead of services. It seems that button entities are trying to make the functionality of services more accessible to the user, and I think that’s a great idea, but I’m not sure if they should exist alongside services, or replace services entirely.

Oh, it definitely does not replace services.

See Add button entity by frenck · Pull Request #20105 · home-assistant/home-assistant.io · GitHub for the doc, where a service is actually called upon the button being triggered in the example.

What really evades me are the benefits vs. a lovelace button calling a service, especially considering that a lovelace button will likely be the representation of a button entity.
It will be worth going to the release party to have live explanations :wink: