Monitoraggio con InfluxDB e Grafana - EnergeticAmbiente.it

annuncio

Comprimi
Ancora nessun annuncio.

Monitoraggio con InfluxDB e Grafana

Comprimi
X
 
  • Filtro
  • Ora
  • Visualizza
Elimina tutto
nuovi messaggi

  • #91
    @fcattaneo puoi usare anche il plugin metaqueries per le operazioni aritmetiche che sicuramente è molto più agile delle subquery
    me ne ero completamente dimenticato

    Ad esempio, per calcolare il delta della PDC
    Clicca sull'immagine per ingrandirla. 

Nome:   Schermata del 2020-04-17 15-06-23.png 
Visite: 1 
Dimensione: 52.0 KB 
ID: 1974600
    Ultima modifica di raffaelem; 17-04-2020, 14:07. Motivo: esempio metaqueries
    Monti prenestini (RM) - 1885gg
    LG Therma V Split R32 9kW + ECO COMBI1 500lt (impianto a termosifoni)
    Fotovoltaico 4.76 kWp

    Commenta


    • #92
      Originariamente inviato da fcattaneo Visualizza il messaggio


      Ora volevo chiederti una cosa... ho 2 serie di dati di energia incrementali dei quali vorrei calcolare la differenza al giorno e rappresentarla in un grafico a barre ... come posso fare ?
      ( si tratta di calcolare il cop medio giornaliero come prodotto di 2 energie al giorno ( prodotta termica / elettrica consumata )

      In pratica con le 2 query che ti posto sotto, calcolo l'energia prodotta dalla PDC al giorno e l'energia elettrica consumata dalla PDC al giorno... vorrei aggiungere una terza serie che ne rappresenti la differenza ma non riesco.

      codice:
      SELECT difference(mean("kwh4"))  / 1000 FROM "Energia" WHERE $timeFilter GROUP BY time(24h) fill(null)
      
      SELECT difference(mean("kwh2"))  / 1000 FROM "Energia" WHERE $timeFilter GROUP BY time(24h) fill(null)
      

      Ciao,
      F.
      La risposta al tuo quesito dovrebbe essere quanto avevo spiegato in questo post

      Monitoraggio impianto fotovoltaico con InfluxDB, Grafana, SDM Modbus e MBMD (opzionale il Raspberry)

      dell'altra discussione che poi si è scassata alla pagina 11, motivo per il quale avevo poi aperto questa..

      Non so se mean() è corretto, io prendo il last() (quindi la differenza fra gli ultimi valori di un giorno e il precedente)

      codice:
      SELECT difference(last("value")) FROM "autogen"."data" WHERE ("device" = 'SDM1.1' AND "type" = 'Import') AND $timeFilter GROUP BY time(1d) fill(null)
      per la terza serie usa le MetaQueries.

      Il risultato finale è questo

      Monitoraggio impianto fotovoltaico con InfluxDB, Grafana, SDM Modbus e MBMD (opzionale il Raspberry)

      (vedi poi raffinamenti nei successivi post)
      20*305W (ovest) + 11*460W (est) + 3*385W (sud)- Totale: 12.3Kw + Solaredge 6kw.
      Monitoraggio con InfluxDB, Grafana, Docker, Raspberry | Discussione: https://bit.ly/2XAol57 | Guida completa su Github: https://bit.ly/2XTm8Sh

      Commenta


      • #93
        Originariamente inviato da raffaelem Visualizza il messaggio
        @fcattaneo puoi usare anche il plugin metaqueries per le operazioni aritmetiche che sicuramente è molto più agile delle subquery
        me ne ero completamente dimenticato
        Grazie ad entrambi per la dritta.
        In attesa di guardare cosa sono se metaqueris ho provato con le subquery..

        SELECT mean("corrente") * mean("tensione") AS "potenza", mean("Ipv") AS "corrente", mean("Vbatt") AS "tensione" FROM Isola WHERE $timeFilter GROUP BY time(1m) fill(previous)

        Questa query non mi da errore ma vedo solo la serie della tensione e quella della corrente.. la terza definita all'inizio come prodotto delle 2 ( potenza ) non la vedo.
        Segui on-line il funzionamento dei miei impianti in tempo reale.
        Impianto Fotovoltaico grid: 7 pannelli Sanyo HIP 205, 1.44 kWp, Az 90°, Tilt 17°, Inverter Fronius IG.15 + Impianto fotovoltaico in isola da 0,86 kWp con 10 kWh di accumulo + impianto solare termico a svuotamento da 7mq + pompa di calore Altherma 3 Compact R32 da 8 kW.

        Commenta


        • #94
          Originariamente inviato da fcattaneo Visualizza il messaggio
          Grazie ad entrambi per la dritta.
          In attesa di guardare cosa sono se metaqueris ho provato con le subquery..

          SELECT mean("corrente") * mean("tensione") AS "potenza", mean("Ipv") AS "corrente", mean("Vbatt") AS "tensione" FROM Isola WHERE $timeFilter GROUP BY time(1m) fill(previous)

          Questa query non mi da errore ma vedo solo la serie della tensione e quella della corrente.. la terza definita all'inizio come prodotto delle 2 ( potenza ) non la vedo.
          Da quello che sono riuscito a capire fino ad ora (il viaggio è ancora lungo) non puoi fare somme o moltiplicazioni fra valori, quindi il tuo

          SELECT mean("corrente") * mean("tensione")

          è corretto non funzioni.

          Almeno a secondo di come sono caricati i dati.
          I miei timeseries sono nella forma

          time, SDM=1, corrente= 1
          time, SDM=1, tensione= 100

          quindi la select tira fuori solo o power o import ...

          Se tu invece hai i dati

          time, SDM=1, corrente= 1, tensione= 100

          allora forse hai speranza.
          Su questo però non posso esserti però d'aiuto.

          A me questa subquery funziona, con i dati nella prima forma (la mia :-) )

          codice:
          SELECT mean("prelievo_immissione") + mean("solare") as "consumo"  FROM
          (SELECT mean("value") as  "prelievo_immissione" FROM "autogen"."data" WHERE ("device" = 'SDM1.1' AND "type" = 'PowerL1') AND $timeFilter GROUP BY time($__interval) fill(previous)), 
          (SELECT mean("value") as "solare" FROM "autogen"."data" WHERE ("device" = 'SDM1.2' AND "type" = 'PowerL1')  AND $timeFilter  GROUP BY time($__interval) fill(previous))
          GROUP BY time($__interval) fill(null)
          20*305W (ovest) + 11*460W (est) + 3*385W (sud)- Totale: 12.3Kw + Solaredge 6kw.
          Monitoraggio con InfluxDB, Grafana, Docker, Raspberry | Discussione: https://bit.ly/2XAol57 | Guida completa su Github: https://bit.ly/2XTm8Sh

          Commenta


          • #95
            Originariamente inviato da fcattaneo Visualizza il messaggio
            Grazie ad entrambi per la dritta.
            In attesa di guardare cosa sono se metaqueris ho provato con le subquery..

            SELECT mean("corrente") * mean("tensione") AS "potenza", mean("Ipv") AS "corrente", mean("Vbatt") AS "tensione" FROM Isola WHERE $timeFilter GROUP BY time(1m) fill(previous)

            Questa query non mi da errore ma vedo solo la serie della tensione e quella della corrente.. la terza definita all'inizio come prodotto delle 2 ( potenza ) non la vedo.
            eh ma dov'è la subquery scusa?
            io vedo una sola select e tre alias che è ben diverso, la meta sintassi è questa

            codice:
            QUERY a + b
            ( sub-query AS a ), 
            ( sub-query AS b )
            dove gli alias "a" e "b" sono definiti nella SELECT (come hai fatto tu)

            poi che quella non ti funzioni è normale, se hai i dati nella forma variable,value stai operando su due record diversi (anche se con lo stesso timestamp)
            Monti prenestini (RM) - 1885gg
            LG Therma V Split R32 9kW + ECO COMBI1 500lt (impianto a termosifoni)
            Fotovoltaico 4.76 kWp

            Commenta


            • #96
              Originariamente inviato da glfp Visualizza il messaggio

              Se tu invece hai i dati

              time, SDM=1, corrente= 1, tensione= 100

              allora forse hai speranza.

              Si i dati li ho aggregati in quel modo; cosi funziona :
              SELECT (mean("Vbatt")*mean("Ibatt") )/1000000 AS potenza FROM "Isola" WHERE $timeFilter GROUP BY time($__interval) fill(null)

              Trova la potenza espressa in Watt come espressione del prodotto tra tensione in millivolt x corrente in milliampere.

              Sono riuscito ad importate tutti i miei dati da Emoncms... un lavoro assurdo... ora vanno entrambi i sistemi in paralello.

              F.
              Segui on-line il funzionamento dei miei impianti in tempo reale.
              Impianto Fotovoltaico grid: 7 pannelli Sanyo HIP 205, 1.44 kWp, Az 90°, Tilt 17°, Inverter Fronius IG.15 + Impianto fotovoltaico in isola da 0,86 kWp con 10 kWh di accumulo + impianto solare termico a svuotamento da 7mq + pompa di calore Altherma 3 Compact R32 da 8 kW.

              Commenta


              • #97
                Originariamente inviato da fcattaneo Visualizza il messaggio
                Sono riuscito ad importate tutti i miei dati da Emoncms... un lavoro assurdo... ora vanno entrambi i sistemi in paralello.

                F.
                Grande !

                Magari puoi condividere con noi l'approccio che hai usato per importare i dati e gestirli in parallelo.
                Potrebbe essere utile alle future generazioni
                20*305W (ovest) + 11*460W (est) + 3*385W (sud)- Totale: 12.3Kw + Solaredge 6kw.
                Monitoraggio con InfluxDB, Grafana, Docker, Raspberry | Discussione: https://bit.ly/2XAol57 | Guida completa su Github: https://bit.ly/2XTm8Sh

                Commenta


                • #98
                  Originariamente inviato da glfp Visualizza il messaggio
                  Grande !

                  Magari puoi condividere con noi l'approccio che hai usato per importare i dati e gestirli in parallelo.
                  Potrebbe essere utile alle future generazioni
                  Certamente!!!

                  Emoncms usa un formato dei dati chiamato phpfina che puo essere convertito in un file CSV tramite lo script php che ho trovato qui :

                  Access data files & convert to csv - Getting Started - Community

                  si usa cosi da riga di comando ( numerofeed è il numero del feed emoncms che si vuole importare ) :

                  php nomefile.php numerofeed

                  Una volta creato il file lo si apre con un editor di testo e si aggiungono in testa i nomi dei 2 campi ( per quello timestamp usare obbligatoriamente il nome 'timestamp' ) questo perche lo script non nomina i campi.

                  Questo potrebbe essere un esempio di file csv che viene prodotto :

                  timestamp, TK
                  1528350119,31
                  1528351009,30
                  1528351134,35
                  ecc,ecc
                  ecc,ecc

                  Una volta che si ha questo file lo si puo uploadare su Influxdb usando lo script molto bello fatto da Fabio Miranda che è disponibile su GIT :

                  GitHub - fabio-miranda/csv-to-influxdb: Simple python script that inserts data points read from a csv file into a influxdb database.

                  Che però ho dovuto modificare abbastanza pesantemente perché non funziona se il campo timestamp è fornito nel formato timestamp... come invece viene prodotto dallo script sopra.

                  Se qualcuno arriva fino a qua e gli interessa, posso mandargli il file modificato e funzionante.

                  __________________________-

                  Una volta che si ha il database Influxdb aggiornato con i dati dei feed uploadati con il metodo fin qui descritto, si puo mantenerlo sincronizzato in vari modi... io ho realizzato un programma python che viene schedulato ogni minuto dallo scheduler di Linux e che raccoglie l'ultimo valore di ogni feed e lo invia al database Influxdb.

                  Lo allego qua :

                  codice:
                  #
                  # script in python realizzato da Cattaneo Fabrizio ( portalsole.it ) per importare l'ultimo feed scritto in emoncms ed inviarlo ad una installazione di InfluxDb
                  #  questo programma va schedulato con lo scheduler di Linux ( es. 1 volta al minuto )
                  #  servono le librerie x Influxdb :
                  #  sudo apt-get install python-influxdb
                  #
                  import urllib
                  import time;
                  from influxdb import InfluxDBClient
                  
                  
                  timestamp = int(time.time())
                  timestamp=timestamp*1000000000      #timestamp in nanosecond pro influx
                  
                  
                  API= "0aee8ab02cee81xaxax11222xcaxa11b9" # emoncms API key
                  
                  def feedval(feedid):
                          data_url="http://localhost/emoncms/feed/value.json?apikey=" + API + "&id=" + str(feedid)
                          # read in the data from emoncms
                          try:
                                  sock = urllib.urlopen(data_url)
                                  data_str = sock.read()
                                  sock.close
                                  return float(data_str)
                                  except Exception, detail:
                                  print "Error ", detail
                  
                  
                  
                  pw1=feedval(191)        #get potenza solare termico
                  pw2=feedval(104626)     #get potenza prodotta PDC from emoncms
                  pw4=feedval(167)        #get potenza fotovoltaico from emoncms
                  pw5=feedval(104669)     #get potenza consumata PDC in riscalamento
                  pw6=feedval(179)        #get potenza totale consumata 
                  pw7=feedval(172)        #get potenza scambiata 
                  
                  tk=feedval(186)*100         #get temperatura  pannelli TK
                  ts=feedval(187)*100         #get temperatura  TS
                  tr=feedval(188)*100         #get temperatura  TR
                  ta=feedval(104558)*100      #get temperatura  esterna
                  t2=feedval(104625)*100      #get temperatura  ingresso PDC
                  t3=feedval(104624)*100      #get temperatura  uscita PDC
                  t5=feedval(104581)*100      #get temperatura ACS
                  
                  q1=feedval(104620)*100      #get portata acqua al solare
                  q2=feedval(104627)*100      #get portata acqua riscaldamento
                  pm10=feedval(104682)*100    #get livello polveri PM10 esterno
                  pm25=feedval(104685)*100    #get livello polveri PM2.5 esterno
                  
                  
                  #dati impianto in isola:
                  soc=feedval(104640)         #get battery SOC
                  Vbat=feedval(171)*100       #get battery voltage
                  Ibat=feedval(104632)        #get battery current
                  Ipv=feedval(104629)         #get PV current
                  load=feedval(104600)        #get current to load
                  
                  
                  
                  client = InfluxDBClient(host='localhost', port=8086)
                  client.switch_database('test')
                  
                  
                  
                  json_body = [
                      {
                          "measurement": "Potenze",
                          "time": timestamp,
                          "fields": {
                          "pw1": pw1,
                          "pw2": pw2,
                          "pw4": pw4,
                          "pw5": pw5,
                          "pw6": pw6,
                          "pw7": pw7
                          }
                      }
                  ]
                  
                  client.write_points(json_body)
                  
                  json_body = [
                      {
                          "measurement": "Temperature", 
                          "time": timestamp,
                          "fields": {
                              "tk": tk,
                          "ts": ts,
                              "tr": tr,
                              "ta": ta,
                              "t2": t2,
                          "t3": t3,
                          "t5": t5
                          }
                      }
                  ]
                  
                  client.write_points(json_body)
                  
                  json_body = [
                      {
                          "measurement": "Isola",
                          "time": timestamp,
                          "fields": {
                              "soc": soc,
                              "Vbat": Vbat,
                              "Ibat": Ibat,
                              "Ipv": Ipv,
                              "load": load
                          }
                      }
                  ]
                  
                  client.write_points(json_body)
                  
                  
                  json_body = [
                      {
                          "measurement": "Varie",
                          "time": timestamp,
                          "fields": {
                              "q1": q1,
                              "q2": q2,
                              "pm10": pm10,
                              "pm25": pm25
                          }
                      }
                  ]
                  
                  client.write_points(json_body)
                  
                  
                  
                  Come si puo vedere dal file, io raggruppo alcuni feed emoncms come 'measurement' di Influxdb che sono assimilabili ad una organizzazione in campi di informazioni,
                  i nomi che ho usato io sono Temperature, Potenze,Isola,Varie ecc. ecc. ma nulla vieta di suare nomi a piacere; occorre anche definire il nome del database.. nel codice si vede bene dove.





                  Segui on-line il funzionamento dei miei impianti in tempo reale.
                  Impianto Fotovoltaico grid: 7 pannelli Sanyo HIP 205, 1.44 kWp, Az 90°, Tilt 17°, Inverter Fronius IG.15 + Impianto fotovoltaico in isola da 0,86 kWp con 10 kWh di accumulo + impianto solare termico a svuotamento da 7mq + pompa di calore Altherma 3 Compact R32 da 8 kW.

                  Commenta


                  • #99
                    Ok, quindi

                    1) hai prima caricato lo storico "a mano" usando i CSV
                    2) dopodichè ogni minuto accedi a emoncms tramite API per caricare l'ultimo dato.

                    Ti chiedo solo se avevi valutato Telegraf per entrambi gli aspetti e, se si, cosa ti ha convinto a gestire poi il tutto tramite Python.

                    Grazie ;-)
                    20*305W (ovest) + 11*460W (est) + 3*385W (sud)- Totale: 12.3Kw + Solaredge 6kw.
                    Monitoraggio con InfluxDB, Grafana, Docker, Raspberry | Discussione: https://bit.ly/2XAol57 | Guida completa su Github: https://bit.ly/2XTm8Sh

                    Commenta


                    • Originariamente inviato da fcattaneo Visualizza il messaggio

                      Emoncms usa un formato dei dati chiamato phpfina che puo essere convertito in un file CSV tramite lo script php che ho trovato qui :
                      Il contrario lo sapevi fare ? cioà se per qualche ragione , tipo un riavvio di corrente
                      , mi si azzera un dato giornaliero soprattutto , posso inserirlo nel databse di Emoncms ? O popolare il database con un csv ?
                      AUTO BANNATO

                      Commenta


                      • fare le cose in entrambe i sensi è sempre fattibile, cambia un pochino l'onere di lavoro ed i modi sono molteplici

                        per passare da influx ad un db emoncms hai da convertire la timestamp nel formato "YYYY-MM-DD H:M:S"
                        Monti prenestini (RM) - 1885gg
                        LG Therma V Split R32 9kW + ECO COMBI1 500lt (impianto a termosifoni)
                        Fotovoltaico 4.76 kWp

                        Commenta


                        • Originariamente inviato da glfp Visualizza il messaggio
                          Ok, quindi

                          1) hai prima caricato lo storico "a mano" usando i CSV
                          2) dopodichè ogni minuto accedi a emoncms tramite API per caricare l'ultimo dato.

                          Ti chiedo solo se avevi valutato Telegraf per entrambi gli aspetti e, se si, cosa ti ha convinto a gestire poi il tutto tramite Python.
                          Per il punto 1 si... prima di modificare lo script python trovato su GIT da CSV a Influx, ho tentato la strada di Telegraf.. tuttavia, forse anche a causa della mia scarsa preparazione , non sono riuscito a capire come usarlo.
                          Oltretutto Telegraf è un servizio ( quindi più adatto x fare l'opzione 2 ) e usarlo per la 1 apriva anche a problemi di logica che certamente non mi aiutavano a capire come usarlo.

                          Per il punto 2 invece non ci ho proprio pensato ad usare Telegraf ... io gia dal mio sistema basato su Emoncms, ho scritto a mano diversi software che si interfacciano a tutti i fornitori di dati che possiedo nella mia rete e che comunicano con Emoncms nei piu' svariati modi:

                          -centralina solare termico e FV grid ( ethernet http )
                          -BMS fotovovoltaico in isola ( seriale )
                          -centralina domotica ( seriale )
                          -monitoraggio PDC (ethernet )
                          -vari sensori umidita e T. wifi ( mqtt )
                          -Sds120 ( rs485 )
                          -misuatre particolato ( API wifi )
                          -.. ecc ecc., mi sono dimenticato sicuramente qualcosa d'altro.

                          Questi software non funzionano come servizi ma sono semplicemente degli eseguibili che vengono schedulati dallo scheduler di Linuxo chiamati da richieste http ... secondo me questo approccio è molto robusto.

                          La quantità di servizi che girano sul mio Raspberry 3 è già incredibile..se posso evitare di aggiungerne altri meglio.
                          Ora la mia situazione è cosi e sembra funzionare :

                          -webserver Apache,
                          -webserver Grafana,
                          -Mysql,
                          -Influxdb,
                          -Broker mqtt mosquitto,
                          -servizio Python x comunicare con Telegram,
                          ( questi quelli piu' grossi .. )

                          Ho un Raspberry con shied ssd ( non uso una SD ).

                          F.
                          Segui on-line il funzionamento dei miei impianti in tempo reale.
                          Impianto Fotovoltaico grid: 7 pannelli Sanyo HIP 205, 1.44 kWp, Az 90°, Tilt 17°, Inverter Fronius IG.15 + Impianto fotovoltaico in isola da 0,86 kWp con 10 kWh di accumulo + impianto solare termico a svuotamento da 7mq + pompa di calore Altherma 3 Compact R32 da 8 kW.

                          Commenta


                          • Originariamente inviato da spider61 Visualizza il messaggio
                            Il contrario lo sapevi fare ? cioà se per qualche ragione , tipo un riavvio di corrente
                            , mi si azzera un dato giornaliero soprattutto , posso inserirlo nel databse di Emoncms ? O popolare il database con un csv ?
                            Non l'ho mai fatto ma si può ( dipende anche dal tipo di motore di dati che hai scelto per il tuo feed Emoncms ) .. tuttavia uso da 5 anni Emoncms e da 1 settimana Grafana.... le possibilità di quest'ultimo lo eclissano..

                            Vedremo se potrò fare tutto con Grafana o se dovrò lasciare Emoncms per alcuni compiti ..

                            Ciao,
                            F.
                            Segui on-line il funzionamento dei miei impianti in tempo reale.
                            Impianto Fotovoltaico grid: 7 pannelli Sanyo HIP 205, 1.44 kWp, Az 90°, Tilt 17°, Inverter Fronius IG.15 + Impianto fotovoltaico in isola da 0,86 kWp con 10 kWh di accumulo + impianto solare termico a svuotamento da 7mq + pompa di calore Altherma 3 Compact R32 da 8 kW.

                            Commenta


                            • Originariamente inviato da fcattaneo Visualizza il messaggio

                              La quantità di servizi che girano sul mio Raspberry 3 è già incredibile..se posso evitare di aggiungerne altri meglio.
                              Senza dubbio ! Già vedendo il tuo impianto live in firma c'è da perderci mezza giornata molto affascinante !
                              Tu hai una situazione ben consolidata, quindi aggiungere altri pezzi era inutile ...

                              Ottimo lavoro ancora !
                              20*305W (ovest) + 11*460W (est) + 3*385W (sud)- Totale: 12.3Kw + Solaredge 6kw.
                              Monitoraggio con InfluxDB, Grafana, Docker, Raspberry | Discussione: https://bit.ly/2XAol57 | Guida completa su Github: https://bit.ly/2XTm8Sh

                              Commenta


                              • Originariamente inviato da fcattaneo Visualizza il messaggio
                                .. tuttavia uso da 5 anni Emoncms e da 1 settimana Grafana.... le possibilità di quest'ultimo lo eclissano..
                                emoncms è carino ma è un pachiderma al confronto, già la semplicità di installazione sarebbe sufficiente
                                con la possibilità di "parlare" con più sorgenti dati siamo al surclasso, aggiungi lo sharing... tu che hai un sito con tutto online puoi esportare un panel direttamente così come lo vedi nella dashboard
                                Monti prenestini (RM) - 1885gg
                                LG Therma V Split R32 9kW + ECO COMBI1 500lt (impianto a termosifoni)
                                Fotovoltaico 4.76 kWp

                                Commenta


                                • Si però qui ci si deve mettere a programmare per fare quello che si vuol, con meoncms o domoticz hai già le basi , input, grafici, devi solo accozzare insieme quello che vuoi.... sono troppo vecchio per mettermi a programmare non ho più la testa...
                                  Originariamente inviato da fcattaneo Visualizza il messaggio
                                  Non l'ho mai fatto ma si può ( dipende anche dal tipo di motore di dati che hai scelto per il tuo feed Emoncms ) .. tuttavia uso da 5 anni Emoncms e da 1 settimana Grafana.... le possibilità di quest'ultimo lo eclissano..
                                  io ho 10 dati da tenere sotto controllo e 2 grafici , non ho bisogno di tanto , solo che ultimamente ho aggiungo sonff a cui faccio fare da crono+ termostato e nel modificare gli script con cui trasferivo le 5 temperature con 1wire e i dati elettrici con SDM , ho azzerato il contatore dei kwh giornalieri in più occasioni , anche se ora non posso più sapere quanto erano in quel dato momento ... il bello è che se faccio un reboot del rasp mi si azzerano , se và via corrente no , buffa come cosa... con questo rispondevo anche a raffaelem , eppoi smetto perchè sono OT qui
                                  AUTO BANNATO

                                  Commenta


                                  • Originariamente inviato da spider61 Visualizza il messaggio
                                    Si però qui ci si deve mettere a programmare per fare quello che si vuol, con meoncms o domoticz hai già le basi , input, grafici, devi solo accozzare insieme quello che vuoi.... sono troppo vecchio per mettermi a programmare non ho più la testa...
                                    Guarda veramente potresti non dover programmare nulla o quasi, al massimo aggiungere una colonna con il timestamp alle tabelle dei db esistenti che già hai (creare una banalissima vista in pratica)
                                    Non avresti altro da fare che tirare su grafana e aggiungere le sorgenti dati con quattro click da browser

                                    c'è gente che a 30 anni è vecchia... tu non sarai benjamin button ma sei piuttosto "acceso" come direbbe un mio collega
                                    Monti prenestini (RM) - 1885gg
                                    LG Therma V Split R32 9kW + ECO COMBI1 500lt (impianto a termosifoni)
                                    Fotovoltaico 4.76 kWp

                                    Commenta


                                    • Originariamente inviato da spider61 Visualizza il messaggio

                                      ho azzerato il contatore dei kwh giornalieri in più occasioni , anche se ora non posso più sapere quanto erano in quel dato momento ... il bello è che se faccio un reboot del rasp mi si azzerano , se và via corrente no , buffa come cosa... con questo rispondevo anche a raffaelem , eppoi smetto perchè sono OT qui
                                      Durante gli aggiornamenti è capitato anche a me di perdere i kWh... pero sono sempre riuscito in qualche modo a farli ripartire da dove erano ( si capisce dal grafico quanto erano prima di azzerarsi ).

                                      Mi è successo anche circa 1 mese fa dopo che mi si è crassciato il mio P2 con la SD ( emoncms low write ).
                                      Il sistema attuale lo avevo in stand by (P3 con il disco SSD e non piu' low write ) e stavo solo aspettando la mezza per cambiarlo... cosi ho dovuto farlo in emergenza dopo un crash,, l'occasione mi ha permesso di studiare Grafana che ho installato dopo aver ripristinato tutto.

                                      Ad ogni modo per ripristinare i kWh io sono andato in visualization ed ho scelto edit realtime... ho modificato l'ultimo punto che si è aggiornato al valore che ho impostato a mano.
                                      Se hai il Low write puo darsi che questa funzione da sola non basti e devi andare anche in console e battere il seguente comando :

                                      # redis-cli FLUSHALL

                                      F.

                                      PS. sul sito Portalsole uso semplicemnete php e Mysql.. non c'e' nessun software libero installato sul server.

                                      Sposto ogni minuto attraverso uno script schedulato ( quindi nulla di nuovo.. ) i dati dall'installazione locale di Emoncms a Portalsole, ma limitatamente ai soli dati di interessi del sito, che sono un 10-15% massimo.
                                      Segui on-line il funzionamento dei miei impianti in tempo reale.
                                      Impianto Fotovoltaico grid: 7 pannelli Sanyo HIP 205, 1.44 kWp, Az 90°, Tilt 17°, Inverter Fronius IG.15 + Impianto fotovoltaico in isola da 0,86 kWp con 10 kWh di accumulo + impianto solare termico a svuotamento da 7mq + pompa di calore Altherma 3 Compact R32 da 8 kW.

                                      Commenta


                                      • Originariamente inviato da spider61 Visualizza il messaggio
                                        Si però qui ci si deve mettere a programmare per fare quello che si vuol, con meoncms o domoticz hai già le basi , input, grafici, devi solo accozzare insieme quello che vuoi.... sono troppo vecchio per mettermi a programmare non ho più la testa..
                                        Assolutamente no Spider... con Emoncms usi o il loro sistema ( se hai l'hardware Openenergymonitor ) oppure node red per interfacciare Emoncms al mondo esterno... con Grafana usi Telegraf al posto di Node red.
                                        Posso concordare che dei 2 il piu' semplice è il primo..

                                        Ad ogni modo credo che si possa usare Node Red anche per Influxdb-Grafana.

                                        L'approccio che uso io non è assolutamente obbligatorio.. ognuno usa quello che sa usare

                                        F.
                                        Segui on-line il funzionamento dei miei impianti in tempo reale.
                                        Impianto Fotovoltaico grid: 7 pannelli Sanyo HIP 205, 1.44 kWp, Az 90°, Tilt 17°, Inverter Fronius IG.15 + Impianto fotovoltaico in isola da 0,86 kWp con 10 kWh di accumulo + impianto solare termico a svuotamento da 7mq + pompa di calore Altherma 3 Compact R32 da 8 kW.

                                        Commenta


                                        • Aggiornamento su un grafico che avevo già implementato da giorni ma che ho "monitorato" per vedere se si comportava bene.

                                          Clicca sull'immagine per ingrandirla. 

Nome:   Cattura.PNG 
Visite: 1 
Dimensione: 56.2 KB 
ID: 1974628


                                          E' un pannelli di tipo Heatmap. In pratica rappresenta la potenza del fotovoltaico nell'arco della giornata .. più è bianco più c'è potenza (in questo caso sui 5kw).

                                          Permette di avere a colpo d'occhio il fatto che, come oggi, ha prodotto niente ... :-( o se una giornata è stata di sole pieno o variabile (in quel caso ci sono barre più scure in mezzo al bianco.)

                                          Cosa ne dite ? Può essere utile ?

                                          La query è semplice

                                          SELECT mean("value") FROM "data" WHERE ("device" = 'SDM1.2' AND "type" = 'PowerL1') AND $timeFilter GROUP BY time($__interval) fill(previous) tz('Europe/Rome')

                                          Il formato del pannello è questo

                                          Clicca sull'immagine per ingrandirla. 

Nome:   Cattura2.PNG 
Visite: 1 
Dimensione: 84.2 KB 
ID: 1974629
                                          20*305W (ovest) + 11*460W (est) + 3*385W (sud)- Totale: 12.3Kw + Solaredge 6kw.
                                          Monitoraggio con InfluxDB, Grafana, Docker, Raspberry | Discussione: https://bit.ly/2XAol57 | Guida completa su Github: https://bit.ly/2XTm8Sh

                                          Commenta


                                          • Salve, nell'impegnare il tempo resosi disponibile in questo periodo di quarantena sono per caso finito su questo post.
                                            Da anni utilizzo Domoticz per gestire i dati dei miei consumi/produzione elettrici installato in un Raspberry all'interno dell'abitazione.
                                            Per i consumi prelievo i dati tramite SDM120C installato nel quadro elettrico, per la produzione li importo invece da PVOUTPUT dopo vengono inviati da un secondo server installato nei pressi dell'impianto fotovoltaico su quale gira 123Solar (non raggiungibile con altri cavi).
                                            Il tutto funziona da anni ma inutile dire che l'accoppiata InfluxDB e Grafana per la visualizzazione è tutt'altra cosa.
                                            A questo punto ti chiedo se esiste una guida da seguire per iniziare questa nuova avventura ? Nel post leggevo che la avevi preparata ma non riesco a trovarla.
                                            Grazie


                                            Originariamente inviato da raffaelem Visualizza il messaggio
                                            Come avevo promesso a @dolam ho buttato giù piuttosto (molto) velocemente una "guida" spartana per avviare/instradare l'utente con un medio livello di conoscenza del mondo raspberry verso il monitoraggio usando questi due tool.

                                            Ho iniziato dal monitoraggio della PDC con lo scopo di proseguire sul FV non appena avrò implementato il sistema di rilevazione (almeno per il mio caso specifico).

                                            Chi fosse interessato ad usare questa repo come punto di partenza per estenderla anche ad altre tipologie di sorgenti (mysql, sqllite, postgres...), infrastrutture (docker) o addirittura altri sistemi operativi (winzozz) oppure semplicemente a collaborare inviando correzioni o suggerimenti può semplicemente contattarmi in privato e provvederò a fornire chiave di accesso per i commit.

                                            Questo vale anche se volete condividere le vostre dashboard con il resto del forum.

                                            (farò del cross posting)

                                            Commenta


                                            • Ero convinto di averla postata... eccola comunque
                                              GitHub - cassiel74/Grafana-Influx-PDC-monitor: ENERGETICAMBIENTE

                                              Questo è per il setup iniziale.
                                              Per la parte di importazione dati non ho nulla però perché io ho huawei che già ha la sua app/sito, qui molti utilizzano sdm e devi chiedere a loro per lo specifico.

                                              Io posso aiutarti ad usare quello che già hai se è in un db relazionale
                                              Ultima modifica di raffaelem; 21-04-2020, 06:24. Motivo: nota
                                              Monti prenestini (RM) - 1885gg
                                              LG Therma V Split R32 9kW + ECO COMBI1 500lt (impianto a termosifoni)
                                              Fotovoltaico 4.76 kWp

                                              Commenta


                                              • mi farebbe comodo poter importare i dati di produzione da PVOUTPUT o da 123Solar, per quanto concerne i consumi, che rilevo con sdm120C collegato in 485, capito le modalità di reperimento dati potrei anche ripartire da zero.

                                                Commenta


                                                • per il discorso sdm possono aiutarti sicuramente @glfp e @solarbyte

                                                  per l'importazione dei vecchi dati dipende dal formato che hai attualmente
                                                  Monti prenestini (RM) - 1885gg
                                                  LG Therma V Split R32 9kW + ECO COMBI1 500lt (impianto a termosifoni)
                                                  Fotovoltaico 4.76 kWp

                                                  Commenta


                                                  • Originariamente inviato da Fabix68 Visualizza il messaggio
                                                    mi farebbe comodo poter importare i dati di produzione da PVOUTPUT o da 123Solar, per quanto concerne i consumi, che rilevo con sdm120C collegato in 485, capito le modalità di reperimento dati potrei anche ripartire da zero.
                                                    Visto il recente interesse di varie persone, sto accelerando la descrizione del progetto ... a breve esco con un documento completo.

                                                    Cmq la lettura da SDM la faccio con MBMD.

                                                    E' veramente semplice

                                                    Lo scarichi da qui

                                                    GitHub - volkszaehler/mbmd: ModBus Measurement Daemon - simple reading of data from ModBus meters and grid inverters


                                                    Non ha dipendenze, e lo esegui come descritto nella documentazione.
                                                    Io lo lancio con questo comando:

                                                    codice:
                                                    mbmd run -a /dev/ttyUSB0 -d sdm:1,sdm:2 -r 5s
                                                    e accedi via interfaccia web

                                                    Oppure se vuoi salvare anche in influx

                                                    codice:
                                                    mbmd run -a /dev/ttyUSB0 -d sdm:1,sdm:2 -r 5s --influx-url http://localhost:8086 --influx-database test
                                                    20*305W (ovest) + 11*460W (est) + 3*385W (sud)- Totale: 12.3Kw + Solaredge 6kw.
                                                    Monitoraggio con InfluxDB, Grafana, Docker, Raspberry | Discussione: https://bit.ly/2XAol57 | Guida completa su Github: https://bit.ly/2XTm8Sh

                                                    Commenta


                                                    • Come si integra con Domoticz ?
                                                      Attualmente importo i dati utilizzando uno script che richiama sdm120c
                                                      Non credo di poter utilizzare in contemporanea entrami i sistemi, riceverei certamente errore sul blocco della porta, hai qualche esempio sul suo utilizzo ?
                                                      Ultima modifica di Fabix68; 21-04-2020, 12:36.

                                                      Commenta


                                                      • Domoticz usa SQLite, per cui basta che vi accedi direttamente da Grafana e fai tutti i grafici che vuoi :-)
                                                        20*305W (ovest) + 11*460W (est) + 3*385W (sud)- Totale: 12.3Kw + Solaredge 6kw.
                                                        Monitoraggio con InfluxDB, Grafana, Docker, Raspberry | Discussione: https://bit.ly/2XAol57 | Guida completa su Github: https://bit.ly/2XTm8Sh

                                                        Commenta


                                                        • Originariamente inviato da raffaelem Visualizza il messaggio
                                                          per il discorso sdm possono aiutarti sicuramente @glfp e @solarbyte
                                                          Io uso ShellyEM +Telegraf..
                                                          Ciao

                                                          Commenta


                                                          • Finalmente sono riuscito a buttare giù una guida, spero la più completa possibile, per implementare quando da me fatto fino ad ora.

                                                            La trovate su Github

                                                            GitHub - glfp/SolarEnergyMonitorInfluxGrafanaDocker: Solar and Energy Monitoring with Influx (InfluxDB) and Grafana in Docker environment with Raspberry PI

                                                            e si chiama (con molta fantasia)

                                                            Solar Energy Monitor Influx Grafana Docker

                                                            Ovviamente, come da titolo, il focus del setup è in ottica Docker.

                                                            Chi avesse voglia di contribuire e/o notasse degli errori me lo dica così integro. Se volete partecipare fatemi sapere, vi posso aggiungere al progetto.

                                                            Ho cercato di mettere più immagini possibili dei pannelli che ho implementato, sia nella parte delle query che nei settaggi delle visualizzazioni al fine di aiutare il più possibile chi si approccia a questa soluzione.

                                                            Avessi trovato io un documento del genere quando ho iniziato l'avventura, mi sarei tolto velocemente tanti grattacapi !!

                                                            L'unico plugin usato è quello del MultiBar Graph Panel.

                                                            Nel tempo ho eliminato le MetaQueries perchè con certe visualizzazioni non sono mai riuscito a farlo funzionare, risolto usando le subqueries.

                                                            Dal mio punto di vista a breve non penso di implementare più tante altre cose ... direi che tutto quello che mi serviva l'ho fatto.

                                                            Prossimi passi saranno integrare anche le misurazioni di un termostato, ma su questo aspetto non mi pare ci sia niente di innovativo se non che dovrò sviluppare da zero un software in linguaggio Go sulla falsa riga di MBMD che uso per il Modbus. Sarà il mio primo progetto in Go, una buona palestra in un progetto moderatamente semplice che però (lettura da BME280) pare non esista fatto in quella falsariga.

                                                            @dolam: c'è tutto quello che ti serve ... ora aspetto di vedere i tuoi grafici !

                                                            Buona lettura a tutti !
                                                            Ultima modifica di glfp; 21-04-2020, 18:16.
                                                            20*305W (ovest) + 11*460W (est) + 3*385W (sud)- Totale: 12.3Kw + Solaredge 6kw.
                                                            Monitoraggio con InfluxDB, Grafana, Docker, Raspberry | Discussione: https://bit.ly/2XAol57 | Guida completa su Github: https://bit.ly/2XTm8Sh

                                                            Commenta


                                                            • Grande glfp !! Gran bel lavoro…. ora mi metto a studiare
                                                              PDC Daikin Hybrid Multi - FV 8 kWp Viessmann 400W - SE 6000H - LG Prime 32kW - Zappi 7kW - Kona 64kWh

                                                              Commenta

                                                              Attendi un attimo...
                                                              X