Base_url deprecation, but unclear what to do about it

The database only stores state history. Things configured in the UI end up in the .storage directory

Will give this a try but wondering what “Internal URL” should be. Is that the internal IP address or should I put the same DuckDNS address as I did on “External URL”?

With or without https?

Just a bit confused here :slight_smile:

Depends how you’re set up. If you use a reverse proxy then internal ip will be http://192.168.0.200:8123 or whatever and external will be your duckdns.

If you’re just managing everything through duckdns, then put that for external and either duplicate it for internal or leave it blank if that doesn’t cause any issues for any of your components.

Hard to say without understanding your setup, but hope this helps :+1:

It helped, thank you! I always go via DuckDNS since I, when using the IP local/internal address get a security warning. But when I removed base_url my Google tts doesn’t work anymore so need to do some testing to get it right.

Thank you!

Edit: Google tts was solved by adding base_url to the tts section in configuration.yaml.

1 Like

Did you ever get this back working? Same issue here since removing base_url

Yes, got it.
You must first download all ssl certificates on the HA.
After downloading, leave only the external and internal port 443 enabled on the router.
Configure the app and HA is external access to https://your_domain.duckdns.org internal access http: // IP_internal: 8123.
On the google website, all ports from 8123 to 443 should land. Remember, NGINX desve is running

also, this could help.
Haven’t tried it yet.

I have a brand new, out of the box HA installation and this whole URL setup and HTTPS setup is a mess. I’ve been using HA for more than 5 years, but this the first time I’ve done a fresh installation in ages. In Configuration->General, there are no settings for internal or external URL. After I installed the DuckDNS add-on, the only way I eventually found to make the server respond to https calls (worked fine on http) was to add http: base_url: in configuration.yaml, which of course it’s complaining about being deprecated.

I would have expected enabling https to be pretty turnkey by this point, but it’s really confusing even for an experienced user. There’s nothing in the docs for DuckDNS add-on about how to enable https, and there’s nothing in my completely fresh, virgin UI for setting the external URL. I see the screenshot in the release notes, it’s just…not there.

4 Likes

I´ve been reading this over and over, and couldn´t find a way to my cloud nabu casa work again, I removed base_url , but general setting don´t showw for me, tried manually with external/internal and still nothing. Anyone can help me? If i´m using nabu casa I should put the adress from them in external? What should be my internal? my IP?

1 Like

I don’t have a internal and external option under General, can I still specify this via the configuration.yaml.

Yes, but you should find out why you don’t have it in the interface.

hehehe I don’t have a interfaces section…

but I got my HA mobile app working in the end, internal and external in addition to working from internal network on laptop.

G

I am running hass-core v0.115 and configure via yaml.

With base_url and port present in the config, HASS works fine.

When I comment them out (although I thought they were depreciated) and use instead:

http:
#  base_url: FQDN
#  server_port: PORT
  ssl_key: /etc/letsencrypt/live/FQDN/privkey.pem
  ssl_certificate: /etc/letsencrypt/live/FQDN/fullchain.pem

homeassistant:
  internal_url: "https://IP:PORT"
  external_url: "https://FQDN:PORT"

I can no longer connect. I don’t understand this. I run with a certbot SSL cert and no unsecured HTTP access on both WAN and LAN.

Any pointers? this should be simple, its infuriating I’ve wasted hours of time on this. Without this I cannot get the new Samsung Smart things intergration to work.

1 Like

If your server port is not 8123, then you need to uncomment the server_port key.

1 Like

I have the same issue : doing the same settings, I cannot connect remotely.
I can only connect locally but only using https://IP:PORT
Did you find a solution to make it work again ?

The key part I missed was the config needed to move from http: to homeassistant: with the exception of the port. Once the right config was in the right sections all was okay, but the subtlety was not obvious to me…

Mine also only works on https but that doesn’t bother me, for now.

I think it would be very helpful for all us struggling now with setting this up (due to perhaps non-updated documentaiton) if you shared how your final configuration.yaml file looked like.

Sure…

http:
#**REDUNDANT**  base_url: DOMAIN
#**MOVED TO homeassistant: see below**  internal_url: "https://IP:PORT"
#**MOVED TO homeassistant: see below**  external_url: "https://DOMAIN"
# Uncomment this if you are using SSL/TLS, running in Docker container, etc.
# base_url: example.duckdns.org:8123
#  base_url: 
  server_port: PORT
  ssl_key: /etc/letsencrypt/live/DOMAIN/privkey.pem
  ssl_certificate: /etc/letsencrypt/live/DOMAIN/fullchain.pem

group: !include groups.yaml
automation: !include automations.yaml
script: !include scripts.yaml
scene: !include scenes.yaml

homeassistant:
  internal_url: "https://IP:PORT"
  external_url: "https://DOMAIN:PORT"
1 Like

Thank you Atca,
the solution was the server_port, i did search a lot to make it work.
my configuration.yaml has :

http:
  server_port: PORT
 
homeassistant:
  external_url: "https://DOMAIN:PORT"

and it works !