core
core copied to clipboard
Webhooks should not be forced to go through hooks.nabu.casa when a cloud subscription is active
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
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)
Alternatively, always make the hook available locally and create the cloud based one additionally if the prerequisites are met.
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
However this is not intuitive at all.
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)
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.
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
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
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
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.
Not sure if this answers your questions and solves the issue, but in instances where you have a webhook like:
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
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.