Wanderson Niquini

Medição de consumo de energia utilizando PZEM-004T e esphome

Medição de consumo de energia utilizando PZEM-004T e esphome

Você vai precisar de:

1 PZEM-004T para cada fase que for fazer a medição
Link para compra: https://s.click.aliexpress.com/e/_9JpqkS

1 Nodemcu
Link para compra: https://s.click.aliexpress.com/e/_A8hMy6

ESPHome

# PZEM INICIO #
uart:
  - id: pzem1
    tx_pin: D1
    rx_pin: D2
    baud_rate: 9600
    stop_bits: 1

  - id: pzem2
    tx_pin: D5
    rx_pin: D6
    baud_rate: 9600
    stop_bits: 1

modbus:
  - id : mbus1
    uart_id : pzem1
  - id : mbus2
    uart_id : pzem2

sensor:

# PZEM 01 INICIO #
  - platform: pzemac
    address: 1
    modbus_id: mbus1
    current:
      name: "Consumo de energia - Fase 1 (Corrente)"
      id: consumo_de_energia_fase_01_corrente
    voltage:
      name: "Consumo de energia - Fase 1 (Voltagem)"
      id: consumo_de_energia_fase_01_voltagem
    energy:
      name: "Consumo de energia - Fase 1 (Consumo)"
      id: consumo_de_energia_fase_01_consumo
      icon: mdi:flash
      filters:
        - multiply: 0.001
      accuracy_decimals: 3
      unit_of_measurement: kWh
    power:
      name: "Consumo de energia - Fase 1 (Potência)"
      id: consumo_de_energia_fase_01_potencia
    frequency:
      name: "Consumo de energia - Fase 1 (Frequência)"
    power_factor:
      name: "Consumo de energia - Fase 1 (Fator de potência)"
    update_interval: 1s
# PZEM 01 FIM #

# PZEM 02 INICIO #
  - platform: pzemac
    address: 2    
    modbus_id: mbus2
    current:
      name: "Consumo de energia - Fase 2 (Corrente)"
      id: consumo_de_energia_fase_02_corrente
    voltage:
      name: "Consumo de energia - Fase 2 (Voltagem)"
      id: consumo_de_energia_fase_02_voltagem
    energy:
      name: "Consumo de energia - Fase 2 (Consumo)"
      id: consumo_de_energia_fase_02_consumo
      icon: mdi:flash
      filters:
        - multiply: 0.001
      accuracy_decimals: 3
      unit_of_measurement: kWh
    power:
      name: "Consumo de energia - Fase 2 (Potência)"
      id: consumo_de_energia_fase_02_potencia
    frequency:
      name: "Consumo de energia - Fase 2 (Frequência)"
    power_factor:
      name: "Consumo de energia - Fase 2 (Fator de potência)"
    update_interval: 1s
# PZEM 02 FIM #

# SOMA INICIO #
  - platform: template
    name: "Consumo de energia (Consumo total)"
    lambda: |-
      return (id(consumo_de_energia_fase_01_consumo).state + id(consumo_de_energia_fase_02_consumo).state);
    unit_of_measurement: kWh
    update_interval: 1s
    
  - platform: template
    name: "Consumo de energia (Corrente total)"
    lambda: |-
      return (id(consumo_de_energia_fase_01_corrente).state + id(consumo_de_energia_fase_02_corrente).state);
    unit_of_measurement: A
    update_interval: 1s
    
  - platform: template
    name: "Consumo de energia (Potência total)"
    lambda: |-
      return (id(consumo_de_energia_fase_01_potencia).state + id(consumo_de_energia_fase_02_potencia).state);
    unit_of_measurement: W
    update_interval: 1s
    
  - platform: template
    name: "Consumo de energia (Voltagem total)"
    lambda: |-
      return (id(consumo_de_energia_fase_01_voltagem).state + id(consumo_de_energia_fase_02_voltagem).state)/2;
    unit_of_measurement: V
    update_interval: 1s
# SOMA FIM #

# SWITCH #
switch:
  - platform: restart
    name: Consumo de energia - Reiniciar
    id: restart_switch
# SWITCH #

Utility Meter

  consumo_de_energia_hora:
    source: sensor.consumo_de_energia_total_pzem
    cycle: hourly
 
  consumo_de_energia_dia:
    source: sensor.consumo_de_energia_total_pzem
    cycle: daily
    offset: '00:00:00'
  
  consumo_de_energia_semana:
    source: sensor.consumo_de_energia_total_pzem
    cycle: weekly
 
  consumo_de_energia_mes:
    source: sensor.consumo_de_energia_total_pzem
    cycle: monthly
    offset:
      days: 12
      hours: 00
      minutes: 00
 
  consumo_de_energia_ano:
    source: sensor.consumo_de_energia_total_pzem
    cycle: yearly

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *