Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import sys
- import pushover
- import homewizardapi
- import MySQLdb as mdb
- from datetime import datetime, timedelta
- # Variables
- homewizard = homewizardapi.HomeWizard()
- # Init PushOver
- poConfigRead = pushover.readconfig()
- # Read HW Config
- hwConfigRead = homewizard.readconfig()
- print 'ConfigRead: ' + str(hwConfigRead)
- # Handshake
- if hwConfigRead:
- hwHandshake = homewizard.handshake()
- else:
- hwHandshake = False
- print 'Handshake : ' + str(hwHandshake)
- # Exit if Config or Handshake error
- if not hwConfigRead or not hwHandshake:
- pushover.notify('HW EnergyLink: Error Connecting!',
- 'ConfigRead: ' + str(hwConfigRead) + '\nHandshake : ' + str(hwHandshake),
- 1,
- 'alien',
- '',
- '')
- sys.exit(-1)
- # Read EnergyLink Day
- hwSuccess, hwResponse = homewizard.energylinkDay()
- print 'Success : ' + str(hwSuccess)
- if hwSuccess:
- # Setup DB Connection
- try:
- db = mdb.connect('server', 'user', 'password', 'homewizard');
- cursor = db.cursor()
- except mdb.Error, e:
- errorMsg = 'Error %d: %s' % (e.args[0],e.args[1])
- print '\n' + errorMsg + '\n'
- pushover.notify('HW EnergyLink: MySQL Error!',
- errorMsg,
- 1,
- 'alien',
- '',
- '')
- sys.exit(-1)
- # Process Items
- for dayItem in hwResponse:
- t = dayItem['t']
- u = dayItem['u']
- a = dayItem['a']
- s1 = dayItem['s1']
- s2 = dayItem['s2']
- g = dayItem['g']
- date = t[:10]
- time = t[-5:]
- #print 'Date: ' + date + ' Time: ' + time
- sqlInsert = "INSERT IGNORE INTO EnergyLinkDay VALUES ('%s','%s', '%s', %i,%i,%i,%i,%f)" % (t,date,time,u,a,s1,s2,g)
- try:
- cursor.execute(sqlInsert)
- except mdb.Error, e:
- errorMsg = 'Error %d: %s' % (e.args[0],e.args[1])
- print '\n' + errorMsg + '\n'
- pushover.notify('HW EnergyLink: MySQL INSERT Error!',
- errorMsg,
- 1,
- 'alien',
- '',
- '')
- sys.exit(-1)
- # Close DB
- db.close()
- else:
- pushover.notify('HW EnergyLink: Error Retrieving Data!',
- datetime.strftime(datetime.now(),'%Y-%m-%d %H:%M:%S'),
- 0,
- 'alien',
- '',
- '')
Advertisement
Add Comment
Please, Sign In to add comment