Criando medidor de energia (para qualquer dispositivo)

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… :slight_smile:

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 :stuck_out_tongue:

- 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 (SettingsDevices & ServicesIntegration). Basta seguir as telas que em poucos segundos será criado os novos sensores.

Screenshot 2022-12-10 at 13.05.46

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. :stuck_out_tongue:

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

9 Likes

Cacetada que integração braba em kkkkkkkkkk
eu conhecia somente de longe, não cheguei a debruçar nela e ver as possibilidades, mas que toppppp

Parabéns mano, que bom que te ajudei de alguma forma fico feliz \õ/

ps: Parabéns por dispor do seu tempo em fzer um tutorial também, com certeza irá ajudar muita gente.

1 Like

@Britto agradeço muito o tutorial completo que me ajudou a fazer essa integração e ao @Choske pela ideia.

@Britto Estou com dúvidas pra fazer o monitoramento de consumo da Echo dot. Você usou qual entidade no inicio da configuração? De primeira, ele eu usei a entidade media_player.echo_dot. Não sei se está correto. Pq com essa entidade, depois que vc parar de tocar a música, ele vai demorar uns 20 minutos pra voltar em standby.

Fala Rodrigo, beleza irmão?

Então, como coloquei no tutorial, tudo vai depender da entidade e principalmente das funcionalidades dela. No caso das Echo (Dot, Show, Car, etc) você pode ir pela GUI do PowerCalc mesmo e escolher a sua (media_player.echo_dot) sem problemas. O grande lance está na configuração e não na entidade.

Depois que você adicioná-la, tem algumas coisas que pode/deve fazer no pós criação, que vou te mostrar na imagem abaixo:

Se tiver tudo certo, irá aparecer os sensores e tudo funcionará perfeitamente :stuck_out_tongue_winking_eye:

Em tempo: o que pode estar gerando esse delay dela entrar em standby, no seu caso, pode ser pelo fato da sua configuração não estar “entendendo” esse modo.

Fala Britto, agradeço por compartilhar o print da sua configuração.

Adicionei um card media player da minha Echo Dot e percebi que quando ela está tocando música e eu mando ela parar, o card ainda fica uns 20 minutos mostrando a capa do álbum, como se estivesse “tocando” ainda. Para resolver isso, adicionei a função pause na potência dos estados e com isso, ele resolveu essa questão. Ficando conforme a imagem anexa. Obrigado novamente!!!
estado

@rbernardo89

Fala Rodrigo, beleza irmão.

Então cara, não havia colocado a opção de pausar nas configs porque aqui em casa, de fato, a Alexa não fica sem tocar durante o dia, só quando vamos dormir. É noticias (rádio) o dia todo, e as meninas vivem pedindo ajuda para ela para as mais variadas coisas, como ligar a TV, colocar o filme X, baixar volume, responder as mais variadas perguntas, ligar para os avós, etc…

A coitada da Alexa sofre aqui e acredito que se fosse possível, não demoraria muito para ela começar a reclamar e cobrar os direitos trabalhistas. Kkk…

Mas o bom do PowerCalc é exatamente isso, dá para ser configurado de acordo com a necessidade do usuário e está sempre sendo atualizado (muito mais que a maioria dos Addons que tenho aqui, na verdade).

E que bom que você conseguiu resolver seu “problema”.

Forte abraço

1 Like

Estou usando pra tudo que chega no HA, a entrada que mais utilizei foi a Virtual power (manual), adicionei roteador, cameras, DVR, dijuntor, lampadas, TV, fireTV, etc… Até me animei em criar dispositivo para monitorar o consumo dos ar e chuveiros com o pzem-004T

Essa integração é perfeita, tem até como criar uma entidade de ajuste de gasto diário, ou lampadas por foto celula, tem o tempo ligada 10h e a potencia 12w, opção DaiLy Energia… Nota 10, parabéns por compartilhar.