Traccia: • myhem

Questa è una vecchia versione del documento!


My House Energy Meter

1. Installazione

L'installazione del software è molto semplice, basta copiare la directory MyHEM sulla radice del vostro web server

Attenzione verificare che non ci sia un file “index” sulla directory principale del web server, se c'è serve capire se eliminabile o se si deve integrare in qualche modo

  • Portarsi sulla directory www del web server
  • scaricare il file MyHEM.zip
  • scompattare il file
  • lanciare il programma di installazione
cd /var/www
sudo bash ./Install.sh

Attenzione a maiuscole e minuscole


Si avvia l'installazione automatica che vi guida in tutti i passi necessari

A questo punto il software è installato e funzionante, per avviare il menu basta digitare su un browser qualsiasi l'indirizzo del webserver o l'IP pubblico seguito da “/MyHEM” per aprire il menu.

2. Configurazione

Per la configurazione andare sul menu servizi > configurazione

Si aprirà il file di configurazione dove si trovano tutte le variabili modificabili, il file è strutturato in sezioni successive dedicate a varie funzioni:

  1. variabili del sito, logo, tempi di refresh
  2. impostazione dei meter
    1. Dati meter = variabile da leggere per ottenere il dato
    2. Fondo scala = il massimo valore da visualizzare sul meter
  3. Menu impostazione dei menu
    1. Nome voce = testo che apparirà sul menu
    2. Link URL = azione che deve compiere al click del menu
    3. Icona = nome file dell'icona da usare sulla voce del menu
    4. Mostra questa voce del menu = se la casella è spuntata il menu sarà visibile altrimenti viene nascosto

In fondo alla lista delle variabili c'è il pulsante per salvare le modifiche, sotto il titolo principale, in alto, apparirà una scritta con l'esito del salvataggio

3. Struttura del programma

Il programma è strutturato in 3 layer:

  1. Primo layer: Front-end, la parete grafica lato utente che visualizza i dati
  2. Secondo layer: strato intermedio che riceve le chiamate dal front-end attiva i programmi di lettura dati, li elabora e li espone nel front-end
  3. Terzo layer: strato operativo, qui ci sono tutti i programmi che si occupano di interfacciarsi con i dispositivi per leggere i dati e passarli allo strato superiore per la loro elaborazione

4. Funzionamento

Il funzionamento, di per se, è abbastanza semplice, il front-end ad intervalli regolari chiama le funzioni per aggiornare l'interfaccia, la funzione, una volta attivata richiama il relativo programma di lettura dati, quandop il programma restituisce il dato la funzione lo elabora e aggiorna il front-end

Meter

Il programma viene rilasciato per lavorare in abbinata a meterN sfruttandone i dati, più precisamente usa i file creati sul il file system in RAM /dev/shm, più precisamente legge i file LIVEMEMORY.json e lLIVEMEMORY.json.

In questo modo il programma non usa in nessun modo la SD in quanto non scrive niente sul FS

Il programma è già predisposto anche per interagire con i dispositivi Shelly ma necessita di alcune modifiche manuali sul software del secondo layer per richiamare i programmi di lettura corretti.
le variabili di configurazione rimangono invece le stesse in quanto gestiranno autonomamente o il dato da leggere o l'indirizzo IP da contattare.

Sinottico/schema

Qui la situazione è un po più complicata, la presenza dell'accumulo fa si che ogni sistema abbia le sue API da richiamare e quindi il programma di interfacciamento con l'inverter deve essere sviluppato ad hoc per il proprio impianto

Variabili

Le variabili da inserire sul file di configurazione le trovate all'interno dei due files LIVEMEMORY.json e lLIVEMEMORY.json come detto in precedenza, per trovarle procedere come segue:

Connettersi al sistema (Raspberry) usando FileZilla con utente “root” navigare finbo a /dev/shm e li troverete i files, potrebbero essercene altri, dipende da come è configurato mN.

Con mN in funzione che legge dati, selezionate i files e scaricateli in locale in una directory sicura tipo “Download”, aprite i due files con un edito di testo (tipo blocco note) meglio se usate Notepad++

Ilcontenuto sarà qualcosa di simile a:

LIVEMEMORY.json [mettere contenuto]

lLIVEMEMORYjson (elle minuscola iniziale) [mettere contenuto]

le variabili tra parentesi quadre sono le variabili da inserire sul file di configurazione es. [mettere contenuto] , ovviamente dovete sapere a cosa si riferiscono, il valoire che sta dopo, che è il valore letto vi auterà a capire a cosaa si riferiscono

Icone

le icone e le immagini da usare come logo e sui menu, sono contenute sulla directory “/images” del webserver dove si può vedere la corrispondenza immagine/nome file.
Se volete aggiungere altre immagini dovete inserirle in questa directory

5. Struttura del WEB Server

MyHEM

├── index.html

├── meter.html

├── synoptic.html

├── config/ <;– cartella per dati di configurazione

├── dati/ <;– La tua cartella dedicata

├── images/ <;– Cartella con le immagini

├── js/ <;– Cartella con i programmi e funzioni

├── meters/ <;– cartella dei meter disponibili

├── program/ <;– cartella dei programmi di lettura dati

├── read.me/ <;– File con spiegazioni

└── styles/ <;– cartella degli stili

└── style.css

└── synoptic.css