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 (Amazon, Banggood) 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.
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:
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:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 |
- platform: mqtt name: "Tensione" state_topic: "tele/Pzem/SENSOR" value_template: "{{ value_json['ENERGY'].Voltage }}" unit_of_measurement: "V" - platform: mqtt name: "Corrente" state_topic: "tele/Pzem/SENSOR" value_template: "{{ value_json['ENERGY'].Current }}" unit_of_measurement: "A" - platform: mqtt name: "Potenza Ist." state_topic: "tele/Pzem/SENSOR" value_template: "{{ value_json['ENERGY'].Power }}" unit_of_measurement: "W" - platform: mqtt name: "Potenza Factor" state_topic: "tele/Pzem/SENSOR" value_template: "{{ value_json['ENERGY'].Factor }}" unit_of_measurement: " " - platform: mqtt name: "Energia Oggi" state_topic: "tele/Pzem/SENSOR" value_template: "{{ value_json['ENERGY'].Today }}" unit_of_measurement: "kWh" - platform: mqtt name: "Energia Ieri" state_topic: "tele/Pzem/SENSOR" unit_of_measurement: "kWh" value_template: "{{ value_json['ENERGY'].Yesterday }}" - platform: mqtt name: "Energia Totale" state_topic: "tele/Pzem/SENSOR" unit_of_measurement: "kWh" value_template: "{{ value_json['ENERGY'].Total }}" |
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
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..
Ciao, su un 2 moduli DIN ci sta tranquillamente. Su uno singolo no.
Scusa se scrivo qui, come e dove sarebbe possibile anche inserire un display da inserire eventualmente nel quadro elettrico per leggere i consumi?
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
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.
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
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.
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.
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?
Ho un problema mi dà i watt sbagliati, provo a calibrarli tramite il comando PowerSet xx ma mi da errore
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/.
pzem con un solo nodemcu o vemos, due li supporta, questa sera provo a collegarne di piuPotresti 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
dato che oggi me ne sono arrivati altri due.
esatta altrimenti utilizzi la calibrazione direttamente su esphome.2) fai la calibrazione del sensore direttamente su home assistant.
3) lo integri con esphome e vedi se la lettura e
ciao e complimenti per la guida.
Ma se uso il sonoff + Pzem la resistenza da 1K và inserita?
Grazie
Ciao, certamente si. La resistenza va inserita in tutti e 3 i casi, in quanto tutti i dispositivi montano chip wifi a 3.3V.
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
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
[…] alla Guida Pzem per il monitoraggio dei consumi, realizzata dal nostro admin Enrico e prendendo spunto […]
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?
Buongiorno, hai provato ad invertire tx ed rx fisicamente e/o lato configurazione?
Sinceramente no, mi sono attenuto allo schema, questa sera verifico e vi faccio sapere.
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.
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.
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
Si con il sonoff funziona è più probabile che il pzem sia fallato e quindi non funzionante.
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.
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 ?
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
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?
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?
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
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.
Ciao, ho un problema con la calibrazione non mi accetta i comandi PowerSet 60.0 e VoltageSet 60
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?
quali accettano PowerSet e VoltageSet ?
Ciao, lo 004t accetta, lo 016 non accetta tali comandi.
potreste specificare come collegare due pzem ad un solo dode mcu?
grazie
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.
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.
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
Salve, oggi mi è arrivato il Pzem-004t V3, ma la resistenza va ancora messa per ridurre la corrente da 5v a 3.3v?
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?
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?
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
Ciao, come si chiama quel connettore a 4 poli, per poterlo ordinare online?
si può collegare solo un pzem al nodemcu?
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).
Ciao, anch’io ho un pzem004t V3, non capisco come collegare la resistenza; mi spiegheresti meglio come fare? Grazie mille.
Domanda: pzem004t V3 con sonoff basic (tasmota) funziona ?
Si, funziona.
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.
Risolto!! Ho riconfigurato così: GPIO 1 PZEM0XX TX 62. GPIO 3 PZEM16 RX 98.
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
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"
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
Credo di si arriverebbero i dati sempre tramite zigbee2mqtt
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 possibilitadi taratura. Io ne ho creato uno, anche se l
utilizzo del pzem004T non mi ha mai dato problemi, soprattutto l`ultima versione che non necessita della resistenza.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.
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?
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
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)
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 🙂
Ciao. La guida rimane valida anche per pzem 004T v3 e wemos d1 mini v3, oppure cambia qualcosa?
Grazie
ti direi che non cambia nulla
Ok grazie, provo 🙂
Mmm… stavo per iniziare, ma mi sono già trovato un problema mentre stavo x saldare la resistenza, il v3 ha un layout diverso. Ecco come è il mio, qui pare che lo colleghino direttamente. Mmmm… provo… https://community.blynk.cc/t/pzem-004t-v3-0-and-nodemcu-wemos-mini-running-on-blynk-how-to-procedure/39338
Ciao, io ne ho collegato 5, due con la resistenza e tre senza, funzionano uguali. C’è chi dice che serve e chi no. Comunque funziona con il V3. Io sono passato ad espeasy perché con un solo nodemcu ho collegato 5 pzem 004T V3.
ho trovato dove saldare la resistenza sul v3 qui https://tasmota.github.io/docs/PZEM-0XX/
nonostante ciò va online solo se lo alimento dalla usb, non capisco cosa sbaglio…
Ciao, non riesco a capire cosa hai fatto, puoi spiegarti meglio, cosi` vedo di aiutarti.
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.
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
Qualcuno potrebbe indicarmi quale tipo di connettore a 4 poli usa il PZEM per la seriale?
(Quello in plastica bianco).
Grazie