Monitoraggio impianto fotovoltaico con Shelly EM


Vipsolar fotovoltaico

E da qui le soluzioni poco tecniche (non ci capisco molto di codice):
Ho quindi già presenti delle entità shelly su HomeAssistant (HA) con nomi simili a:
sensor.shelly_shem_XXXXXX_1_current_consumption
Aperto Node-red dentro HA, tramite il menu, in alto a dx, ho selezionato import ed incollato il codice riportato subito sotto l’immagine sul link di cui sopra, (che inizia con parentesi e “id": "bcba7892.f81718",).
Fatto questo, ti da la possibilità di incollare sul piano i flussi ed i nodi che vedi nell’immagine.
Nel mio caso ho poi modificato il nodo “Daily solar” e “Daily consumer” mettendo i sensori già presenti su HA e quindi sensor.shelly_shem_XXXXXX_1_current_consumption e sensor.shelly_shem_XXXXXX_2_current_consumption.
Va inoltre modificato il nodo “Set API Key and Site” con i dati che trovi nell’account Pvoutput, in basso trovi la chiave API (impostazione API) e più in basso l’ID sistema”,
Altra modifica va apportata alle voci “data” e “time” che riportano il fuso orario americano Basta cancellare la voce e prende quella di sistema).
Tieni presente che senza tutti i dati da V1 a V6, il flusso non funziona e, con HA, non sono ancora riuscito a recuperare temperatura e volts.
Eliminando un po’ di collegamenti mi sono concentrato su due valori, V3 e V4, cioè il consumo giornaliero e quello istantaneo (ho escluso anche V1 e V2 relativi alla produzione in quanto vengono già inseriti tramite inverter solaredge). Ovviamente nel nodo “join” ho modificato il numero delle parti che compongono il messaggio a 4, e precisamente date, time, v3 e v4 (e non 8).
Per ora questo è il mio primo risultato su node red.
nodered.png
Per determinare il consumo complessivo devo sommare la produzione del fotovoltaico (per me pinza 1 dello Shelly) alla produzione/immissione (per me pinza 2 dello Shelly).
Variab Cons ist =

variabconstist.png

Tot cons ist compl

totconsistcompl.png

Per quanto riguarda la somma giornaliera ed il reset a mezzanotte, aspetto di fare qualche verifica.
 
flusso.JPG
Questo è il mio risultato finale che sembra funzionare.
Per semplificare (sempre avendo Home assistant e node-red), basta importare in node red il seguente codice

Codice:
[{"id":"5789a14d.69bff","type":"tab","label":"Flow 2","disabled":false,"info":""},{"id":"ee7ab0c1.47168","type":"api-current-state","z":"5789a14d.69bff","name":"Produ_istantanea","server":"781e26b3.b1cf18","version":1,"outputs":1,"halt_if":"","halt_if_type":"str","halt_if_compare":"is","override_topic":false,"entity_id":"sensor.shelly_shem_f369bb_1_current_consumption","state_type":"num","state_location":"payload","override_payload":"msg","entity_location":"","override_data":"none","blockInputOverrides":false,"x":190,"y":320,"wires":[["ea03b46a.aa12a8"]]},{"id":"c24a64f7.b00908","type":"inject","z":"5789a14d.69bff","name":"Every 1 Minutes","topic":"","payload":"","payloadType":"date","repeat":"60","crontab":"","once":false,"onceDelay":"","x":190,"y":200,"wires":[["ee7ab0c1.47168","69fb10e1.4207f","6557e01e.b7b2a","c8f7c532.13a348"]]},{"id":"2936e80a.e31d38","type":"join","z":"5789a14d.69bff","name":"","mode":"custom","build":"object","property":"payload","propertyType":"msg","key":"topic","joiner":"\\n","joinerType":"str","accumulate":false,"timeout":"","count":"6","reduceRight":false,"reduceExp":"","reduceInit":"","reduceInitType":"","reduceFixup":"","x":1170,"y":200,"wires":[["c609b0d7.8d7c8"]]},{"id":"309bf5b8.9d7dfa","type":"change","z":"5789a14d.69bff","name":"V1","rules":[{"t":"set","p":"topic","pt":"msg","to":"v1","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":950,"y":280,"wires":[["2936e80a.e31d38"]]},{"id":"69fb10e1.4207f","type":"api-current-state","z":"5789a14d.69bff","name":"Cons. istantaneo","server":"781e26b3.b1cf18","version":1,"outputs":1,"halt_if":"","halt_if_type":"str","halt_if_compare":"is","override_topic":false,"entity_id":"sensor.shelly_shem_f369bb_2_current_consumption","state_type":"num","state_location":"payload","override_payload":"msg","entity_location":"","override_data":"none","blockInputOverrides":false,"x":190,"y":400,"wires":[["19406030.62e4a"]]},{"id":"25193de9.3ba262","type":"change","z":"5789a14d.69bff","name":"V2","rules":[{"t":"set","p":"topic","pt":"msg","to":"v2","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":950,"y":320,"wires":[["2936e80a.e31d38"]]},{"id":"46bdec12.b81154","type":"change","z":"5789a14d.69bff","name":"V3","rules":[{"t":"set","p":"topic","pt":"msg","to":"v3","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":950,"y":360,"wires":[["2936e80a.e31d38"]]},{"id":"cf666959.b5ac58","type":"change","z":"5789a14d.69bff","name":"V4","rules":[{"t":"set","p":"topic","pt":"msg","to":"v4","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":950,"y":400,"wires":[["2936e80a.e31d38"]]},{"id":"948f0af.1f5d1f8","type":"function","z":"5789a14d.69bff","name":"Set API key and site ID","func":"msg.action = msg.payload;\nmsg.headers = { \n 'X-Pvoutput-Apikey': 'innserireiltuoapikey',\n 'X-Pvoutput-SystemId': '111111',\n 'Content-Type': 'application/x-www-form-urlencoded'\n};\n\nreturn msg;","outputs":1,"noerr":0,"x":1180,"y":300,"wires":[["326ffce6.9a4164"]]},{"id":"326ffce6.9a4164","type":"function","z":"5789a14d.69bff","name":"Set up data","func":"msg.action = msg.payload;\n\nmsg.url = \"http://pvoutput.org/service/r2/addstatus.jsp\";\n\n\n\nreturn msg;\n\n","outputs":1,"noerr":0,"x":1190,"y":360,"wires":[["5f1710c9.00eb2"]]},{"id":"5f1710c9.00eb2","type":"http request","z":"5789a14d.69bff","name":"Post","method":"POST","ret":"txt","paytoqs":false,"url":"","tls":"","persist":false,"proxy":"","authType":"","x":1190,"y":420,"wires":[["354e40b1.37e62"]]},{"id":"354e40b1.37e62","type":"debug","z":"5789a14d.69bff","name":"headercheck","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","x":1210,"y":480,"wires":[]},{"id":"6557e01e.b7b2a","type":"moment","z":"5789a14d.69bff","name":"Date","topic":"d","input":"","inputType":"date","inTz":"Europe/Rome","adjAmount":0,"adjType":"days","adjDir":"add","format":"YYYYMMDD","locale":"C","output":"payload","outputType":"msg","outTz":"Europe/Rome","x":950,"y":200,"wires":[["2936e80a.e31d38"]]},{"id":"c8f7c532.13a348","type":"moment","z":"5789a14d.69bff","name":"Time","topic":"t","input":"","inputType":"date","inTz":"Europe/Rome","adjAmount":0,"adjType":"days","adjDir":"add","format":"HH:mm","locale":"C","output":"payload","outputType":"msg","outTz":"Europe/Rome","x":950,"y":240,"wires":[["2936e80a.e31d38"]]},{"id":"c609b0d7.8d7c8","type":"delay","z":"5789a14d.69bff","name":"","pauseType":"rate","timeout":"5","timeoutUnits":"seconds","rate":"1","nbRateUnits":"5","rateUnits":"minute","randomFirst":"1","randomLast":"5","randomUnits":"seconds","drop":true,"x":1180,"y":240,"wires":[["948f0af.1f5d1f8"]]},{"id":"19406030.62e4a","type":"change","z":"5789a14d.69bff","name":"Variab Cons ist","rules":[{"t":"set","p":"cons_corr","pt":"global","to":"payload","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":380,"y":400,"wires":[["56cdf54b.c5e32c","f5a0e692.e85298"]]},{"id":"ea03b46a.aa12a8","type":"change","z":"5789a14d.69bff","name":"Variab Prod ist","rules":[{"t":"set","p":"prod_corr","pt":"global","to":"payload","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":380,"y":320,"wires":[["56cdf54b.c5e32c","f5a0e692.e85298","3a926df7.7eeb12","25193de9.3ba262"]]},{"id":"56cdf54b.c5e32c","type":"function","z":"5789a14d.69bff","name":"Tot. cons ist. compl.","func":"var count=global.get('cons_corr');\nvar count1=global.get('prod_corr');\nmsg.payload= count1+count;\nreturn msg;\n//\n//","outputs":1,"noerr":0,"x":790,"y":400,"wires":[["cf666959.b5ac58"]]},{"id":"f5a0e692.e85298","type":"function","z":"5789a14d.69bff","name":"Somma cons. giornal.","func":"var count=global.get('cons_corr');\nvar count1=global.get('prod_corr');\nvar count3=global.get('cons_giorn')\nmsg.payload= (count1+count)/60+count3;\nreturn msg;\n//\n//","outputs":1,"noerr":0,"x":600,"y":360,"wires":[["86b6b57.03e6948"]]},{"id":"86b6b57.03e6948","type":"change","z":"5789a14d.69bff","name":"reg cons giorn","rules":[{"t":"set","p":"cons_giorn","pt":"global","to":"payload","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":800,"y":360,"wires":[["46bdec12.b81154"]]},{"id":"dd99c640.c6d0f8","type":"inject","z":"5789a14d.69bff","name":"Reset dati giornalieri","topic":"","payload":"","payloadType":"date","repeat":"","crontab":"01 00 * * *","once":false,"onceDelay":0.1,"x":200,"y":140,"wires":[["7bd3955c.c6d16c"]]},{"id":"7bd3955c.c6d16c","type":"change","z":"5789a14d.69bff","name":"reg cons giorn","rules":[{"t":"set","p":"cons_giorn","pt":"global","to":"0","tot":"num"}],"action":"","property":"","from":"","to":"","reg":false,"x":420,"y":140,"wires":[[]]},{"id":"f1fcdcaf.7bbc3","type":"inject","z":"5789a14d.69bff","name":"Reset dati giornalieri","topic":"","payload":"","payloadType":"date","repeat":"","crontab":"01 00 * * *","once":false,"onceDelay":0.1,"x":200,"y":100,"wires":[["30326f75.0a94e"]]},{"id":"30326f75.0a94e","type":"change","z":"5789a14d.69bff","name":"reg prod giorn","rules":[{"t":"set","p":"prod_giorn","pt":"global","to":"0","tot":"num"}],"action":"","property":"","from":"","to":"","reg":false,"x":420,"y":100,"wires":[[]]},{"id":"3a926df7.7eeb12","type":"function","z":"5789a14d.69bff","name":"Somma prod. giornal.","func":"var count1=global.get('prod_corr');\nvar count3=global.get('prod_giorn')\nmsg.payload= (count1)/60+count3;\nreturn msg;\n//\n//","outputs":1,"noerr":0,"x":600,"y":280,"wires":[["a73e002.9d5bd"]]},{"id":"a73e002.9d5bd","type":"change","z":"5789a14d.69bff","name":"reg prod giorn","rules":[{"t":"set","p":"prod_giorn","pt":"global","to":"payload","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":800,"y":280,"wires":[["309bf5b8.9d7dfa"]]},{"id":"781e26b3.b1cf18","type":"server","z":"","name":"Home Assistant","legacy":false,"addon":true,"rejectUnauthorizedCerts":true,"ha_boolean":"y|yes|true|on|home|open","connectionDelay":true,"cacheJson":true}]

Dovrebbe importare un flusso identico all'immagine.
A questo vanno modificati i riferimenti all'interno dei nodi:
Prod_istantanea (con i riferimenti al vs. shelly)
Cons_istantaneo (con i riferimenti al vs. shelly)
set API Key and site ID (con il vs. Api Kei ed ID del sito Pvoutput)

Per il calcolo dei consumi giornalieri, l'aggiornamento è ogni minuto, mentre l'invio dei dati per i grafici pvoutput avviene ogni 5 minuti. Al primo avvio (dopo averlo caricato con "Deploy", resettare i dati giornalieri con l'apposito pulsante a sx del nodo.
Grafico di oggi:
grafico.JPG
Spero in suggerimenti per migliorarlo.
Ciaoo
 
Ciao a tutti.
Ho due Shelly EM uno per il contatore di produzione ed uno per quello di consumo (ne ho dovuti prendere due perché i contatori sono fisicamente distanti uno dall'altro e non avevo altre soluzioni),

Quesito è possibile nascondere dall'app Shelly o dal Cloud la visione di una delle pinze? Inoltre conviene inserire l'altro Shelly Em nella stessa stanza oppure avere due stanze separate (Consumo, Produzione)?

Grazie a tutti

giulio
 
Grazie per la risposta.
E sai se oltre l'esclusione è previsto anche mettere una delle pinze a nascosto? quindi non farla venire proprio fuori nella vista?
 
quindi non farla venire proprio fuori nella vista?
dipende da cosa tu intenda se non vuoi vederlo sul cloud no, se non vuoi sommarne l'energia si , è possibile.


Ragazzi vorrei invitare tutti quelli che hanno un monitoraggio ed inviano dati su Pvoutput di iscrivere il loro impianto sul Team EnergeticAmbiente, potremo così verificare quanta energia "produce " il Forum di EA e confrontare i nostri impianti .

Questo è il link del team
EnergeticAmbiente 55.270kW

basta cliccare su Join or Leave EnergeticAmbiente
scegliete Join e poi close
e sarete iscritti al Team di EA, il che non comporterà nulla di diverso nella visione del vostro monitoraggio ma
semplicemente faremo tutti parte di una "squadra".

Mi raccomando è importante, grazie
(il messaggio è ripetuto su più
thread per cercare di avere il massimo delle adesioni)
 
Pubblicata la guida sul monitoraggio di un impianto con Shelly-EM/Telegraf/Influxdb/Grafana

Pubblicata la guida sul monitoraggio di un impianto con Shelly-EM/Telegraf/Influxdb/Grafana

Buongiorno a tutti.

Ho finalmente portato a compimento la Guida promessa sulla catena di monitoraggio Shelly-EM --> Grafana..

La trovate qui:
GitHub - githubbyte/Shelly-EM-Monitor-Telegraf-Influx-Grafana

E' venuta un pò lunga, in una prossima revisione magari la organizzo con allegati fuori dal corpo principale.

Se trovate errori e/o sviste siate comprensivi (
:):)).. e segnalatemeli..

Un grazie a glfp e raffaelem che hanno dato un fondamentale contributo.

Ciao a tutti..

Solarbyte
 
Complimenti Solarbyte, lavoro egregio anche il tuo ! E grazie, è una guida utilissima, al pari di quella di glfp. Ora spero di riuscire a metterle in pratica...
 
Se trovate errori e/o sviste siate comprensivi (:):)).. e segnalatemeli..

quasi quasi lo compro pure io sto shelley :)

E' fatta molto bene, più che segnalare il consiglio è di dividere su più file markdown. Anche a me stava lievitando e per adesso ho due file ma dividerò ulteriormente.

(poi tempo permettendo c'è jekill che si può usare per creare siti statici in markdown da buttare così su github oppure mettere in una sezione qui sul forum)
 
Pluto tu invii i dati dello Shelly a PVOutput, giusto?
puoi descrivere anche qui come fai
Monitoraggio con InfluxDB e Grafana

Dolam, il sistema di Pluto assume di avere HomeAssistant e NodeRed ... è come sparare ad un moscerino con un cannone. :spettacolo:

Ci sono sistemi più semplici come quello che ho già descritto .... va ovviamente sviluppato, ma si risolve in poche righe di codice ... tempo al tempo ;-)
 
quasi quasi lo compro pure io sto shelley :)

:)Quando lo vedi sembra un giocattolino e ti chiedi se davvero può funzionare.. ed invece..
Pensa che l'azienda è bulgara!:dry:


E' fatta molto bene, più che segnalare il consiglio è di dividere su più file markdown. Anche a me stava lievitando e per adesso ho due file ma dividerò ulteriormente.

Grazie dell'apprezzamento..:) quanto alle migliorie le farò quando avrò tempo.. adesso mi aspetta periodo di lavoro.. a tempo perso e con calma lo farò.. Comunque anche di markdown non ne sapevo un ... ho bisogno di riposare il mio brain.. e soprattutto devo prevenire il divorzio..:)

(poi tempo permettendo c'è jekill che si può usare per creare siti statici in markdown da buttare così su github oppure mettere in una sezione qui sul forum)

Sei un pozzo di scienza...:) non ho finito di imparare una cosa ed eccone un'altra..:devilred: Così fondo...
 
eh eh, di questi tempi il divorzio è dietro l'angolo a prescindere ;-)

cmq credo che userò lo shelley solo per la PDC visto che per il fotovoltaico huawei già mi fornisce tutte le info sia in app che web che in download a 5 minuti che mi sta benissimo (non mi interessa sapere a che ora/min/sec ho acceso una lampadina o l'ampli diciamo :) )

periodicamente scarico il file xls dettagliato (con una 30ina di campi che non so nemmeno cosa siano e a cosa servano :D ) e con uno script converto in csv e tiro tutto dentro mysql, da la ai panel in Grafana è un battito di ciglia (solo il formato data è diverso dallo "standard" e per convertirlo in timestamp ho creato una vista ma niente di fantascientifico)

buon lavoro

PS jekill non lo uso/conosco era solo un'idea per avere un sito statico usando un nuovo tool, perché attualmente sto "esplorando" gatsbyjs e fa lo stesso a partire da markdown
 
Pluto tu invii i dati dello Shelly a PVOutput, giusto?
puoi descrivere anche qui come fai
Monitoraggio con InfluxDB e Grafana

Ciao Dolam, l'invio dei dati a PvOutput avviene attraverso Node-Red dove è sufficiente impostare l'ApiKey ed il tuo SystemId (che trovi su PvOutput).
Di seguito le schermate dei dati impostati. Con node-red è più facile copiare ed incollare il codice che creare a mano tutta la struttura. Ho descritto qui come ho fatto in quanto specifico per shelly e non utilizzo influxdb e grafana.
diagramma.JPGsetapi.JPGsetup.JPGpost.JPG
Attualmente sto provando con aggiornamento ogni minuto dei dati progressivi ed invio in internet ogni 10 minuti., Se vuoi vedere il risultato cerca su pvoutput "Casa shelly 4140 W".

Preciso che utilizzo Home Assistant e Node Red su Raspberry per la gestione domotica di altri Shelly e Broadlink (condizionatore, luci, ecc) e pertanto mi è stato "semplice" aggiungere il monitoraggio piuttosto che fare nuove installazioni. Ovviamente può essere interessante per chi è già nelle mie condizioni.
In Home assistant si possono comunque installare le integrazioni Grafana e influxdb.
 
Grazie Pluto1966, informazioni molto utili.

vuoi iscrivere il tuo impianto al team di EnergeticAmbiente ? EnergeticAmbiente 164.800kW
per te non cambia nulla, farai solo parte della “squadra”
per farlo devi solo scegliere Join.
 
Grazie, non conoscevo questa possibilità. Mi sono unito anch'io con il mio profilo (non quello di test).
Ciaoo
 
@solarbyte e @glfp
Ho già il Raspi e lo Shelly EM ( in attesa di avere il FV installato, le pinze mi leggono i consumi di 10A e 16A ) , ma ancora non mi sono arrivati i due SDM230 e la USB-RS485. Sarei tentato di provare con la guida di solarbyte e quando avrò gli SDM caricare ANCHE quella di glfp. Ma i due sistemi possono convivere ? O causerò un macello bestiale ?
 
Ardua la scelta è !

Sono due sistemi alternativi ma che volendo possono andare in parallelo. Ma quando fai i grafici devi scegliere da quale farli ... farli da entrambi non mi sembra utile se non per confronto ... ma saranno sempre pressochè identici...

Se hai già lo Shelly inizia con quello e vedi se funziona tutto ... se è ok resta con quello. L'uso di Telegraf al posto di MBMD potrebbe risultare più semplice e flessibile (anche se con qualche dato in meno rispetto a quelli che fornisce un SDM).

May the force be with you.
 
Grazie Gian Luca: me lo immaginavo…. Però, se decido di installare con lo Shelly, potrei in un secondo tempo SOSTITUIRE quella soluzione con la tua versione ? O anche qui mi complico la vita ?
 
Te la complichi si, perchè poi ha due formati di dati diversi su InfluxDB che in qualche modo devi riconciliare, altrimenti ti perdi lo storico e i due periodi non sono comparabili.
 

ULTIMI MESSAGGI

Sezioni in Evidenza

Fotovoltaico Aspetti Tecnici, Bancari e Legislazione Isolamento, insuflaggi e Cappotti Tecniche e materiali per l'efficienza termica Riscaldamento e Raffrescamento Soluzioni a Legna, Pellet e Pompe di Calore Ossidroelettrico La nuova fonte di energia dall'infrarosso
Indietro
Top Bottom