Problema modulazione resistenza boiler
Re: Problema modulazione resistenza boiler
Flane hai idea cosa possa essere?
Re: Problema modulazione resistenza boiler
Hai sicuramente commesso qualche errore di configurazione o di posizionamento del contatore nel tuo impianto.
Assumendo che i valori rilevati per la produzione e consumi siano corretti, posta il contenuto dei file di configurazione per prelievi, immissioni ed autoconsumo e boiler.
Li trovi in /var/www/metern/config
Se hai seguito la guida sono i file config_metX.php con x pari a 3,4,5 e 6.
Il valore totale di autoconsumo negativo mi lascia alquanto perplesso.
Sei sicuro di aver posizionato il contatore nel posto giusto e che misuri effettivamente i tuoi consumi, oppure lo hai messo vicino al contatore di scambio e stai misurando i prelievi dalla rete ?
Assumendo che i valori rilevati per la produzione e consumi siano corretti, posta il contenuto dei file di configurazione per prelievi, immissioni ed autoconsumo e boiler.
Li trovi in /var/www/metern/config
Se hai seguito la guida sono i file config_metX.php con x pari a 3,4,5 e 6.
Il valore totale di autoconsumo negativo mi lascia alquanto perplesso.
Sei sicuro di aver posizionato il contatore nel posto giusto e che misuri effettivamente i tuoi consumi, oppure lo hai messo vicino al contatore di scambio e stai misurando i prelievi dalla rete ?
Re: Problema modulazione resistenza boiler
Grazie, allora il problema c'è solo quando funziona il boiler, nel cruscotto i dati dei 3 contatori corrispondono perfettamente è solo nella casetta al centro in alto che il valore quando funziona il boiler è come se rilevasse il doppio del consumo.
Codice: Seleziona tutto
<?php
if(!defined('checkaccess')){die('Direct access not permitted');}
// ### CONFIG FOR METER #1
$METNAME1="PRODUZIONE";
$TYPE1='Elect';
$PROD1=1;
$PHASE1=1;
$SKIPMONITORING1=false;
$ID1="1";
$COMMAND1="pool123s energy";
$UNIT1="Wh";
$PRECI1=0;
$PASSO1=0;
$COLOR1='0A8F10';
$PRICE1=0.15;
$LID1="1";
$LIVEPOOL1=1;
$LIVECOMMAND1="pool123s power";
$LIVEUNIT1="W";
$EMAIL1="";
$POUKEY1='';
$RPITOK1='';
$WARNCONSOD1=15000;
$NORESPM1=false;
$cfgver=1502175480;
?>
Codice: Seleziona tutto
<?php
if(!defined('checkaccess')){die('Direct access not permitted');}
// ### CONFIG FOR METER #2
$METNAME2="CONSUMI";
$TYPE2='Elect';
$PROD2=2;
$PHASE2=1;
$SKIPMONITORING2=false;
$ID2="2";
$COMMAND2="poolerconsumi 2 energy ";
$UNIT2="Wh";
$PRECI2=0;
$PASSO2=0;
$COLOR2='991C2F';
$PRICE2=0;
$LID2="2";
$LIVEPOOL2=1;
$LIVECOMMAND2="poolerconsumi 2 power";
$LIVEUNIT2="W";
$EMAIL2="";
$POUKEY2='';
$RPITOK2='';
$WARNCONSOD2=0;
$NORESPM2=false;
$cfgver=1502175480;
?>
Codice: Seleziona tutto
<?php
if(!defined('checkaccess')){die('Direct access not permitted');}
// ### CONFIG FOR METER #3
$METNAME3="PRELIEVI";
$TYPE3='Elect';
$PROD3=0;
$PHASE3=1;
$SKIPMONITORING3=false;
$ID3="3";
$COMMAND3="eflow whin ";
$UNIT3="Wh";
$PRECI3=0;
$PASSO3=0;
$COLOR3='FF5AE7';
$PRICE3=0;
$LID3="3";
$LIVEPOOL3=1;
$LIVECOMMAND3="eflowlive whin ";
$LIVEUNIT3="W";
$EMAIL3="";
$POUKEY3='';
$RPITOK3='';
$WARNCONSOD3=0;
$NORESPM3=false;
$cfgver=1502175480;
?>
Codice: Seleziona tutto
<?php
if(!defined('checkaccess')){die('Direct access not permitted');}
// ### CONFIG FOR METER #4
$METNAME4="IMMISSIONI";
$TYPE4='Elect';
$PROD4=0;
$PHASE4=1;
$SKIPMONITORING4=false;
$ID4="4";
$COMMAND4="eflow whout ";
$UNIT4="Wh";
$PRECI4=0;
$PASSO4=0;
$COLOR4='574FFF';
$PRICE4=0;
$LID4="4";
$LIVEPOOL4=1;
$LIVECOMMAND4="eflowlive whout ";
$LIVEUNIT4="W";
$EMAIL4="";
$POUKEY4='';
$RPITOK4='';
$WARNCONSOD4=0;
$NORESPM4=false;
$cfgver=1502175480;
?>
Codice: Seleziona tutto
<?php
if(!defined('checkaccess')){die('Direct access not permitted');}
// ### CONFIG FOR METER #5
$METNAME5="AUTOCONSUMO";
$TYPE5='Elect';
$PROD5=0;
$PHASE5=1;
$SKIPMONITORING5=false;
$ID5="5";
$COMMAND5="eflow selfc ";
$UNIT5="Wh";
$PRECI5=0;
$PASSO5=0;
$COLOR5='F5FF27';
$PRICE5=0;
$LID5="5";
$LIVEPOOL5=1;
$LIVECOMMAND5="eflowlive selfc";
$LIVEUNIT5="W";
$EMAIL5="";
$POUKEY5='';
$RPITOK5='';
$WARNCONSOD5=0;
$NORESPM5=false;
$cfgver=1502175480;
?>
Codice: Seleziona tutto
<?php
if(!defined('checkaccess')){die('Direct access not permitted');}
// ### CONFIG FOR METER #6
$METNAME6="BOILER";
$TYPE6='Elect';
$PROD6=2;
$PHASE6=1;
$SKIPMONITORING6=false;
$ID6="6";
$COMMAND6="poolerconsumi 6 energy ";
$UNIT6="Wh";
$PRECI6=0;
$PASSO6=0;
$COLOR6='FFFFFF';
$PRICE6=0;
$LID6="6";
$LIVEPOOL6=1;
$LIVECOMMAND6="poolerconsumi 6 power";
$LIVEUNIT6="W";
$EMAIL6="";
$POUKEY6='';
$RPITOK6='';
$WARNCONSOD6=0;
$NORESPM6=false;
$cfgver=1502175480;
?>
Codice: Seleziona tutto
<?php
if(!defined('checkaccess')){die('Direct access not permitted');}
// ### GENERAL
$NUMMETER=6;
$DELAY=1000;
$DISTRO='raspbian_ARM';
$LOGCOM=false;
$DEBUG=false;
// ### LOCALIZATION
$DTZ='Europe/Rome';
$LATITUDE=45.649;
$LONGITUDE=12.394;
$DATEFORMAT='d/m/Y';
$DPOINT=',';
$THSEP='.';
$CURS='€';
// ### WEB PAGE
$TITLE="Home energy monitor";
$SUBTITLE="« Analisi consumi e produzione elettrica »";
// ### CLEANUP
$KEEPDDAYS=0;
$AMOUNTLOG=256;
?>
Codice: Seleziona tutto
<?php
if(!defined('checkaccess')){die('Direct access not permitted');}
$GRAPHH=220;
$POWER_MIN=-3000;
$POWER_MAX=3000;
$GRAPH_MET1=1;
$LASTD_MET1=true;
$FILL_MET1=false;
$GRAPH_MET2=1;
$LASTD_MET2=false;
$FILL_MET2=false;
$GRAPH_MET3=1;
$LASTD_MET3=false;
$FILL_MET3=false;
$GRAPH_MET4=0;
$LASTD_MET4=false;
$FILL_MET4=false;
$GRAPH_MET5=0;
$LASTD_MET5=false;
$FILL_MET5=false;
$GRAPH_MET6=1;
$LASTD_MET6=false;
$FILL_MET6=false;
$cfgver=1506503500;
?>
Codice: Seleziona tutto
<?php
if(!defined('checkaccess')){die('Direct access not permitted');}
// ### CONFIG FOR INDICATOR(S)
$NUMIND=2;
$INDNAME1="TENSIONE";
$INDID1="2_1";
$INDPOOL1=1;
$INDCOMMAND1="reqsdm tensione";
$INDUNIT1="V";
$INDNAME2="COSPI";
$INDID2="2_4";
$INDPOOL2=1;
$INDCOMMAND2="reqsdm cospi";
$INDUNIT2="";
?>
Codice: Seleziona tutto
<?php
if(!defined('checkaccess')){die('Direct access not permitted');}
// Manage com. apps daemon as 'http' user if needed
if (is_null($PID)) { // Stop Daemon
exec("pkill -f pooler485 > /dev/null 2>&1 &");
#exec("pkill -f loadcheck > /dev/null 2>&1 &");
} else { //Start
exec("pooler485 2,6 9600 /dev/ttyUSB0 > /dev/null 2>/dev/null &");
#exec("loadcheck > /dev/null 2>/dev/null &");
}
?>
Re: Problema modulazione resistenza boiler
Ciao, Flane sono 4 giorni che provo a cambiare collegamenti e configurazioni e non sono riuscito a combinare nulla.
Ho usato il boiler diretto senza pwm e con il contatore stesso problema, a proposito per errore avevo invertito i fili di linea
e dava un valore negativo sul sdm però nel cruscotto non si presentava il problema, ma non assorbiva energia.
Non resta come dici tu se ho sbagliato a collegare i contatori di prod e consumi, provo a fare un piccolo schema, di come ho
collegato i contatori prendilo comè di elettricità capisco poco.Ti ringrazio se mi fai sapere qualcosa ciao.
Ho usato il boiler diretto senza pwm e con il contatore stesso problema, a proposito per errore avevo invertito i fili di linea
e dava un valore negativo sul sdm però nel cruscotto non si presentava il problema, ma non assorbiva energia.
Non resta come dici tu se ho sbagliato a collegare i contatori di prod e consumi, provo a fare un piccolo schema, di come ho
collegato i contatori prendilo comè di elettricità capisco poco.Ti ringrazio se mi fai sapere qualcosa ciao.
Re: Problema modulazione resistenza boiler
Il collegamento dei contatori mi sembra a posto.
Non devi avere letture negative ne sui contatori ne su MeterN.
Per quanto riguarda il meter 6, cioè il boiler, perchè usi poolerconsumi e non reqsdm come ho indicato nella guida su github?
Non devi avere letture negative ne sui contatori ne su MeterN.
Per quanto riguarda il meter 6, cioè il boiler, perchè usi poolerconsumi e non reqsdm come ho indicato nella guida su github?
Re: Problema modulazione resistenza boiler
perchè ho collegato un contatore per aver il consumo esatto del boiler, o devo usare lo stesso reqsdm?
Re: Problema modulazione resistenza boiler
Ok, tu hai il contatore specifico per il boiler.
Vedo che sopra ti avevo già suggerito di crearti il file poolerboiler.php e non di utilizzare poolerconsumi.php
Comunque ti devi fare una copia del file poolerconsumi.php e chiamarlo poolerboiler.php.
Attenzione che permessi e proprietari siano gli stessi.
Crei il symlink al nuovo file con:
A questo punto per il boiler usi i comandi:
In teoria potrebbe anche funzionare con poolerconsumi ma non vorrei che fosse quello a creare casini.
Ti avevo poi anche chiesto se le letture del boiler nel file /dev/shm/metern6.txt sono corrette.....
Vedo che sopra ti avevo già suggerito di crearti il file poolerboiler.php e non di utilizzare poolerconsumi.php
Comunque ti devi fare una copia del file poolerconsumi.php e chiamarlo poolerboiler.php.
Attenzione che permessi e proprietari siano gli stessi.
Crei il symlink al nuovo file con:
Codice: Seleziona tutto
ln -s /var/www/comapps/poolerboiler.php /usr/local/bin/poolerboiler
A questo punto per il boiler usi i comandi:
Codice: Seleziona tutto
poolerboiler 6 energy
poolerboiler 6 power
In teoria potrebbe anche funzionare con poolerconsumi ma non vorrei che fosse quello a creare casini.
Ti avevo poi anche chiesto se le letture del boiler nel file /dev/shm/metern6.txt sono corrette.....
Re: Problema modulazione resistenza boiler
questo è /var/www/comapps/poolerboiler.php
symlink su /usr/local/bin/poolerboiler è presente.
letture su /dev/shm/metern6.txt sono corrette
Grazie ancora, non so se bisogna cambiare qualcosa sul file poolerboiler, fatto con la copia di poolerconsumi.
Mi sono accorto che su file /dev/shm/boiler.txt ha come propritario root invece gli altri sono www-data, va bene cosi?
Ti ringrazio ancora e ciao.
Codice: Seleziona tutto
#!/usr/bin/php
<?php
if (isset($_SERVER['REMOTE_ADDR'])) {
die('Direct access not permitted');
}
// This script will output a meterN compatible format for the main command
// You'll need to setup the path to meterN ($pathtomn).
// ln -s /var/www/comapps/poolerboiler.php /usr/local/bin/poolerboiler
// Usage: poolerboiler [MeterID] [energy | power]
// No edit is needed below
if (!isset($argv[1],$argv[2])) {
$argv[1]=null;
}
if ($argv[1]!= null && ($argv[2]== 'power' || $argv[2]== 'energy')) {
$pathtomn = '/var/www/metern';
$prevcount = 0; // Inserire qui il totale del contatore precedente
$metnum = $argv[1]; // Meter ID Consumi
$cmd = "more /dev/shm/metern$metnum.txt | egrep \"^$metnum\(\" | grep \"*Wh)\""; // Request Energy values
$cmd1 = "more /dev/shm/metern$metnum.txt | egrep \"^$metnum\(\" | grep \"*W)\""; // Request Power values
#echo "$cmd\n";
#echo "$cmd1\n";
// End of setup
define('checkaccess', TRUE);
include("$pathtomn/config/config_main.php");
include("$pathtomn/config/config_met$metnum.php");
if ($argv[2]== 'energy') {
// acquisisce il valore precedente dal csv
$dir = '/var/www/metern/data/csv';
$output = array();
$output = glob($dir . '/*.csv');
sort($output);
$cnt = count($output);
if (file_exists($output[$cnt - 1])) {
$file = file($output[$cnt - 1]); // today
$contalines = count($file);
if ($contalines > 1) {
$prevarray = preg_split("/,/", $file[$contalines - 1]);
} elseif ($contalines == 1 && file_exists($output[$cnt - 2])) { // yesterday, only header
$file = file($output[$cnt - 2]);
$contalines = count($file);
$prevarray = preg_split("/,/", $file[$contalines - 1]);
}
$cons_val_first = trim($prevarray[$metnum]);
} else {
$cons_val_first = null;
}
#sleep(1); // oh why ?
// Now retrieve the current value
$datareturn = shell_exec($cmd);
$datareturn = trim($datareturn);
$datareturn = preg_replace("/^${'ID'.$metnum}\(/i", '', $datareturn); // VALUE*UNIT)
$lastval = preg_replace("/\*[a-z0-9]+\)$/i", '', $datareturn); // VALUE
#echo "$lastval\n";
settype($lastval, 'float');
settype($prevcount, 'float');
settype($cons_val_first, 'float');
$lastval += $prevcount; // aggiunge il correttore del totale
if ($lastval < $cons_val_first) { // controlla se il contatore segna meno del valore precedente
$lastval = $cons_val_first;
}
$lastval = round($lastval, ${'PRECI' . $metnum});
$str = utf8_decode("${'ID'.$metnum}($lastval*${'UNIT'.$metnum})\n");
file_put_contents("/dev/shm/consumi$metnum.txt", $str);
echo "$str";
}elseif ($argv[2]== 'power') {
#sleep(1); // oh why ?
// Now retrieve the current value
$datareturn = shell_exec($cmd1);
$datareturn = trim($datareturn);
$datareturn = preg_replace("/^${'ID'.$metnum}\(/i", '', $datareturn); // VALUE*UNIT)
$powerval = preg_replace("/\*[a-z0-9]+\)$/i", '', $datareturn); // VALUE
#echo "$powerval\n";
settype($powerval, 'float');
$powerval = round($powerval, 0);
$str = utf8_decode("${'ID'.$metnum}($powerval*${'LIVEUNIT'.$metnum})\n");
echo "$str";
}
} else {
die("Usage: poolerboiler {MeterID} {energy | power}\n");
}
?>
symlink su /usr/local/bin/poolerboiler è presente.
letture su /dev/shm/metern6.txt sono corrette
Grazie ancora, non so se bisogna cambiare qualcosa sul file poolerboiler, fatto con la copia di poolerconsumi.
Mi sono accorto che su file /dev/shm/boiler.txt ha come propritario root invece gli altri sono www-data, va bene cosi?
Ti ringrazio ancora e ciao.
Re: Problema modulazione resistenza boiler
Va bene così.
Non ho capito se ora il problema che avevi è sparito o meno ....
PS: quando incolli del codice usa i tag codice della barra, fino ad ora ho coretto io
Non ho capito se ora il problema che avevi è sparito o meno ....
PS: quando incolli del codice usa i tag codice della barra, fino ad ora ho coretto io
Re: Problema modulazione resistenza boiler
no ancora da risolvere
Chi c’è in linea
Visitano il forum: Nessuno e 24 ospiti