Skip to content

Instantly share code, notes, and snippets.

@maxwellcc
Last active September 6, 2022 12:36
Show Gist options
  • Save maxwellcc/328cf0b2589395246f8e1fc989146e59 to your computer and use it in GitHub Desktop.
Save maxwellcc/328cf0b2589395246f8e1fc989146e59 to your computer and use it in GitHub Desktop.
Configurando o home assistant para gerenciar o sistema de consumo de energia elétrica

Configurando o Home Assistant para gerenciar o sistema de consumo de energia elétrica

Eu prefiro incluir no Recorder somente as entidades que desejo ser registradas no banco de dados do Home Assistant, evitando crescimento desordenado do arquivo de banco de dados

Sugiro resetar todas as entidades relacionadas ao sistema elétrico caso a instalação do Home Assistant não seja nova. Para resetar as integrações https://community.home-assistant.io/t/howto-re-set-riemann-integration/330753/2. Para resetar o Recorder, em Ferramentas do Desenvolvedor/Serviços busque por Recorder: Purge e configure 'Days to keep' como 0 e 'Repack' como true (isso vai apagar o histórico de tudo).

Foi testado no Home Assistant 2022.6 em junho de 2022. Necessitará ser testado em versões posteriores.

Utilizei o exemplo em https://community.home-assistant.io/t/energy-management-in-home-assistant/326854/104

Ao fim de toda a configuração, no painel de configuração de Energia, configurei Consumo da rede como 'Casa importação da rede (integração)'

image

E em Retorno da rede, configurei como 'Casa exportação solar'

image

# _ _ _ _ _
# | | | | /\ (_) | | | |
# | |__| | ___ _ __ ___ ___ / \ ___ ___ _ ___| |_ __ _ _ __ | |_
# | __ |/ _ \| '_ ` _ \ / _ \ / /\ \ / __/ __| / __| __/ _` | '_ \| __|
# | | | | (_) | | | | | | __/ / ____ \\__ \__ \ \__ \ || (_| | | | | |_
# |_| |_|\___/|_| |_| |_|\___| /_/ \_\___/___/_|___/\__\__,_|_| |_|\__|
#
# https://www.home-assistant.io/docs/configuration/basic/
# Configure a default setup of Home Assistant (frontend, api, etc)
homeassistant:
# Outras configurações do Home Assistant aqui...
# Armazenamento do Banco de dados
# _____ _
# | __ \ | |
# | |__) |___ ___ ___ _ __ __| | ___ _ __
# | _ // _ \/ __/ _ \| '__/ _` |/ _ \ '__|
# | | \ \ __/ (_| (_) | | | (_| | __/ |
# |_| \_\___|\___\___/|_| \__,_|\___|_|
# https://www.home-assistant.io/components/recorder/
recorder:
db_url: !secret db_config
purge_keep_days: 2
auto_purge: true
include:
domains:
- sun
entities:
- sensor.exportacao_solar_watts
- sensor.exportacao_solar_watts_compensation
- sensor.importacao_casa_watts
- sensor.importacao_casa_watts_cost
- sensor.custo_producao_casa_total
- sensor.custo_consumo_casa_total
- sensor.importacao_da_rede_da_casa_integracao
- sensor.exportacao_solar_da_casa_integracao
- sensor.producao_total_casa_integracao
- sensor.consumo_total_pavimento_1
- sensor.consumo_total_pavimento_2_integracao
- sensor.consumo_total_dr_sotao_integracao
- sensor.consumo_total_ar_condicionado_1_integracao
- sensor.custo_por_kwh
- sensor.solar_total_yield
- input_number.valor_kwh
# Inputs numéricos
# _____ _ _
# |_ _| | | | |
# | | _ __ _ __ _ _| |_ _ __ _ _ _ __ ___ | |__ ___ _ __
# | | | '_ \| '_ \| | | | __| | '_ \| | | | '_ ` _ \| '_ \ / _ \ '__|
# _| |_| | | | |_) | |_| | |_ | | | | |_| | | | | | | |_) | __/ |
# |_____|_| |_| .__/ \__,_|\__| |_| |_|\__,_|_| |_| |_|_.__/ \___|_|
# | | ______
# |_| |______|
# https://www.home-assistant.io/components/input_number/
# Para registrar o valor hora do Kwh
# Coloque o valor com os impostos
input_number:
valor_kwh:
name: "Valor kWh"
max: 100.000
min: 0.100
step: 0.001
mode: box
unit_of_measurement: currency
icon: mdi:currency-brl
# Sensores
# _____
# / ____|
# | (___ ___ _ __ ___ ___ _ __
# \___ \ / _ \ '_ \/ __|/ _ \| '__|
# ____) | __/ | | \__ \ (_) | |
# |_____/ \___|_| |_|___/\___/|_|
# https://www.home-assistant.io/components/sensor/
sensor:
- platform: template
sensors:
# Importação e exportação solar
# O 'sensor.solar_input_power_watts' é a que mede a potência que está sendo produzida em tempo real
# Para medir eu estou utilizando as entidades que são disponibilizadas no inversor da Huawei SUN2000L-3KTL.
# Eu utilizo este componente do HACS: https://github.com/wlcrs/huawei_solar
# O 'sensor.energia_casa_watts' é a que mede a potência que está sendo consumida da rede da distribuidora em tempo real.
# Para medir eu estou utilizando PZEM na fase que chega da rua até o quadro de distribuição
# Importação e exportação solar
exportacao_solar_watts:
friendly_name: Exportação Solar (W)
unique_id: "exportacao_solar_watts"
icon_template: mdi:solar-panel
unit_of_measurement: "W"
device_class: power
value_template: >
{% set sensor_1 = float(states("sensor.solar_input_power_watts")) %}
{% set sensor_2 = float(states("sensor.energia_casa_watts")) %}
{% if sensor_1 >=0 and sensor_2 >=0 and sensor_1 >= sensor_2 -%}
{{ (sensor_1 - sensor_2) | round(3) }}
{%- else -%}
0
{%- endif %}
importacao_casa_watts:
friendly_name: Importação da Casa (W)
unique_id: "importacao_casa_watts"
icon_template: mdi:transmission-tower
unit_of_measurement: "W"
device_class: power
value_template: >
{% set sensor_1 = float(states("sensor.energia_casa_watts")) %}
{% set sensor_2 = float(states("sensor.solar_input_power_watts")) %}
{% if sensor_1 >=0 and sensor_2 >=0 and sensor_1 >= sensor_2 -%}
{{ (sensor_1 - sensor_2) | round(3) }}
{%- else -%}
0
{%- endif %}
# Custos sobre uso da energia elétrica
custo_consumo_casa_total:
friendly_name: Custo sobre o consumo da casa
unique_id: custo_consumo_casa_total
icon_template: mdi:currency-brl
unit_of_measurement: 'R$'
device_class: monetary
value_template: >
{% set sensor_1 = float(states("input_number.valor_kwh")) %}
{% set sensor_2 = float(states("sensor.consumo_total_casa_integracao")) %}
{{ (sensor_1 * sensor_2) | round(2) }}
custo_producao_casa_total:
friendly_name: Custo sobre a produção solar
unique_id: custo_producao_casa_total
icon_template: mdi:currency-brl
unit_of_measurement: 'R$'
device_class: monetary
value_template: >
{% set sensor_1 = float(states("input_number.valor_kwh")) %}
{% set sensor_2 = float(states("sensor.producao_total_casa_integracao")) %}
{{ (sensor_1 * sensor_2) | round(2) }}
custo_por_kwh:
friendly_name: Custo por kWh
unique_id: custo_por_kwh
icon_template: mdi:currency-brl
unit_of_measurement: 'R$/kWh'
device_class: monetary
value_template: >
{% set sensor = float(states("input_number.valor_kwh")) %}
{% if is_number(sensor) %}
{{ sensor | float }}
{% else %}
None
{% endif %}
# Integração da importação da casa: consumo da casa -- produção solar
- platform: integration
source: sensor.importacao_casa_watts
name: Importação da rede da casa (Integração)
unit_prefix: k
unit_time: h
round: 3
method: left
# Integração da exportação da casa: produção solar -- consumo da casa
- platform: integration
source: sensor.exportacao_solar_watts
name: Exportação solar da casa (Integração)
unit_prefix: k
unit_time: h
round: 3
method: left
customize:
# Importação e exportação solar
sensor.importacao_da_rede_da_casa_integracao:
last_reset: '1970-01-01T00:00:00+00:00'
state_class: 'total_increasing'
device_class: energy
unit_of_measurement: kWh
sensor.exportacao_solar_da_casa_integracao:
last_reset: '1970-01-01T00:00:00+00:00'
state_class: 'total_increasing'
device_class: energy
unit_of_measurement: kWh

Seguem as páginas relacionadas à gestão de energia do Home Assistant

Configurações do painel de energia

Painel de energia

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment