Chamo-me Leandro, sou engenheiro eletrotécnico e tenho um X50 Ultra Complete há algum tempo. Vivemos em casa com a Nina, uma cadela de pelo comprido preto e branco, e quem tem cão sabe que isso é uma declaração de guerra permanente ao chão. A fotografia que junto é a nossa entrada, tal como está num sábado qualquer: os sapatos alinhados, a Nina sentada ao lado da base e o soalho a brilhar. Não arrumei nada para a fotografia. É esse o ponto.
Mas não é sobre aspirar que vos quero falar. É sobre uma coisa que fui descobrindo aos poucos e que acho que muita gente aqui ainda não sabe: o X50 não é só um aspirador. É um aparelho cheio de sensores que fala com o resto da casa.
O que descobri quando liguei o X50 ao Home Assistant
O Home Assistant é um sistema de domótica que corre em casa e junta num só sítio tudo o que temos ligado — luzes, alarme, painéis solares, carros, sensores de movimento. Quando lá liguei o X50, o que apareceu não foi um botão de ligar e desligar. Foi uma lista enorme: nível de bateria, estado de carga, mapa, progresso da limpeza, estado de cada consumível, horários, modos, zonas. Praticamente tudo o que a app mostra, e algumas coisas que a app não mostra.
E a partir do momento em que esses dados estão disponíveis, o aspirador deixa de ser um aparelho isolado e passa a ser uma peça que reage à casa. Deixo algumas ideias, para dar a noção do que é possível: - Aspirar só quando saímos de casa. O alarme ficar armado, ou o telemóvel sair da rede de casa, pode ser o sinal para o X50 arrancar. Ninguém em casa, ninguém incomodado, e chegamos a casa com tudo limpo.
- Deixar a sala para o fim se estivermos a ver televisão. Se a TV está ligada, muda-se a ordem das divisões e a sala fica para último. Ou salta-se a sala nesse dia.
- Limpar o corredor por número de passagens, não por horário. Um sensor de movimento no corredor conta as passagens; ao fim de trinta, o X50 vai lá dar uma volta só àquela zona. Faz muito mais sentido do que limpar à segunda-feira às nove porque sim.
- Avisar quando é preciso mexer nos consumíveis. Uma mensagem no telemóvel quando faltam poucas horas para trocar o filtro ou a escova, em vez de ter de ir à app ver.
Nada disto exige que a Dreame faça seja o que for. Já está tudo disponível. Acrescento ainda que o X50 é compatível com Matter, e confesso que aí não tenho experiência nenhuma — não vou falar do que não sei — mas quem estiver por dentro do assunto tem aí mais uma porta aberta.
O que eu efetivamente fiz: o X50 carrega a sol
Vamos ao meu caso concreto.
Em casa temos seis painéis solares ligados a um inversor de 3,6 kW. Tenho tarifa bi-horária, o que quer dizer que a eletricidade da rede me custa quase três vezes mais durante o dia do que durante a noite. E quando os painéis produzem mais do que a casa consome, esse excedente vai para a rede e é-me pago a um valor muito baixo.
Ou seja: cada watt de sol que eu consigo gastar em casa vale-me várias vezes mais do que o mesmo watt vendido à rede.
Olhei para a base do X50 e pensei: aqui está um consumidor que não tem pressa nenhuma. O robô limpa uma vez por dia, a bateria dá para vários ciclos, e não faz a mínima diferença se ele carrega às dez da manhã ou às três da tarde. É o consumidor ideal para andar atrás do sol.
Além disso — e isto é um gosto meu, não uma recomendação a ninguém — habituei-me a não deixar os meus aparelhos de bateria a viver sempre no máximo. Faço-o com tudo cá em casa, e quis fazer o mesmo com o X50.
O problema, e o truque que o resolveu
Aqui está a parte que me deu trabalho e que é a razão de estar a escrever isto.
Não existe forma direta de dizer ao X50 "carrega agora" ou "não carregues agora". Nem na app, nem através do Home Assistant. O robô chega à base e carrega. É assim que ele é feito, e faz sentido que seja assim.
A solução veio de uma funcionalidade que a própria Dreame já lá pôs: o carregamento em vazio (off-peak). Serve para quem tem tarifas com horas mais baratas — define-se a janela horária e o robô só aceita carregar dentro dela.
E foi aí que percebi. Se eu puser essa janela numa hora que nunca coincide com o momento presente, o robô fica permanentemente "fora de horas" e não carrega. Se eu desligar a funcionalidade, ele volta a carregar normalmente. A funcionalidade de agendamento transforma-se, na prática, num interruptor de carga que a Dreame já me tinha dado sem eu perceber.
A partir daí é só lógica: há sol e a bateria está baixa? Desligo o off-peak e ele carrega de graça. Chegou ao nível que eu quero, ou o sol acabou? Ligo o off-peak e ele para.
As duas armadilhas que me custaram tempo
E aqui vai o que eu gostava de ter lido antes de começar, porque me pouparia uns dias.
Primeira: a janela não pode ser curta. A minha primeira versão punha uma janela de um minuto, o mais pequena possível para não apanhar nada. O robô ignorou-a por completo e continuou a carregar como se nada fosse. Passei um bom bocado convencido de que o problema estava no meu código. Não estava. Ao passar a janela para uma hora de duração, passou a funcionar à primeira. Não cheguei a testar os valores intermédios, portanto não sei dizer onde está exatamente o limite — só sei que um minuto não serve e uma hora serve.
Segunda: a janela tem de andar sempre a fugir do presente. Não basta defini-la uma vez. Como a hora vai passando, uma janela fixa acaba por ser apanhada pelo relógio. Por isso mantenho-a sempre doze horas à frente do momento atual, e um temporizador empurra-a de seis em seis horas. Se agora são dez da manhã, a janela está marcada para as dez da noite; daqui a seis horas volta a ser empurrada. Nunca coincide com o agora.
E deixo ainda um erro meu, porque também conta. Durante uns dias tive o sistema a não funcionar por eu estar a verificar se o robô estava na base antes de mexer no off-peak. Parecia lógico. Não era. Eu não estou a dar ordens ao aspirador — estou a configurar uma política da base. Se o robô anda a aspirar, a política aplica-se quando ele voltar. Onde ele está é completamente irrelevante. Assim que apaguei essa verificação, ficou tudo a funcionar.
O código, para quem o quiser
Se chegaram até aqui, provavelmente querem ver isto. A automação completa não cabia nesta publicação, por isso deixo-a no primeiro comentário, aqui mesmo por baixo. É só ajustar os nomes das entidades aos vossos e os valores ao vosso gosto.
Antes de a copiarem, três avisos honestos: - Isto assume que já têm Home Assistant a funcionar em casa. Não é um truque da app da Dreame.
- A ligação ao X50 é feita através de uma integração da comunidade, não oficial. Funciona muito bem, mas é mantida por voluntários e às vezes uma atualização parte alguma coisa.
- Os limiares de bateria e a lógica solar são os que servem a minha casa, com a minha tarifa e os meus painéis. Copiem a ideia, não os números.
Para terminar
Fica a ideia principal, que é a que me interessa passar: o X50 é uma excelente máquina a fazer aquilo para que foi comprado, mas é também uma peça que se integra no resto da casa. Isso, para quem gosta destas coisas, vale quase tanto como o aspirar.
Fico por aqui e disponível. Se alguém quiser tentar montar algo parecido e ficar preso a meio, é só perguntar por baixo que eu vou respondendo.
|