Pagina 1 di 2

Problema indicatori con MeterN 0.8.3 [risolto]

Inviato: 04/11/2016, 9:14
da Matteosteva
Ciao a tutti e grazie del gran lavoro che fate,
ho un problema con gli indicatori in meterN, inserendo il comando cat /run/shm/metern1.txt | egrep "^1_1\(" | grep "*V)" (ho 1 solo misuratore per i consumi) mi restituisce errore, però digitandolo su putty mi restituisce correttamente il valore di tensione.

Non riesco a capire perchè.

Grazie

Re: Problema indicatori

Inviato: 05/11/2016, 11:52
da Flane
Stai usando l'ultima versione 0.8.3 di MeterN vero?

In questa ultima versione l'autore Jean Marc (che non finirò mai di ringraziare), ha introdotto per ragioni di sicurezza una ulteriore protezione, e non è più possibile inserire comandi direttamente in metern ma si deve passare attraverso uno scritp esterno, come l'esempio reqsdm.php che trovi negli esempi di comapps che ha predisposto Jean Marc.

Allego di seguito un esempio di script reqsdm.php da mettere nella cartella /var/www/comapps/reqsdm.php:

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
// then ln -s /var/www/comapps/reqsdm.php /usr/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] == '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|cospi|cpu-temp)\n");
   }
echo "$outstr";
?>

Lo scritp funziona se i vari meter sono stati numerati come da mia guida, altrimenti deve essere adattato.

Allo script dovranno essere dati i permessi in esecuzione e creato il relativo symlink:

Codice: Seleziona tutto

sudo chmod +x /var/www/comapps/reqsdm.php
sudo ln -s /var/www/comapps/reqsdm.php /usr/bin/reqsdm


Così si potrà semplicemente inserire nel comando dei vari indicators:

Codice: Seleziona tutto

reqsdm tensione
oppure

Codice: Seleziona tutto

reqsdm corrente
e così via

Re: Problema indicatori (risolto)

Inviato: 05/11/2016, 12:27
da Matteosteva
Perfetto,
funziona tutto!

Grazie.

Re: Problema indicatori con MeterN 0.8.3 (risolto)

Inviato: 08/11/2016, 15:30
da Pasqua73
Per quanto riguarda gli indicatori segnati sopra ok, per quanto riguarda gli indicatori del PWM?

Re: Problema indicatori con MeterN 0.8.3 (risolto)

Inviato: 08/11/2016, 15:48
da Flane
Suvvia... ogni tanto sforzate anche un pò le meningi. :roll:
Capito il concetto non mi sembra poi cosi difficile aggiungere qualche riga con il comando che avete già ....
Non si può avere sempre la pappà pronta e calda :lol: :lol:

comunque per i più pigri .... ecco il file reqsdm.php con anche le richieste per il PWM: ;) :D

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
// then ln -s /var/www/comapps/reqsdm.php /usr/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] == 'cospi') {
         $outstr =  exec('cat /dev/shm/metern2.txt | egrep "^2_4\(" | grep "*F)"');
      } elseif ($argv[1] == 'boiler-status') {
         $outstr =  exec('echo "pwm_ssr_dimmer("`pgrep -c pwm_ssr_dimmer`"*X)"');
      } elseif ($argv[1] == 'boiler-live') {
         $outstr =  exec('cat /dev/shm/boiler6.txt | egrep "^6\(" | grep "*W)"');
      } elseif ($argv[1] == 'boiler-main') {
         $outstr =  exec('cat /dev/shm/boiler6.txt | egrep "^6\(" | grep "*Wh)"');
      } elseif ($argv[1] == 'resistenza') {
         $outstr =  exec('cat /dev/shm/boiler6.txt | egrep "^6_1\(" | grep "*%)"');
      } 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|cospi|boiler-status|boiler-live|boiler-main|resistenza|cpu-temp)\n");
   }
echo "$outstr";
?>

Re: Problema indicatori (risolto)

Inviato: 25/04/2017, 18:43
da nicolaVR
Grazie anche da parte mia.
ho scoperto -e corretto- ora la causa dell'errore di visualizzazione dei valori istantanei V-A-Hz-Cosfi
Nicola

Re: Problema indicatori con MeterN 0.8.3 (IRrisolto)

Inviato: 29/07/2017, 19:29
da buemarino
Salve,
se qualcuno ha in funzione, e funziona!, il PWM meter e indicatori, chiedo cortesemente se mi puo' dare qualche conferma.
Non posso sempre chiedere a Flane ..... Scusate, ma a me in questa versione non funziona più la PWM.

Qui sotto anche se a quest'ora la resistenza è spenta, dovrebbe comunque comparire il valore % e più sotto dovrebbe esserci la scritta off sullo status. Invece niente !

problema rqdsm.png
problema rqdsm.png (6.22 KiB) Visto 9148 volte


Non fate caso ai valori zero di prod e consumo che sono dovuti al fatto che non viene generato il file txt del boiler già a me tristemente noto perchè ci ho perso la testa nella v 2.5 prima di venirne fuori.

Re: Problema indicatori con MeterN 0.8.3 (risolto)

Inviato: 29/07/2017, 21:50
da Flane
Come non fate caso ai valori a 0???
Come pensi possa funzionare il Pwm se non hai i file txt con consumi e produzione?

Prima sistema tutto il sistema di monitoraggio, e solo quando tutto funziona attiva il Pwm.

Re: Problema indicatori con MeterN 0.8.3 (risolto)

Inviato: 30/07/2017, 8:59
da buemarino
Guarda Flane, io comprendo benissimo che rispondere a mille quesiti, spesso inutili come a volte i miei, sia anche un grande
peso per te che hai costruto questo ed altre cose con grande impegno, dedizione e indubbiamente altruismo, quindi accetto senza grande fastidio di essere malmenato anche ingiustamente.
Per aiutare la tua pazienza a reggere anche il mio quesito ti ricordo che uso i tuoi script e le tue guide da oltre 2 anni.

Veniamo al dunque:
il sistema anche nella sua versione 2.6a, SENZA PWM, funziona benissimo e dà i valori che deve dare; genera i files txt che deve generare e tutto il resto.
Invece il PWM non mi funziona e come sai, perchè se ne è gia parlato altre volte, quando il meter PWM non parte e non genera i file txt, TUTTO METERN, comincia a lampeggiare da 0 ai valori corretti in un continuo alternarsi. Se voglio spegnere il lampeggio, basta che elimino il meter del boiler, e METERN riprende il suo corretto funzionamento.
Tempo fa suggerii una soluzione https://www.flanesi.it/forum/viewtopic.php?f=20&t=1842&start=100#p2948 per il reboot che non trovò come atteso grande entusiasmo, ma che in qualche modo mi sembra sia stato accettata, e che serviva a far ripartire pwm al reboot senza aspettare il mattino successivo, consentendo cosi la interruzione di quel fastidioso lampeggio su METERN.

Ora chiedevo solo una mano perchè in questa versione, quello che avevo imparato non serve a nulla.

Re: Problema indicatori con MeterN 0.8.3 (risolto)

Inviato: 30/07/2017, 9:55
da Flane
Ora ho finalmente capito in modo chiaro quale sia il tuo problema.
Se vuoi mandami in PM un accesso web e ssh al tuo sistema con le relative credenziali che dò un'occhiata a quello che hai fatto.
Spiegami anche quali passi diversi della guida hai fatto.
Ritengo sia il modo più veloce per cercare una soluzione.

LA DISCUSSIONE LA CONTINUIAMO PERO' DOVE SI PARLA DI PWM E NON QUI.