Efergy Engage online energy monitor integration
I currently own an Efergy Engage Hub Kit to monitor (online) my energy consumption at home, and I bet there are a few of you with this system at home as well.
As I would like to use this system alongside my Zipabox, it would be great if the Zipato team could develop an integration method in order for us to be able to at least read the immediate energy consumption of the Engage Hub, and ideally to be able to plot these values in time.
I have found online someone who found out how to get this values other than using the Efergy website or app (http://blog.xojs.org/post/40590080661/how-much-energy-is-my-house-using), but I am not able to program it in the Rules Creator - if it is possible, I would like to know how!
However, as the Engage Hub works in the 433MHz range, it is probably better to try to get the immediate energy level at the source with the Zipabox 433MHz module.
What do you say?
123
Here is a way to do this, but it requires a cooperation with Eventghost, and an always on pc.
Install Eventghost on your always on pc, make a new macro, add action, pyton script, copy
and paste the code below into the script window. Modify the logon credentials for your Efergy, and
push test. Total consumption should now show up on logside, Save it.
Goto Zipadashboard and make a virual HTTP meter, named Efergy, copy out http string from
value one, and paste in where the position is in the code in the script, Save it.
Make a new macro in Eventghost with a timer, timed to f.eks, 30 sec, to run the script.Save it.
On Zipadashboard, choose events, live, and observe your total consumtion ticking in every
30 sec. Go to Rules creator an use this data in creative ways, f.eks, send mailalarm if consumtion
over 9000 Watt, or turning of appliances in a prioritized way.
#Efergy Script for Eventghost
import urllib
import urllib2
import cookielib
import time
#Efergy Urls
url = "https://engage.efergy.com/user/login?username=yourusername&password=yourpassword"
url2 = 'https://engage.efergy.com/proxy/getCurrentValuesSummary'
def grab_data_with_cookie(cookie_jar, url):
opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cookie_jar))
data = opener.open(url)
return data
cj = cookielib.CookieJar()
#grab the data
data1 = grab_data_with_cookie(cj, url)
#the second time we do this, we get back the excel sheet.
data2 = grab_data_with_cookie(cj, url2)
KWH = data2.read()
p = KWH
eg.event.payload = p
p = p.split('"')
p = p[8].split("}")
p = p[0].strip(":")
print p
Kwh = p
# Send Temp to Zipabox
zipa = "Paste your long Http adress you copyed from Efergymeter in here"
urllib.urlopen(zipa + Kwh)
123
Here is a way to do this, but it requires a cooperation with Eventghost, and an always on pc.
Install Eventghost on your always on pc, make a new macro, add action, pyton script, copy
and paste the code below into the script window. Modify the logon credentials for your Efergy, and
push test. Total consumption should now show up on logside, Save it.
Goto Zipadashboard and make a virual HTTP meter, named Efergy, copy out http string from
value one, and paste in where the position is in the code in the script, Save it.
Make a new macro in Eventghost with a timer, timed to f.eks, 30 sec, to run the script.Save it.
On Zipadashboard, choose events, live, and observe your total consumtion ticking in every
30 sec. Go to Rules creator an use this data in creative ways, f.eks, send mailalarm if consumtion
over 9000 Watt, or turning of appliances in a prioritized way.
#Efergy Script for Eventghost
import urllib
import urllib2
import cookielib
import time
#Efergy Urls
url = "https://engage.efergy.com/user/login?username=yourusername&password=yourpassword"
url2 = 'https://engage.efergy.com/proxy/getCurrentValuesSummary'
def grab_data_with_cookie(cookie_jar, url):
opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cookie_jar))
data = opener.open(url)
return data
cj = cookielib.CookieJar()
#grab the data
data1 = grab_data_with_cookie(cj, url)
#the second time we do this, we get back the excel sheet.
data2 = grab_data_with_cookie(cj, url2)
KWH = data2.read()
p = KWH
eg.event.payload = p
p = p.split('"')
p = p[8].split("}")
p = p[0].strip(":")
print p
Kwh = p
# Send Temp to Zipabox
zipa = "Paste your long Http adress you copyed from Efergymeter in here"
urllib.urlopen(zipa + Kwh)
I have a Rasberry Pi that is online 24/7 in my network. I used the script from Conrad with some modifications and created a script to run on my Rasberry Pi.
I have added the script to start when the PI boots.
I have added the file to GitHub for easy access.
https://github.com/oeysteinhansen/zBoxScripts/blob/master/EfergyTozBox.py
Hope this chan be of interest to others.
Best regards,
Øystein Hansen
I have a Rasberry Pi that is online 24/7 in my network. I used the script from Conrad with some modifications and created a script to run on my Rasberry Pi.
I have added the script to start when the PI boots.
I have added the file to GitHub for easy access.
https://github.com/oeysteinhansen/zBoxScripts/blob/master/EfergyTozBox.py
Hope this chan be of interest to others.
Best regards,
Øystein Hansen
Replies have been locked on this page!