Pagina 1 di 1

Configurare gli indicatori per 2 SDM120c indipendenti

Inviato: 15/02/2023, 23:43
da fucimin
Ciao a tutti, è il mio primo post.
Vorrei complimentarmi davvero con Flavio ma anche con tutti gli utenti per l'immensa e completissima mole di lavoro riportata in questo forum.

Ho iniziato la mia avventura circa 1 anno fa con l'installazione dapprima del monitoraggio dei soli consumi elettrici, per proseguire, qualche mese dopo, con l'aggiunta di un paio di pannelli fotovoltaici con un inverter "grid tie", per finire quest'anno con la trasformazione dell'impianto di casa in impianto ad isola con accumulo, tutto ciò riconfigurando, di volta in volta, meterN e/o 123solar, senza creare disastri e risolvendo i vari intoppi, via via incontrati, unicamente leggendo la montagna di suggerimenti e di casi da tutti voi riportata ed applicando le info a me utili.

Il mio impianto è semplice ed è composto da 2 misuratori SDM120c, collegati in parallelo, che vengono letti tramite un doppino ritorto non schermato lungo una 40ina di metri ed ovviamente il convertitore rs485-USB.

Il primo contatore (id=2) legge la corrente prelevata dal contatore Enel, mentre il secondo contatore (id=1) è connesso all'inverter.

Quando avevo l'inverter grid tie, avevo un'unica lettura della tensione, corrente e cosfi per entrambi i contatori ma, una volta trasformato l'impianto ad isola, mi sono ritrovato a vedere l'indicazione della tensione, corrente e cosfi, relativa al solo contatore dell'Enel ma non del mio inverter.

Non trovando nel forum la "pappa fatta", ho cercato di scovare il modo di visualizzare contemporaneamente anche la tensione, corrente e cosfi del mio inverter.
Per prima cosa, ho modificato le righe del file /var/www/metern/config/allowed_comapps.php da così:

Codice: Seleziona tutto

$ALLWDCMD[4] = 'reqsdm tensione';
$ALLWDCMD[5] = 'reqsdm corrente';
$ALLWDCMD[6] = 'reqsdm cospi';
$ALLWDCMD[7] = 'reqsdm cpu-temp';


a così:

Codice: Seleziona tutto

$ALLWDCMD[4] = 'reqsdm tensione1';
$ALLWDCMD[5] = 'reqsdm corrente1';
$ALLWDCMD[6] = 'reqsdm cospi1';
$ALLWDCMD[7] = 'reqsdm tensione2';
$ALLWDCMD[8] = 'reqsdm corrente2';
$ALLWDCMD[9] = 'reqsdm cospi2';
$ALLWDCMD[10] = 'reqsdm cpu-temp';


Poi ho modificato le righe del file /var/www/comapps/reqsdm.php da così:

Codice: Seleziona tutto

      } elseif ($argv[1] == 'tensione') {
         $outstr =  exec('cat /dev/shm/metern2.txt | egrep "^2_1\(" | grep "*V)"');
      } elseif ($argv[1] == 'corrente') {
         $outstr =  exec('cat /dev/shm/metern2.txt | egrep "^2_2\(" | grep "*A)"');
      } elseif ($argv[1] == 'freq') {
         $outstr =  exec('cat /dev/shm/metern2.txt | egrep "^2_3\(" | grep "*Hz)"');
      } elseif ($argv[1] == 'cospi') {
         $outstr =  exec('cat /dev/shm/metern2.txt | egrep "^2_4\(" | grep "*F)"');
      } elseif ($argv[1] == 'cpu-temp') {


a così:

Codice: Seleziona tutto

      } elseif ($argv[1] == 'tensione1') {
         $outstr =  exec('cat /dev/shm/metern1.txt | egrep "^1_1\(" | grep "*V)"');
      } elseif ($argv[1] == 'corrente1') {
         $outstr =  exec('cat /dev/shm/metern1.txt | egrep "^1_2\(" | grep "*A)"');
      } elseif ($argv[1] == 'freq1') {
         $outstr =  exec('cat /dev/shm/metern1.txt | egrep "^1_3\(" | grep "*Hz)"');
      } elseif ($argv[1] == 'cospi1') {
         $outstr =  exec('cat /dev/shm/metern1.txt | egrep "^1_4\(" | grep "*F)"');
      } elseif ($argv[1] == 'tensione2') {
         $outstr =  exec('cat /dev/shm/metern2.txt | egrep "^2_1\(" | grep "*V)"');
      } elseif ($argv[1] == 'corrente2') {
         $outstr =  exec('cat /dev/shm/metern2.txt | egrep "^2_2\(" | grep "*A)"');
      } elseif ($argv[1] == 'freq2') {
         $outstr =  exec('cat /dev/shm/metern2.txt | egrep "^2_3\(" | grep "*Hz)"');
      } elseif ($argv[1] == 'cospi2') {
         $outstr =  exec('cat /dev/shm/metern2.txt | egrep "^2_4\(" | grep "*F)"');
      } elseif ($argv[1] == 'cpu-temp') {


e poi modificando la riga:

Codice: Seleziona tutto

   die("Usage: reqsdm (tensione|corrente|freq|cospi|cpu-temp)\n");


in

Codice: Seleziona tutto

   die("Usage: reqsdm (tensione1|tensione2|corrente1|corrente2|freq1|freq2|cospi1|cospi2|cpu-temp)\n");


mantenendo sempre il proprietario dei file modificati in www-data.

Per finire, sono entrato nel pannello admin e ho modificato la pagina degli indicators come segue:

Immagine

salvato e riavviato meterN e voilà gli indicatori anche dell'inverter:

Immagine

dove "Tensione I" indica la tensione dell'inverter, mentre "Tensione R" la tensione di rete Enel.

Immagine

Spero sia stato utile a qualcuno.
Ciao!
Carlo

Re: Configurare gli indicatori per 2 SDM120m indipendenti

Inviato: 16/02/2023, 17:03
da Flane
Grazie per le dettagliate indicazioni che potranno essere utili anche ad altri.
Ciao

Re: Configurare gli indicatori per 2 SDM120c indipendenti

Inviato: 16/02/2023, 20:47
da Frk28
Grazie per la condivisione!