Home assistant – https (inside & outside – lan)

Instruções de como proceder para ter o HA a trabalhar com HTTPS dentro e fora da rede. Mesmo com routers que não suportam loopback.

1º - DUCKDNS – INSTALAÇÃO E CONFIGURAÇÃO

Site: www.duckdns.org

  • Criar uma conta. Podem usar a vossa conta google ou do Github.
  • Criar um domínio do DuckDns.
  • Desta página irão precisar:

HA – DuckDNS add-on

  • Instalar o Duck DNS no seu HA. É um add-on official do Hass.io

  • Depois de instalado, colocar esta configuração:

{
  "lets_encrypt": {
    "accept_terms": true,
    "certfile": "fullchain.pem",
    "keyfile": "privkey.pem"
  },
  "token": "TOKEN-DO-VOSSO-DUCK-DNS”
  "domains": ["omeudominio.duckdns.org"],
  "seconds": 300
}
  • Iniciar o add-on.

  • Criar uma Port Forward no vosso router para a porta 8123. No router da NOS, apenas podemos fazer através da página: https://aminhanet.nos.pt

EXEMPLO:

imagem
  • Modificar em configuration.yaml, os campos relativos a SSL/TLS, que por defeito estão comentados “#”.
# Uncomment this if you are using SSL/TLS...
http:
  base_url: omeudominio.duckdns.org
  ssl_certificate: /ssl/fullchain.pem
  ssl_key: /ssl/privkey.pem
  • Validar o conteúdo do configuration.yaml está correto e reiniciar o HA.

  • Depois do HA voltar a iniciar poderá aceder da seguinte maneira:

NOTA: Se tiver dificuldades em carregar pela primeira vez a página após o reinício do HA, pressione “CTRL+F5”, para forçar o browser a carregar a página através do vosso servidor e não da cache.

***********************************************************************************************

2º - NGINX - INSTALAÇÃO E CONFIGURAÇÃO

  • Instalar o NGINX Home Assistant SSL proxy no seu HA. É um add-on official do Hass.io

  • Depois de instalado, colocar esta configuração:

{
  "domain": " omeudominio.duckdns.org",
  "certfile": "fullchain.pem",
  "keyfile": "privkey.pem",
  "hsts": "max-age=31536000; includeSubDomains",
  "customize": {
    "active": false,
    "default": "nginx_proxy_default*.conf",
    "servers": "nginx_proxy/*.conf"
  }
}
  • A porta original a ser usada é a 443. Mas no meu caso, o meu ISP é a NOS, e o router não me permite criar uma regra de Port Forwarding para a 443. Por isso optei por usar uma outra que não está ocupada, a 441.
    Se acontecer o mesmo convosco, antes de iniciarem o add-on, coloquem no separador “Network”, Container 443/tcp – Host – 441.
    Atenção que ao colocarem esta porta e depois clicarem em “SAVE”, normalmente os dados colocados em cima no “Config” voltam à origem. Se isso acontecer voltem a colocar o vosso domínio DuckDNS e salvem novamente

  • Iniciar o add-on.

  • Criar uma Port Forward no vosso router para a porta 441 (No meu caso). No router da NOS, apenas podemos fazer através da página: https://aminhanet.nos.pt

    imagem
  • Devem desativar a regra anterior da porta 8123.

  • Modificar em configuration.yaml, os campos relativos a SSL/TLS novamente. Agora devem comentá-los. E criar o base_url em baixo do TTS:

# Uncomment this if you are using SSL/TLS...

#http:
#  base_url: omeudominio.duckdns.org
#  ssl_certificate: /ssl/fullchain.pem
#  ssl_key: /ssl/privkey.pem

# Text to speech

tts:
  - platform: google_translate
    base_url: http://192.168.1.XXX:8123

NOTA: O próximo passo fazer do nosso HA um servidor de DNS, de maneira a podermos usar HTTPS, dentro e fora de rede. E com isto podermos usar exatamente o mesmo endereço quer seja localmente quer seja fora.

***********************************************************************************************

3º - Dnsmasq - INSTALAÇÃO E CONFIGURAÇÃO

  • Instalar o Dnsmasq no seu HA. É um add-on official do Hass.io

  • Depois de instalado, colocar esta configuração:

{
  "defaults": ["8.8.8.8", "8.8.4.4"],
  "forwards": [],
  "hosts": [
    {"host": "omeudominio.duckdns.org", "ip": "192.168.1.XXX"}
  ]
}
  • Salvar a configuração e iniciar o add-on.
  • Caso o vosso router permita mudar a Configuração de DNS, podem fazê-lo, usando os seguintes dados:
    • DNS Primário: 192.168.1.XXX (IP do vosso HA)
    • DNS Secundário: 8.8.8.8
  • Caso não permita, que é a minha situação. Não vejo nenhuma opção para mudar isso no router da NOS, alterei os DNS nos meus próprios dispositivos: Telemóvel, PC, Portátil. Todos aqueles que pretendem que comuniquem com o vosso HA.

Se tudo correu bem a partir deste momento podem aceder ao vosso HA com o mesmo endereço, estejam na rede interna ou externa:

2 Likes
# Uncomment this if you are using SSL/TLS...

#http:
#  base_url: omeudominio.duckdns.org
#  ssl_certificate: /ssl/fullchain.pem
#  ssl_key: /ssl/privkey.pem

# Text to speech

tts:
  - platform: google_translate
    base_url: http://192.168.1.XXX:8123

@dcnilas11 podes corrigir essa parte do tutorial? Isso não está correcto não podes ter a base url dentro do tts, mas sim deves colocar dentro do http

A minha questão vai para o 2º e 3º passo. É aconselhado faze-los? Pois tenho feito só até ao 1º passo, acedo internamente pelo https.ip:8123 e fora pelo dominio duckdns.org:8123

Bom Dia,

@RodolfoVieira Para mim também é estranho, mas é assim que o meu HA está a funcionar corretamente dentro como fora da rede.

Esta configuração bem como base no tutorial deste youtube:
Home Assistant, DuckDNS and Google TTS: Working

@karma Se para ti estiver bem assim, podes ficar aí sem problema.
Eu é que queria ter um url unico quer fosse fora, quer fosse dentro, por causa do device_tracking nos telemóveis e no accesso à app HA.
Assim, não ter de andar a trocar endereços constantemente.

Acho isso minimamente estranho estar a funcionar sem erros…isso não tem lógica rigorosamente nenhuna. Isso deverá estar no http e não no TTS. Altera isso e vais ver que funciona…se funciona de momento…acho como disse estranho.

Sim, mas eu logo posso fazer um teste para ver, sem problema nenhum.

Mas o que dizes é para colocar assim?

# Uncomment this if you are using SSL/TLS...

http:
  base_url: http://192.168.1.XXX:8123
#  ssl_certificate: /ssl/fullchain.pem
#  ssl_key: /ssl/privkey.pem

# Text to speech

tts:
  - platform: google_translate

ou

# Uncomment this if you are using SSL/TLS...

http:
  base_url: https://omeudominio.duckdns.org:441
#  ssl_certificate: /ssl/fullchain.pem
#  ssl_key: /ssl/privkey.pem

# Text to speech

tts:
  - platform: google_translate

@dcnilas11 @RodolfoVieira a configuração existe de facto. Mas a opção por defeito é usar o base_url do http:. Por isso o sitio correcto para a configuração deverá ser a secção http: para o HA a poder usar em todas as situações.

base_url

(string)(Optional)

A base URL to use instead of the one set in the http component. It is used as-is by the tts component. In particular, you need to include the protocol scheme http:// or https:// and the correct port number. They will not be automatically added for you.

Default value:

value of http.base_url

Eu pelo que percebi. Esta colocação do base_url no TTS, é pelo facto do router não ter loopback.

Nesse caso, se não tem loopback para o TTS também não tem para o resto. O loopback não é selectivo…


Copyright © 2017-2020. Todos os direitos reservados
CPHA.pt - info@cpha.pt


FAQ | Termos de Serviço/Regras | Política de Privacidade