Script virtmeter.php [GUIDA]

Discussioni relative al software di monitoraggio energetico METERN
Garluk
Messaggi: 80
Iscritto il: 01/10/2017, 22:00

Script virtmeter.php [GUIDA]

Messaggioda Garluk » 01/10/2017, 22:07

Metto a disposizione di tutti uno script da me sviluppato.
Lo script - virtmeter - produce un output in formato compatibile con meterN e ha diverse funzionalità utili per meglio valutare i consumi della propria abitazione.
Lo script permette di:
- calcolare un nuovo meter come somma e differenza di altri meter;
- valutare il meter durante tutto il giorno o solamente durante la fascia tariffaria scelta (F1, F2, F3, F23);
- calcolare un nuovo meter per determinare i prelievi, le immissioni e l'autoconsumo.

In pratica lo script è un sostituto di eflow, eflowlive e del vecchio script di the drake che non funziona più nelle nuove versioni di meterN.

Lo script non necessita di modifiche al codice di meterN (si può usare per esempio lo script pool123s di Jeanmark non modificato) e non ha vincoli sui meter.

Come tutti gli script di meterN anche virtmet.php va memorizzato in /var/www/comapps.
Fatto questo va:
- cambiato il proprietario con il comando:

Codice: Seleziona tutto

cd /var/www/comapps
chown www-data.www-data virtmeter.php

- aggiunto il permesso di esecuzione con il comando:

Codice: Seleziona tutto

chmod +x virtmeter.php

- creato il link simbolico con il comando:

Codice: Seleziona tutto

ln -s /var/www/comapps/virtmeter.php /usr/bin/virtmeter


Uso di virtmeter

Codice: Seleziona tutto

virtmeter {virtmeternum} {meternumlisttoadd|0} {meternumlisttosub|0} {value} {fascia}


Dove:
    virtmeternum       --> meterID (del virtual meter che si vuole definire)
    meternumlisttoadd  --> lista dei meterID da sommare (0 per nessuna somma)
    meternumlisttosub  --> lista dei meterID da sottrarre (0 per nessuna sottrazione)
    value              --> indicatore del valore che si chiede venga calcolato scelto fra
                           energy, impenergy, expenergy, selfcenergy
                           power, imppower, exppower, selfcpower
    fascia             --> indicatore della fascia tariffaria (F1 o F2 o F3 o F23 o 0 per nessuna fascia}


Lo script può essere usato in due modalità

Codice: Seleziona tutto

virtmeter {virtmeternum} {meternumlisttoadd|0} {meternumlisttosub|0} {energy|power} {F1|F2|F3|F23|0}

virtmeter {virtmeternum} 0 0 {impenergy|expenergy|selfcenergy|imppower|exppower|selfcpower} {F1|F2|F3|F23|0}


ESEMPI

Codice: Seleziona tutto

      virtmeter 14 9,11 8 energy 0    -> met14 = met9 + met11 - met8
      virtmeter 15 12 0 energy F1     -> met15 = met12 (only if F1)
      virtmeter 16 12 0 energy F23    -> met16 = met12 (only if F23)
      virtmeter 18 0 0 impenergy 0    -> met18 = withdrawn energy (imported from grid)
      virtmeter 19 0 0 expenergy F1   -> met19 = exported energy (only if F1)
      virtmeter 20 0 0 selfcenergy F2 -> met20 = self consumption energy (only if F2)


Pertanto se si vuole calcolare i prelievi complessivi si può definire il meter 3 come "elect, other" e mettendo nei campi:

Codice: Seleziona tutto

Main Command:  "virtmeter 3 0 0 impenergy 0"
Live Command:  "virtmeter 3 0 0 imppower 0"


Analogamente se si vuole calcolare le immissioni complessive si può definire il meter 4 come "elect, other" e mettendo nei campi:

Codice: Seleziona tutto

Main Command:  "virtmeter 4 0 0 expenergy 0"
Live Command:  "virtmeter 4 0 0 exppower 0"


Volendo calcolare l'autoconsumo complessivo si può definire il meter 5 come "elect, other" e mettendo nei campi:

Codice: Seleziona tutto

Main Command: "virtmeter 5 0 0 selfcenergy 0"
Live Command:  "virtmeter 5 0 0 selfcpower 0"


Invece se si vuole misurare le immissioni in fascia F1 si può definire il meter 6 come "elect, other" e mettendo nei campi:

Codice: Seleziona tutto

Main Command:  "virtmeter 6 0 0 expenergy F1"
Live Command:  "virtmeter 6 0 0 exppower F1"


Per le immissioni nelle fasce vuote (F23) si può definire il meter 7 come "elect, other" e mettendo nei campi

Codice: Seleziona tutto

Main Command: "virtmeter 7 0 0 expenergy F1"
Live Command:  "virtmeter 7 0 0 exppower F1"



Se invece avete già il meter 6 dei prelievi totali durante il giorno e volete loggare anche i prelievi dalla rete durante le fascie orarie F1, F2, F3, ed F23 si potranno definire quattro meter 6 ,7, 8 e 9 come "elect, other" e definirli come di seguito:

Prelievi in F1

Codice: Seleziona tutto

Main Command: "virtmeter 6 3 0 energy F1"
Live Command:  "virtmeter 6 3 0 power F1"


Prelievi in F2

Codice: Seleziona tutto

Main Command: "virtmeter 7 3 0 energy F2"
Live Command:  "virtmeter 7 3 0 power F2"


Prelievi in F3

Codice: Seleziona tutto

Main Command: "virtmeter 8 3 0 energy F3"
Live Command:  "virtmeter 8 3 0 power F3"


Prelievi in F23

Codice: Seleziona tutto

Main Command: "virtmeter 9 3 0 energy F23"
Live Command:  "virtmeter 9 3 0 power F23"


Lo script è stato testato da me e da flanesi e funziona bene.

Scrivete pure qui se servono chiarimenti, nuove implementazioni o semplicemente segnalare bug.
Non sono bug dello script:
- l'avviso che trovate nella sezione eventi "PHP Notice: Undefined offset: 10 in /var/www/metern/scripts/metern.php on line 228" essendo questo un bug di meterN già segnalato a JM e inserito nelle correzioni della prossima release;
- una specie di interruzione del grafico tipo questa
Senza nome.png


EDIT (flane) 21-11-2017:
Sperando che Garluk ne me ne voglia, mi sono permesso di condividere l'ultima versione che mi aveva inviato (v0.4.0) che ho personalmente testato

Script
virtmeter v0.3.4.zip
(4.96 KiB) Scaricato 350 volte

virtmeter v0.4.0.zip
(5.39 KiB) Scaricato 457 volte


EDIT (flane) 29-03-2020:
Riporto qui una nuova versione di virtmeter adattata dall'utente Megamarco per funzionare con MeterN 1.2 e successive:
virtmeter v0.4.1.zip
(5.37 KiB) Scaricato 355 volte


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

Re: Script virtmeter.php

Messaggioda Flane » 02/10/2017, 8:12

Ragazzi ho testato questo grande lavoro di Garluk a cui vanno tutti i miei complimenti. :D

Funziona benissimo, permette di calcolare tutti le grandezze nelle varie fasce orarie, permette di sostituire eflow che con le ultime novità introdotte da JM aveva qualche problemino ed inoltre permette di sommare e/o sottrarre le varie letture con molta semplicità.

Personalmente consiglio a tutti di provarlo e di adottarlo anche in sostituzione di eflow
Capita la logica dei comandi è anche molto semplice da utilizzare.

Grazie Garluk ;)

buemarino
Messaggi: 291
Iscritto il: 26/03/2016, 20:37

Re: Script virtmeter.php

Messaggioda buemarino » 03/10/2017, 20:01

Ringrazio ancora Garluk come ho fatto altrove. Bel lavoro. Purtoppo sono ancora alle prese con il grafico dei consumi che incomprensibilmente continua a registrare multipli di 384 pur con misurazioni istantanee perfette.
Appena riesco, se riesco, proverò anche io questo script. Comunque bravissimo !
Fotovoltaico 4,195 Kw (2E2S) - Inverter Aurora PO 3.6 OUTD --> RPI 2b -->SDM120c x lettura consumi su stesso bus - SolarStretch v3.1 . Boiler solare con integrazione elettrica e PWM dimmer v1.22

lacchini
Messaggi: 19
Iscritto il: 14/12/2016, 14:48

Re: Script virtmeter.php [GUIDA]

Messaggioda lacchini » 09/10/2017, 20:52

molto bello!
ma a parte il file allegato prima si può trovare in qualche repository o git ?


lacchini
Messaggi: 19
Iscritto il: 14/12/2016, 14:48

Re: Script virtmeter.php [GUIDA]

Messaggioda lacchini » 10/10/2017, 8:11

Flane ha scritto:Perchè lo vuoi su git?
Non ti va bene scaricare l'allegato?


Già scaricato [emoji3]
Per seguire sviluppi futuri


Inviato dal mio iPhone utilizzando Tapatalk

Garluk
Messaggi: 80
Iscritto il: 01/10/2017, 22:00

Re: Script virtmeter.php [GUIDA]

Messaggioda Garluk » 13/10/2017, 16:47

In futuro forse ci sarà un repository ma ora per un solo file non ne vale la pena.

Intanto vi dico che ha breve uscirà una nuova versione dello script virtualmeter.
Oltre alla correzione di bug c'è l'implementazione della funzione che valuta i consumi della casa nel caso in cui il contatore è installato nel punto di giunzione fra il FTV e i consumi di casa.
Questo script così manda definitivamente in pensione tutti gli altri (anche houseenergy di JM).

lacchini
Messaggi: 19
Iscritto il: 14/12/2016, 14:48

Re: Script virtmeter.php [GUIDA]

Messaggioda lacchini » 13/10/2017, 17:24

Interessante, non vedo l’ora di provarlo


Inviato dal mio iPhone utilizzando Tapatalk

miki8989
Messaggi: 299
Iscritto il: 22/01/2016, 6:39

Re: Script virtmeter.php [GUIDA]

Messaggioda miki8989 » 25/10/2017, 23:44

Garluk ha scritto:Intanto vi dico che ha breve uscirà una nuova versione dello script virtualmeter.


quando uscirà la nuove versione??

grazie

Avatar utente
TonyP62
Messaggi: 151
Iscritto il: 25/05/2016, 13:18

Re: Script virtmeter.php [GUIDA]

Messaggioda TonyP62 » 20/11/2017, 20:15

Personalmente lo sto provando sulla mia Raspy e devo dire funzione bene per quanto concerne i meter di Prelievo, Immissione e Autoconsumo. Non funzionano invece i misuratori virtuali su Immissione e Prelievo nelle varie fasce per quanto concerne il Live, mentre sul Cruscotto registra i dati. Non ho ben capito da cosa possa dipendere ma mi riprometto di approfondire il discorso con più calma.
Se posso vorrei dare un suggerimento all'autore. Inserire una variabile di Precount specie per i contattori dedicati alle fasce orarie in maniera da allineare i dati con quanto già misurato in precedenza. Per il resto, faccio i complimenti all'autore perché ha fatto un ottimo lavoro.


Torna a “MeterN”

Chi c’è in linea

Visitano il forum: Nessuno e 23 ospiti