Como instalar e configurar um Medidor de Energia PZEM-004T


(Rodolfo) #1

:bookmark_tabs: Como instalar e configurar um Medidor de Energia PZEM-004T
(Hugo Encarnacao) #2

Para quem quiser configurar um Medidor de Energia PZEM-004T usando Tasmota aqui vai como configurar
No meu caso to a usar o PZEM-BH produzido pelo amigo Bruno Horta.
Queria desde já tambem agradecer ao nosso amigo Rodolfo Vieira pela ajuda que deu.

Em primeiro lugar vamos flashar o nosso PZEM com o tasmota
de seguida vamos configurar o modulo em modo generico e vamos configurar os respetivos GPIOS de acordo com os modulos PZEM que usarem(no meu caso o PZEM do Bruno Horta)

3

de seguida iremos configurar o nosso Homeassistant com o seguinte:

sensor:

  - platform: mqtt
    name: "Power"
    state_topic: "tele/sonoff/SENSOR"
    value_template: "{{ value_json.ENERGY.Power }}"
    unit_of_measurement: "W"
    icon: mdi:power-plug

  - platform: mqtt
    name: "Voltage"
    state_topic: "tele/sonoff/SENSOR"
    value_template: "{{ value_json.ENERGY.Voltage }}"
    unit_of_measurement: "V"
    icon: mdi:flash

  - platform: mqtt
    name: "Current"
    state_topic: "tele/sonoff/SENSOR"
    value_template: "{{ value_json.ENERGY.Current }}"
    unit_of_measurement: "A"
    icon: mdi:power-socket


  - platform: mqtt
    name: "Energy today"
    state_topic: "tele/sonoff/SENSOR"
    value_template: "{{ value_json.ENERGY.Today }}"
    unit_of_measurement: "kWh"
    icon: mdi:power-socket-eu

  - platform: mqtt
    name: "Energy yesterday"
    state_topic: "tele/sonoff/SENSOR"
    value_template: "{{ value_json.ENERGY.Yesterday }}"
    unit_of_measurement: "kWh"
    icon: mdi:power-socket-eu

  - platform: mqtt
    name: "Energy total"
    state_topic: "tele/sonoff/SENSOR"
    value_template: "{{ value_json.ENERGY.Total }}"
    unit_of_measurement: "kWh"
    icon: mdi:power-socket-eu

  - platform: mqtt
    name: "Power Factor"
    state_topic: "tele/sonoff/SENSOR"
    value_template: "{{ value_json.ENERGY.Factor }}"
    icon: mdi:percent

  - platform: mqtt
    name: "Temp"
    state_topic: "tele/sonoff/SENSOR"
    value_template: "{{ value_json.DS18B20.Temperature }}"
    unit_of_measurement: "°C"
    icon: mdi:thermometer

e nos groups.yaml

energy:
    name: Consumos Energeticos
    entities:
      - sensor.power
      - sensor.voltage
      - sensor.current
      - sensor.energy_today
      - sensor.energy_yesterday
      - sensor.energy_total
      - sensor.power_factor
      - sensor.temp

depois é so reiniciar o Homeassitant e pronto, caso no frontend apareça como desconhecido o estado é so esperar até ele actualizar, isso deve-se ao facto de ele esperar pela menssagem que vai aparecendo na consola do tasmota interface que manda de X em X minutos dependendo da telemetria settings…

o resultado final será assim:
1


:bookmark_tabs: Como instalar e configurar um Medidor de Energia PZEM-004T
(Rodolfo) #3

Top muito bom. Agora falta só ligares isso ao quadro.


(Paulo Rosa) #4

Acabaram de me dar a solução ao meu pedido. Era mesmo isso que eu queria. Agoara, tenho que comprar o material para testar. :hugs::hugs:


(Paulo Rosa) #5

Pequena pergunta existencial de um leigo na matéria para montar este projecto.
Até agora, só tenho trabalhado com o RaspberryPI.
Neste projecto, vou ter obrigatoriamente de adquirir um Arduino para configurar o modulo de comunicação WIFI NodeMCU?
Ou consigo aceder do Raspberry e dar os comandos necessários para configurar o WIFI?

Sei que há alguns scripts que são parecidos e modulos que se podem ligar directamente no RPI nas fichas RPIO. Neste caso, será possível?


(Rodolfo) #6

@paulo106 não entendi bem a tua pergunta, mas tu aqui so precisas de usar um nodemcu e o arduino IDE para enviar o código para o mesmo.


(Paulo Rosa) #7

Sim. A pergunta era mesmo essa. Tenho obrigatoriamente que ter um Arduino para fazer este projecto?


(Rodolfo) #8

Ja te disse que não… tens que ter uma placa wemos ou nodemcu…


(Paulo Rosa) #9

Sim. Essa parte, eu tinha percebido. A duvida era como é que eu iria programar este circuito ou placa (nodemcu). Pensava que fosse preciso um Arduino para poder aceder a este modulo.
Desculpa a ignorância. Não conhecia este tipo de equipamento. Só descobri ontem com o teu post. Estou a tentar perceber como funciona. Mas o melhor é pesquisar um bocado para perceber melhor.


(Hugo Encarnacao) #10

como o Rodolfo Vieira disse tens que ter uma placa wemos ou nodemcu e um PZEM
depois vais compilar esse wemos ou nodemcu com tasmota ou com o sketch do Bruno Horta que se encontra disponivel no github
para compilares o wemos ou nodemcu podes usar o arduino IDE, Atom platformio ente outros compiladores que existem por ai


(Rodolfo) #11

@paulo106 O nodemcu nada mais é que uma placa que tem uma porta microusb (como um telemovel) onde ligas o cabo ao pc… e o código é enviado por esse cabo… a placa é barata custa 2 euros e tal/3.


(Paulo Rosa) #12

Ok. Já estou a entender. Já encomendei um. Obrigado pelos esclarecimentos.


(Jorge Assunção) #13

O Arduino IDE que se fala é o software (https://www.arduino.cc/en/main/software) e não a board. Com esse software e um cabo USB/microUSB (de boa qualidade preferencialmente) é que vais flashar o firmware para a placa de desenvolvimeto (NodeMCU, Wemos D1 mini ou outra).


(Helder Lima) #14

Boas, tenho o nodemcu com tasmota e pzem-004T, no HA o estado aparece como desconhecido mesmo passado bastante tempo, na pagina web aparecem os valores e está conectado ao mosquitto, sabem o que possa estar a acontecer?


(Ricardo Silva) #15

Tens que usar no HA isso:

availability_topic: "tele/salajantar/LWT"
payload_available: "Online"
payload_not_available: "Offline"

O exemplo que te meti é para tasmota. Como não meteste o teu codigo estou a supôr que seja isso


(Helder Lima) #16

Neste momento tenho assim:

  - platform: mqtt
    name: "Power"
    state_topic: "tele/sonoff/SENSOR"
    value_template: "{{ value_json.ENERGY.Power }}"
    unit_of_measurement: "W"
    icon: mdi:power-plug
    availability_topic: "tele/sonoff/LWT"
    payload_available: "Online"
    payload_not_available: "Offline"

Continua a não funcionar


(Nuno Neves) #17

O topic está correcto? Chama-se mesmo sonoff? Não é boa política usar esse porque depois, sem querer, vais ter vários iguais…


(Helder Lima) #18

Sim o topic está correto, estou só a fazer teste acabei por copiar a programação de exemplo para testar, mas também já alterei o topic no nodemcu e na programação e continua sem funcionar.


(Paulo Rosa) #19

Boas pessoal. Já tenho o material e estou há 2 dias a tentar comunicar com a carta NodeMCU sem sucesso.
A instalação dos drivers no PC parece ter corrido bem. Aparece a porta no sistema com informação do chipset USB-SERIAL CH340. A carta é uma Lolin Node MCU v3 com chipset 340.
O software Arduino IDE não consegue enviar dados para a carta. Já tentei o botão reset e flash mas nada, liga o led uns micro segundos quando carrego no botão reset e nada.
Será a carta que veio avariada ou estou a fazer mal alguma coisa?
Li nas QA do site da Banggood pessoal a falar de ter que alimentar a carta em 5v em simultaneo. Estava a contar fazer isso depois de a configurar quando a ligasse ao PZEM04. Será?


(Jorge Assunção) #20

Estas a referir-te a comunicar com o NodeMCU ligado ao PZEM ou desligado do PZEM?