Monitoraggio Consumi Tramite Modulo PZEM-004T

Monitoraggio Consumi Tramite Modulo PZEM-004T

In questa guida vedremo come fare un monitoraggio dei consumi elettrici con un metodo meno invasivo del più famoso Sonoff POW R2, infatti utilizzeremo il dispositivo PZEM-004T (Amazon, Banggood) inoltre avremmo bisogno di:
un NodeMCU (Amazon, Banggood) o un Wemos D1 Mini (Amazon, Banggood) o un Sonoff Basic (AmazonBanggood) e un Alimentatore da quadro con attacco din a 5v

Un ringraziamento a Enrico Nos317 un supporter del nostro gruppo Telegram per aver realizzato la guida.

 

ATTENZIONE!!!
L’elettricità è pericolosa e potenzialmente mortale, se non siete sicuri di quello che fate rivolgetevi ad un professionista. Questa vuole essere solo una guida dimostrativa lo staff declina ogni responsabilità dall’uso che ne deriva.

 

Come vedete è diviso in 2 pezzi:

  • Scheda elettronica con circuito AC 230V a sinistra e circuito DC 5V a destra
  • Toroide con portata max 100A dove infileremo il cavo di cui vogliamo monitorare l’energia.

A differenza quindi del Sonoff POW R2, non facciamo scorrere la corrente attraverso la scheda, ma andiamo a leggerne il valore tramite il campo magnetico generato dalla stessa e “raccolto” dal toroide. Rendendo il nostro sistema decisamente molto meno invasivo oltre che più sicuro.

Questo dispositivo tuttavia si occupa solo della lettura dei dati, in questo caso dobbiamo mandarli in qualche modo al nostro server Home Assistant. In questa guida è stato scelto di utilizzare un NodeMCU (versione Lolin V3 nella fattispecie) che fungerà da client MQTT, connesso al WIFI del nostro router. Tuttavia è stato testato e funzionante anche con il Sonoff Basic (tramite i pin 3,3V, TX, RX e GND) e con il Wemos D1 mini.

 

PREPARAZIONE
Prima di proseguire dobbiamo subito fare una modifica al Pzem: saldare una resistenza da 1kohm come di seguito perché i nostri dispositivi comunicano con seriale a 3,3V e non 5V come vorrebbe il Pzem:

 

CIRCUITO
Di seguito il circuito da realizzare nella versione NodeMCU, Wemos D1 Mini e Sonoff Basic:

 

 

Spiegazione dello schema elettrico

Per la lettura della potenza elettrica in corrente alternata abbiamo bisogno di 3 valori fondamentali:

  • Tensione (V)
  • Corrente (I)
  • Fattore di Potenza

Il Pzem è in grado di leggere tutti questi 3 valori e più precisamente: la tensione tra i morsetti “AC”, la corrente tra i morsetti “CT” grazie al toroide ed i fattore di potenza è lo sfasamento fra tensione e corrente (non sto qui ad annoiarvi, se vi interessa fate una ricerca in merito).

Perciò la tensione la leggiamo mettendo 2 fili (fase e neutro) in parallelo ad una qualsiasi linea in partenza dal quadro elettrico (la cosa migliore sarebbe utilizzare un magnetotermico dedicato da 6A, tuttavia ai fini della sicurezza va bene anche un 10A esistente, vi consiglio quello dedicato per le luci o qualche servizio ausiliario (campanello, chiamata, etc…), almeno se dovete staccare un attimo l’alimentazione per fare i collegamenti, restate solo senza luci, senza staccare la forza motrice o altro).

Mentre per la lettura della corrente non sarà necessario aggiungere alcun cavo, semplicemente facciamo passare il cavo immediatamente a valle dell’interruttore generale DENTRO al toroide, nel caso non abbiate la linea generale ma ad esempio la separazione tra forza motrice e illuminazione, potrete far passare entrambi i cavi dentro il toroide con l’unica accortezza che siano entrambe Fasi o Neutri. A tal proposito si DEVE staccare prima la corrente a tutta la casa, perciò assicuratevi di avere il circuito fuori tensione prima di staccare il cavo, mettere il toroide e riattaccare il cavo. Esistono delle versioni di Pzem con il toroide apribile, molto più pratico in questo caso. Poi ovviamente i due fili rosso e nero del Pzem vanno ai contatti “CT” dello stesso.

La sequenza dei cavi AC e CT non è fondamentale perché il pzem misura la corrente solo positiva, non è bidirezionale, perciò anche se invertiamo i fili del toroide oppure L-N non cambia nulla.

Poi ci servirà un’alimentazione per il NodeMCU o Wemos (per il Sonoff non è necessario), visto che siamo sul quadro elettrico vi consiglio un alimentatore 5V da guida DIN come quello indicato in figura. Lo alimenteremo dalla stessa linea (L-N) a cui abbiamo collegato il Pzem e l’uscita andrà sui pin “VIN” e “GND” del Nodemcu o Wemos. Va bene anche un comune alimentatore da cellulare con uscita 5V, non sono certo della corrente necessaria, attualmente alimento 2 Pzem e un Nodemcu con 700mA perciò non ci sono particolari esigenze.

CABLAGGIO
Di seguito un paio di foto di come viene sul quadro elettrico, ovviamente, se non siete sicuri fate fare tutto ad un elettricista, stiamo operando sul quadro elettrico, non si scherza assolutamente. Soprattutto prestate attenzione al fatto che una volta terminato nessun cavo possa per nessun motivo staccarsi o fare corto circuito con un altro. Anche durante il montaggio, i cavetti rosso e nero del toroide non devono toccarsi quando avete il toroide con un cavo attraversato da corrente al suo interno, potrebbe danneggiarsi e non essere più preciso.

 

PROGRAMMAZIONE NODEMCU o WEMOS
Dovrete installare il firmware Tasmota sul dispositivo NodeMCU o Wemod D1 Mini si consiglia la versione 6.4.1. L’installazione prevede il collegamento tra Pc e il dispositivo mediante cavo USB – Mini USB, il procedimento è analogo alla Guida Tasmota Sonoff Facile Facile.

Web UI Tasmota
Entriamo nella UI di tasmota e modifichiamo i seguenti parametri dalla configurazione del modulo:

NodeMCU/wemos: CASO A

Sonoff Basic: CASO B

Come vedete, tra una versione e l’altra di Tasmota, hanno cambiato la nomenclatura dei sensori, la sostanza non cambia, il pin “RX” del Pzem va dichiarato nel pin “TX” del nostro modulo ESP, e il pin “TX” nel “RX”.

A questo punto nella pagina iniziare dopo il riavvio dovreste avere una cosa di questo tipo:

A parte i valori di energia che ovviamente saranno inizialmente a 0, tutti gli altri valori devono comparire, se così non fosse avete sbagliato qualche collegamento o qualche impostazione di configurazione, controllate e tornate qui, non ha senso proseguire se prima non vedrete i valori corretti in questa schermata.

CALIBRAZIONE
A questo punto è caldamente consigliato eseguire la calibrazione dello strumento, per farlo dovete avere un tester, ma ancora meglio una pinza amperometrica (magari fatevela prestare per l’occasione). Quindi verificate che i valori di tensione, corrente e potenza attiva siano gli stessi che misurate con la pinza, se così non fosse eseguite questi comandi da console, inserendo i valori che leggete sul vostro strumento:

VoltageSet xx  al posto di xx inserire la tensione (V) di calibrazione letta con lo strumento di calibrazione
PowerSet xx    al posto di xx inserire la potenza (W) di calibrazione

Ora abbiamo tutto quel che ci serve per configurare Home Assistant, però di default il nostro dispositivo manda i valori ogni 300 secondi (5 minuti), che non va assolutamente bene per il nostro caso, perciò digitiamo da console:

TelePeriod 20

 

CONFIGURAZIONE HOME ASSISTANT

Nel file sensor.yaml scrivete quanto segue ricordatevi di scrivere il nome del topic che avete scritto nella configurazione di MQTT di Tasmota:

Nel caso vogliate monitorare più consumi, ovviamente dovrete replicare il circuito, come è stato fatto vedi le foto poco sopra.

 

LOVELACE
Se avete un impianto fotovoltaico vi consiglio di usare questa card molto carina per Lovelace minimale ma efficacie:

Questo il link per installarla: https://github.com/gurbyz/custom-cards-lovelace/tree/master/power-wheel-card
Potrete vedere anche la guida ufficiale Tasmota Pzem: https://github.com/arendst/Sonoff-Tasmota/wiki/PZEM004T-Energy-Monitor

 

70 risposte

  1. Mauro ha detto:

    Ottima guida!
    Secondo voi esiste il modo di far stare tutto dentro un modulo vuoto 1DIN per inserirlo in un centralino esistente? Al max. potrei arrivare a 2DIN di larghezza ma non di più. Altrimenti dovrei attendere lo Shelly EM che ho intravisto nel gruppo Telegram e che pare debba uscire il 15/03..

  2. Alberto ha detto:

    Ciao,
    bell’articolo e bel sito. Ho già ordinato il modulo :).
    Vorrei eliminare l’alimentatore a 5V per salvare spazio. Dal PDF di istruzioni del PZEM non riesco a capire se include un alimentatore, vedendo la figura sembrerebbe di si. In questo caso sarebbe possibile alimentare il Wemos o Nodemecu direttamente dal PZEM.
    In caso contrario si potrebbe usare il Sonoff (che però è più ingombrante). Dallo schema proposto si vede che viene usato il 3,3V e non il 5V. In questo caso suppongo che il PZEM sia alimentato a 3,3V (funziona?) e quindi dovrebbe essere inutile la resistenza addizionale sul TX.
    Chi ha in mano il modulo può darmi un chiarimento?

    Grazie

    Al

    • Enrico ha detto:

      Il PZEN per funzionare deve essere alimentato a 220 dalla parte sinistra della foto (AC), nella parte destra dove va collegato l’ESP viene messa la resistenza per unificare i potenziali. Normalmente in uscita del pzem tra Tx e Gnd avremmo 5v ma gli ESP vogliono in ingresso tensioni max di 3,3v. In questo modo collegando le alimentazioni di Vcc del pzem e dell’ESP si eliminano disturbi da alimentazioni diverse.

    • Mario ha detto:

      Si può usare il sonoff basic zbr3? Quello ZigBee per interderci. In questo caso senza tasmota arriverebbero i dati su home assistant con ZigBee to mqtt?
      Grazie

  3. Gabriele ha detto:

    Ciao, proprio in questi giorni stavo cercando un modo per monitorare la produzione del fotovoltaico ed il consumo, per poter gestire gli elettrodomestici al meglio. Il mio impianto è di 6 Kw, posso utilizzare questo schema? Stavo per acquistare questo kit ”
    Aeotec Home Energy Meter Gen5 – 100A with three clamps” ma costa 150 euro.

    • Enrico Nos317 ha detto:

      Ciao, io lo uso proprio per quello scopo, in primis monitorare l’impianto fotovoltaico e poi gestire gli elettrodomestici in modo da autoconsumare più energia possibile. Nel tuo caso quindi devi fare esattamente come me, 2 pzem con 2 wemos/sonoff/nodemcu. Poi per gestire gli elettrodomestici ci pensa home assistant.

      • Gabriele ha detto:

        Scusa la domanda; io ho il doppio contatore per il fotovoltaico, quindi un toroide deve essere applicato al cavo che esce dall’interruttore generale per vedere l’energia assorbita dalla casa, mentre l’altro devo collegarlo ad il cavo proveniente dal contatore del fotovoltaico per vedere l’energia prodotta?

    • Domenico ha detto:

      Ho un problema mi dà i watt sbagliati, provo a calibrarli tramite il comando PowerSet xx ma mi da errore

      • Gabriele ha detto:

        Ciao, il pzem non puoi calibrarlo, pertanto il comando powerset non funziona, come e scritto nella pagina ufficiale https://tasmota.github.io/docs/PZEM-0XX/.
        Potresti risolvere in vari modi:
        1) provi ad integrarlo con espeasy, io sto migrando da tasmota a questo metodo dato che mi permette di utilizzare piu
        pzem con un solo nodemcu o vemos, due li supporta, questa sera provo a collegarne di piu dato che oggi me ne sono arrivati altri due.
        2) fai la calibrazione del sensore direttamente su home assistant.
        3) lo integri con esphome e vedi se la lettura e
        esatta altrimenti utilizzi la calibrazione direttamente su esphome.

  4. Nicola ha detto:

    ciao e complimenti per la guida.
    Ma se uso il sonoff + Pzem la resistenza da 1K và inserita?
    Grazie

  5. davide ha detto:

    nella guida sulla configurazione del firmware per nodemcu e wemos sono stati assegnati i pin invertiti rispetto alla configurazione per sonoff.infatti su un altra guida in rete sono assegnati inversamente il 63 ed il 62 (tx e RX) e cosi funziona

    • Enrico Nos317 ha detto:

      Confermo, errore mio in quanto sulla mia configurazione i pin sono invertiti anche fisicamente e quindi funziona. Vedo di correggere al più presto altrimenti non torna con lo schema. Grazie

  6. […] alla Guida Pzem per il monitoraggio dei consumi, realizzata dal nostro admin Enrico e prendendo spunto […]

  7. Gabriele ha detto:

    Buona sera, ho fatto la configurazione con il nodemcu e turro funziona molto bene, ma dato che per semplificare preferirei utilizzare un sonoff basic per avre solamante l`alimentazione 220 e non 220 e 5v. Ho fatto come detto e tutto va bene ma il sonoff non riceve i dati, rimane tutto a 0. suggerimenti?

    • Enrico ha detto:

      Buongiorno, hai provato ad invertire tx ed rx fisicamente e/o lato configurazione?

      • Gabriele ha detto:

        Sinceramente no, mi sono attenuto allo schema, questa sera verifico e vi faccio sapere.

        • Enrico ha detto:

          Per prima cosa cambia solamente tx con rx sulla configurazione di tasmota. E vedrai che funziona senza fare altre modifiche.
          Facci sapere, così da correggere l’articolo.

          • gabriele ha detto:

            Ciao, funziona bene anche con il sonoff basic, ho risaldato i cavetti per sicurezza ed è andato tutto ok. In questi giorni volevo provare con un sonoff th16, sarebbe bello avere anche il monitoraggio della temperatura.
            Grazie.

  8. Giovanni ha detto:

    con il sonoff non funziona . ho provato a sostituire il Pzem perchè pensavo fosse guasto , dopo di che ho sostituito anche il sonoff , ho provato tutte le configurazioni possibili con i collegamenti RX – TX, sia da configurazione che da hardware , non ci sono più prove da fare. Siamo sicuri che funzioni con il sonoff? qualcuno l’ha provato? Grazie

    • Enrico ha detto:

      Si con il sonoff funziona è più probabile che il pzem sia fallato e quindi non funzionante.

    • Gabriele ha detto:

      Ciao, io ho provato la configurazione sia con NodeMcu che con il sonoff e ti posso dire che con il sonoff funziona, la prima volta che ho fatto il collegamento non funzionava perchè i cavetti saldati al sonoff non erano ben saldi, controlla le saldature e vedrai che funziona.

    • Pierpaolo ha detto:

      Ci sono impazzito anche io, ma poi ho cambiato sulle impostazioni del sonoff basic mettendo PZEM016 Rx (98) in “GPO3 Serial In” al posto del PZEM004 (63) indicato nella guida e funziona tutto. PS: hai messo la resistenza di 1 Kohm sul PZEM ?

  9. Alchimista ha detto:

    Volevo segnalare un errore nel codice che si scarica dal sito. In value_template: ‘{{ value_json[‘ENERGY’].Voltage }}’ ci sono gli apici mentre in Hassio bisogna mettere value_template: “{{ value_json[‘ENERGY’].Voltage }}” i doppi apici

  10. maframan ha detto:

    Ciao, veramente ottima guida complimenti.
    Avrei una domanda, come mai hai usato due PZEM? Nella foto vedo un solo toroide.
    Nel mio caso vorrei utilizzarne uno solo e mettere il toroide sul neutro che arriva dal contatore dell’ENEL?

  11. maframan ha detto:

    Ciao, veramente ottima guida complimenti.
    Avrei una domanda, come mai hai usato due PZEM? Nella foto vedo un solo toroide.
    Nel mio caso vorrei utilizzarne uno solo e mettere il toroide sul neutro che arriva dal contatore dell’ENEL, è corretto?

    • Enrico Nos317 ha detto:

      Ciao, ho usato 2 pzem perché devo monitorare anche un impianto fotovoltaico. Nel tuo caso va benissimo come hai detto, un solo pzem e toroide sul neutro in arrivo dal contatore. Ciao

      • maurizio ha detto:

        ciao, grazie per la guida, i due toroidi li hai messi un sul fotovoltaico e uno su consumo di casa?
        poi hai fatto la differenza tra fotovoltaico e consumo per avere la rete positiva o negativa.
        ho provata sulla rete ma non fa differenza fra prelievi ed immissioni.

  12. Gabriele Girardi ha detto:

    Ciao, ho un problema con la calibrazione non mi accetta i comandi PowerSet 60.0 e VoltageSet 60

  13. Gabriele Girardi ha detto:

    Buongiorno,
    ho scoperto che i comandi PowerSet e VoltageSet non possono essere utilizzati con il pzem 004t e pertanto non è possibile sostituire il toroide con un toride non calibrato per questo dispositivo. Con questo dispositivo è possibile monitorare un impianto fotovoltaico da 6kw?

  14. MARCO TORRICELLI ha detto:

    potreste specificare come collegare due pzem ad un solo dode mcu?
    grazie

  15. Alex ha detto:

    Ciao Enrico e grazie per l’ ottima guida.
    Volevo segnalare un problema che ho riscontrato nella lettura dei valori del PZEM004T tramite SONOFF BASIC.
    Ho visto in effetti che ci sono anche altri commenti precedenti di lettura valori tutti a zero.
    Le ho pensate tutte, compreso che il PZEM004T fosse guasto ed invece, modificando sulla configurazione del SONOFF la RX da PZEM004 Rx (63) a PZEM016 Rx (98) le letture hanno cominciato da subito a comparire ed i 2 microled della seriale sul PZEM a “pulsare” in sequenza ed in modo regolare.
    Un Saluto.
    Alessandro.
    Anche se non ho capito il perchè ed anche se, sulla carta, ho un PZEM004T , ho segnalato la cosa nella speranza che possa essere utile anche ad altri.

    • PeVa ha detto:

      Ciao, stessa cosa anche per me. Ho pensato di aver sbagliato qualcosa finché ho trovato su un blog che suggeriva la stessa modifica. Il perché è dovuto alla nuova versione di PZEM-004T.

    • PeVa ha detto:

      Dimenticavo: io, invece, ho rimosso i due led e ho usato una delle due resistenze da 1K come resistenza aggiuntiva per la comunicazione a 3,3V invece di 5V

  16. gabriele ha detto:

    Salve, oggi mi è arrivato il Pzem-004t V3, ma la resistenza va ancora messa per ridurre la corrente da 5v a 3.3v?

    • Andrea ha detto:

      Salve gabriele mi è arrivato anche a me in questi giorni il pzem_004t v3 penso che la resistenza vada messa lo stesso visto che si deve collegare a dispositivi che in seriale hanno i 3.3v tipo sonoff è che nel 004t v3 mancano sotto i punti di saldatura sotto x saldare la resistenza… Comunque mi sai dire la resistenza tra cosa andrebbe saldata dalla fono nel progetto sembrerebbe tra i 5v e?

  17. Andrea ha detto:

    Salve gabriele mi è arrivato anche a me in questi giorni il pzem_004t v3 penso che la resistenza vada messa lo stesso visto che si deve collegare a dispositivi che in seriale hanno i 3.3v tipo sonoff è che nel 004t v3 mancano sotto i punti di saldatura sotto x saldare la resistenza… Comunque mi sai dire la resistenza tra cosa andrebbe saldata dalla fono nel progetto sembrerebbe tra i 5v e?

  18. claudio ha detto:

    salve a tutti, vorrei sapere se al posto di un NodeMCU o Wemod D1 Mini o di un Sonoff che comunicano tramite WiFi esiste qualche altra schedina che utilizza la trasmissione via cavo.Dove avrei intenzione di installarlo è piùtosto schermato ma in conpenso passa la linea internet !
    grazie

  19. Klaus ha detto:

    Ciao, come si chiama quel connettore a 4 poli, per poterlo ordinare online?

  20. maurizio ha detto:

    si può collegare solo un pzem al nodemcu?

  21. emiliano ha detto:

    Dopo tante prove confermo come Alex che il pzem004t V3 funziona con tasmota su nodemcu mettendo alla gpio3 “pzem016rx” ho messo la resistenza facendola passare nella fessura della scheda tra i due fototransistor collegata tra 5v e il fototransistor di destra (piedino di sinistra vicino al led tx).

  22. Enzo ha detto:

    Domanda: pzem004t V3 con sonoff basic (tasmota) funziona ?

  23. Gabriele ha detto:

    Ciao, ho acquistato un PZEM 004T V3.0. L’ho collegato a un sonoff basic senza inserire la resistenza da 1K (con questo modello non dovrebbe servire, ma correggetemi se sbaglio). Non riesco ad ottenere alcuna lettura su Tasmota. Il led TX del PZEM lampeggia ma non l’RX. I collegamenti sono TX ad RX RX a TX, alimentazione a 3,3 V da Sonoff. Configurazione modulo: modulo generico, su GPIO1 ho l’RX di PZEM (codice 63), su GPIO03 ho il TX (codice 62). Chi mi sa aiutare? Grazie in anticipo.

  24. Gabriele ha detto:

    Risolto!! Ho riconfigurato così: GPIO 1 PZEM0XX TX 62. GPIO 3 PZEM16 RX 98.

  25. Andrea ha detto:

    Ciao a tutti,
    complimenti per la guida, sono riuscito ad integrare tutto in HA grazie.
    Domanda in merito alla Power-Wheel-Card: il grafico richiede 3 valori ricavati da dei sensori, YOUR_SOLAR_POWER_SENSOR è il toroide all’uscita del fotovoltaico, OUR_GRID_POWER_CONSUMPTION_SENSOR è il toroide all’uscita del generale della casa, ma YOUR_GRID_POWER_PRODUCTION_SENSOR da dove lo ricavo? O forse sbaglio qualcosa.
    Grazie ancora

    • Enrico Nos317 ha detto:

      Ciao, è la potenza immessa in rete. quindi semplicemente prodotta FV a cui sottrai il consumo di casa.
      Devi crearti un sensore “template”. Il mio è così:


      sensor:
      - platform: template
      sensors:
      immessa:
      value_template: "{{ [ (states('sensor.pzem_p_watt')|int) - (states('sensor.pzem_c_watt')|int),0 ]|max }}"
      entity_id: sensor.pzem_c_watt
      friendly_name: 'Immessa'
      unit_of_measurement: "watts"

  26. Mario ha detto:

    Si può usare il sonoff basic zbr3? Quello ZigBee per interderci. In questo caso senza tasmota arriverebbero i dati su home assistant con ZigBee to mqtt?
    Grazie

    PS scusate avevo postato in errore in risposta ad un altro commento

  27. Gabriele ha detto:

    Per risolvere il problema della calibrazione, e possibile utilizzare EspHome in HA, con un toroide qualsiasi, un NodeMcu o similare ed una manciata di resistenze si puo creare un dispositivo per il controllo con la possibilita di taratura. Io ne ho creato uno, anche se lutilizzo del pzem004T non mi ha mai dato problemi, soprattutto l`ultima versione che non necessita della resistenza.

  28. TonyB ha detto:

    Non mi è chiaro se il PZEM eroga i 3,3V utili per alimentare il modulo wifi. Sarebbe decisamente comodo evitare di dover usare un alimentatore esterno.

  29. Gianni ha detto:

    Ciao,
    non riesco a configurare correttamente power whell card
    io ho messo questi dati:
    grid_power_consumption_entity: sensor.prelievo_enel (toroide su contatore enel)
    grid_power_production_entity: sensor.immessa (calcolo toroide contatore enel – contatore di scambio)
    production_is_positive: true
    solar_power_entity: sensor.produzionel (toroide su contatore di scambio)

    però i dati non sono corretti ad esempio sullicona della casa è come se raddoppiasse il valore del sensore prelievo_enel x 2

    qualcuno può caricare in risposta la configurazione funzionante?

  30. Claudio Carletta ha detto:

    Salve a tutti,
    Vorrei mettere su un ESP32 un secondo PZEM 004T 100A (V3.0) per monitorare sia il consumo che la produzione.
    Per adesso sto solo studiando il sistema e con uno funziona correttamente così:
    —————————————————-
    #include “Arduino.h”
    #include “heltec.h”
    #include

    PZEM004Tv30 pzem(&Serial2);

    void setup() {
    Serial.begin(115200);
    Serial2.begin(9600, SERIAL_8N1, 22, 23);

    Heltec.display->wakeup();
    Heltec.begin(true, false, true);
    Heltec.display->init();
    Heltec.display->flipScreenVertically();
    Heltec.display->setFont(ArialMT_Plain_10);

    // pzem.setAddress(1); // solo la prima volta
    }

    void loop() {
    Heltec.display->clear();
    float voltage = pzem.voltage();
    if (!isnan(voltage)) {
    Heltec.display->drawString(0, 0, ” Volt: “+ String(voltage,2) + ” V”);
    Heltec.display->display();
    Serial.print(“Voltage: “); Serial.print(voltage); Serial.println(“V”);
    }
    else {
    Serial.println(“Error reading voltage”);
    }
    // lettura degli altri valori
    }
    ——————————————————————-

    Perché il microcontrollo possa colloquiare con un secondo PZEM004Tv30 devo istanziare un’altra classe su un’altra seriale oppure è possibile controllare i valori dei due PZEM004Tv30 tramite il loro indirizzo? Come?
    Grazie a tutti

    • orfmia ha detto:

      Ciao Claudio Carletta
      Sono nella tua stessa situazione…. ho già un ESP32 nel quadro elettrico che mi gestisce in Home Assisntanc via MQTT le luci esterne di casa, il crepuscolare e qualche altro sensore esterno, mi farebbe comodo quindi integrare un paio di sensori di consumo PZEM-004 nello stesso micro controllore.

      Credo si debbano usare 2 seriali diverse io uso un ESP32 dev kit v1, dovrebbe avere la serial “zero” su GPIO 1 e GPIO 3 mentre la seconda, pare sia su GPIO 17 e GPIO 16 ma da quanto scrivi forse si può spostare su altri pin (22 e 23)

      (non uso wemos)

    • Orfmia ha detto:

      Mi correggo, non servono due seriale, ne basta una!
      i due ( o più! ) PZEM-004T-v30 possono essere programmati con indirizzi diversi! e collegati in parallelo sulla stessa seriale.
      (occhio che la programmazione dell’indirizzo va fatta come prima cosa perché quando arrivano hanno tutti lo stesso!)
      poi con pochi comandi sarà l’ESP32 che penserà ad interrogare in sequenza i PZEM e, nel mio caso, passare via MQTT i dati letti ad Home Assistant.
      Sto attendendo a giorni un paio di sensori acquistati a circa 10€ all’uno in cina

      La libreria è la seguente: https://github.com/mandulaj/PZEM-004T-v30

      (selezionabile direttamente nell’ IDE di Arduino)

      all’interno c’è sia un programmino che serve per la programmazione che quello oper interrogare i sensori.
      Poi ci fai quello che vuoi, MQTT,o display, o, perché no… entrambi 🙂

  31. Alex ha detto:

    Ciao. La guida rimane valida anche per pzem 004T v3 e wemos d1 mini v3, oppure cambia qualcosa?
    Grazie

  32. Gabriele ha detto:

    Ciao, non riesco a capire cosa hai fatto, puoi spiegarti meglio, cosi` vedo di aiutarti.

    • Alex ha detto:

      Ciao. Ci sono riuscito, con la resistenza collegata come da immagine per v.3 e wemos alimentato a 5V. Mi sono accorto che nello studio, dove non ho ancora ripetitore mesh ma un netgear, a volte alcuni dispositivi hanno difficoltà a connettersi alla rete. Me ne sono accorto perchè ho flashato anche 2 ESP-32 CAM con esphome e nello studio non ne volevano sapere di andare online, nel resto della casa sì. Quindi è probabile che parte dei problemi che ho avuto siano dipesi da quello, rendendo tutto piu’ complicato. Domani mi arriva un fritz!repeater 1200, così non ci penso piu’. 😉 Cmq appunto, problema risolto, grazie.

  33. Rino ha detto:

    Buongiorno e complementi per la guida molto efficace e rapida.
    Nell’utilizzo, dello Pzem-004T V.3 (senza resistenza) e sonoff basic con tasmota in Hassio, gli unici bug che non riesco a eliminare sono dovuti alla mancata lettura dei consumi “Energia ieri” (essi risultano sempre “0”, anche leggendo i dati dall’interfaccia diretta tasmota) nonchè la “Data inizio misure” infatti mi visualizza la data 1970-01-01 ecc……
    Se qualcuno ha avuto lo stesso problema accetto consigli.
    Grazie un cordiale saluto a tutti

  34. Jack ha detto:

    Qualcuno potrebbe indicarmi quale tipo di connettore a 4 poli usa il PZEM per la seriale?
    (Quello in plastica bianco).
    Grazie

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Advertisment ad adsense adlogger