Fala pessoal.
Recentemente, precisei da ajuda da comunidade para solucionar um problema que estava tendo em criar sensores para monitorar o consumo de energia de várias coisa em casa e que, em tese, não teria como por não possuirem medidor (como lâmpadas comuns e até as Echo Dot/Show).
E a solução veio com a ajuda do membro aqui do Forum @Choske . E como funcionou tão bem, resolvi criar esse tutorial para que também ajude outras pessoas.
O repositório em questão é o PowerCalc, que faz todo o trabalho de criar (baseado em regras) os sensores _power, _energy, _energy_daily, _energy_weekly e _energy_monthly baseado na sua entidade, mesmo que ela não tenha medição de energia.
Mas como isso é possível? Simples. Você que informa se o consumo de energia da sua entidade é fixa ou linear, baseado nas infos do fabricante. E todo fabricante tem por obrigação legal de informar o consumo dos seus produtos quando ligado e em standby, então basta procurar que vão achar fácil essas infos.
Toda a instalação é feita pelo HACS e não vou me debruçar nessa parte, pois todos aqui já sabem como funciona.
Mas depois de instalado, é preciso fazer um pequeno ajuste no configuration.yaml para que ao adicionar seus novos sensores, eles já entre de forma adequada e sem a necessidade de futuras correções.
powercalc:
enable_autodiscovery: true
force_update_frequency: 00:05:00
create_energy_sensors: true
create_utility_meters: true
utility_meter_types:
- hourly
- daily
- weekly
- monthly
energy_integration_method: left
energy_sensor_precision: 2
disable_extended_attributes: true
Feito isso, basta reiniciar o HA para que as novas configs carreguem.
Agora vamos para a parte divertida da brincadeira…
Existe duas formas distintas de adicionar os novos sensores.
- Linha de comando
- GUI
Pela linha de comando, você pode criar manualmente os sensores e algumas funcionalidades só poderão ser utilizadas por ela e pelo GUI será mais fácil adicionar, mas algumas coisas não terão como adicionar.
Linha de Comando
No arquivo sensor.yaml basta adicionar algumas poucas linhas sobre a entidade que será monitorada e alguns parâmetros para que o PowerCalc faça sua mágica, como nos exemplos abaixo:
Digamos que queira monitorar o consumo de energia das lâmpadas do banheiro, mas como elas não são Smart, não teria como computar isso. Mas como o interruptor é um Zemismart ZB025, tenho controle sobre ele e consigo saber quando está ligado ou desligado.
- platform: powercalc
entity_id: light.social_bathroom_sink
fixed:
power: 5 # potência em W #
multiply_factor: 2 # quantidade de lâmpadas ligadas no mesmo interruptor #
- platform: powercalc
entity_id: light.social_bathroom_shower
fixed:
power: 9
Como podem ver, com essas poucas linhas, pude criar todos os sensores de monitoramento tanto para as lâmpadas da pia (2 spots de 5W cada) quanto para a lâmpada do chuveiro (1 spot de 9W). Simples não é mesmo?
Agora digamos que queira apenas criar os sensores de consumo diário de uma Smart Plug (que já tenha _power e _energy). É ainda mais simples, pois o PowerCalc não precisará “pensar” em praticamente nada, apenas fazer as contas para nós
- platform: powercalc
entity_id: switch.fridge
power_sensor_id: sensor.fridge_power
E olhem o resultado… foi criado todos os sensores de consumo baseados apenas no _power da Smart Plug.
Em tempo: Caso sua Smart Plug não tenha o sensor _energy o PowerCalc irá criá-lo sem problemas. Caso tenha, ele ignorará e criará apenas os outros sensores.
Agora vamos para a GUI para ver como funciona?
GUI
Pela GUI, a inclusão deve ser feita através das integrações (Settings → Devices & Services → Integration). Basta seguir as telas que em poucos segundos será criado os novos sensores.
Vale notar que em todos os testes que fiz aqui para instalação pela GUI, para os dispositivos que não possuíam pelo menos o _power, o melhor caminho foi sempre Virtual Power (Manual) com a opção de cálculo de energia em Fixed e o valor do Power na potência máxima. Os aparelhos que possuem consumo diferente de acordo com o modo, tem um exemplo na própria GUI informando como fazer (pela potência ou pelo estado da entidade).
E só para fechar, percebam que até com dispositivos que nem pensaríamos em ter o consumo, podemos fazer… como fiz com as Echo Dot.
Para acessar a tela do exemplo acima, basta clicar na entidade criada no PowerCalc e depois em configure. Vai abrir essa tela e tem como corrigir alguns parâmetros e adicionar o consumo em standby.
Note importante:
Se forem adicionar apenas entidades on/off a melhor opção é pelo sensor.yaml e o HA faz a integração junto da entidade sem problemas e de forma correta. Já se forem adicionar entidades que possuem valores variantes (ventilador de teto, dimmers, etc) ou a função standby (Echo Dot/Show, televisores, etc) a melhor opção é utilizar a GUI e depois configurar esses modos, pois tem um bug chato que "desabilita o _power criado pelo sensor.yaml e as leitura serão sempre erradas.
Espero que curtam ai esse tutorial, feito na correria.
Forte abraço