Errata totalizzazione valori prelievi e autoconsumo

Discussioni relative al software di monitoraggio energetico METERN
SiRe
Messaggi: 24
Iscritto il: 20/11/2017, 17:15

Errata totalizzazione valori prelievi e autoconsumo

Messaggioda SiRe » 01/09/2018, 16:32

Gentilissimi,
dopo quasi un anno mi rifaccio vivo…….
mi sto preparando ad utilizzare metern per la rilevazione dei consumi, fino ad ora utilizzavo solar123 per la rilevazione della produzione e funziona benissimo.
Premetto che ho aggirnato metern all'ultima versione 8.6, utilizzo 2 raspy uno rileva la produzione e il secondo dovrebbe rilevare i consumi i dati della produzione vengono rilevati perfettamente sul raspy dove è in funzione metern il problema che riscontro è relativo invece alla totalizzazione dei valori di prelievo e autoconsumo che mi danno dati completamente sballati e non riesco a capire perchè (allego Foto) si consideri che attualmente dal lato consumi non è ancora collegato alla rete elettrica il contatore Eastron e quindi non ci sono consumi.

Spero riusciate ad aiutarmi.

Grazie, Buona Serata

Immagine


SiRe
Messaggi: 24
Iscritto il: 20/11/2017, 17:15

Re: Errata totalizzazione valori prelievi e autoconsumo

Messaggioda SiRe » 02/09/2018, 13:36

Buongiorno a Tutti,
preciso meglio quello che sta succedendo nella speranza di avere qualche suggerimento….
Nel raspberry è caricata la versione dove gira metern è caricata la versione con solarjessie messa a disposizione lo scorso anno da Flanesi con tutte le correzioni da lui raccomandate per gli aggiornamenti metern ora gira la 8.6
Riepilogo quello che succede:
la prima riga relativa alla produzione rileva i dati correnti, quelli giornalieri, e quelli totali in maniera corretta
la seconda riga consumi rileva correttamente zero in quanto al momento non è collegato il contatore eastron
la terza riga prelievi rileva correttamente 0 come prelievi correnti rileva un prelievo giornaliero sballato (praticamente ad agni aggiornamento della riga incrementa al valore esposto quello della produzione totale)
la quarta riga è esposta correttamente con 0
la quinta riga funziona per differenza con i valori dei prelievi e quindi di conseguenza riporta dati sbagliati
ho provato a cancellare i file csv ma quando riparte a rilevare i dati al primo aggiornamento della schermata cruscotto espone nuovamente dati sballati.
spero vivamente che riusciate a darmi qualche dritta…….. ho letto un sacco di argomenti simili pubblicati nel forum ma non ho trovato soluzioni.
Grazie

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

Re: Errata totalizzazione valori prelievi e autoconsumo

Messaggioda Flane » 02/09/2018, 22:31

forse ti sei dimenticato di specificare che cosa usi per il calcolo di prelievi, immissioni e autoconsumo :?

forse non hai ben capito che requisito essenziale è che ci sia una lettura di produzione e consumi perchè il sistema funzioni e possa poi calcolare il resto di conseguenza ....

metti assieme un sistema parziale con l'aggiunta di complicazioni come la lettura remota della produzione e pretendi che tutto funzioni ? :shock:

Quando hai installato tutto (contatore compreso) ed hai una lettura regolare di produzione e consumi, procedi anche con il resto

SiRe
Messaggi: 24
Iscritto il: 20/11/2017, 17:15

Re: Errata totalizzazione valori prelievi e autoconsumo

Messaggioda SiRe » 03/09/2018, 0:12

sto aggiornando il raspberry dove girerà meterN con l’ultima versione che hai reso disponibile, nei prossimi giorni provvederò a collegare il contatore consumi e vediamo che cosa succede. Grazie per la tua disponibilità, a presto.

SiRe
Messaggi: 24
Iscritto il: 20/11/2017, 17:15

Re: Errata totalizzazione valori prelievi e autoconsumo

Messaggioda SiRe » 07/09/2018, 11:17

ho provveduto a collegare il contatore SDM
ho per il momento accantonato le rilevazioni attraverso eflow (in ogni caso da una prova che avevo fatto i consumi e prelievi assumevano lo stesso valore e quando il valore della produzione superava i consumi le voci immissione e autoconsumo venivano comunque valorizzate a 0)
uso 2 raspberry uno per rilevare la produzione e uno per rilevare i consumi (purtroppo non posso fare diversamente……. vedi mio precedente post del 2017)
1° raspberry (produzione) uso la versione solarjessie flanesi del 2017 e solar123 v.1.7.0
2° raspberry (consumi) uso la versione solarstrech 3.1 flanesi del 2018 e MeterN 8.6.
uso remotepooler fornitomi da JM per rilevare i dati di produzione
sul raspberry produzione ho disabilitato MeterN sul raspberry consumi ho disabilitato solar123.
sul raspberry consumi (quello dove è attivo MeterN ) rilevo perfettamente i valori di produzione e di consumo, bene anche i grafici del menu indice e dettagli.
sul menu cruscotto invece i valori di produzione e consumi evidenziati sulle griglie sono ok
invece subito sotto la casetta non vengono evidenziati il valore dei consumi il valore della produzione viene esposto un unico valore che è la somma di produzione e consumi e non viene evidenziata la percentuale di autosufficienza.
se provo a sostituire sul raspberry (consumi) la scheda sd configurazione solarstrech con una sd con configurazione solajessie flanesi 2017 e MeterN 8.6
questi dati mi vengono forniti.
Non credo che il problema sia dovuto al sistema utilizzato solartrech piuttosto che solarjessie la versione di MeterN è la stessa, quali altri suggerimenti mi potreste dare?

SiRe
Messaggi: 24
Iscritto il: 20/11/2017, 17:15

Re: Errata totalizzazione valori prelievi e autoconsumo

Messaggioda SiRe » 07/09/2018, 11:42

allego foto videata cruscotto
Immagine

SiRe
Messaggi: 24
Iscritto il: 20/11/2017, 17:15

Re: Errata totalizzazione valori prelievi e autoconsumo

Messaggioda SiRe » 07/09/2018, 13:22

ho sopperito al malfunzionamento del cruscotto MeterN, anche se non è la stessa cosa utilizzando il cruscotto energetico presente nel menu,
con alcune modifiche per il recupero dei dati della produzione da remoto ho messo in funzione il cruscotto energetico accessibile dal menu….. unico dato che non viene esposto sono i "prelievi quotidiani" che rimangono valorizzati a 0.
Immagine

SiRe
Messaggi: 24
Iscritto il: 20/11/2017, 17:15

Re: Errata totalizzazione valori prelievi e autoconsumo

Messaggioda SiRe » 13/09/2018, 22:48

Ho risolto quasi tutto… l'unico problema che mi si presenta è un picco la mattina sulla rilevazione del valore delle immissioni…. per poter risolvere la cosa avrei bisogno di capire qual è il file PHP MeterN che genera il file dati csv qualcuno mi può aiutare ?
Grazie!
Buona serata

SiRe
Messaggi: 24
Iscritto il: 20/11/2017, 17:15

Re: Errata totalizzazione valori prelievi e autoconsumo

Messaggioda SiRe » 19/09/2018, 20:54

Dopo 6 giorni di assidua lettura dei file PHP e di test, sono riuscito a trovare una soluzione relativa al problema che generava errori sulle letture descritti in precedenza. Ora da due gg tutto gira perfettamente…. era tutta colpa del remotepooler fornitomi da JM che non gira ne con virtualmeter ne con eflow ne con pvoutput.
Il problema sta nella mancata compilazione nel file csv del MeterN del valore relativo alla produzione quando l'inverter è spento.
Pubblico qui il remotepooler per chi ne avesse necessità, ho adattato il modello Flanesi….. mi piacerebbe avere un parere da Flavio o da qualche esperto di PHP io non ho un'esperienza approfondita su questo linguaggio, magari ci sono soluzioni migliori….. ho lasciato tutte le righe del file originale commentate con // in modo da evidenziare che cosa ho variato.

#!/usr/bin/php
<?php
if (isset($_SERVER['REMOTE_ADDR'])) {
die('Direct access not permitted');
}
// This script will output a 123solar counter into a meterN compatible format
// Configure, then ln -s /var/www/comapps/pool123s.php /usr/local/bin/pool123s
// Request Main command with 'remotepool123s -energy' and live command 'remotepool123s -power'
// Mod:.............Flanesi
// Date:............10/09/2017
// Mod. Remote:.....Siega
// Date:............06/09/2018

// 123solar config
//$pathto123s = '/var/www/123solar';
$invtnum = 1; //123solar inverter number

// meterN config
$pathtomn = '/var/www/metern';
$METERID = '1';
$INVTmetnum = 1; // meter number
$KWHTC = 0; // Contatore iniziale in caso di azzeramento o sostituzione inverter (si somma al valore letto)

$remotedata = file_get_contents("http://192.XXX.XXX.XXX/123solar/programs/programlive.php?invtnum=$invtnum");
//echo $remotedata;

// No edit is needed below
if (isset($argv[1])) {
define('checkaccess', TRUE);
// include("http://192.XXX.XXX.XXX/123solar/config/config_main.php"); // DA ERRORE
// include("http://192.XXX.XXX.XXX/123solar/config/config_invt$invtnum.php"); // DA ERRORE
// include("http://192.XXX.XXX.XXX/123solar/config/memory.php"); // DA ERRORE
$DTZ='Europe/Rome'; // AGGIUNTA PER EVITARE ERRORE
date_default_timezone_set($DTZ);

$KWHT = null;
if (!empty($remotedata)) {
//$remotedata = file_get_contents($LIVEMEMORY);
$memarray = json_decode($remotedata, true);
$nowUTC = strtotime(date("Ymd H:i:s"));
if ($argv[1] == '-power') {
if ($nowUTC - $memarray["SDTE"] < 30) {
$GP = $memarray["G1P"] + $memarray["G2P"] + $memarray["G3P"];
$GP = round($GP, 0);
} else { // Too old
$GP = 0;
}
echo "$METERID($GP*W)\n";
} elseif ($argv[1] == '-energy') {
if ($nowUTC - $memarray["SDTE"] < 86400) { // (valore standard 600 - modificato a 86400)
$KWHT = round($memarray["KWHT"] * 1000); // Wh
} else {
die("Abording: Too late value\n");
}
/******************* SOSPESA MODELLO FLANESI ********************
if (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 > 0) {
$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;
}
}
********************************** FINE SOSPENSIONE ***************************************/
//************************************NUOVO LETTURA FILE REMOTO METERN *****************************
if (empty($KWHT) || $KWHT == 0) { // 123s ain't running at night retrieve the value in csv
$oggi = date("Ymd");

$filepath = ('http://192.XXX.XXX.XXX/metern/data/csv/' . $oggi . '.csv'); //LEGGE FILE CSV METERN REMOTO
function csvToArray($filepath){
setlocale(LC_ALL, 'en_US.UTF-8');
// apertura del file
if (($handle = fopen($filepath, "r")) !== FALSE) {
$nn = 0;
// legge una riga alla volta fino alla fine del file
while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
// numero di elementi presenti nella riga letta
$num_elementi = count($data);
// popolamento dell'array
for ($x=0; $x<$num_elementi; $x++) {
$csvarray[$nn][$x] = $data[$x];
}
$nn++;
}
// Chiusura del file
fclose($handle);

} else {
die("File non trovato\n");
}

return $csvarray;
}
$array_csv = csvToArray($filepath);
foreach($array_csv as $numero_riga => $valori){
}

$KWHT = $valori[1];

}

//****************************************FINE NUOVO **************************************
$KWHT += $KWHTC;
if (!empty($KWHT)) {
file_put_contents("/dev/shm/produzione$METERID.txt", "$METERID($KWHT*Wh)\n");
echo "$METERID($KWHT*Wh)\n";
}
} else {
die("Abording: no valid argument given\n");
}
} else { // 123s ain't running
die("Abording: Empty SHM\n");
}
} else {
die("Usage: pool123s { power | energy }\n");
}
?>


Torna a “MeterN”

Chi c’è in linea

Visitano il forum: Nessuno e 12 ospiti