Ajuste na integração localtuya

Bom dia.

Para as pessoas como eu que estavam usando o localtuya e atualizaram para a ultima versão do home assistant, ao editar ou adicionar um dispositivo podem ter se deparado com uma mensagem de erro.

Após investigar, percebi que a integração estava usando uma função descontinuada pelo home assistant core.

Quem se interessar na parte mais técnica, se trata deste commit: Remove deprecated async_get_registry (#91928) · home-assistant/core@fba7c6c · GitHub

Ao que parece, o componente localtuya ainda não fez o ajuste, portanto quem quiser resolver por hora segue o passo a passo simples:

Usando o editor de sua preferencia, acesse a pasta config/custom_components/localtuya e encontre o arquivo config_flow.py:

image

Vá até a linha 743 que deve estar assim:

ent_reg = await er.async_get_registry(self.hass)

Altere a mesma para ficar assim:

ent_reg = er.async_get(self.hass)

Reinicie o servidor.

Agora, acesse a configuração da integração do localtuya, que abre a janela abaixo:

image

Aqui, se você tem configurado o tuya cloud para atualizar a local_key, primeiro selecione ela para pegar as novas local_key e em seguida edite cada um dos dispositivos (sem alterar nada). Caso queira pode adicionar as local_key manualmente. Feito isso, basta recarregar a integração ou reiniciar o servidor.

OBS: por algum motivo, a opção do localtuya de pegar as chaves do servidor tuya chega a alterar o localkey dos dispositivos se tu entrar em editar eles. Porém ela não atualizou (para mim) o arquivo json de entidades do home assistant. Acredito que isso ocorreu por que eu fiz a busca das chaves antes de ter ajustado o codigo e então quando ele busca novamente, entende que não tem atualizações e portanto não altera o arquivo lá. Vou analisar melhor em outro momento, mas por hora é isso.

3 curtidas

Ia abrir um pull request no componente, mas ví que já tem um com a mesma solução, então quem é desenvolvedor e tem conta no github poderia ajudar, falta um review.

1 curtida

a minha linha 743 aparece isso ( new_data = self.config_entry.data.copy()
A integração com o tuya voltou porem os devices nao
local tuya ta funcionando
porem um erro fica dando toda hora
( socket.send() raised exception.

19:38:30 – (ALERTA) LocalTuya (integração customizada) - a mensagem ocorreu pela primeira às 19:07:23 e apareceu 4423 vezes

[eb2…pke] Failed to connect to 192.168.0.65: [Errno 110] Connect call failed (‘192.168.0.65’, 6668)

19:32:44 – (ALERTA) LocalTuya (integração customizada) - a mensagem ocorreu pela primeira às 19:23:53 e apareceu 5 vezes

[eb2…pke] Disconnected - waiting for discovery broadcast

19:21:41 – (ALERTA) LocalTuya (integração customizada)

LIMPAR

DOWNLOAD DO LOG COMPLETO

1 curtida