Home > Fotovoltaico, Raspberry > Monitoraggio energetico con Raspberry – 123Solar e MeterN

Monitoraggio energetico con Raspberry – 123Solar e MeterN

15 settembre 2014

Avendo installato il mio impianto fotovoltaico, ed avendo la necessità di monitorare la produzione dell’impianto fotovoltaico, ma anche i consumi di casa ho fatto un pò di ricerche in rete, ed ho trovato due interessanti software free che permettono di loggare il tutto con un ottima interfaccia web ed output grafico, utilizzando come hardware il noto Raspberry, il versatile mini pc a basso costo.

Si tratta dei software 123Solar e MeterN.

I due software sono sviluppati da Jean-Marc Louviaux, sono scritti in PHP/JS e quindi anche facilmente personalizzabili (per chi ha un minimo di dimestichezza con questi linguaggi …. ).

Sono dotati di un’ottima interfaccia web multilingua (attualmente sono supportate: inglese, tedesco, italiano e francese)

 

 

Vediamo brevemente di seguito le caratteristiche di questi software.

123Solar


 

123solar legge i dati di produzione direttamente dall’inverter (gli inverter compatibili sono Aurora Power One e SMA e altri) tramite interfaccia seriale RS485.

Per l’installazione e la configurazione vi consiglio questa ottima guida in italiano di Walter62:

Raspberry come datalogger

 

MeterN

 


MeterN è il fratello del software 123solar, ma per la parte consumi energetici. Può infatti monitorare qualsiasi consumo energetico (energia elettrica, gas , acqua ed altro)

Il software comprende solo la parte di visualizzazione ed archiviazione, mentre le eventuali interfaccie e software per l’acquisizione dei dati viene demandata ad applicazioni esterne.

Sul sito vi sono comunque alcune indicazioni su come operare l’interfacciamento hardware ed in rete si trova poi del materiale a riguardo.

 

Sul blog potete trovare anche i seguenti articoli con delle guide passo passo per realizzare il vostro sistema di monitoraggio utilizzando dei:

Buon lavoro e buon divertimento a tutti :D

 

Ti potrebbero interessare:

Categorie:Fotovoltaico, Raspberry
  1. Carlo
    7 novembre 2014 a 12:24 | #1

    Ciao Flavio,
    come hai collegato il contatore ad impulsi alla raspberry?

    Grazie.
    Carlo

    • 7 novembre 2014 a 13:31 | #2

      In modo semplicissimo.
      Due fili ed una resistenza da 200 Ohm. :D
      Stò predisponendo una guida che poi pubblicherò.
      Segui il blog. ;)
      CIAO

  2. roby
    9 dicembre 2014 a 18:50 | #3

    @Flavio
    Ciao Flavio non per farti fretta :-) anche io sono molto interessato alla tua guida.
    Grazie e complimenti per i progetti pubblicati
    Ciao Roberto

  3. gio
    22 dicembre 2014 a 13:50 | #4

    Ciao Flavio potresti spiegarmi come fa il raspberry a comunicare con meterN?

  4. Davide
    14 gennaio 2015 a 12:37 | #7

    Ciao Flavio, complimenti per l’ ottima guida, molto ben descritta e comprensibile.

    Premetto che sono a digiuno di Java per cui una mia carenza di programmazione in questo linguaggio potrebbe essere una passeggiata per te.

    Ho già implementato 123Solar sul Raspberry seguendo la giuda di Walter62 e funziona correttamente da un anno circa, implementando tutti i vari aggiornamenti.

    Stavo cercando di implementare anche MeterN ma sto trovando grosse difficoltà nell’ avvio del server Java; ho installato e configurato i vari sw sul RB e all’ avvio del server Java (sia che venga lanciato come utente pi o sudo) mi fornisce l’ errore

    pi@raspi-metern ~ $ java -cp /opt/pi4j/lib/pi4j-core.jar:/var/www/metern/comapps/bin/:. pv.PoolServer -g 8 -pv 0.3125
    Exception in thread “main” java.lang.NoClassDefFoundError: com/pi4j/io/gpio/GpioFactory
    at pv.PoolServer.(PoolServer.java:24)
    at pv.PoolServer.main(PoolServer.java:146)
    Caused by: java.lang.ClassNotFoundException: com.pi4j.io.gpio.GpioFactory
    at java.net.URLClassLoader$1.run(URLClassLoader.java:372)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:360)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
    … 2 more

    Installato su una nuova SD (ripartendo da Wheezy, installando 123Solar, installando MeterN), mi si presenta il medesimo problema.

    Ripercorso tutti i passi della guida e rifatto la sola installazione di MeterN, mi ritorna sempre il problema del mancato avvio del server Java.

    Reinstallato la macchina Java (anche se presente su RB), il risultato nono cambia.

    Hai la possibilità di fornirmi qualche indicazione per risolvere il problema?

    Ho anche notato che dai tuoi screenshot tu hai un’ indicazione di monitoraggio relativa alla produzione e immissione (strumento a zero centrale), al lancio del mio applicativo, riscontro sempre un indicatore identico a quello di 123Solar. Dove sto sbagliando ?!?!?

    (P.s.: nella guida ho riscontrato alcuni “bug” di stesura:
    a fine di pag. 14 , al momento di creare il link per il pooler, manca il “sudo” all’ inizio della riga

    ln -s /var/www/metern/comapps/pooler.php /usr/bin/pooler

    andrebbe corretto in

    sudo ln -s /var/www/metern/comapps/pooler.php /usr/bin/pooler

    a pag. 16 (si evince dal prompt #) per la modifica del file rc.nano andrebbe inserito il comando

    sudo -s

    prima di

    ..# cd /etc
    ../etc# nano rc.local

    per il resto…. 10 e lode per il lavoro ;-)

    AIUTOOOOOOO :-(

    • 14 gennaio 2015 a 16:40 | #8

      Ciao e grazie per le correzzioni che provvederò ad inserire nella prossima versione (io eseguo sempre da utente root per cui i sudo mi sfuggono… ).

      Per java, hai verificato che sia installato correttamente con il comando java -version e che la versione sia la stessa indicata nella guida?
      Sei sicuro di aver seguito passo passo quanto indicato nella guida relativamente alla parte java?

  5. Davide
    14 gennaio 2015 a 17:25 | #9

    La versione di java installata è corretta (come da procedura)

    pi@fv-aurora ~ $ java -version
    java version “1.8.0_06″
    Java(TM) SE Runtime Environment (build 1.8.0_06-b23)
    Java HotSpot(TM) Client VM (build 25.6-b23, mixed mode)

    Per scrupolo, visto che avevo installato anche la distro nuova di wheezy (2014-12-24-wheezy-raspbian.img), ho effettuato anche il downgrade di java portandola da build 1.8.0_06-b123 a quella indicata nella procedura, ma senza effetti positivi.

    Ora. dopo aver effettuato una ennesima nuova installazione e lanciano il client java mi compare il seguente messaggio di errore

    pi@fv-aurora ~ $ java -cp /var/www/metern/comapps/bin/ pv.PoolClient -c live -um W -cn 2
    Exception in thread “main” java.net.ConnectException: Connessione rifiutata
    at java.net.PlainSocketImpl.socketConnect(Native Method)
    at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:345)
    at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206)
    at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188)
    at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
    at java.net.Socket.connect(Socket.java:589)
    at java.net.Socket.connect(Socket.java:538)
    at java.net.Socket.(Socket.java:434)
    at java.net.Socket.(Socket.java:211)
    at pv.PoolClient.main(PoolClient.java:46)

    Per quanto riguarda il layout dell’ interfaccia web, sono riuscito a risolvere i problemi ricontrollando i dati immessi nei vari campi confrontando con la procedura scritta (errara digitazione dei campi da parte mia).

    • 14 gennaio 2015 a 17:46 | #10

      Il problema è che non viene caricato il server java.
      Puoi fare la prova ad eseguire manualmente da terminale il comando del server (attento alla corretta sintassi, SPAZI COMPRESI), e se non ti dà errori lascia tutto fermo ed esegui in un secondo terminale il client e verifica si ti risponde correttamente.

  6. Davide
    14 gennaio 2015 a 18:04 | #11

    @Flavio
    Il server java non viene caricato, per cui il client non può rispondere.

    Ho tolto l’ autostart dal rc.local e dopo il reboot ho lancianto il server manualmente; compare l’ errore:

    pi@fv-aurora ~ $ sudo java -cp /opt/pi4j/lib/pi4j-core.jar:/var/www/metern/comapps/bin/:. pv.PoolServer –g 8 -pv 0.3125
    wiringPiSetup: mmap failed: File o directory non esistente

    ed il prompt su putty non ricompare più….. se non premendo CTRL+C

    • 16 gennaio 2015 a 9:33 | #12

      Il tuo problema sembra derivare da PI4J.

      Ho visto sul loro sito che hanno cambiato le modalità di installazione, non vorrei che fosse quello a creare problemi.

      Prova a disinstallarlo con il comando:
      sudo apt-get remove pi4j or pi4j –uninstall
      (non sò se funziona avendolo installato in altro modo – se non funziona cancella la cartella di pi4j in /opt/)

      Poi reinstallalo con il comando indicato sul sito:
      curl -s get.pi4j.com | sudo bash

      Fammi sapere com’è andata …

  7. Davide
    16 gennaio 2015 a 11:53 | #13

    @Flavio
    A quanto pare abbiamo lavorato in telecinesi, ma tu sei arrivato alla conclusione precedendomi di 30 minuti :-)

    La procedura che ho adottato io è identica a quella che suggerisci: disinstallare la versione precedente di pi4j e reinstallare nuovamente utilizzando il comando

    curl -s get.pi4j.com | sudo bash.

    Successivamente all’ installazione delle nuove librerie PI4J l’ applicazione è operativa immediatamente, senza effettuare il reboot.

    L’ anomalia risiedeva nel fatto che le librerie PI4J non venivano installate della dir /opt, risolta con la nuova procedura.

    Grazie di tutto !

    • 16 gennaio 2015 a 12:06 | #14

      evidentemente non hai fatto il comando cd /opt prima di installare pi4J.

      Comunque cambio la guida con la nuova procedura, così evitiamo problemi futuri

  8. Davide
    16 gennaio 2015 a 11:57 | #15

    @Flavio
    Ora provo anche ad effettuare l’ upgrade alla versione 0.7.1 di MeterN e poi ti faccio sapere se ho incontrato difficoltà.

  9. Davide
    16 gennaio 2015 a 16:37 | #16

    @Flavio
    Il comando /opt era stato fornito anche perchè dopo l’ ennesimo fallimento, controllavo anche gli spazi bianchi per evitare di aver digitato errori; evidentemente quella distro non installava i files dove doveva.

    Ora ho installato gli applicativi sul Raspberry operativo e sembra funzionare tutto, se non fosse che oggi la produzione media, causa pioggia, si attesta a 20W medi; mi toccherà aspettare un po’ di sole per la verifica globale….

    Per quanto riguarda la versione java installata, attualmente ho la 1.8.0-b132

    pi@fv-aurora ~ $ java -version
    java version “1.8.0″
    Java(TM) SE Runtime Environment (build 1.8.0-b132)
    Java HotSpot(TM) Client VM (build 25.0-b70, mixed mode)

    e tutto funziona regolarmente, per cui penso che sia importante avere una versione java uguale o superiore a quella da te indicata.

    Altri due piccole sviste riscontrate nella procedura sono relative alle due immagini verso la fine (pag. 30 e 31) indicanti la corretta esecuzione del test dove al posto dell’ indicazione

    “1(0xWh) is a valid entry”

    Dovrebbe comparire la dicitura

    “2(0xWh) is a valid entry”

    dove la prima cifra indica il sensore monitorato.

    L’ ultima indicazione riguarda la numerazione finale delle pagine da correggere.

    E dopo tutto questo rompimento di scatole, sperando di non essere stato troppo pedante, penso che tu offrirò una birra !!!

    Saluti.

  10. 17 gennaio 2015 a 18:02 | #17

    Ciao Flavio, complimenti per l’ottimo lavoro svolto.
    In merito avrei una domanda da porti.
    Dal momento che mi trovo impossibilitato per ragioni logistiche, ad installare 123solar e meterN sullo stesso raspberry, è possibile modificare il file pool123solar.php che risiede in /var/www/metern/comapps, in modo che punti al raspberry di 123solar?
    Rispettivamente nella riga del file pool123solar relativa al percorso ( $pathto123s = ‘/var/www/123solar ) come dovrebbe essere?
    Ho cercato in tutti i modi, ma ancora non ci sono riuscito.
    Grazie per l’aiuto che potrai darmi.

    • 9 febbraio 2015 a 9:00 | #18

      Tutto è possibile fare, si tratta solo di modificare il programma.
      Solo che io non ti sò aiutare. Prova a scrivere sul forum di MeterN

  11. roberto
    20 febbraio 2015 a 23:21 | #19

    ciao Flavio ho seguito la tua guida per l’istallazione di metern , premetto cho ho istallato 123solar versione 1.6.5.8 , funzionante perfettamente
    metren versione 0.7.3 , quando faccio i test di funzionamento con il comando
    curl http://localhost/metern/comapps/pool123s.php?cmd=2 da errore
    Direct access not permitted is not valid, the correct format is 1(1234.5*Wh)
    anche con curl http://localhost/metern/comapps/pool123s.php?cmd=1 restituisce
    Direct access not permitted is not valid, the correct format is 1(1234.5*W)
    invece con il comando pooler elect restituisce
    is not valid, the correct format is 2(1234.5*Wh
    mentre gli altri test funzionano correttamente …
    ho già rifatto listallazione 2 volta ma nulla da fare , mi sono accorto che nella guida si cita , come file di configurazione 123solar.php , mentre con la nuova istallazione il file è chiamato 123s.php , io ho modificato quest ultimo .
    se non è chiedere troppo non è possibile avere la versione di metern 0.7 quella della guida per intenderci , visto che io con la 0.7.3 non riesco a farla funzionare ..
    grazie per l’aiuto che potrai darmi

    • 21 febbraio 2015 a 13:20 | #20

      Nella versione 0.7.3 sono state cambiate alcune cose fra cui proprio il pooler di 123solar. Appena ho tempo devo aggiornare al guida, perchè ci sono un sacco di novità, sia per il software che per la parte hardware con il contatore SDM120C modbus, e non più ad impulsi.
      Se vuoi, intanto ti ho condiviso la versione di metern 0.7.2, che è compatibile con la mia guida.

  12. roberto
    21 febbraio 2015 a 14:50 | #21

    grazie , io seguendo la guida ho acquistato un contatore a impulsi .
    questasera riprovo l’istallazione , ma continuerò a seguire il tuo fantastico lavoro .
    grazie ancora

    • 21 febbraio 2015 a 15:33 | #22

      Il contatore ad impulsi funziona benissimo (l’ho usato personalmente per diversi mesi). L’unico neo è che il sistema di lettura degli impulsi carica parecchio la CPU del raspberry ed è per questo che si possono monitorare al massimo 2 contatori con il sistema ad impulsi. Invece con il contatore seriale RS485 non c’è più questo problema, potendo così monitorare fino a 32 contatori sullo stesso doppino seriale.
      Questo permette così di poter installare il siustema di monitoraggio anche nel caso in cui non si ha un inverter compatibile con 123solar.
      Basta usare 2 contatori SDM120C : uno per i consumi ed uno per la produzione fotovoltaica.
      Si ha così un doppio vantaggio:
      1) il raspberry viaggia leggero e tranquillo
      2) il sistema di monitoraggio diventa universale e si possono monitorare fino a 2 diversi carichi.

      Come ho già detto stò cercando di aggiornare la guida, ma richiede tempo ……

      PS: se il mio lavoro vi è stato utile, valutate di usare ANCHE questa pagina: DONAZIONE ;)

  13. Pongo
    23 febbraio 2015 a 16:26 | #23

    @Stefano
    E’ possibile leggere la produzione dal pooler anche se su un sitema diverso, basta condividere la cartella dove è installato 123solar con nfs o sshfs (usando la connessione con chiave pubblica)

  14. Emilio
    8 ottobre 2015 a 0:10 | #24

    Ciao Flavio,
    avrei due domande di tipo elettronico e cioè:
    1°) il contatore può essere collegato su correnti continue, ad esempio all’uscita del regolatore di carica verso il pacco batteria di un impianto fotovoltaico con massimali di 80A tramite shunt?
    2°) esiste il medesimo contatore con porta WiFi invece della porta RS485?

    Grazie e buona giornata.
    Inoltre volevo farti i miei complimenti sul manuale che ho prontamente scaricato

    • 22 ottobre 2015 a 22:14 | #25

      1) Il contatore è fatto per correnti alternato, non può essere usato in continua
      2) non saprei, ma non credo

  15. alex
    23 dicembre 2015 a 10:13 | #26

    aiuto il server di metern mi da’ questo errore

    Exception in thread “main” java.net.BindException: Indirizzo gia’ in uso
    at java.netPlainSocketImpl.socketBind(Native Method)
    at java.net.AbstractPlainSocketImpl.bind(AbstractPlainSocketImpl.java:382)
    at java.net.ServerSocket.bind(ServerSocket.java:375)
    at java.net.ServerSocket.(ServerSocket.java:237)
    at java.net.ServerSocket.(ServerSocket.java:128)
    at pv.PoolServer.main(PoolServer.java:145)

    • 23 dicembre 2015 a 10:22 | #27

      Scusa ma ho bisogno di qualche indicazione in più.
      Stai usando un contatore ad impulsi con il programma Java per la lettura?
      Se è così credo che il server Java non sia avviato.

      Vedi nei commenti sopra c’è lo stesso errore dovuto al fatto che hanno cambiato la procedura di installazione di Pi4J, con la relativa soluzione.

  16. alex
    23 dicembre 2015 a 11:13 | #28

    @Flavio
    ciao

    il server non si avvia ma se faccio il test script java mi restituisce 2(0*w) quindi la lettura la fa’

    ho installato anche 123solar e funziona perfettamente

  17. alex
    23 dicembre 2015 a 12:02 | #29

    @Flavio
    ho provato a reinstallare pi4j come sopra descritto ma mi da’ lo stesso errore.

    se apro localhost/meter/admin mi chiede la password la inserisco do ok

    password salvata utente admin non dimenticare do ok

    mi riporta a localhost/meter/admin

    • 24 dicembre 2015 a 16:21 | #30

      Immagino tu sia partito dall’ultima versione di Raspbian Jessie.
      Prova ad usare Raspbian Wheezy come indicato nella guida, perchè nella nuova versione Jessie ci sono alcune cose diverse sul web server ed altro.

      Il problema è comunque che non si avvia il server java, ed il problema dovrebbe essere solo nell’installazione di Pi4J.
      Prova eventualmente a rifare l’installazione con Raspbian Wheezy, ma per Pi4J segui le istruzioni sopra e non quelle della guida e poi esegui i test di avvio del server Java indicato nella guida.

      Fammi sapere ;)

  18. alex
    23 dicembre 2015 a 12:09 | #31

    @Flavio
    ho installato anche

    server di stampa cups
    server scanner sane

    potrebbero essere loro a dare problemi ?2

  19. alex
    23 dicembre 2015 a 17:21 | #32

    ho disattivato tutti i server ma niente da fare

    aiutoooooooooooooooooooooooo

    @Flavio

  20. alex
    26 dicembre 2015 a 10:36 | #33

    @Flavio
    grazie ci provo..

    a presto..

  21. Gianluca
    17 ottobre 2016 a 8:51 | #34

    Buongiorno a tutti,
    ho quasi installato metern n sul mio raspy, ho solo un problema, quando accedo e mi chied user e pw inserendo quelle di default, non mi fa entrare e mi rimanda sempre alla stessa schermata, come mai? cosa ho sbagliato?

    grazie

  22. Andrea
    16 febbraio 2017 a 16:28 | #36

    Ciao a tutti..
    maaa se io avessi un impianto da 65Kw con 5 inverter, è fattibile tener monitorato il tutto? oppure questa soluzione va bene per gli impianti monoinverter?
    perchè il datalogger attuale che avevo in uso è morto ora dovrei sostituirlo (700€) + pagare il canone annuale (180€) per collegarmi al loro server per vedere i dati, in tempo reale e storici, del mio impianto…..

    grazie…

    • 17 febbraio 2017 a 21:33 | #37

      Il software 123solar riesce a monitorare anche impianti multinverter.
      Se i tuoi inverter non sono Power ONE / ABB, puoi utilizzare 5 contatori SDM230modbus per rilevare la produzione di ogni inverter e monitorare il tutto con 123solar.
      Il costo dell’investimento di raspberry e contatori è decisamente inferiore, inoltre non c’è nessun canone annuale.
      I dati sono loggati sul tuo raspberry in locale, è possibile consultarli anche da remoto tramite internet (aprendo la porta 80 sul router) ed eventualmente fare dei backup su server ftp locale o remoto.

  23. attaia
    21 novembre 2018 a 15:43 | #38

    il sistema raspberry è collegabile a qualunque inverter?
    io sarei indeciso tra Fronius o Huawei SUN2000L ma considero indispensabile il monitoraggio, per cui sarebbe utile sapere quale sia interfacciabile.grazie

    • 21 novembre 2018 a 16:55 | #39

      Il monitoraggio con Raspberry è compatibile con qualsiasi inverter se si utilizza uno specifico contatore per la lettura della produzione (solo per alcuni inverter tipo POwer ONE / ABB è stato sviluppato uno specifico protocollo per leggere la produzione direttamente dall’inverter).

      In wiki trovi la guida a riguardo.

  24. Stefano Maldarelli
    4 marzo 2019 a 22:14 | #40

    Ciao Flavio,ti faccio i complimenti per il modo “semplice” con cui rendi concetti a molti,me compreso,ostici. Grazie di nuovo.
    Ora,la “dashboard” gira in locale e la controlli sempre in locale ? Mi spiego meglio,io sto cercando di far raggiungere la mia dashbord in locale via rete esterna, ma ho problemi di sicurezza,allora volevo sapere come avevi risolto , vpn o proxy reverse ecc …
    Grazie in ogni caso dell’attenzione
    Stefano

    • 10 marzo 2019 a 23:51 | #41

      Per questi chiarimenti usa il forum
      I tuoi dubbi potrebbero interessare anche altri ed il forum è uno strumento migliore per condividere queste informazioni.

  25. neversleep54
    5 agosto 2019 a 15:47 | #42

    buongioro
    ho letto mole vostre guide ma devo scrivervi perche mi sento incasinato.
    ho un inverte abb uno
    ho un raspberry pi 3 b
    volevo monitorare produzione e consumi tramie 123solar e metern
    NON VOGLIO METTERE MANO ALL IMPIANTO ELETTRICO
    pensavo.. usare sensori tipo pinze amperometriche (collegate al raspberry) sui cavi dell inverter…. inviare i dati in wifi al sito ( in modo da poterli vedere dal cell/table/pc remoto) .
    dic he sensori ho bisogno ? che guida seguo ? coa devo comprare ancora?( le sonde ;-) )

    inoltre avrei bisogno che se le sonde di watt prodotti superano una certa soglia.. (400 watt)… mi parta in automatico un file bat / bach sul pc windows/ubuntu. (programma di mining) e sotto quella soglia (o circa) mi chiuda il fila bat/bach.

    e’ fattibile o chiedo la luna ?

    perfavore chiedo aiuto e spero che la mia richiesta sia utile anche ad altre persone

    • 12 agosto 2019 a 7:32 | #43

      In wiki trovi indicato l’hardware ed il software per fare il monitoraggio, compreso l’uso di contatori con pinza amperometrica.

I commenti sono chiusi.

Utilizzando il sito, accetti l'utilizzo dei cookie da parte nostra. maggiori informazioni

Questo sito utilizza i cookie per fonire la migliore esperienza di navigazione possibile. Continuando a utilizzare questo sito senza modificare le impostazioni dei cookie o clicchi su "Accetta" permetti al loro utilizzo.

Chiudi