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
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
EDIT (flane) 29-03-2020:
Riporto qui una nuova versione di virtmeter adattata dall'utente Megamarco per funzionare con MeterN 1.2 e successive: