| @@ -20,9 +20,7 @@ from warnings import warn | |||
| from pprint import pprint | |||
| api_arg_format = { | |||
| } | |||
| # api_arg_format = { } | |||
| __all__ = ['Eagle', 'RainEagleResponseError', 'to_epoch_1970, to_epoch_2000'] | |||
| @@ -61,7 +59,7 @@ def _et2d(et) : | |||
| converts an ETree to a Dict Tree | |||
| lists are created for duplicate tag | |||
| if there are multiple XML of the name name | |||
| if there are multiple XML of the same name | |||
| an list array is used | |||
| attrib tags are converted to "tag_name" + "attrib_name" | |||
| @@ -98,7 +96,7 @@ def _et2d(et) : | |||
| return d | |||
| def twos_comp(val, bits=32): | |||
| def _twos_comp(val, bits=32): | |||
| """compute the 2's compliment of int value val""" | |||
| if( (val&(1<<(bits-1))) != 0 ): | |||
| val = val - (1<<bits) | |||
| @@ -140,6 +138,7 @@ class Eagle(object) : | |||
| addr address of device | |||
| port port on device (default 5002) | |||
| getmac connect to device at start up and get macid (default true) | |||
| timeout TCP socket timeout | |||
| Currently there is very little error handling ( if any at all ) | |||
| """ | |||
| @@ -408,25 +407,25 @@ class Eagle(object) : | |||
| Get current demand usage summation | |||
| On Success returns dict with the values (example): | |||
| 'demand' : '0.4980', | |||
| 'demand_timestamp' : '1394505386', | |||
| 'demand_units' : 'kW', | |||
| 'message_confirm_required' : 'N', | |||
| 'message_confirmed' : 'N', | |||
| 'message_id' : '0', | |||
| 'message_priority' : '', | |||
| 'message_queue' : active', | |||
| 'message_read' : 'Y', | |||
| 'message_text' : '', | |||
| 'message_timestamp' : '946684800', | |||
| 'meter_status' : 'Connected', | |||
| 'price' : '0.1400', | |||
| 'price_label' : 'Set by User', | |||
| 'price_units' : '$', | |||
| 'summation_delivered' : '2667.867', | |||
| 'summation_received' : '37.283', | |||
| 'summation_units' : 'kWh', | |||
| 'usage_timestamp' : '1394505386'} | |||
| 'demand' : '0.4980' | |||
| 'demand_timestamp' : '1394505386' | |||
| 'demand_units' : 'kW' | |||
| 'message_confirm_required' : 'N' | |||
| 'message_confirmed' : 'N' | |||
| 'message_id' : '0' | |||
| 'message_priority' : '' | |||
| 'message_queue' : active' | |||
| 'message_read' : 'Y' | |||
| 'message_text' : '' | |||
| 'message_timestamp' : '946684800' | |||
| 'meter_status' : 'Connected' | |||
| 'price' : '0.1400' | |||
| 'price_label' : 'Set by User' | |||
| 'price_units' : '$' | |||
| 'summation_delivered' : '2667.867' | |||
| 'summation_received' : '37.283' | |||
| 'summation_units' : 'kWh' | |||
| 'usage_timestamp' : '1394505386' | |||
| """ | |||
| comm_responce = self._send_http_comm("get_usage_data") | |||
| @@ -442,35 +441,35 @@ class Eagle(object) : | |||
| period day|week|month|year | |||
| On Success returns dict with the values (example): | |||
| 'data_period' 'day', | |||
| 'data_size' '14', | |||
| 'timestamp[0]' '1394422200', | |||
| 'timestamp[1]' '1394425800', | |||
| 'timestamp[2]' '1394429400', | |||
| 'timestamp[3]' '1394433000', | |||
| 'timestamp[4]' '1394436600', | |||
| 'timestamp[5]' '1394440200', | |||
| 'timestamp[6]' '1394443800', | |||
| 'timestamp[7]' '1394447400', | |||
| 'timestamp[8]' '1394451000', | |||
| 'timestamp[9]' '1394454600', | |||
| 'timestamp[10]' '1394458200', | |||
| 'timestamp[11]' '1394461800', | |||
| 'timestamp[12]' '1394465400', | |||
| 'timestamp[13]' '1394469000', | |||
| 'value[0]' '0.429', | |||
| 'value[1]' '0.426', | |||
| 'value[2]' '0.422', | |||
| 'value[3]' '0.627', | |||
| 'value[4]' '0.735', | |||
| 'value[5]' '0.193', | |||
| 'value[6]' '0.026', | |||
| 'value[7]' '-0.985', | |||
| 'value[8]' '-1.491', | |||
| 'value[9]' '-2.196'} | |||
| 'value[11]' '-1.868', | |||
| 'value[12]' '-1.330', | |||
| 'value[13]' '-0.870', | |||
| 'data_period' 'day' | |||
| 'data_size' '14' | |||
| 'timestamp[0]' '1394422200' | |||
| 'timestamp[1]' '1394425800' | |||
| 'timestamp[2]' '1394429400' | |||
| 'timestamp[3]' '1394433000' | |||
| 'timestamp[4]' '1394436600' | |||
| 'timestamp[5]' '1394440200' | |||
| 'timestamp[6]' '1394443800' | |||
| 'timestamp[7]' '1394447400' | |||
| 'timestamp[8]' '1394451000' | |||
| 'timestamp[9]' '1394454600' | |||
| 'timestamp[10]' '1394458200' | |||
| 'timestamp[11]' '1394461800' | |||
| 'timestamp[12]' '1394465400' | |||
| 'timestamp[13]' '1394469000' | |||
| 'value[0]' '0.429' | |||
| 'value[1]' '0.426' | |||
| 'value[2]' '0.422' | |||
| 'value[3]' '0.627' | |||
| 'value[4]' '0.735' | |||
| 'value[5]' '0.193' | |||
| 'value[6]' '0.026' | |||
| 'value[7]' '-0.985' | |||
| 'value[8]' '-1.491' | |||
| 'value[9]' '-2.196' | |||
| 'value[11]' '-1.868' | |||
| 'value[12]' '-1.330' | |||
| 'value[13]' '-0.870' | |||
| """ | |||
| if period not in ['day', 'week', 'month', 'year'] : | |||
| @@ -479,12 +478,6 @@ class Eagle(object) : | |||
| return json.loads(comm_responce) | |||
| def get_usage_data(self) : | |||
| """ | |||
| """ | |||
| comm_responce = self._send_http_comm("get_usage_data") | |||
| return json.loads(comm_responce) | |||
| def get_setting_data(self) : | |||
| """ | |||
| get settings data | |||
| @@ -528,7 +521,7 @@ class Eagle(object) : | |||
| On Success returns dict with the value : | |||
| 'timezone_localTime': '1394527011' | |||
| 'timezone_olsonName': 'UTC/GMT', | |||
| 'timezone_olsonName': 'UTC/GMT' | |||
| 'timezone_status': '2' | |||
| 'timezone_utcOffset': 'UTC' | |||
| 'timezone_utcTime': '1394527011' | |||
| @@ -544,7 +537,7 @@ class Eagle(object) : | |||
| get time source for device | |||
| On Success returns dict with value 'internet' or 'meter' : | |||
| 'time_source': 'internet'} | |||
| 'time_source': 'internet' | |||
| """ | |||
| comm_responce = self._send_http_comm("get_time_source") | |||
| return json.loads(comm_responce) | |||
| @@ -592,10 +585,10 @@ class Eagle(object) : | |||
| get price for kWh | |||
| On Success returns (example): | |||
| price': '0.1300', | |||
| price': '0.1300' | |||
| price_label': 'Set by User' or '--' | |||
| price_timestamp': '1394524458', | |||
| price_units': '$'} | |||
| price_timestamp': '1394524458' | |||
| price_units': '$' | |||
| returns empty dict on Error | |||
| """ | |||
| @@ -730,10 +723,6 @@ class Eagle(object) : | |||
| return json.loads(comm_responce) | |||
| # Support functions | |||
| def _connect(self) : | |||