Criação de um sensor para computar energia injetada na rede da concessionária

Boa tarde pessoal!

Estou com a seguinte situação:

Tenho geração solar e criei um sensor no utility meter para computar a geração de energia diária, preciso criar um sensor tipo POWER para armazenar a diferença entre o gerado e o consumido, ex:

casa_consumo = casa_part1 + casa_part2 + casa_part3

Se solar_geração >= consumo
solar_injetado = solar_geração - casa_consumo
Se solar_geração < consumo
solar_injetado = 0

O único sensor que não tenho é o solar_injetado os outros foram criados no utility meter com referências nos sensores dos medidores de consumo e inversor solar.

Nunca criei este tipo de operação e não sei por onde começar alguém já vez algo parecido que possa ajudar?

Agradeço a ajuda.

1 curtida

Não sei se vai atender, mas vamos ver se o conceito que uso em um caso vai ajudá-lo.

Como tenho quatro micro inversores, criei variáveis que somam as informações de potência e produção deles.

Fiz assim:

sensor:
  - platform: template
    sensors:
      producao_total_dia:
        friendly_name: "solarman_hacs_total_producao_dia"
        unit_of_measurement: 'kWh'
        value_template: '{{ states("sensor.solarman_hacs_leste_daily_production") |float + states("sensor.solarman_hacs_n_leste_daily_production") |float + states("sensor.solarman_hacs_n_oeste_daily_production") |float + states("sensor.solarman_hacs_oeste_daily_production") |float }}'
1 curtida

Bom dia!, vou tentar aqui baseado no seu exemplo e retorno mais tarde, obrigado!

1 curtida

Bom dia, como disse sou iniciante no HA, mas faminto de conhecimento, tentei fazer os primeiros teste mas esbarrei na mensagem abaixo:

Saberia me dizer onde está o erro?

Foi apenas um exemplo de teste para validar o processo.

1 curtida

Na hora que colei o trecho tive que ajustar algumas coisas e ficou faltando dois espaços nas linhas abaixo do nome do sensor. O bloco a partir do friendly_name precisa de dois espaços.
Vou ajustar meu comentário anterior.

2 curtidas

Opa, valeu agora foi, vou sair agora mais tarde faço os teste, muito obrigado.

1 curtida

Não aguentei e fiz um teste rápido, o primeiro teste foi, parece que vai dar certo:

image

1 curtida

Olá, bom dia

Sem querer abusar, mas consegue colocar aqui o código para o sensor de injeção de energia na rede ,por favor?

casa_consumo = casa_part1 + casa_part2 + casa_part3

Se solar_geração >= consumo
solar_injetado = solar_geração - casa_consumo
Se solar_geração < consumo
solar_injetado = 0

Fiz assim:

Será que vai funcionar?

  - platform: template
    sensors:
      retorno_rede:
        friendly_name: "Retorno a Rede"
        unit_of_measurement: 'kWh'
        value_template: >
          {% set v = states("sensor.producao_total_dia")|float - states("sensor.casa_energy_daily")|float %}
          {% if v >= 0 %}
             {{ v }}
          {% else %}
             0
          {% endif %}

EDIT
Feliz em compartilhar aqui que funcionou !
image

Agora ficou na dúvida se os valores para o dash de energia devem ser os valores diários ou os valores mensais. Alguém tem alguma noção?