2018/12/22

Como criar um termóstato inteligente no Home Assistant

Por estranho que pareça, o Home Assistant ainda não contém um componente específico para criar um termóstato inteligente. Felizmente, o nosso Abílio Costa mostra-nos como isso pode ser feito com relativa facilidade, aproveitando as capacidade de programação desta plataforma.


Substituir o tradicional cronotermóstato de parede por uma alternativa mais "inteligente" é algo que permite melhorar o controlo do sistema de aquecimento central. Por um lado, permite que o sistema actue em função da temperatura de diferentes divisões, ao invés de estar permanentemente associado a uma divisão; por outro, possibilita que seja controlado remotamente quando estamos fora de casa, ou criar diversas excepções para diferentes cenários. Por estas razões decidi que estava na altura de passar o controlo do aquecimento para o Home Assistant.


O novo componente de termóstato do Home Assistant

O primeiro passo foi colocar alguns sensores de temperatura da Xiaomi em algumas divisões de interesse - neste caso, nos quartos e na sala sala. De seguida, troquei o cronotermóstato de parede por um relé que pudesse integrar no Home Assistant - algo que pode ser um módulo Sonoff, ou Shelly, ou qualquer outro.Por fim juntei tudo usando o componente Generic Thermostat para ter uma interface com bom aspecto para definir a temperatura.

Apesar de isto funcionar e permitir que o aquecimento se ligasse e desligasse em função da temperatura da casa, faltava algo importante: uma forma de definir a que horas a casa deveria estar mais quente (modo confort) ou menos (modo eco), ou seja, um cronotermóstato. Não faz sentido que o aquecimento tente manter a casa quente durante todo o dia, quando lá não está ninguém.

Infelizmente, o Home Assistant não tem nenhum componente que disponibilize esta funcionalidade. No entanto, como é possível executar scripts Python, é fácil implementar este comportamento com um script simples, em conjunto com uma automação para o executar periodicamente (a cada 10 minutos):



No topo do script existem duas listas: uma para os dias da semana e outra para os fins-de-semana. Estas listas contêm os intervalos horários nos quais a temperatura deverá ser a do modo confort (high). Fora destes intervalos, será escolhida a temperatura eco (low).

Para usarem este script, basta alterarem os intervalos horários de acordo com as vossas necessidades, definirem as temperaturas pretendidas em TEMP_HIGH (modo confort) e TEMP_LOW (modo eco), e alterarem a climate_entity para o entity_id do vosso termóstato no Home Assistant.


Por Abílio Costa - Para ficarem a par de actualizações ou outros projectos não deixem de dar um salto a LED strips and code.

2 comentários:

  1. Obrigado Abílio por mais um excelente trabalho e teres também partilhado com a comunidade Portuguesa Home Assisant.
    HTTPS://fórum.cpha.tech

    ResponderEliminar