Hassbian - duckdns + letsencrypt com Porta 80 bloqueada

Olá,

Iniciei a configuração de acesso externo do meu HA (hassbian em RP3) utilizando como base o vídeo do canal BRUH Automation https://www.youtube.com/watch?v=BIvQ8x_iTNE consegui fazer a instalação do duckdns normalmente e o mesmo está fazendo a atualização dos IPs corretamente, porém quando cheguei na parte do script para instalação do letsencrypt e geração das chaves o problema começou, já que descobri que meu Modem/Roteador não permite o encaminhamento da porta 80, por isso o script sempre falhava. Procurando no google localizei o seguinte tutorial tutorial que aparentemente resolveria meu problema com a porta 80, consegui executar os scripts e gerar as chaves sem erro, porém ao adicionar o componente http: conforme indicado no tutorial tenho o seguinte erro ao fazer o check-config:

Invalid config for [http]: not a file for dictionary value @ data[‘http’][‘ssl_certificate’]. Got ‘/home/pi/dehydrated/certs/mydns.duckdns.org/fullchain.pem’ not a file for dictionary value @ data[‘http’][‘ssl_key’]. Got ‘/home/pi/dehydrated/certs/mydns.duckdns.org/privkey.pem’. (See /home/homeassistant/.homeassistant/configuration.yaml, line 172). Please check the docs at https://home-assistant.io/components/http/

A configuração está assim:

http:
     api_password: !secret hass_pass
     ssl_certificate: /home/pi/dehydrated/certs/mydns.duckdns.org/fullchain.pem
     ssl_key: /home/pi/dehydrated/certs/mydns.duckdns.org/privkey.pem
     base_url: mydns.duckdns.org:8123

Alguma sugestão? Lembrando que estou usando a versão 0.90.2 e pelo que eu entendi algumas coisas em relação a autenticação mudaram desde a 0.90, imagino que tenha alguma relação com o problema.

Obrigado desde já.

Tens de começar a ler as breaking changes da releases e a pesquisar um pouco…

Sim, estou pesquisando a um bom tempo, inclusive fiz teste adicionando o
auth_providers: de diversas maneiras mas infelizmente acabei ficando parado nesse ponto.

Apaga a linha api_password: !secret hass_pass e experimenta…

Tentei, no check config apresenta o mesmo erro acima. Obrigado por ajudar!

Se o código que tens em cima estiver igual ao que tens no teu ficheiro os espaçamentos estão mal feitos. Em YAML os espaçamentos são feitos em múltiplos de 2.

Bem observado, fiz o acerto mas segue o mesmo erro. Estou suspeitando que o HA não consiga acessar o diretório indicado com as chaves, acha que faz sentido? Consigo acessar normalmente via ssh com o user pi e vejo que as chaves estão lá.

Podes publicar o teu ficheiro configuration.yaml na totalidade? Não esqueças de substituir os dados pessoais por outros.

Claro! Segue abaixo

homeassistant:
  # Name of the location where Home Assistant is running
  name: HomeSweetHome
  # Location required to calculate the time the sun rises and sets
  latitude: !secret latitude_house
  longitude: !secret longitude_house
  # Impacts weather/sunrise data (altitude above sea level in meters)
  elevation: 745
  # metric for Metric, imperial for Imperial
  unit_system: metric
  # Pick yours from here: http://en.wikipedia.org/wiki/List_of_tz_database_time_zones
  time_zone: America/Sao_Paulo
  # Customization file
  customize: !include customize.yaml
  #packages
  packages: !include_dir_named packages

# Show links to resources in log and frontend
introduction:
# Media Players

media_player:
  - platform: philips_js
    host: !secret ip_tv_sala
    turn_on_action:
      service: wake_on_lan.send_magic_packet
      data:
        mac: !secret mac_tv_sala
  - platform: kodi
    host: !secret ip_lg_g4
    name: LG G4
    timeout: 1
    
    
cast:
#Google Home Mini
 media_player:
   - host: !secret ip_google_home_quarto

# Enables the frontend
frontend:

# Enables configuration UI
config:

updater:
  # Optional, allows Home Assistant developers to focus on popular components.
  include_used_components: true

# Discover some devices automatically
discovery:

# Allows you to issue voice commands from the frontend in enabled browsers
conversation:

# Enables support for tracking state changes over time
history:

# View all events in a logbook
logbook:

# Enables a map showing the location of tracked devices
map:

# Track the sun
sun:

# Allow diagnosing system problems
system_health:

# Sensors
sensor:
  # Weather prediction
  - platform: yr

# Text to speech
tts:
  - platform: google
    language: 'pt'
    cache: true
    cache_dir: /tmp/tts
    time_memory: 300

# Cloud
cloud:

group: !include groups.yaml
automation: !include automations.yaml
script: !include scripts.yaml
wake_on_lan:

switch:
  - platform: mqtt
    name: "Bomba_de_filtragem_Piscina"
    state_topic: "stat/bomba1/POWER"
    command_topic: "cmnd/bomba1/POWER"
    payload_on: "ON"
    payload_off: "OFF"
    optimistic: false
    qos: 0
    retain: true
    
mqtt:
  broker: !secret ip_mqtt_broker
  port: !secret port_mqqt_broker
  username: !secret user_mqtt_broker
  password: !secret pass_mqtt_broker
  protocol: 3.1

sensor:  
   #Status da Estaçao Espacial  
  - platform: iss
notify:
  - name: telegram
    platform: telegram
    chat_id: !secret telegram_chat_id
    
telegram_bot:
  - platform: polling
    parse_mode: html
    api_key: !secret telegram_api_key
    allowed_chat_ids:
      - !secret telegram_allowed_chat_id_1
      
geo_location:
  - platform: geo_json_events
    url: https://earthquake.usgs.gov/earthquakes/feed/v1.0/summary/all_day.geojson
    radius: 3000
    entity_namespace: 'usgs_earthquakes'      
      

sensor:
  - platform: opensky
    radius: 6
    name: Zona de Risco 1
    altitude: 1000

    
  - platform: opensky
    radius: 3
    name: Zona de Risco 2
    altitude: 800


  - platform: opensky
    radius: 2
    name: Zona de Risco 3
    altitude: 500


    #Sensor de clima 
  - platform: waqi
    token: !secret waki_token
    locations:
      - campinas

  - platform: launch_library

http:
  ssl_certificate: /home/pi/dehydrated/certs/myhome.duckdns.org/fullchain.pem
  ssl_key: /home/pi/dehydrated/certs/myhome.duckdns.org/privkey.pem
  base_url: !secret http_base_url

Que versão do HA tens @Filipe_P_Marcato?

Estou com o hassbian 0.90.2

Experimenta isto:

homeassistant:
  # Name of the location where Home Assistant is running
  name: HomeSweetHome
  # Location required to calculate the time the sun rises and sets
  latitude: !secret latitude_house
  longitude: !secret longitude_house
  # Impacts weather/sunrise data (altitude above sea level in meters)
  elevation: 745
  # metric for Metric, imperial for Imperial
  unit_system: metric
  # Pick yours from here: http://en.wikipedia.org/wiki/List_of_tz_database_time_zones
  time_zone: America/Sao_Paulo
  # Customization file
  customize: !include customize.yaml
  #packages
  packages: !include_dir_named packages
## WHITELIST
  whitelist_external_dirs:
    - /home/pi/dehydrated/certs

http:
  ssl_certificate: /home/pi/dehydrated/certs/myhome.duckdns.org/fullchain.pem
  ssl_key: /home/pi/dehydrated/certs/myhome.duckdns.org/privkey.pem
  base_url: !secret http_base_url

## AUTHORIZATION PROVIDERS
auth_providers:
  - type: homeassistant

# Show links to resources in log and frontend
introduction:
# Media Players

media_player:
  - platform: philips_js
    host: !secret ip_tv_sala
    turn_on_action:
      service: wake_on_lan.send_magic_packet
      data:
        mac: !secret mac_tv_sala
  - platform: kodi
    host: !secret ip_lg_g4
    name: LG G4
    timeout: 1
  
cast:
#Google Home Mini
 media_player:
   - host: !secret ip_google_home_quarto

# Enables the frontend
frontend:

# Enables configuration UI
config:

updater:
  # Optional, allows Home Assistant developers to focus on popular components.
  include_used_components: true

# Discover some devices automatically
discovery:

# Allows you to issue voice commands from the frontend in enabled browsers
conversation:

# Enables support for tracking state changes over time
history:

# View all events in a logbook
logbook:

# Enables a map showing the location of tracked devices
map:

# Track the sun
sun:

# Allow diagnosing system problems
system_health:

# Sensors
sensor:
  # Weather prediction
  - platform: yr

# Text to speech
tts:
  - platform: google
    language: 'pt'
    cache: true
    cache_dir: /tmp/tts
    time_memory: 300

# Cloud
cloud:

group: !include groups.yaml
automation: !include automations.yaml
script: !include scripts.yaml
wake_on_lan:

switch:
  - platform: mqtt
    name: "Bomba_de_filtragem_Piscina"
    state_topic: "stat/bomba1/POWER"
    command_topic: "cmnd/bomba1/POWER"
    payload_on: "ON"
    payload_off: "OFF"
    optimistic: false
    qos: 0
    retain: true
    
mqtt:
  broker: !secret ip_mqtt_broker
  port: !secret port_mqqt_broker
  username: !secret user_mqtt_broker
  password: !secret pass_mqtt_broker
  protocol: 3.1

sensor:  
   #Status da Estaçao Espacial  
  - platform: iss
notify:
  - name: telegram
    platform: telegram
    chat_id: !secret telegram_chat_id
    
telegram_bot:
  - platform: polling
    parse_mode: html
    api_key: !secret telegram_api_key
    allowed_chat_ids:
      - !secret telegram_allowed_chat_id_1
      
geo_location:
  - platform: geo_json_events
    url: https://earthquake.usgs.gov/earthquakes/feed/v1.0/summary/all_day.geojson
    radius: 3000
    entity_namespace: 'usgs_earthquakes'      

sensor:
  - platform: opensky
    radius: 6
    name: Zona de Risco 1
    altitude: 1000

  - platform: opensky
    radius: 3
    name: Zona de Risco 2
    altitude: 800

  - platform: opensky
    radius: 2
    name: Zona de Risco 3
    altitude: 500

    #Sensor de clima 
  - platform: waqi
    token: !secret waki_token
    locations:
      - campinas

  - platform: launch_library

Se não funcionar usa o PasteBin ou similar e coloca aqui o log completo (ficheiro home-assistant.log).

Obrigado! Estou no trabalho assim que voltar vou implementar para teste.

Infelizmente deu erro, segue o log:

https://pastebin.com/embed_js/vkckk9D4

Como deves ter reparado tens vários erros no log que deves resolver. Aconselho-te a fazeres um backup da tua configuração e depois uma instalação nova. E tendo em conta a tua falta de experiência no HA devias optar por algo mais simples como o Hassio ou o Raspassio devido à facilidade de instalação, configuração e manutenção.

Segundo dizes tens a versão 0.90.2 mas pelo que vejo no ficheiro de configuração faltam lá algumas configurações que já entraram no HA na versão 0.88.0

Vou fazer exatamente isso, esperar a chegada do final de semana. Para migrar para Hassio! Obrigado pela ajuda!


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


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