added arg to demo app meter_status added version numbers removed hardcoded addressmain
| @@ -2,8 +2,10 @@ | |||||
| EGG-INFO | EGG-INFO | ||||
| .exrc | .exrc | ||||
| Dump/* | |||||
| test.* | test.* | ||||
| Sav/* | Sav/* | ||||
| Tests/* | |||||
| Bak/* | Bak/* | ||||
| *bak | *bak | ||||
| @@ -2,6 +2,7 @@ | |||||
| __author__ = 'Peter Shipley <peter.shipley@gmail.com>' | __author__ = 'Peter Shipley <peter.shipley@gmail.com>' | ||||
| __copyright__ = "Copyright (C) 2014 Peter Shipley" | __copyright__ = "Copyright (C) 2014 Peter Shipley" | ||||
| __license__ = "BSD" | __license__ = "BSD" | ||||
| __version__ = "0.1.7" | |||||
| import socket | import socket | ||||
| import sys | import sys | ||||
| @@ -14,6 +15,9 @@ from math import floor | |||||
| from urlparse import urlparse | from urlparse import urlparse | ||||
| import json | import json | ||||
| from warnings import warn | from warnings import warn | ||||
| from distutils.version import LooseVersion | |||||
| min_fw_ver = "2.0.21" | |||||
| from pprint import pprint | from pprint import pprint | ||||
| @@ -143,14 +147,17 @@ class Eagle(object) : | |||||
| Currently there is very little error handling ( if any at all ) | Currently there is very little error handling ( if any at all ) | ||||
| """ | """ | ||||
| def __init__(self, **kwargs): | def __init__(self, **kwargs): | ||||
| self.debug = kwargs.get("debug", 0) | self.debug = kwargs.get("debug", 0) | ||||
| if self.debug : | if self.debug : | ||||
| print self.__class__.__name__, __name__ | print self.__class__.__name__, __name__ | ||||
| self.checkfw = kwargs.get("checkfirmware", True) | |||||
| self.addr = kwargs.get("addr", os.getenv('EAGLE_ADDR', None)) | self.addr = kwargs.get("addr", os.getenv('EAGLE_ADDR', None)) | ||||
| self.port = kwargs.get("port", os.getenv('EAGLE_PORT', 5002)) | self.port = kwargs.get("port", os.getenv('EAGLE_PORT', 5002)) | ||||
| self.getmac = kwargs.get("getmac", True) | |||||
| self.mac = kwargs.get("mac", None) | |||||
| self.timeout = kwargs.get("timeout", 10) | self.timeout = kwargs.get("timeout", 10) | ||||
| self.soc = None | self.soc = None | ||||
| self.macid = None | self.macid = None | ||||
| @@ -159,8 +166,12 @@ class Eagle(object) : | |||||
| print "timeout : = ", self.timeout | print "timeout : = ", self.timeout | ||||
| print "debug : = ", self.debug | print "debug : = ", self.debug | ||||
| if self.addr is None : | |||||
| raise AssertionError("no hostname or IP given") | |||||
| # preload | # preload | ||||
| if self.getmac : | |||||
| if self.mac is None : | |||||
| self.device_info = self.list_devices() | self.device_info = self.list_devices() | ||||
| if self.device_info is None : | if self.device_info is None : | ||||
| raise IOError("Error connecting") | raise IOError("Error connecting") | ||||
| @@ -171,11 +182,25 @@ class Eagle(object) : | |||||
| if self.debug : | if self.debug : | ||||
| print "Init DeviceMacId = ", self.macid | print "Init DeviceMacId = ", self.macid | ||||
| if self.checkfw : | |||||
| mysetting = self.get_setting_data() | |||||
| dev_fw_ver = mysetting['device_fw_version'] | |||||
| if ( LooseVersion(dev_fw_ver) < LooseVersion(min_fw_ver) ) : | |||||
| warn_message = "Warning : device firmware " \ | |||||
| + "{0} < {1} please concideer " \ | |||||
| + "updating ".format(dev_fw_ver, min_fw_ver) | |||||
| warn( warn_message, RuntimeWarning, stacklevel=3) | |||||
| # socket commands as class functions | # socket commands as class functions | ||||
| def list_devices(self): | def list_devices(self): | ||||
| """ | |||||
| Send the LIST_DEVICES command | |||||
| returns information about the EAGLE device | |||||
| """ | |||||
| comm_responce = self._send_soc_comm("list_devices") | comm_responce = self._send_soc_comm("list_devices") | ||||
| if self.debug : | if self.debug : | ||||
| print "comm_responce =", comm_responce | print "comm_responce =", comm_responce | ||||
| @@ -195,6 +220,8 @@ class Eagle(object) : | |||||
| comm_responce = self._send_soc_comm("get_device_data", MacId=macid) | comm_responce = self._send_soc_comm("get_device_data", MacId=macid) | ||||
| if comm_responce is None: | if comm_responce is None: | ||||
| raise RainEagleResponseError("get_device_data : Null reply") | raise RainEagleResponseError("get_device_data : Null reply") | ||||
| if self.debug : | |||||
| print comm_responce | |||||
| etree = ET.fromstring('<S>' + comm_responce + '</S>') | etree = ET.fromstring('<S>' + comm_responce + '</S>') | ||||
| rv = _et2d(etree) | rv = _et2d(etree) | ||||
| return rv | return rv | ||||
| @@ -332,6 +359,15 @@ class Eagle(object) : | |||||
| # http commands as class functions | # http commands as class functions | ||||
| def get_device_list(self) : | |||||
| """ | |||||
| Send the LIST_DEVICES command | |||||
| returns information about the EAGLE device | |||||
| """ | |||||
| comm_responce = self._send_http_comm("get_device_list") | |||||
| return json.loads(comm_responce) | |||||
| def get_uploaders(self) : | def get_uploaders(self) : | ||||
| """ | """ | ||||
| gets list of uploaders for Web UI | gets list of uploaders for Web UI | ||||
| @@ -346,7 +382,7 @@ class Eagle(object) : | |||||
| comm_responce = self._send_http_comm("get_uploaders") | comm_responce = self._send_http_comm("get_uploaders") | ||||
| return json.loads(comm_responce) | return json.loads(comm_responce) | ||||
| def get_uploader() : | |||||
| def get_uploader(self) : | |||||
| """ | """ | ||||
| gets current uploaders config | gets current uploaders config | ||||
| @@ -432,7 +468,7 @@ class Eagle(object) : | |||||
| return json.loads(comm_responce) | return json.loads(comm_responce) | ||||
| def get_historical_data_alt(self, period="day") : | |||||
| def get_historical_data(self, period="day") : | |||||
| """ | """ | ||||
| get a series of summation values over an interval of time | get a series of summation values over an interval of time | ||||
| ( http command api ) | ( http command api ) | ||||
| @@ -473,7 +509,7 @@ class Eagle(object) : | |||||
| """ | """ | ||||
| if period not in ['day', 'week', 'month', 'year'] : | if period not in ['day', 'week', 'month', 'year'] : | ||||
| raise ValueError("get_historical_data_alt period must be one of day|week|month|year") | |||||
| raise ValueError("get_historical_data : period must be one of day|week|month|year") | |||||
| comm_responce = self._send_http_comm("get_historical_data", Period=period) | comm_responce = self._send_http_comm("get_historical_data", Period=period) | ||||
| return json.loads(comm_responce) | return json.loads(comm_responce) | ||||
| @@ -542,7 +578,7 @@ class Eagle(object) : | |||||
| return json.loads(comm_responce) | return json.loads(comm_responce) | ||||
| def get_remote_management(self) : | def get_remote_management(self) : | ||||
| return get_device_config(self) | |||||
| return self.get_device_config(self) | |||||
| def set_remote_management(self, macid=None, status="on") : | def set_remote_management(self, macid=None, status="on") : | ||||
| """ set_remote_management | """ set_remote_management | ||||
| @@ -738,7 +774,8 @@ class Eagle(object) : | |||||
| def _send_http_comm(self, cmd, **kwargs): | def _send_http_comm(self, cmd, **kwargs): | ||||
| print "\n\n_send_http_comm : ", cmd | |||||
| if self.debug : | |||||
| print "\n\n_send_http_comm : ", cmd | |||||
| commstr = "<LocalCommand>\n" | commstr = "<LocalCommand>\n" | ||||
| commstr += "<Name>{0!s}</Name>\n".format(cmd) | commstr += "<Name>{0!s}</Name>\n".format(cmd) | ||||
| @@ -747,7 +784,8 @@ class Eagle(object) : | |||||
| commstr += "<{0}>{1!s}</{0}>\n".format(k, v) | commstr += "<{0}>{1!s}</{0}>\n".format(k, v) | ||||
| commstr += "</LocalCommand>\n" | commstr += "</LocalCommand>\n" | ||||
| print(commstr) | |||||
| if self.debug : | |||||
| print(commstr) | |||||
| url = "http://{0}/cgi-bin/cgi_manager".format(self.addr) | url = "http://{0}/cgi-bin/cgi_manager".format(self.addr) | ||||
| @@ -27,16 +27,14 @@ set grid | |||||
| set key off | set key off | ||||
| set pointsize 0.5 | set pointsize 0.5 | ||||
| # 2014-03-09 13:24:21 24.2220 0.0970 2649.2700 0.0000 | |||||
| set xtics rotate | set xtics rotate | ||||
| set xtics 3600 | set xtics 3600 | ||||
| set xdata time | set xdata time | ||||
| set timefmt "%Y-%m-%d %H:%M:%S" | set timefmt "%Y-%m-%d %H:%M:%S" | ||||
| set format x "%a %b %d %H:%M" | set format x "%a %b %d %H:%M" | ||||
| #set xrange [ "2014-03-04 00:00:00" : ] | |||||
| set xrange [ "2014-03-04 00:00:00" : ] | |||||
| # set xrange [ "2014-03-04 00:00:00" : ] | |||||
| set style data lines | set style data lines | ||||
| set autoscale y | set autoscale y | ||||
| @@ -2,27 +2,60 @@ | |||||
| """ | """ | ||||
| A simple script get current meter values | A simple script get current meter values | ||||
| """ | """ | ||||
| __author__ = "Peter Shipley" | |||||
| import sys | |||||
| sys.path.append('/usr/home/shipley/Projects/Eagle') # temp | |||||
| __author__ = "Peter Shipley" | |||||
| __version__ = "0.1.7" | |||||
| # import RainEagle | # import RainEagle | ||||
| from RainEagle import Eagle, to_epoch_1970 | from RainEagle import Eagle, to_epoch_1970 | ||||
| import time | import time | ||||
| import os | |||||
| import argparse | |||||
| from pprint import pprint | from pprint import pprint | ||||
| debug = 0 | debug = 0 | ||||
| def create_parser(): | |||||
| parser = argparse.ArgumentParser( | |||||
| description="print power meter status") | |||||
| parser.add_argument("-a", "--address", dest="addr", | |||||
| default=os.getenv('EAGLE_ADDR', None), | |||||
| help="hostname or IP device") | |||||
| parser.add_argument("-p", "--port", dest="port", type=int, | |||||
| default=os.getenv('EAGLE_PORT', 5002), | |||||
| help="command socket port") | |||||
| parser.add_argument("-d", "--debug", dest="debug", | |||||
| default=debug, action="count", | |||||
| help="print debug info") | |||||
| parser.add_argument("-m", "--mac", dest="mac", | |||||
| help="Eagle radio mac addrress") | |||||
| parser.add_argument("-t", "--timeout", dest="timeout", | |||||
| help="Socket timeout") | |||||
| parser.add_argument("-v", '--version', action='version', | |||||
| version="%(prog)s {0}".format(__version__) ) | |||||
| return parser | |||||
| def main() : | def main() : | ||||
| eg = Eagle( debug=debug , addr="10.1.1.39") | |||||
| parser = create_parser() | |||||
| args = parser.parse_args() | |||||
| eg = Eagle(**vars(args)) | |||||
| # timeout=45, | # timeout=45, | ||||
| r = eg.get_device_data() | r = eg.get_device_data() | ||||
| print_instantdemand( r['InstantaneousDemand']) | |||||
| print_instantdemand(r['InstantaneousDemand']) | |||||
| print_currentsummation(r['CurrentSummation']) | print_currentsummation(r['CurrentSummation']) | ||||
| @@ -30,12 +63,14 @@ def main() : | |||||
| exit(0) | exit(0) | ||||
| def twos_comp(val, bits=32): | def twos_comp(val, bits=32): | ||||
| """compute the 2's compliment of int value val""" | """compute the 2's compliment of int value val""" | ||||
| if( (val&(1<<(bits-1))) != 0 ): | if( (val&(1<<(bits-1))) != 0 ): | ||||
| val = val - (1<<bits) | |||||
| val = val - (1<<bits) | |||||
| return val | return val | ||||
| def print_currentsummation(cs) : | def print_currentsummation(cs) : | ||||
| multiplier = int(cs['Multiplier'], 16) | multiplier = int(cs['Multiplier'], 16) | ||||
| @@ -44,32 +79,24 @@ def print_currentsummation(cs) : | |||||
| received = int(cs['SummationReceived'], 16) | received = int(cs['SummationReceived'], 16) | ||||
| if multiplier == 0 : | if multiplier == 0 : | ||||
| multiplier = 1 | |||||
| multiplier = 1 | |||||
| if divisor == 0 : | if divisor == 0 : | ||||
| divisor = 1 | |||||
| divisor = 1 | |||||
| reading_received = received * multiplier / float (divisor) | reading_received = received * multiplier / float (divisor) | ||||
| reading_delivered = delivered * multiplier / float (divisor) | reading_delivered = delivered * multiplier / float (divisor) | ||||
| time_stamp = to_epoch_1970(cs['TimeStamp']) | |||||
| print "{0:s} : ".format(time.asctime(time.localtime(time_stamp))) | |||||
| if 'TimeStamp' in cs : | |||||
| time_stamp = to_epoch_1970(cs['TimeStamp']) | |||||
| print "{0:s} : ".format(time.asctime(time.localtime(time_stamp))) | |||||
| print "\tReceived = {0:{width}.3f} Kw".format(reading_received, width=10) | print "\tReceived = {0:{width}.3f} Kw".format(reading_received, width=10) | ||||
| print "\tDelivered = {0:{width}.3f} Kw".format(reading_delivered, width=10) | print "\tDelivered = {0:{width}.3f} Kw".format(reading_delivered, width=10) | ||||
| print "\t\t{0:{width}.3f} Kw".format( (reading_delivered - reading_received), width=14) | print "\t\t{0:{width}.3f} Kw".format( (reading_delivered - reading_received), width=14) | ||||
| # print "{0}\t{1:.4f}\t{2:0.4f}\t{3:.4f}".format( | |||||
| # time.strftime("%Y-%m-%d %H:%M:%S", time_struct), | |||||
| # reading_received, | |||||
| # reading_delivered, | |||||
| # (reading_delivered - reading_received) ) | |||||
| def print_instantdemand(idemand) : | def print_instantdemand(idemand) : | ||||
| time_stamp = to_epoch_1970(idemand['TimeStamp']) | |||||
| multiplier = int(idemand['Multiplier'], 16) | multiplier = int(idemand['Multiplier'], 16) | ||||
| divisor = int(idemand['Divisor'], 16) | divisor = int(idemand['Divisor'], 16) | ||||
| @@ -79,27 +106,30 @@ def print_instantdemand(idemand) : | |||||
| demand = int(idemand['Demand'], 16) | demand = int(idemand['Demand'], 16) | ||||
| if demand > 0x7FFFFFFF: | if demand > 0x7FFFFFFF: | ||||
| demand -= 0x100000000 | |||||
| demand -= 0x100000000 | |||||
| if multiplier == 0 : | if multiplier == 0 : | ||||
| multiplier = 1 | |||||
| multiplier = 1 | |||||
| if divisor == 0 : | if divisor == 0 : | ||||
| divisor = 1 | |||||
| divisor = 1 | |||||
| reading = (demand * multiplier) / float (divisor ) | |||||
| reading = (demand * multiplier) / float (divisor) | |||||
| if 'TimeStamp' in idemand : | |||||
| time_stamp = to_epoch_1970(idemand['TimeStamp']) | |||||
| print "{0:s} : ".format(time.asctime(time.localtime(time_stamp))) | |||||
| print "{0:s} : ".format(time.asctime(time.localtime(time_stamp))) | |||||
| print "\tDemand = {0:{width}.3f} Kw".format(reading, width=10) | print "\tDemand = {0:{width}.3f} Kw".format(reading, width=10) | ||||
| print "\tAmps = {0:{width}.3f}".format( ((reading * 1000) / 240), width=10 ) | |||||
| print "\tAmps = {0:{width}.3f}".format( ((reading * 1000) / 240), width=10) | |||||
| # | |||||
| # | |||||
| if __name__ == "__main__": | if __name__ == "__main__": | ||||
| # import __main__ | # import __main__ | ||||
| # print(__main__.__file__) | |||||
| # print("syntax ok") | |||||
| # print(__main__.__file__) | |||||
| # print("syntax ok") | |||||
| main() | main() | ||||
| exit(0) | |||||
| exit(0) | |||||
| @@ -2,12 +2,10 @@ | |||||
| """ | """ | ||||
| A simple script to generate guuplot data from meter history | A simple script to generate guuplot data from meter history | ||||
| """ | """ | ||||
| __author__ = "Peter Shipley" | |||||
| __author__ = "Peter Shipley" | |||||
| __version__ = "0.1.7" | |||||
| import sys | |||||
| sys.path.append('/usr/home/shipley/Projects/Eagle') # temp | |||||
| import RainEagle | import RainEagle | ||||
| import time | import time | ||||
| @@ -22,115 +20,95 @@ max_delta_received = 0 | |||||
| max_delta_delivered = 0 | max_delta_delivered = 0 | ||||
| day_delta_received = 0 | day_delta_received = 0 | ||||
| day_delta_delivered = 0 | day_delta_delivered = 0 | ||||
| curr_day=-1 | |||||
| curr_day = -1 | |||||
| def main(eg) : | def main(eg) : | ||||
| # print_header() | |||||
| print_data(eg) | print_data(eg) | ||||
| # print_footer() | |||||
| exit(0) | exit(0) | ||||
| def print_header() : | |||||
| print """ | |||||
| set terminal png size 2600,500 | |||||
| set datafile separator "\t" | |||||
| set xlabel "time" | |||||
| set ylabel "power" | |||||
| set grid | |||||
| set key off | |||||
| set pointsize 0.5 | |||||
| set xtics 3600 | |||||
| set xdata time | |||||
| set timefmt "%Y-%m-%d %H:%M:%S" | |||||
| set format x "%a %b %d %H:%M" | |||||
| #set xrange [ "2014-03-04 00:00:00" : ] | |||||
| # set xrange [ "2014-03-04 00:00:00" : "2014-03-09 17:20:00" ] | |||||
| set style data lines | |||||
| set autoscale y | |||||
| set title "Power Use" | |||||
| set output "poweruse.png" | |||||
| plot "-" using 1:3 t "inbound" w lines, "-" using 1:5 t "outbound" | |||||
| """ | |||||
| def print_footer() : | |||||
| pass | |||||
| def print_data(eg) : | def print_data(eg) : | ||||
| rh = eg.get_history_data() | rh = eg.get_history_data() | ||||
| #+ # endtime=None, frequency=None ) : | |||||
| #+ # endtime=None, frequency=None) : | |||||
| for dat in rh['HistoryData']['CurrentSummation'] : | for dat in rh['HistoryData']['CurrentSummation'] : | ||||
| print_currentsummation(dat) | |||||
| print_currentsummation(dat) | |||||
| print "# day_delta_received={0:0.4f}\t" \ | |||||
| + " day_delta_delivered={1:0.4f} : {2:0.4f}".format( | |||||
| day_delta_received, | |||||
| day_delta_delivered, | |||||
| (day_delta_delivered - day_delta_received)) | |||||
| print "# max_delta_received={0:0.4f}\t" \ | |||||
| + " max_delta_delivered={1:0.4f}".format( | |||||
| max_delta_received, max_delta_delivered) | |||||
| print "# day_delta_received={0:0.4f}\tday_delta_delivered={1:0.4f} : {2:0.4f}".format(day_delta_received, day_delta_delivered, ( day_delta_delivered - day_delta_received ) ) | |||||
| print "# max_delta_received={0:0.4f}\tmax_delta_delivered={1:0.4f}".format(max_delta_received, max_delta_delivered) | |||||
| def print_currentsummation(cs) : | def print_currentsummation(cs) : | ||||
| global last_delivered | global last_delivered | ||||
| global last_received | global last_received | ||||
| global max_delta_received | |||||
| global max_delta_received | |||||
| global max_delta_delivered | global max_delta_delivered | ||||
| global day_delta_received | |||||
| global day_delta_received | |||||
| global day_delta_delivered | global day_delta_delivered | ||||
| global curr_day | global curr_day | ||||
| time_stamp = to_epoch_1970(cs['TimeStamp']) | time_stamp = to_epoch_1970(cs['TimeStamp']) | ||||
| multiplier=int(cs['Multiplier'], 16) | |||||
| divisor=int(cs['Divisor'], 16) | |||||
| delivered=int(cs['SummationDelivered'], 16) | |||||
| received=int(cs['SummationReceived'], 16) | |||||
| multiplier = int(cs['Multiplier'], 16) | |||||
| divisor = int(cs['Divisor'], 16) | |||||
| delivered = int(cs['SummationDelivered'], 16) | |||||
| received = int(cs['SummationReceived'], 16) | |||||
| # print "Multiplier=", multiplier, "Divisor=", divisor, "Demand=", demand | # print "Multiplier=", multiplier, "Divisor=", divisor, "Demand=", demand | ||||
| if multiplier == 0 : | if multiplier == 0 : | ||||
| multiplier=1 | |||||
| multiplier = 1 | |||||
| if divisor == 0 : | if divisor == 0 : | ||||
| divisor=1 | |||||
| divisor = 1 | |||||
| reading_received = received * multiplier / float (divisor ) | |||||
| reading_received = received * multiplier / float(divisor) | |||||
| delta_received = (reading_received - last_received) | delta_received = (reading_received - last_received) | ||||
| last_received = reading_received | last_received = reading_received | ||||
| if ( delta_received > max_delta_received and delta_received < 1000) : | |||||
| max_delta_received = delta_received | |||||
| #print "new max_delta_received :", max_delta_received | |||||
| if (delta_received > max_delta_received and delta_received < 1000) : | |||||
| max_delta_received = delta_received | |||||
| #print "new max_delta_received :", max_delta_received | |||||
| reading_delivered = delivered * multiplier / float (divisor ) | |||||
| reading_delivered = delivered * multiplier / float(divisor) | |||||
| delta_delivered = (reading_delivered - last_delivered) | delta_delivered = (reading_delivered - last_delivered) | ||||
| last_delivered = reading_delivered | last_delivered = reading_delivered | ||||
| if ( delta_delivered > max_delta_delivered and delta_delivered < 1000) : | |||||
| max_delta_delivered = delta_delivered | |||||
| #print "\t\tnew max_delta_delivered :", max_delta_delivered | |||||
| if (delta_delivered > max_delta_delivered and delta_delivered < 1000) : | |||||
| max_delta_delivered = delta_delivered | |||||
| #print "\t\tnew max_delta_delivered :", max_delta_delivered | |||||
| time_struct = time.localtime(time_stamp) | time_struct = time.localtime(time_stamp) | ||||
| if curr_day != time_struct.tm_mday : | |||||
| curr_day = time_struct.tm_mday | |||||
| print "# day_delta_received={0:0.4f}\tday_delta_delivered={1:0.4f} : {2:0.4f}".format(day_delta_received, day_delta_delivered, ( day_delta_delivered - day_delta_received ) ) | |||||
| day_delta_received = 0 | |||||
| day_delta_delivered = 0 | |||||
| if curr_day != time_struct.tm_mday : | |||||
| curr_day = time_struct.tm_mday | |||||
| print "# day_delta_received={0:0.4f}\tday_delta_delivered={1:0.4f}" \ | |||||
| + ": {2:0.4f}".format(day_delta_received, | |||||
| day_delta_delivered, | |||||
| (day_delta_delivered - day_delta_received)) | |||||
| day_delta_received = 0 | |||||
| day_delta_delivered = 0 | |||||
| day_delta_received += delta_received | day_delta_received += delta_received | ||||
| day_delta_delivered += delta_delivered | day_delta_delivered += delta_delivered | ||||
| print "{0}\t{1:.4f}\t{2:0.4f}\t{3:.4f}\t{4:0.4f}".format( | print "{0}\t{1:.4f}\t{2:0.4f}\t{3:.4f}\t{4:0.4f}".format( | ||||
| time.strftime("%Y-%m-%d %H:%M:%S", time_struct), | |||||
| reading_received, | |||||
| delta_received, | |||||
| reading_delivered, | |||||
| delta_delivered) | |||||
| time.strftime("%Y-%m-%d %H:%M:%S", time_struct), | |||||
| reading_received, | |||||
| delta_received, | |||||
| reading_delivered, | |||||
| delta_delivered) | |||||
| if __name__ == "__main__": | if __name__ == "__main__": | ||||
| # import __main__ | # import __main__ | ||||
| # print(__main__.__file__) | |||||
| # print("syntax ok") | |||||
| reagle = RainEagle.Eagle( debug=0 , addr="10.1.1.39") | |||||
| # print(__main__.__file__) | |||||
| # print("syntax ok") | |||||
| reagle = RainEagle.Eagle(debug=0) | |||||
| main(reagle) | main(reagle) | ||||
| exit(0) | |||||
| exit(0) | |||||
| @@ -70,7 +70,7 @@ CLASSES | |||||
| | 'gateway_ip_addr': '10.11.12.13' | | 'gateway_ip_addr': '10.11.12.13' | ||||
| | 'gateway_mac_id': 'D8:D5:B9:00:90:24' | | 'gateway_mac_id': 'D8:D5:B9:00:90:24' | ||||
| | | | | ||||
| | get_historical_data_alt(self, period='day') | |||||
| | get_historical_data(self, period='day') | |||||
| | get a series of summation values over an interval of time | | get a series of summation values over an interval of time | ||||
| | ( http command api ) | | ( http command api ) | ||||
| | | | | ||||
| @@ -29,7 +29,7 @@ class install_scripts_and_symlinks(install_scripts): | |||||
| setup( | setup( | ||||
| name='RainEagle', | name='RainEagle', | ||||
| version='0.1.6', | |||||
| version='0.1.7', | |||||
| author='Peter Shipley', | author='Peter Shipley', | ||||
| author_email='Peter.Shipley@gmail.com', | author_email='Peter.Shipley@gmail.com', | ||||
| packages=find_packages(), | packages=find_packages(), | ||||