core icon indicating copy to clipboard operation
core copied to clipboard

Webhooks should not be forced to go through hooks.nabu.casa when a cloud subscription is active

Open lociii opened this issue 2 years ago • 17 comments

The problem

Whenever a webhook gets created through the WebhookFlowHandler it is forced to be a hooks.nabu.casa URL when the cloud component is active and the user has an active subscription, even though the hook could be only available locally. See https://github.com/home-assistant/core/blob/dev/homeassistant/helpers/config_entry_flow.py#L218

Scenario: I want to connect a local service through a webhook.

Current behavior: The data is forced to go from my local network to nabu casa servers and back to my local home assistant instance.

Expected behavior: Let the user chose if the webhook should be local only or available publically through the nabu casa cloud. This would make webhooks much faster if they can be locally sent and take load off the nabu casa infrastructure.

What version of Home Assistant Core has the issue?

2022.12.8

What was the last working version of Home Assistant Core?

No response

What type of installation are you running?

Home Assistant OS

Integration causing the issue

webhook

Link to integration documentation on our website

https://www.home-assistant.io/integrations/webhook/

Diagnostics information

No response

Example YAML snippet

No response

Anything in the logs that might be useful for us?

No response

Additional information

No response

lociii avatar Dec 27 '22 19:12 lociii

Hey there @home-assistant/core, mind taking a look at this issue as it has been labeled with an integration (webhook) you are listed as a code owner for? Thanks!

Code owner commands

Code owners of webhook can trigger bot actions by commenting:

  • @home-assistant close Closes the issue.
  • @home-assistant rename Awesome new title Change the title of the issue.
  • @home-assistant reopen Reopen the issue.
  • @home-assistant unassign webhook Removes the current integration label and assignees on the issue, add the integration domain after the command.

(message by CodeOwnersMention)


webhook documentation webhook source (message by IssueLinks)

home-assistant[bot] avatar Dec 27 '22 19:12 home-assistant[bot]

Alternatively, always make the hook available locally and create the cloud based one additionally if the prerequisites are met.

lociii avatar Dec 27 '22 19:12 lociii

I just found that you can still use http://homeassistant.local:8123/api/webhook/<hook_id> where the hook_id is the one shown under the hook in the cloud settings like image

However this is not intuitive at all.

lociii avatar Dec 31 '22 15:12 lociii

I ran into this when I attempted to re-configure my smartthings integration, no matter what I did, it still only provided the nabu casa webhook url as the specified one (forcing me to use it at that point). While I don't dislike having that, I would prefer to not have to go through nabu casa when I have that webhook url disabled (and remote UI access disabled via nabu casa)

ddellspe avatar Mar 06 '23 01:03 ddellspe

There hasn't been any activity on this issue recently. Due to the high number of incoming GitHub notifications, we have to clean some of the old issues, as many of them have already been resolved with the latest updates. Please make sure to update to the latest Home Assistant version and check if that solves the issue. Let us know if that works for you by adding a comment 👍 This issue has now been marked as stale and will be closed if no further activity occurs. Thank you for your contributions.

No change yet.

lociii avatar Jun 05 '23 12:06 lociii

There hasn't been any activity on this issue recently. Due to the high number of incoming GitHub notifications, we have to clean some of the old issues, as many of them have already been resolved with the latest updates. Please make sure to update to the latest Home Assistant version and check if that solves the issue. Let us know if that works for you by adding a comment 👍 This issue has now been marked as stale and will be closed if no further activity occurs. Thank you for your contributions.

Still valid

lociii avatar Sep 04 '23 06:09 lociii

There hasn't been any activity on this issue recently. Due to the high number of incoming GitHub notifications, we have to clean some of the old issues, as many of them have already been resolved with the latest updates. Please make sure to update to the latest Home Assistant version and check if that solves the issue. Let us know if that works for you by adding a comment 👍 This issue has now been marked as stale and will be closed if no further activity occurs. Thank you for your contributions.

Still the same in 2023.11.3

lociii avatar Dec 03 '23 07:12 lociii

There hasn't been any activity on this issue recently. Due to the high number of incoming GitHub notifications, we have to clean some of the old issues, as many of them have already been resolved with the latest updates. Please make sure to update to the latest Home Assistant version and check if that solves the issue. Let us know if that works for you by adding a comment 👍 This issue has now been marked as stale and will be closed if no further activity occurs. Thank you for your contributions.

Still valid in 2024.2.5

lociii avatar Mar 02 '24 10:03 lociii

I'm having a similar issue. I only have the subscription to support the HA team and use Alexa & Google. I have my own domain with everything set up. Remote access in HA cloud is turned off. Only when logged out, HA generates the webhooks with my own domain.

Though I have cancelled my subscription anyway because it is getting too expensive (already migrated back to manual Alexa & Google configuration), this forces me to even log me out from my instance with the subscription still active.

I really hope that HA will improve the subscription model overall with like different plans. The price is very high if you're using only a fraction of the services. And to support the HA team, I'd like to decide myself how much and how often I want to donate.

Xitee1 avatar May 09 '24 12:05 Xitee1

Not sure if this answers your questions and solves the issue, but in instances where you have a webhook like: image You can trigger it by using:

http[s]://homeassistant.mydomain.com/api/webhook/my_webhook_id
https://{blah-blah-blah}.ui.nabu.casa/api/webhook/my_webhook_id
http://homeassistant.local:8123/api/webhook/my_webhook_id
http://{local-IP}:8123/api/webhook/my_webhook_id

smibrandon avatar Jun 27 '24 12:06 smibrandon

You can trigger it by using:

http[s]://homeassistant.mydomain.com/api/webhook/my_webhook_id
https://{blah-blah-blah}.ui.nabu.casa/api/webhook/my_webhook_id
http://homeassistant.local:8123/api/webhook/my_webhook_id
http://{local-IP}:8123/api/webhook/my_webhook_id

Yes, you can do it. However the UI does not show them anymore.
If you have a Nabu Casa subscription, only the https://hooks.nabu.casa/ link is shown.

lociii avatar Jul 07 '24 11:07 lociii