prima installazione immagine SolarStretch 3.1

Discussioni relative al software di monitoraggio energetico METERN
gtontini
Messaggi: 48
Iscritto il: 20/12/2020, 22:42

Re: prima installazione immagine SolarStretch 3.1

Messaggioda gtontini » 25/03/2021, 23:12

Help Help Help!
Dopo una giornata di test chiudo giornata con questa situazione.

Modbus su inverter Aurora ID3 e SDM120 ID2 su unico convertitore USB.

Da raspberry....
comando aurora -a3 -k2 -Y3 /dev/ttyUSB0 ===>risponde
comando sdm120c -a 2 -P O -b 9600 -j10 -z10 -w10 /dev/ttyUSB0 ===> risponde OK e arrivano tutti i valori (Tensione, potenza, corrente....)

123Solar funziona correttamente
MeternN niente da fare, legge solo la produzione da 123Solar ma non i consumi e gli indicatori non funzionano, solo la temperatura CPU funziona.

ho controllato il file reqsdm.php... mi sembra corretto

Codice: Seleziona tutto

#!/usr/bin/php
<?php
// This script will output a meterN compatible format for the main or live command
// You'll need to setup correct permission
// chmod +x reqsdm.php
// then
// ln -s /var/www/comapps/reqsdm.php /usr/local/bin/reqsdm
// Request command with 'reqsdm tensione' or 'reqsdm corrente' or ......

if (isset($_SERVER['REMOTE_ADDR'])) {
    die('Direct access not permitted');
}
if (!isset($argv[1])) {
   die("Abording: no valid argument given.\n");
      } 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') {
         $outstr =  exec('cat /sys/class/thermal/thermal_zone0/temp');
         $outstr = $outstr/1000;
         $outstr = "cpu($outstr*°C)";
      // and so on ....
   } else {
    die("Usage: reqsdm (tensione|corrente|freq|cospi|cpu-temp)\n");
   }
echo "$outstr";
?>


Il file /dev/shm/metern2.txt non viene generato.

Ho finito le risorse..!!! HELP


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

Re: prima installazione immagine SolarStretch 3.1

Messaggioda Flane » 26/03/2021, 8:33

ma tu stai usando l'immagine preconfigurata o una tua installazione?
Se il file metern2.txt non viene generato evidentemente lo script pooler485 che deve essere attivato con Metern non è attivo.
posta il contenuto del file /var/www/metern/config/configdaemon.php


PS: usa il tag codice quando posti del codice. Grazie

gtontini
Messaggi: 48
Iscritto il: 20/12/2020, 22:42

Re: prima installazione immagine SolarStretch 3.1

Messaggioda gtontini » 26/03/2021, 9:05

no Flane.. sto usando l'immagine preconfigurata ed un raspbarry 32bit.
Ho installato aurora 1.9.0 come da guida per usare unico bus... la versione di Aurora installata non risponde.. (probabilmente compilata 64 bit!?)
123Solar funziona correttamente e legge da inverter (ID 3)
Ho anche dovuto ricompilare SDM120C.
Ora da terminale leggo il contatore SDM120C (ID 2).... il problema è su METERN che non riesco proprio a vedere gli indicatori e il consumo!!!!
come detto vedo solo cpu-temp e la produzione che arriva da 123solar.

non so piu dove pescare

gtontini
Messaggi: 48
Iscritto il: 20/12/2020, 22:42

Re: prima installazione immagine SolarStretch 3.1

Messaggioda gtontini » 26/03/2021, 9:12

dato che ieri ho pastrocchiato un po' ieri sera alla 23 ho reinstallato l'immagine pulita ed ho solo ricompilato aurora 1-9-0 e SDM120
Per intenderci dentro SDM120C ho digitato
make uninstall
make clean && make
make install

gtontini
Messaggi: 48
Iscritto il: 20/12/2020, 22:42

Re: prima installazione immagine SolarStretch 3.1

Messaggioda gtontini » 26/03/2021, 9:28

Flane ecco il contenuto del file /var/www/metern/config/configdaemon.php

tag

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 9600 /dev/ttyUSB0 > /dev/null 2>/dev/null &");
   #exec("loadcheck > /dev/null 2>/dev/null &");
}
?>

gtontini
Messaggi: 48
Iscritto il: 20/12/2020, 22:42

Re: prima installazione immagine SolarStretch 3.1

Messaggioda gtontini » 26/03/2021, 9:32

confermo che Il file /dev/shm/metern2.txt non viene generato

Immagine

gtontini
Messaggi: 48
Iscritto il: 20/12/2020, 22:42

Re: prima installazione immagine SolarStretch 3.1

Messaggioda gtontini » 26/03/2021, 16:23

per completezza sperando che possa dare qualche idea in piu ho notato che, con MeterN spento (OFF) il sistema non è molto carico come si nota dalla seguente immagine che fa riferimento al solo 123Solar ON.

Immagine

Quando attivo MeterN l'utilizzo delle risorse sale sensibilmente come si nota!


Immagine

Da profano mi puzza di bruciato!

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

Re: prima installazione immagine SolarStretch 3.1

Messaggioda Flane » 28/03/2021, 10:05

Attiva il debug di metern e vedi che errori restituisce (file errori in /var/www/metern/data/metern.err )

Controlla se il pooler485 è attivo:

Codice: Seleziona tutto

ps aux | grep pooler485

gtontini
Messaggi: 48
Iscritto il: 20/12/2020, 22:42

Re: prima installazione immagine SolarStretch 3.1

Messaggioda gtontini » 28/03/2021, 21:53

Grazie Flavio.
allora...

attivato debug su configurazione di MeterN. Riattivato metern..... questo il contenuto del file /var/www/metern/data/metern.err

tag

Codice: Seleziona tutto

28/03/2021 21:19:02   Stopping meterN (25043)

28/03/2021 21:22:52   Starting meterN on boot debug (714)

more: stat of /dev/shm/metern2.txt failed: No such file or directory
more: stat of /dev/shm/metern2.txt failed: No such file or directory
more: stat of /dev/shm/metern2.txt failed: No such file or directory
more: stat of /dev/shm/metern2.txt failed: No such file or directory
cat: /dev/shm/metern2.txt: No such file or directory
cat: /dev/shm/metern2.txt: No such file or directory
cat: /dev/shm/metern2.txt: No such file or directory
more: stat of /dev/shm/metern2.txt failed: No such file or directory
more: stat of /dev/shm/metern2.txt failed: No such file or directory
more: stat of /dev/shm/metern2.txt failed: No such file or directory
more: stat of /dev/shm/metern2.txt failed: No such file or directory
cat: /dev/shm/metern2.txt: No such file or directory
cat: /dev/shm/metern2.txt: No such file or directory
cat: /dev/shm/metern2.txt: No such file or directory
more: stat of /dev/shm/metern2.txt failed: No such file or directory
more: stat of /dev/shm/metern2.txt failed: No such file or directory
more: stat of /dev/shm/metern2.txt failed: No such file or directory
more: stat of /dev/shm/metern2.txt failed: No such file or directory
cat: /dev/shm/metern2.txt: No such file or directory
cat: /dev/shm/metern2.txt: No such file or directory
cat: /dev/shm/metern2.txt: No such file or directory
more: stat of /dev/shm/metern2.txt failed: No such file or directory
more: stat of /dev/shm/metern2.txt failed: No such file or directory
more: stat of /dev/shm/metern2.txt failed: No such file or directory
more: stat of /dev/shm/metern2.txt failed: No such file or directory
cat: /dev/shm/metern2.txt: No such file or directory
cat: /dev/shm/metern2.txt: No such file or directory
cat: /dev/shm/metern2.txt: No such file or directory
more: stat of /dev/shm/metern2.txt failed: No such file or directory
more: stat of /dev/shm/metern2.txt failed: No such file or directory
more: stat of /dev/shm/metern2.txt failed: No such file or directory
more: stat of /dev/shm/metern2.txt failed: No such file or directory
cat: /dev/shm/metern2.txt: No such file or directory
cat: /dev/shm/metern2.txt: No such file or directory
cat: /dev/shm/metern2.txt: No such file or directory
more: stat of /dev/shm/metern2.txt failed: No such file or directory
more: stat of /dev/shm/metern2.txt failed: No such file or directory
more: stat of /dev/shm/metern2.txt failed: No such file or directory



il risultato di ps aux | grep pooler485 è il seguente


Immagine

date le mie scarse competenze in merito non posso andare oltre Flavio..
così spassionatamente ho creato un file vuoto /dev/shm/metern2.txt stoppato e runnato nuovament matern ... il contenuto del file metern.err è il seguente


tab [/code]
28/03/2021 21:42:43 Stopping meterN (8380)

28/03/2021 21:45:09 Starting meterN debug (9092)

PHP Notice: Undefined index: KWHT1 in /var/www/comapps/pool123s.php on line 45
[/code]


Questo è il file /var/www/comapps/pool123s.php

tab

Codice: Seleziona tutto

#!/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 'pool123s energy' and live command 'pool123s power'
// Mod:.............Flanesi
// Date:............10/09/2017

// 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)

// No edit is needed below
if (isset($argv[1])) {
    define('checkaccess', TRUE);
    include("$pathto123s/config/config_main.php");
    include("$pathto123s/config/config_invt$invtnum.php");
    include("$pathto123s/config/memory.php");
    date_default_timezone_set($DTZ);
   
    $KWHT = null;
    if (file_exists($LIVEMEMORY)) {
        $data     = file_get_contents($LIVEMEMORY);
        $memarray = json_decode($data, true);
        $nowUTC   = strtotime(date("Ymd H:i:s"));
        if ($argv[1] == 'power') {
            if ($nowUTC - $memarray["SDTE$invtnum"] < 30) {
                $GP = $memarray["G1P$invtnum"] + $memarray["G2P$invtnum"] + $memarray["G3P$invtnum"];
                $GP = round($GP, 0);
            } else { // Too old
                $GP = 0;
            }
            echo "$METERID($GP*W)\n";
        } elseif ($argv[1] == 'energy') {
            if ($nowUTC - $memarray["SDTE$invtnum"] < 86400) {  // (valore standard 600 - modificato a 86400)
                $KWHT = round($memarray["KWHT$invtnum"] * 1000); // Wh
            } else {
                die("Abording: Too late value\n");
            }
         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;
            }
         }            
         $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");
}
?>


Per ora non so cosa altro fare!
Grazie Flavio attendo tue impressioni

gtontini
Messaggi: 48
Iscritto il: 20/12/2020, 22:42

Re: prima installazione immagine SolarStretch 3.1

Messaggioda gtontini » 29/03/2021, 21:45

ho navigato ore in rte e nel forum... ho visto che in qualche caso ci sono stati problemi di permessi che ho verificato e mi sembrano corretti.

non in zona morta....riesco a leggere il il contatore con il comando sdm120c -a 2 -P O -b 9600 -j10 -z10 -w10 /dev/ttyUSB0 e la risposta è anche veloce!
ma con metern non c'è niente da fare... la situazione è rimasta quella dei messaggi prcedenti
ho fatto tutti i test ma non ho piu idee!


Torna a “MeterN”

Chi c’è in linea

Visitano il forum: Nessuno e 6 ospiti