Notifica Missing 5' sample

Discussioni relative al software per il monitoraggio fotovoltaico 123SOLAR


ambramia
Messaggi: 111
Iscritto il: 22/01/2016, 11:38

Re: Notifica Missing 5' sample

Messaggioda ambramia » 04/12/2017, 17:44

questo è il mio pool123s.php

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/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    = '2';
$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");
}
?>

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

Re: Notifica Missing 5' sample

Messaggioda Flane » 04/12/2017, 18:03

Dovresti provare ad eseguire il comando

Codice: Seleziona tutto

pool123s energy

da terminale al mattino appena 123solar parte in modo da capire cosa ti risponde esattamente

ambramia
Messaggi: 111
Iscritto il: 22/01/2016, 11:38

Re: Notifica Missing 5' sample

Messaggioda ambramia » 04/12/2017, 18:17

quando si "sveglia" 123solar non sono in casa ed ancora non arrivo al lavoro per fare il test da remoto, cercherò di partire prima per provare il test.
P.S. ma l'inverter dovrebbe essere ancora spento quando parte 123solar o mi sbaglio?

ambramia
Messaggi: 111
Iscritto il: 22/01/2016, 11:38

Re: Notifica Missing 5' sample

Messaggioda ambramia » 05/12/2017, 11:20

stamattina prima che si accendesse l'inverter ed 123solar appena "svegliato"
dando da terminale alle 7.36:

Codice: Seleziona tutto

pool123s energy

risposta:

Codice: Seleziona tutto

root@raspberrypi:~# pool123s energy
2(9334633*Wh)

il log eventi puoi vederlo da 123solar in firma

Rivo
Messaggi: 4
Iscritto il: 27/11/2017, 17:09

Re: Notifica Missing 5' sample

Messaggioda Rivo » 05/12/2017, 16:13

Ciao
scusate per il ritardo (mentale intendo) =)

il file pool123s.php l' ho trovato in /var/comapps/ spero sia il percorso corretto
► Mostra testo


Non mi è chiaro in quale condizione devo lanciare il comando "pool123s energy"
cosa intendi con "al mattino appena 123solar parte" ? da quel poco che ci capisco 123solar rimane sempre in esecuzione, è l' inverter che da spento non risponde alle interrogazioni ricevute

Grazie in anticipo per l' interesse


Torna a “123Solar”

Chi c’è in linea

Visitano il forum: Nessuno e 6 ospiti