Tenha seu Home Assistant na Alexa - Manual

Olá pessoal,
Sou novo no mundo do HA. Atualmente venho tentando fazer a comunicação entre o HA com a Alexa, meu problema atual é que não está sendo expostos os meu dispositivo.
No teste de integração, dentro do Console da Amazon está retornando o seguinte erro:


E pelo HA, aparece a seguinte notificação:

Estou com as portas 443 e 80 abertas e liberadas no roteador.
Meu HA está configurado para acessar pela porta 443, assim não preciso definir a porta na url (foi um dos testes que fiz para ver se resolvia).
Estou utilizando o DuckDNS.
Consigo efetuar o link da conta pelo aplicativo da alexa normalmente, porém não encontra nenhum dispositivo.

Pelo log tem algo errado com a autenticação, acredito que possa ser a falta de marcar aquela opção de continuar conectado no login.

Além disso sugiro você criar um novo usuário (não precisa ser administrador) no Home Assistant e utilizar ele para realizar a vinculação da skill. Com isso o histórico dos dispositivos mostram esse usuário quando forem ligados/desligados pela Alexa.

1 Like

Pois é, esta tudo ok. Consegui colocando o token de longa duração. Ai no serviço do Lambda está trazendo o dispositivo. Mas pela alexa continua a falar que não foi encontrado nenhum. Estou quase partindo para estudar como funciona o serviço de smart home e reescrevendo aquele código em python.

Olá,

Após seguir o tutorial e quanto chego à parte de fazer o teste aparece-me o seguinte erro.
Alguém consegue ajudar?
Obrigado

Fala galera, a minha rede ipv4 é CGNAT, eu não conseguia fazer o acesso externo, então comecei a utilizar o ipv6 e agora consigo acesso externo ao meu home assistant, segui o passo a passo do tutorial, porém na parte de testar sempre dá o seguinte erro:

{
“errorMessage”: “2022-03-04T14:46:55.130Z 7ea00867-2ca9-4488-ba78-541c1afdc634 Task timed out after 3.00 seconds”
}

No log aparece a seguinte msg:

START RequestId: 7ea00867-2ca9-4488-ba78-541c1afdc634 Version: $LATEST
[WARNING] 2022-03-04T14:46:54.146Z 7ea00867-2ca9-4488-ba78-541c1afdc634 Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by ‘ConnectTimeoutError(<urllib3.connection.HTTPSConnection object at 0x7f6e152c4610>, ‘Connection to xxxxxxxxxx.duckdns.org timed out. (connect timeout=2.0)’)’: /api/alexa/smart_home
END RequestId: 7ea00867-2ca9-4488-ba78-541c1afdc634
REPORT RequestId: 7ea00867-2ca9-4488-ba78-541c1afdc634 Duration: 3003.78 ms Billed Duration: 3000 ms Memory Size: 128 MB Max Memory Used: 38 MB Init Duration: 154.63 ms
2022-03-04T14:46:55.130Z 7ea00867-2ca9-4488-ba78-541c1afdc634 Task timed out after 3.00 seconds

Alguém tem ideia de como solucionar, tô quase desistindo já kkkkkk

Pq não seguiu o tutorial do cloudflare tunnel? Com ele consegue acesso externo e usar Alexa

Pessoal, segui todas as dicas e tutoriais aqui. Consegui realizar as configurações na Amazon, no teste é retornado todas as minhas entidades e dentro do App da Alexa eu consegui conectar ao home assistant.

O problema que estou tendo é que após fechar essa tela do aplicativo e pedir para detectar dispositivos, nenhum dispositivo é encontrado. O estranho é que na configuração yaml parece correto e o teste dentro da amazon aparece todas as entidades.

alexa:
  smart_home:
    client_id: !secret alexa_client_id 
    client_secret: !secret alexa_client_secret
    filter:
      include_domains:
        - light

Alguém tem ideia do motivo de não aparecer nenhum dispositivo sendo que a conexão é feita com sucesso?

Caso alguém tenha o mesmo problema que tive, consegui resolver por conta própria. Descobri que a função lambda que criei foi no servidor Oeste dos EUA (Oregon)us-west-2 e por esse motivo nenhuma entidade era descoberta. Criei uma nova função lambda no servidor Leste dos EUA (Norte da Virgínia)us-east e todas as minhas entidades apareceram na Alexa.

2 Likes

Douglas Tudo bem.
cara como vc tem varias skills no alexa developer.
eu tenho 2 skill. é no node-red quando chamo a primeira vem a segunda.

já li tudo já pesquisei em tudo. não consigo.
vc não tem uma dica ai não.
ah os entity_id: estão certo.

Abçs.

Eu segui o tutorial, mais sem sucesso, no momento de fazer o login no home assistant para ativar a skill não loga, eu uso argotunnel porque estou atras de um CGNAT, eu tenho acesso externo.

olhando nos log de teste a Amazon encontra meus dispositivos, mais eu não consigo ativar a skill, alguem que usa argotunnel que já conseguiu, pode me dar uma luz, pois tentei os dois métodos Credentials” usar http basic e o outro. sem exito
fica somente nesta imagem

Captura de tela de 2022-04-25 21-23-00

Alguém que já passou por isso, pode me ajudar

Era pra ser teu usuário e senha de acesso ao home assistant, não?
Pode até criar um usuário novo só pra ficar responsável por essa parte.

eu uso o usuario e senha do home assistant, mais não funciona

Estava com esse erro e consegui corrigir. No meu caso eu esqueci de colocar o smart_home dentro do configuration.yaml no HA.
Você já resolveu?

Olá Pessoal, fiz todo o procedimento do tutorial (usnado somente DuckDNS), no teste da minha função lambda da tudo certo, mas no final na hora de ativar a Skill, da um erro 404.
Minha internet é vivo com roteadores TP Link. Eu uso redirecionamento de portas no modem da vivo e tbm libero no firewall do modem a seguinte configuração
Ext: 8443 → Int: 8123
Ext: 8123-> Int: 8123
No roteador eu faço também o redirecionamento de portas
Ext: 8443 → Int: 8123
Ext: 8123-> Int: 8123

Eu tentei redirecionar porta interna 443 e externa qualquer uma das duas (8123 e 8443) e quando faço isso perco acesso, fica na tela incial do HA com a mensagem Iniciando e nunca aparece pra fazer login.

Estou tentando usar a 8443 porque a 443 é bloqueada e não consigo liberar. Faço o teste de portas e as duas (8123 e 8443) aparecem liberadas, também consigo acessar usando o duckdns.org:8123 e duckdns.org:8443. Em todos os lugares do meu codigo eu coloquei duckdns.org:8443 onde pede URL.O único erro é no passo final depois de fazer o login na Skill e eu já não sei mais o que fazer… Rodei todos os forum em portugues e inglês e nada deu certo.

Teste do lambda

Habilitar Skill

Tentativa pela Alexa Web

Tentativa pelo app Alexa no celular

Só para deixar atualizado, fiz o tutorial acima, usei

alexa:
  smart_home:
    locale: pt-BR #en-US
    endpoint: https://api.amazonalexa.com/v3/events
    client_id: xxx ## que você pegou em permission
    client_secret: xxx ## que você pegou em permission
    filter:
      include_entities:
        - switch.central_rele_d745_switch_0
        - switch.central_rele_d745_switch_1
        - switch.central_rele_d745_switch_2
        - switch.central_rele_d745_switch_3
    entity_config:
      switch.central_rele_d745_switch_0:
        name: Luz Banheiro
      switch.central_rele_d745_switch_1:
        name: Luz Sala
      switch.central_rele_d745_switch_2:
        name: Luz Area
      switch.central_rele_d745_switch_3:
        name: Luz Cozinha

isso tudo retorna nos teste do AWS, sem erros, mais não consigo ativar a skill
detalhe uso o argo tunnel #tutoriais para acesso externo.

Pergunta… Chegou a testar usando Lamda da AWS?

Você vai ter problema depois que passar dessa parte se mantiver esse locale.
Usa en-US mesmo ou remove a linha.

infelizmente não é isso, isso foi mais um resto das tentativas
eu deixei somente o smart_home:
e não foi, me parece algo relacionado ao argotunnel.
mais obrigado pelo feedback

Sim, no log encontra os dispositivos corretamente.

com pt-BR, localiza os dispositivos mas você não consegue fazer nenhum comando porque ele não encontra as capacidades do dispositivo, só usando en-US.