Dificuldade Hass.io + Raspberry Pi Zero + Xiaomi


(tiag) #1

Olá a todos,

Sou novo nisto da automação, mas já me está a dar dores de cabeça.

Resumo: não consigo fazer com que os dispositivos Xiaomi (gateway, sensores, etc) comuniquem o estado ao Home Assistant.

Descrição: Tenho um gateway Xiaomi, uma série de sensores e switches, e algumas lâmpadas, e queria criar automações para lá do que permite a Mi Home. Assim, comprei um raspberry pi zero (sem WiFi), um adaptador para cabo de rede, e instalei-lhe o Hassio (também já experimentei o Hassbian). Depois, fui ao configuration.yaml e adicionei o Gateway Xiaomi - que é detetado, bem como todos os child devices que estiverem adicionados na Mi Home. No entanto, não consigo fazer com que o gateway (nem os child devices) comuniquem ao Hass.io cada alteração de estado que sofrem, seja uma porta a abrir, seja o próprio sensor de luminosidade do gateway. A única comunicação que fazem é no “arranque” do homeassistant (por exemplo, se a porta estiver aberta no boot, vejo o estado como aberta no Hassio, mas se depois a fechar, o estado não atualiza; para além disso todos os switches aparecem com “disconnected”, e não são detetados nenhuns cliques). Mais: se ligar a luz do Gateway via Hassio, ele realmente acende a luz, mas o estado mantém-se como “desligado” no Hassio (o que revela que o Hassio consegue comunicar com os dispositivos, mas eles não conseguem comunicar com o Hassio).
Para despistar problemas, instalei o HA num PC windows, e a coisa parece funcionar (apesar de os switches continuarem a aparecer como “disconnected”, o sensor de luminosidade e o ligar/desligar da luz do Gateway funciona como é esperado, com atualizações de estado constantes).
O meu hardware é um Raspberry Pi Zero ligado via cabo ethernet com o router HG8247Q da Vodafone.

Alguma ideia de como resolver?

Thanks
Tiago


(Jorge Assunção) #2

A melhor solução será utilizar um equipamento que tenha capacidade para lidar com o Hassio. Parece-me que um Rpi 3 é a tua melhor solução.

Como tu próprio dizes, com o HA instalado no PC isso funciona (a indicação dos switches tem a ver com configurações).


(tiag) #3

Olá Jorge,
Obrigado pela resposta. Sem querer duvidar: se o hassio é pesado demais para o raspberry zero, por que é que fazem uma build própria para este hardware? :slight_smile:

Ou seja, é de certeza essa a dificuldade ou haverá outra hipóteses que não explorei? Na minha cabeça estava mais a apontar para alguma coisa na comunicação gateway - router - raspberry via Lan (no PC estava a comunicar via Wi-Fi).


(Jorge Assunção) #4

Lá por existir não quer dizer que seja a melhor opção…

Quais são as configurações que estás a utilizar para a gateway?


(tiag) #5

Olá Jorge,
Mais uma vez obrigado! Acho que estou a reduzir as hipóteses do problema.

Liguei o pc (onde, recordo, o Gateway funcionava normalmente via Wi-Fi) via LAN ao router. Resultado: igual ao do raspberry pi zero. Ou seja, o problema está efetivamente na ligação via LAN entre o router e o rpi zero. O problema agora é: como resolver? Não faço ideia! :slight_smile:

Não sei se entendi a tua questão relativa às configurações para o gateway: se te referes às configurações Mi Home app o que fiz foi ativar o “Wireless Communication Protocol”, para retirar a Key, que introduzi no configuration.yaml… Era a isso que te referias?

Thanks,
Tiago


(Jorge Assunção) #6

Hummm… Estranho…

Podes publicar o teu configuration.yaml (retirando primeiro a informação confidencial)?


(Nuno Neves) #7

Sabe Deus porquê, em alguns routers a Lan e a wlan vêm separadas… Em alguns até a wlan 2.4 e a 5 vêm separadas… Vê se não será o caso…


(tiag) #8

Olá Jorge,

Já reinstalei tantas vezes o software para fazer os testes, que neste momento o meu configuration.yaml está inalterado - apenas acrescentei a parte do Gateway, nas últimas linhas do ficheiro. Aqui fica:

xiaomi_aqara:
discovery_retry: 10
gateways:

  • host: xxxxxxxxx
    mac: 12:ab:12:12:1a:ab
    key: abcd1e2fg34h56ij

Precisa do resto do ficheiro (não estou a conseguir colocar, devido ao limite de hyperlinks para novos utilizadores), ou só é necessário esta parte?
Há alguma coisa que possa estar a causar isto? De referir que já testei diferentes alternativas (com e sem mac, com valores diferentes para o discovery_retry, etc)…

Thanks


(tiag) #9

Olá Nuno,

Separadas como? Realmente no meu router, as duas frequências vêm separadas… Mas o que se pode fazer para ultrapassar isto?

Thanks
Tiago


(Jorge Assunção) #10

Podes formatar o código para que se perceba?


(tiag) #11

image

É isto… O fórum está a alterar a formatação automaticamente. Mas fica o print.


(Jorge Assunção) #12

O fórum não altera a formatação, podes é estar a fazer alguma coisa errada…

Se essa é a formatação que tens no teu configuration.yaml, está mal indentada.

xiaomi_aqara:
  discovery_retry: 5
  gateways:
    - key: xxxxxxxxxxxxxxxx

O - após gateways alinha debaixo do T e não do G.

Podes ver na página oficial do componente:


(tiag) #13

Obrigado pela dica :slight_smile:
À partida não será esse o problema - isso não explica por que é que no PC consigo funcionar via wireless, mas não via LAN. Mas vou experimentar e já dou feedback. :slight_smile:
Mas o problema há-de estar nesta ligação LAN, alguma configuração no router ou assim, que não me está a permitir receber feedback dos sensores…


(Jorge Assunção) #14

Quando a indentação do ficheiro esta incorrecta não carrega em nenhum sistema operativo mas pode ter sido algum problema a copiares durante alguma instalação. Dá noticias para podermos verificar de outra maneira o que se passa.


(tiag) #15

Acabei de experimentar, o comportamento mantém-se.

É curioso o seguinte: o Hassio deteta o gateway ao ligar (de cada vez que faço restart, ele atualiza os valores de lumens, e reporta corretamente se está ligado). E se eu for ao switch do hassio para ligar a luz, o switch funciona e o gateway liga-se. No entanto o switch volta sozinho à posição “desligado”, mantendo-se o gateway com a luz ligado. Ou seja, eu consigo transmitir a ordem para ele se ligar, mas ele não consegue fazer o update do novo estado.

Isto é do router, de certeza, agora o quê não sei.
Vocês têm o vosso rpi em wireless ou lan?


(Rodolfo) #16

Olá @slbones13 eu assumo que tenhas a seguinte configuração:

xiaomi_aqara:
  discovery_retry: 5
  gateways:   
    - mac: !secret xiaomi_mac
      key: !secret xiaomi_key
      host: !secret xiaomi_ip

Se sim , o que relatas é no minimo estranho, é um comportamento anormal.
Para via de dúvidas podes criar uma nova key?
Eu uso o RPI via Lan, mas não me parece que seja um critério importante.


(tiag) #17

Olá Rodolfo,

Obrigado pelo teu input.
Sim, tenho. E já gerei novas keys mais do que uma vez. Mas uma vez que acabei de receber um update de firmware do gateway, vou gerar mais uma, tentar novamente, e já dou novidades.

Quanto ao LAN: parece-me que o router de alguma forma está a bloquear a info que recebe do gateway, e não a faz chegar ao rpi…


(Rodolfo) #18

Já li relatos, que de facto algum pessoal, teve em tempos problemas com o gateway e o router, agora qual router não sei.
Qual é mesmo? de que operadora?


(tiag) #19

É o HG8247Q da Vodafone.

Nova key - mesmo resultado :frowning:


(Rodolfo) #20

Eu tenho vodafone mas o thomson antigo.
Não sei mesmo o que possa ser, poderás testar isso em outro router? em casa de um amigo ou assim?