Monitor energetico SolarStretch 3.1 - produzione e consumi invertiti

Discussioni relative a software necessario per il monitoraggio e il Raspberry
ambramia
Messaggi: 111
Iscritto il: 22/01/2016, 11:38

Monitor energetico SolarStretch 3.1 - produzione e consumi invertiti

Messaggioda ambramia » 21/08/2018, 8:20

sono passato da poco alla nuova versione, la SolarStretch 3.1, mettendo tutto su un nuovo raspberryPi 2, premetto che che la mia configurazione ha i meter Produzione e Consumi invertiti per cui ho dovuto fare le stesse modifiche ai file che, con l'aiuto di Flane, ho fatto quando passai alla SolarJessie 2.6a, detto questo, il sistema funziona perfettamente, ho solo un problema con il Monitor energetico, nuova funzione aggiunta da Flane, che non riporta i dati giusti a causa, credo, dei due meter invertiti di cui sopra è possibile fare qualcosa per sistemarlo o lascio così com'è?
Ultima modifica di ambramia il 26/08/2018, 17:48, modificato 1 volta in totale.


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

Re: Monitor energetico SolarStretch 3.1

Messaggioda Flane » 21/08/2018, 12:33

Avendo i misuratori di produzione e consumi invertiti, nella tua configurazione hai:
- ID 1 consumi
- ID 2 produzione

Prova ad editare il file /var/www/MyScripts/monitor/summary.php
Alla riga 27 trovi l'ID del contatore dei consumi:

Codice: Seleziona tutto

$ID = 2;

modificalo con

Codice: Seleziona tutto

$ID = 1;

e vedi se ora funziona correttamente ;)

ambramia
Messaggi: 111
Iscritto il: 22/01/2016, 11:38

Re: Monitor energetico SolarStretch 3.1

Messaggioda ambramia » 21/08/2018, 19:27

intanto grazie Flane, ho fatto la modifica ed i 3 gauge ora segnano i valori giusti.
C'é un'altra piccolezza da sistemare, sotto il gauge dei consumi, quello centrale, il valore letto è uguale a quello della produzione, quindi non giusto, anche questo sicuramente dovuto all'inversione dei meter.

P.S. l'ID da modificare nel file summary.php a me si trova alla riga 38, ti allego il codice, magari è una versione diversa dalla tua attuale.

Codice: Seleziona tutto

<?php
# Lettura LIVE PRODUZIONE da 123Solar ---------------------------
$URL_123solar = "http://127.0.0.1/123solar/programs/programmultilive.php";
$json_123solar = file_get_contents($URL_123solar);   
$data_123solar = json_decode($json_123solar, true);
if (isset($data_123solar["GPTOT"]))
{
        $kw_prod = $data_123solar["GPTOT"];
} else {
        $kw_prod = "0";
}
# ----------------------

# Lettura TOT. PRODUZIONE GIORNALIERA da 123Solar ------------------------$
$URL_TOT_DAY='http://127.0.0.1/123solar/programs/programday.php';
$json_tot_day = file_get_contents($URL_TOT_DAY);
$data_tot_day = json_decode($json_tot_day, true);
$kwh_tot_text = $data_tot_day["title"];
$kwh_array = preg_split('/ /', $kwh_tot_text);
$kwh_array = preg_split('/\(/', $kwh_array[1]);
$kwh_tot_day = preg_replace('/,/', '.',$kwh_array[1]);
# ----------------------

# Lettura TOT. PRELIEVI GIORNALIERI dal file di metern ---------------------------
$URL_prel = 'http://127.0.0.1/metern/programs/programtotal.php';
$json_prel = file_get_contents($URL_prel);
$data_prel = json_decode($json_prel, true);
$kwh_prel = $data_prel["Dailycounter3"];
$kwh_prel = preg_replace('/,/', '.',$kwh_prel);
# ----------------------

# Lettura TOT. CONSUMI GIORNALIERI dal file di metern ---------------------------
$kwh_cons = $data_prel["Dailycounter2"];
$kwh_cons = preg_replace('/,/', '.',$kwh_cons);
# ----------------------

# Lettura LIVE CONSUMO dal file di metern ---------------------------
$ID = 1;
$metern_file = file_get_contents("/dev/shm/metern$ID.txt");
$lines = explode("\n", $metern_file);
$regexp = "/^".$ID."\(((\d+)?\.\d+)\*[W]\)$/";
$match_lines = preg_grep($regexp, $lines);
preg_match($regexp, $match_lines[0], $found, PREG_OFFSET_CAPTURE);
$kw_consumo = $found[1][0];
# ----------------------

# Calcolo la differenza tra produzione e consumo
$kw_disponib = $kw_consumo - $kw_prod;

$data = array (
    "PROD" => (int) $kw_prod,
    "TOT_PROD" => round ((float) $kwh_tot_day,1),
    "CONS" => (int) $kw_consumo,
    "NET" => (int) $kw_disponib,
    "TOT_PREL" => round ((float) $kwh_prel,1),
    "TOT_CONS" => round ((float) $kwh_cons,1)
);

header("Content-type: application/json");
echo json_encode($data)
?>

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

Re: Monitor energetico SolarStretch 3.1

Messaggioda Flane » 21/08/2018, 21:46

Si la riga era la 38 ho sbagliato io.

Per sistemare il totale giornaliero dei consumi modifica la riga 33:

Codice: Seleziona tutto

$kwh_cons = $data_prel["Dailycounter2"];

come di seguito:

Codice: Seleziona tutto

$kwh_cons = $data_prel["Dailycounter1"];

ambramia
Messaggi: 111
Iscritto il: 22/01/2016, 11:38

Re: Monitor energetico SolarStretch 3.1 - produzione e consumi invertiti

Messaggioda ambramia » 22/08/2018, 18:50

Grazie Flane ora è perfetto


Torna a “Software”

Chi c’è in linea

Visitano il forum: Nessuno e 3 ospiti