Reset contatori? [RISOLTO]

Discussioni relative al software di monitoraggio energetico METERN
Jack
Messaggi: 36
Iscritto il: 15/11/2016, 23:13

Reset contatori? [RISOLTO]

Messaggioda Jack » 01/12/2016, 13:31

Ieri mi si è impallato meterN, così sono ripartito da capo riformattando la sd-card e ricaricando tutto.

Una volta avviato meterN mi appariva un produzione totale di 53 kWh e una consumo di 51kWh.

Vorrei riportare a zero entrami i valori, ovvero che da oggi in poi meterN legga solo la produzione e i consumi da oggi e non quelli del passato.

Per quanto riguarda il consumo ho aperto il file con poolerconsumi e inserito in $prevcount = 51000 e poi
alla riga 70 $lastval += -$prevcount; // aggiunge il correttore del totale
ho aggiunto un "-".

Ora mi conta correttamente, i consumi, autoconsumi, prelievi e immissioni. Ma mi segna come valore di produzione quella totale dell'impianto.

Leggendo sul forum ho capito che dovevo usare poolerproduzione, quindi l'ho modificato come poolerconsumi (ovvero aggiunto il segno "-") e ho modificato in meterN il command mettendo poolerproduzione 1 energy ma, facendo il test, mi appare il seguente messaggio di errore
is not valid, the correct format is 1(1234.5*Wh)

come posso fare?
Ultima modifica di Jack il 02/12/2016, 23:02, modificato 1 volta in totale.


Jack
Messaggi: 36
Iscritto il: 15/11/2016, 23:13

Re: Reset contatori?

Messaggioda Jack » 01/12/2016, 14:13

Dopo un buon pranzo...

mi rispondo da solo basta andare in pool123solar e modificare la riga 66 $KWHT += -$KWHTC; aggiungendo il "-" e all'inizio della pagina inserire il valore 53000 nella variabile $KWHTC.

Fatemi comunque sapere se ho fatto delle cose giuste e sensate.

grazie
ciao
Jack

Jack
Messaggi: 36
Iscritto il: 15/11/2016, 23:13

Re: Reset contatori?

Messaggioda Jack » 01/12/2016, 19:32

Quando si è spento il fotovoltaico si sono impallato i dati della produzione...
Help..

Jack
Messaggi: 36
Iscritto il: 15/11/2016, 23:13

Re: Reset contatori?

Messaggioda Jack » 02/12/2016, 23:01

Aiutati che il ciel t'aiuta

Ho risolto il problema in pratica alla riga 63 di pool123s c'è scritto

Codice: Seleziona tutto

$KWHT = null;


Che và sostituito con queste righe qua

Codice: Seleziona tutto

            $lastlog    = $output[$xdays - 1];
            $lines      = file($lastlog);
            $contalines = count($lines);
            $array_last = preg_split('/,/', $lines[$contalines - 1]);
            $KWHT       = round(($array_last[27] * ${'CORRECTFACTOR' . $invtnum} * 1000), 0); //in Wh


In pratica cosa succede:
dalla riga 51 alla riga 64 c'è scritto cosi

Codice: Seleziona tutto

    if ($argv[1] == 'energy' && (empty($KWHT) || $KWHT == 0)) { // 123s ain't running at night retrieve the value in csv
        $dir    = $pathto123s . '/data/invt' . $invtnum . '/csv';
        $output = glob($dir . '/*.csv');
        sort($output);
        $xdays = count($output);
        if ($xdays > 1) {
            $lastlog    = $output[$xdays - 1];
            $lines      = file($lastlog);
            $contalines = count($lines);
            $array_last = preg_split('/,/', $lines[$contalines - 1]);
            $KWHT       = round(($array_last[27] * ${'CORRECTFACTOR' . $invtnum} * 1000), 0); //in Wh
        } else {
            $KWHT = null;
        }
  }
    $KWHT += -$KWHTC;


cioè quando è notte si legge la produzione dai file csv di 123solar beccando l'ultimo valore dell'ultimo giorno solo nel caso in cui i giorni siano maggiori di 1.
Nell'istante iniziale di attivazione del sistema, pool123s cerca quanti file (1 per ogni giorno) ci sono nella cartella di 123solar. Ovviamente ne trova 1 solo e quindi mette $KWHT = null. Nella riga successiva $KWHT viene sommato a KWHTC che nel mio caso è negativo perchè volevo resettare tutto.
Quindi $KWHT diventa uguale al valore che avevo impostato ad inizio giornata e di conseguenza si impalla tutto.

facendo la modifica indicata sopra anche se non è ancora passato un giorno và cmq l'ultimo valore del file.

Ed è per questo che molti di voi, io compreso, si lamentano che alla fine del primo giorno si creano delle anomalie con dei picchi negativi che poi dal giorno 2 in poi si risolvono magicamente.

:-)

Avatar utente
Flane
Messaggi: 2470
Iscritto il: 16/01/2016, 15:02

Re: Reset contatori? [RISOLTO]

Messaggioda Flane » 03/12/2016, 15:31

Jack scusa ma non ho capito ne quale è il tuo sistema ne il problema ne il perchè indichi una modifica a pool123s.
Personalmente non ho e non ho mai avuto problemi.

poolerproduzione si usa solo se hai un contatore anche per la produzione e non usi 123solar ma solo metern.
Scusa ma non ho capito che hai fatto.

Jack
Messaggi: 36
Iscritto il: 15/11/2016, 23:13

Re: Reset contatori? [RISOLTO]

Messaggioda Jack » 03/12/2016, 17:30

Ora cerco di spiegarti, in ogni caso dico prima di tutto che la modifica non è corretta ovvero basta modificare solo la seguente riga

Codice: Seleziona tutto

if ($xdays > 1) {


e mettere

Codice: Seleziona tutto

if ($xdays > 0) {


detto questo cerco di spiegarti meglio il problema:
Problema: non funziona più nulla, non si avvia nemmeno raspberry ovvero ad un certo punto appare un errore di panic
Risoluzione: formatto la sd card e ripristino tutto. (perdendo tutti i dati di immissioni, prelievo e autoconsumo).

Il contatore di produzione segna 51 kWh e quello di consumo 53kWh
Dopo aver ripristinato il tutto meterN mi indicherà appena acceso
produzione 51,000 Kwh
consumo 53,000 kWh
immissione 0 kWh
prelievo 0 kWh
autoconsumo 0 kWh

A me questa visualizzazione non piace. Voglio ripartire da 0 ovvero "resettare tutti i contatori", in modo da avere una visione globale di prelievi,immissioni e autoconsumi.

Quindi devo fare in modo che, a quello che legge il contatore di consumo vada sottratto 53000Wh e a quello di produzione 51000Wh

Per quanto riguarda il consumo ho aperto il file con poolerconsumi e inserito in $prevcount = 53000 e poi
alla riga 70 $lastval += -$prevcount; // aggiunge il correttore del totale
ho aggiunto un "-".

Per quanto riguarda la produzione ho fatto la stessa cosa in pool123solar e modificare la riga 66 $KWHT += -$KWHTC; aggiungendo il "-" e all'inizio della pagina inserire il valore 51000 nella variabile $KWHTC.

Cosi tutto a funzionato correttamente fino quando il fotovoltaico produceva.

Quando ha smesso di produrre, come si legge dal file pool123s, la produzione viene letta dall'ultima riga del file csv presente dentro alla cartella di 123solar

ECCO IL CODICE:

Codice: Seleziona tutto

if ($argv[1] == 'energy' && (empty($KWHT) || $KWHT == 0)) { // 123s ain't running at night retrieve the value in csv
$dir = $pathto123s . '/data/invt' . $invtnum . '/csv';
$output = glob($dir . '/*.csv');
sort($output);
$xdays = count($output);
if ($xdays > 1) {
     $lastlog = $output[$xdays - 1];
     $lines = file($lastlog);
     $contalines = count($lines);
     $array_last = preg_split('/,/', $lines[$contalines - 1]);
     $KWHT = round(($array_last[27] * ${'CORRECTFACTOR' . $invtnum} * 1000), 0); //in Wh
} else {
     $KWHT = null;
    }
}
$KWHT += -$KWHTC;


PERO' viene letta solo quanto $xdays>1.
Quando si attiva tutto l'impianto (o si è voluto resettare tutto come ho fatto io) dentro alla cartella di 123solar ci sarà 1 solo file.
Quindi $xdays = 1.
Quindi $KWHT viene impostato come null e alla riga dopo avrà come valore $KWHT = null - $KWHTC quindi -51000.
Di conseguenza succede un gran casino.

Ricapitolando se mettiamo if ($xdays > 0) { entriamo al ciclo di lettura già il primo giorno.

Ora spero di essere riuscito a piegarmi meglio. In ogni caso il mio è un caso particolare, magari a nessuno viene in mente di voler resettare tutto, quindi ti faccio un altro esempio
-----------------------------------------

Leggendo sul forum a questa pagina
viewtopic.php?f=4&t=1843&p=2667&hilit=picco+autoconsumo#p2667
Cursore ha il picco anomalo a causa del $xdays>1.

faccio un passo indietro per spiegarmi meglio.
Io non sò dove viene fatto il calcolo dell'autoconsumo sul programma ma sò che l'autoconsumo è il minimo valore tra produzione e consumo.
e so che il prelievo = consumo- autoconsumo.

Quindi nel caso di cursore alle 20.10 il fotovoltaico è spento
Sul file di meterN ci sarà scritto
Produzione 3097,475 Wh
Consumo quello della giornata supponiamo 5000Wh
Idem immissioni, prelievi e autoconsumi quelli della giornata.

Alle 20.15.
pool123s vede che c'è un solo file csv dentro alla cartella di 123solar e quindi dice $KWHT = null ovvero $KWHT += $KWHTC; che in condizioni standard è zero.
Quindi sul file di meterN ci sarà scritto produzione = 0Wh.
Consumo = 5000Wh (per semplificare i calcoli supponiamo che negli ultimi 5 minuti non abbia consumato)
autoconsumo = minimo tra la produzione degli ultimi 5 minuti e il consumo, quindi il minore tra produzione attuale-produzione precedente e consumo attuale -precedente => quindi l'autoconsumo = -3097,475 Wh
I prelievi son uguali alla differenza di consumo - l'autoconsumo = +3097,475 Wh.

Poi alle 20.20
La produzione sarà di nuovo 0Wh.
Consumo, quello che è
Autoconsumo = 0;
Prelievi = consumo
Immissioni = 0

Poi alle 6.25 del giorno dopo si accende il fotovoltaico e si crea nuovamente un'anomalia, perchè come produzione và a leggere quelle del contatore quindi 3097,475 o qualcosina in più perchè si è attivato il fotovoltaico.

Alla fine della giornata non ci sarà nessuna anomalia perche $xdays sarà uguale a 2 :-)

Quindi ecco spiegato il picco anomalo di autoconsumo e prelievo.

Spero di essere riuscito a spiegarmi.

ciao
Jack
Ultima modifica di Jack il 03/12/2016, 17:43, modificato 3 volte in totale.

Jack
Messaggi: 36
Iscritto il: 15/11/2016, 23:13

Re: Reset contatori? [RISOLTO]

Messaggioda Jack » 03/12/2016, 17:32

p.s. se non hai mai avuto il problema del picco anomalo, significa che hai attivato le misurazioni quando era sera e il fotovoltaico non funzionava. :D

Avatar utente
Flane
Messaggi: 2470
Iscritto il: 16/01/2016, 15:02

Re: Reset contatori? [RISOLTO]

Messaggioda Flane » 03/12/2016, 17:49

Penso che in più di due anni ho fermato e riavviato le misurazioni non sò più quante volte, ma quel picco anomalo non mi è mai capitato.

Appena ho un'attimo di calma mi rileggo la tua dettagliata spiegazione ;)

PS: attivati un backup su un server ftp almeno una volta al giorno come da guida, così al massimo ti perdi i dati delle ultime 24H

Jack
Messaggi: 36
Iscritto il: 15/11/2016, 23:13

Re: Reset contatori? [RISOLTO]

Messaggioda Jack » 03/12/2016, 18:03

ma non basta fermare devi cancellare anche tutti i file....Comunque leggiti con calma la spiegazione cosi mi dici se ho scritto cavolate o meno..
In ogni caso a me dopo questa modifica funziona.:-)

lo so che devo attivare l'ftp però quando l'ho attivato, lanciandolo manualmente, mi si è impallato tutto.
viewtopic.php?f=5&t=1879&start=60
vedi il mio messaggio alle 2.50 di notte

Avatar utente
Flane
Messaggi: 2470
Iscritto il: 16/01/2016, 15:02

Re: Reset contatori? [RISOLTO]

Messaggioda Flane » 08/12/2016, 14:29

Ho finalmente trovato il tempo di approfondire il problema esposto.

In effetti io non sono mai incappato in questo problema perchè nei miei update/ripristini del mio sistema, parto sempre con i vecchi dati e non mi sono mai trovato nella situazione con il primo file csv.

Di questo problema se ne era già discusso con Jeanmarc e credevo fosse stato definitivamente risolto ma evidentemente non è così.

Se hai modo segnala il problema sul forum ufficiale di Jeanmarc in modo che possa tenerne conto nei prossimi aggiornamenti ;)


Torna a “MeterN”

Chi c’è in linea

Visitano il forum: Nessuno e 68 ospiti