Monitor energetico SolarStretch 3.1 - produzione e consumi invertiti
Inviato: 21/08/2018, 8:20
da ambramia
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'è?
Re: Monitor energetico SolarStretch 3.1
Inviato: 21/08/2018, 12:33
da Flane
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:
modificalo con
e vedi se ora funziona correttamente

Re: Monitor energetico SolarStretch 3.1
Inviato: 21/08/2018, 19:27
da ambramia
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)
?>
Re: Monitor energetico SolarStretch 3.1
Inviato: 21/08/2018, 21:46
da Flane
Si la riga era la 38 ho sbagliato io.
Per sistemare il totale giornaliero dei consumi modifica la riga 33:
come di seguito:
Re: Monitor energetico SolarStretch 3.1 - produzione e consumi invertiti
Inviato: 22/08/2018, 18:50
da ambramia
Grazie Flane ora è perfetto