Penso que não será assim tão simples.
Para que não existam equívocos penso ser super importante (de forma a melhorar a comunicação) definir conceitos.
Assim proponho alguns antes de iniciar as análises aos cálculos:
Valor de produção: valor que o sistema solar (ou outro tipo) está a produzir. Se for em W será potencia instantânea, se for em KWh será energia de produção.
Valor de consumo da casa/apartamento: valor que a casa está efetivamente a consumir (soma dos consumos dos equipamentos ligados). Pode ser consumir através da rede, do sistema solar ou ambos.
Valor injetado na rede: valor que estamos a injetar na rede. Se for em W será potência instantânea, se KWh será energia injetada. Neste caso não existe consumo da rede, uma vez que o valor de consumo da casa é inferior À produção.
(Este valor, se em KWh, será semelhante ao que aparece no site da E-Redes na aba consumos, com a designação: “Dados de Produção KW”).
Valor consumido da rede: valor que estamos a consumira rede. Se for em W será potência instantânea, se KWh será energia consumida.
Após isso podemos ter os mesmos valores calculados de 15 em 15 minutos, diariamente. mensalmente, anualmente, etc.
No meu caso, tenho estes conceitos implementados com o HA:
Um Shelly EM com duas pinças. Sistema monofásico:
- Pinça ligada entre a casa e o contador. Esta pinça dá os dados de consumo e injeção da Rede. De consumo se valor em W for positivo e injeção se negativo. (Nota importante: valores entre a minha casa e a Rede eletrica).
Daqui obtenho dois valores com o HA:
- Valor de consumo da casa (consumido da Rede) -
consumo_geral_potencia_instantanea:
friendly_name: "Consumo Geral - Watts da Rede"
unit_of_measurement: 'W'
value_template: >
{% if states('sensor.potencia_instantanea_geral') | int > 0 %}
{{ states('sensor.potencia_instantanea_geral') }}
{% else -%}
0
{% endif %}
# o sensor sensor.potencia_instantanea_geral é o meu sensor da pinça do Shelly (dá valores positivos e negativos)
injecao_potencia_instantanea:
friendly_name: "Injeção Rede Watts"
unit_of_measurement: 'W'
value_template: >
{% if states('sensor.potencia_instantanea_geral') | int < 0 %}
{{ states('sensor.potencia_instantanea_geral') | float * -1 }}
{% else -%}
0
{% endif %}
- A segunda Pinça do mesmo Shelly EM está ligada no fio da fase que liga o Inversor ao me QE (existem pessoas a usar o Shelly 1PM, dados do inversor, etc).
Após ter estes 3 dados criei um novo sensor para me calcular a potência instantânea de consumo da casa:
consumo_instantaneo_casa:
friendly_name: "Consumo instantâneo Casa"
value_template: >-
{{ states('sensor.producao_solar_instantanea') | float + states('sensor.potencia_instantanea_geral') | float | round(2) }}
unit_of_measurement: 'W'
# Nota: O sensor sensor.potencia_instantanea_geral tem valores positivos e negativos. Não é template. É o valor que está a passar na Pinça do Shelly EM entre a minha casa e a Rede
Com estes 4 sensores a funcionar, usei a - platform: integration
para criar os respetivos sensores de energia (KWh).
Após isto tenho tudo pronto para fazer os utility meter
.