Fotovoltaico

Calcolare consumo elettrico, produzione del fotovoltaico e differenza tra produzione e consumo e visualizzarli su qualsiasi Browser WEB tramite l'utilizzo delle API




Si esegue tramite un sistema hardware dedicato e richieste via software

Abbiamo bisogno come Hardware di:

- Efergy engage Hub Solo: collegato alla porta Ethernet di casa si collega al server ed invia i dati relativi a consumi e produzione

- 2 Trasmettitori: uno da collegare alla fase della produzione e l'altro alla fase del consumo

 Il resto della procedura è via Software.

Creiamo quindi un account al sito Efergy e colleghiamo i trasmettitori e l'HUB. Seguiamo quindi le indicazioni sull'istallazione della piattaforma.

La piattaforma WEB efergy utilizza delle API ossia  "Application Programming Interface (in italiano traducibile come Interfaccia di programmazione di un'applicazione)".
La piattaforma quindi fornisce in tempo reale i dati sui consumi instantanei, e possiamo quindi utilizzarle. Possiamo farle leggere da Tasker (programma su smartphone Android) oppure utilizzarle per vedere i dati da pagina web. Basta un Blog e con il codice di richiesta delle API otteniamo la loro visualizzazione.
Le API non sono ufficiali della ditta Efergy ma sono comunque utilizzabili. La spiegazione delle API la trovate qui: http://blog.krisdaniels.be/efergy-engage-api/

Praticamente facciamo una richiesta tramite una stringa URL sostituendo ad <username> e <password> quelli della registrazione

https://engage.efergy.com/mobile_proxy/get_token?username=<username>&password=<password>&device=android 
{"status":"ok","token":"<token>"}
Ottenuta questa risposta il token è registrato con nome Android







Adesso andiamo nella sezione Impostazioni --> App Token della piattaforma e copiamo il Token che ci servirà per fare le richieste.
Si possono fare diverse chiamate (stringe URL) sostituiendo al Token quello ottenuto
Ecco un esempio della richiesta che interessa a noi: getCurrentValuesSummary che non è altro che una API che consegna come risultati tutti i valori dei 2 sensori. La richiesta getInstant invece consegna solo il valore del primo trasmettitore accoppiato.
In questa richiesta ci sono entrambi i valori sia di produzione che di consumo:

https://engage.efergy.com/mobile_proxy/getCurrentValuesSummary?token=<token>

Questo è solo un esempio della richiesta ma si possono formulare tante richieste:
- getInstant
- getCurrentValuesSummary
- getStatus
- getDay
- getWeek
- ecco la lista completa delle API: http://napi.hbcontent.com/document/index.php

  

Possiamo ottenere adesso entrambi i valori di produzione e consumo attraverso una chiamata javascript


Con questi si può calcolare il guadagno del proprio impianto:

Per esempio è possibile fare il seguente script

  var p = Math.random()*5;
  var c = Math.random()*5;
  p = Math.floor(p*100)/100;
  c = Math.floor(c*100)/100;
  
  for(var i=0; i<data.length; i++){
console.log(Object.keys(data[i]["data"][0])); 
if(data[i]["cid"]=="PWER"){
c = data[i]["data"][0][Object.keys(data[i]["data"][0])[0]];
}
if(data[i]["cid"]=="PWER_GAC"){
p = data[i]["data"][0][Object.keys(data[i]["data"][0])[0]];
}
  }

  var g = p-c;
  g = Math.floor(g*100)/100;
  
  console.log("GUADAGNO: "+g);
});   



Ecco il risultato finale

Se la produzione supera il consumo:

Se ci sono nuvole o quando il sole scende, il consumo supera la produzione:



Grazie a Mirko per la collaborazione. Per la creazione del sito web potete rivolgermi a lui.
















Post più popolari

Elenco blog consigliati

Archivio blog