Page 1 of 11

Energy EAGLE Discussion

PostPosted: Tue Jul 23, 2013 12:15 am
by nsheldon
Use this thread to ask questions, make suggestion or just talk about the Energy EAGLE plugin.

Re: Energy EAGLE Discussion

PostPosted: Sun Jul 28, 2013 3:12 am
by nsheldon
Version 0.9 Posted

(See main announcement thread for download link).

Changes from 0.8:
  • Optimized Change in Current Load and Seconds Since Current Load Change so that neither state is changed in the Indigo device unless the meter reading timestamp has changed.
  • Optimized Indigo device property updating code.
  • Changed the sendCommand method by relocating the socket connection tasks (connect/disconnect) to separate methods.
  • Added Energy Consumed... hourly energy consumption states for the last 24 hours (including the current hour).
  • Added Energy Consumed Today state which provides the total kilowatt-hours consumed for the current day.
  • Added Cost per Hour, Cost for Today, and Cost for this Billing Cycle states.
  • Added Advanced Pricing settings to manually configure energy consumption pricing for both tiered and time-of-day pricing. NOTE: Cost calculations are estimates and not guaranteed to be accurate. Don't base your financial decisions on the cost calculations from this plugin!
  • Removed text versions of Current Load states to keep the total number of device states as low as possible.
  • Added a Start New Billing Cycle action (and Plugin menu item) and a Set Billing Cycle Start Values action (and menu item).
  • Added a socket timeout to avoid blocking on hung connections.

Re: Energy EAGLE Discussion

PostPosted: Sun Jul 28, 2013 3:34 am
by GRWilde
I am getting the following error with Energy EAGLE 0.9

Traceback (most recent call last):
File "plugin.py", line 544, in runConcurrentThread
File "plugin.py", line 1209, in update
<type 'exceptions.UnboundLocalError'>: local variable 'accumEnergyThisCycle' referenced before assignment

Energy EAGLE Error plugin runConcurrentThread function returned or failed (will attempt again in 10 seconds)
Energy EAGLE Error Error in plugin execution runConcurrentThread:

Re: Energy EAGLE Discussion

PostPosted: Sun Jul 28, 2013 4:39 am
by nsheldon
Hmm. Thanks for the report. I'll look into it.

Re: Energy EAGLE Discussion

PostPosted: Sun Jul 28, 2013 1:13 pm
by nsheldon
Version 0.9.1 Posted

(See main announcement thread for download link).

Changes from 0.9:
  • Fixed a bug that would cause the plugin to crash if Advanced Pricing wasn't enabled in a device.

Re: Energy EAGLE Discussion

PostPosted: Sun Jul 28, 2013 2:20 pm
by rhanson
I posted (and deleted) a couple errors yesterday.

The first was a divide by zero on line 250. But the rainforest hadn't yet finished its initial sync with the meter, and had no data. After a few moments, that went away.

The next error was:

Code: Select all
  File "plugin.py", line 333, in update
<type 'exceptions.AttributeError'>: 'NoneType' object has no attribute 'data'


However, once I had registered the unit with SCE and configured cloud access with Bidgely, this went away too (or perhaps it was also just a function of time).

The plugin seems to be working great, just wanted to let you know about these for possible error checking.

Re: Energy EAGLE Discussion

PostPosted: Sun Jul 28, 2013 2:26 pm
by rhanson
On the costs, have you seen that the unit read the costs correctly from the meter? And does the meter correctly know the current costs from the utility company? I'm on a TOU plan, so there are umpteen combinations of cost, based on summer/winter, time of day, threshold over baseline, whether they are currently asking us to cut back, etc. So cost/kWh varies throughout the day. (I'm ignoring my solar stuff for now, that's a whole different can of worms, and I'll keep that crimped shut for a while.) Do you know how rainforest deals with that?

Re: Energy EAGLE Discussion

PostPosted: Sun Jul 28, 2013 3:06 pm
by GRWilde
Energy EAGLE 0.91 fixed the problem. SCE doesn't seem to be providing any cost data through their Smart Meter, so I am ignoring that information. Bidgely.com allows for set up of the multiple SCE rates and tiers, and I have been using that site for cost information. Bdgely.com interfaces well with the Rainforest Automation Eagle.

By the way I really like the additional data you have included in 0.9. The plugin seems to be working very well for me.

Re: Energy EAGLE Discussion

PostPosted: Sun Jul 28, 2013 3:45 pm
by nsheldon
rhanson wrote:
The first was a divide by zero on line 250. But the rainforest hadn't yet finished its initial sync with the meter, and had no data. After a few moments, that went away.

The next error was:

Code: Select all
  File "plugin.py", line 333, in update
<type 'exceptions.AttributeError'>: 'NoneType' object has no attribute 'data'



However, once I had registered the unit with SCE and configured cloud access with Bidgely, this went away too (or perhaps it was also just a function of time).

I'll check that out. But yes, those errors are both due to the fact that the EAGLE was not returning any data since it had no data from the meter yet. Still, the plugin should handle it better, so I'll see if I can fix that.

rhanson wrote:
On the costs, have you seen that the unit read the costs correctly from the meter? And does the meter correctly know the current costs from the utility company? I'm on a TOU plan, so there are umpteen combinations of cost, based on summer/winter, time of day, threshold over baseline, whether they are currently asking us to cut back, etc. So cost/kWh varies throughout the day. (I'm ignoring my solar stuff for now, that's a whole different can of worms, and I'll keep that crimped shut for a while.) Do you know how rainforest deals with that?

No, I haven't seen any cost info from the meter either (using PG&E). I suspect that getting cost information from the meter is a supported feature of the ZigBee Smart Energy Profile specification, and probably supported by the meters too, but that none of the energy companies are actually sending that information to the meters (yet). That's why I added the "Advanced Pricing" feature with version 0.9 of the plugin. I don't expect that Advanced Pricing will cover every company's pricing structure, but I figured Tiered and Time-of-Day were the most common, so I started out with that.

With respect to the solar stuff, it looks like the EAGLE supports reading the amount of energy sent to the energy company from the customer, assuming that the SmartMeter measures and reports it. If you look at the "accumEnergyTotal2" state in the Custom States list for your Indigo device, does it show something other than zero? If so, the meter is reporting, and the EAGLE is gathering, energy data for your solar system too. I don't have any solar setup, so I can't test this myself.

GRWilde wrote:
Energy EAGLE 0.91 fixed the problem. SCE doesn't seem to be providing any cost data through their Smart Meter, so I am ignoring that information. Bidgely.com allows for set up of the multiple SCE rates and tiers, and I have been using that site for cost information. Bdgely.com interfaces well with the Rainforest Automation Eagle.

By the way I really like the additional data you have included in 0.9. The plugin seems to be working very well for me.

Good! Yes, PG&E doesn't provide pricing info through the meter either. I'm currently using the Advanced Pricing feature added in Energy EAGLE 0.9 to calculate tiered pricing with PG&E (I looked up the tiers for my area on their web site and entered them into the device settings).

Re: Energy EAGLE Discussion

PostPosted: Sun Jul 28, 2013 4:23 pm
by nsheldon
rhanson wrote:
The first was a divide by zero on line 250. But the rainforest hadn't yet finished its initial sync with the meter, and had no data. After a few moments, that went away.

The next error was:

Code: Select all
  File "plugin.py", line 333, in update
<type 'exceptions.AttributeError'>: 'NoneType' object has no attribute 'data'

Just a follow-up on this. Those errors were from version 0.8, and since I made numerous and extensive changes between 0.8 and 0.9, the line number references are no longer relevant. If you see the errors again, post them here and I'll track it down.

Re: Energy EAGLE Discussion

PostPosted: Mon Jul 29, 2013 3:11 pm
by nsheldon
Version 0.9.2 Posted

(See main announcement thread for download link).

Changes from 0.9.1:
  • Added automatic plugin version checking and email notification option.* Set this new feature up via the Plugin Configuration dialog (Plugins menu -> Energy EAGLE -> Configure...).

* Courtesy of Travis Cook's indigoPluginVersionChecker code.

Re: Energy EAGLE Discussion

PostPosted: Sun Aug 04, 2013 2:58 pm
by rhanson
The EAGLE has graphs for both demand and consumption. Is there a plan to add device states for the past few hours of demand level in addition to consumption?

Just wondering. I wouldn't use it myself, since I could just look up all the historical values of current load in the database.

Re: Energy EAGLE Discussion

PostPosted: Sun Aug 04, 2013 5:58 pm
by nsheldon
I could add states for demand too if it'd be useful. I just didn't want to add too many states that weren't going to be useful.

Re: Energy EAGLE Discussion

PostPosted: Tue Aug 06, 2013 2:46 pm
by nsheldon
Version 0.9.3 Posted

(See main announcement thread for download link).

Changes from 0.9.2:
  • Fixed bug in Advanced Pricing where the Cost this Billing Period calculation when in tier 4 was incorrect.

Re: Energy EAGLE Discussion

PostPosted: Tue Aug 06, 2013 6:13 pm
by rhanson
Lol. What timing! I was just about to post about a problem when it can't read pricing.:-)

Turns out, my meter either doesn't know the pricing, or doesn't want to send it to the eagle. So I'm going to switch it to your advanced pricing.

The error was:

File "plugin.py", line 1070, in update
<type 'exceptions.AttributeError'>: 'NoneType' object has no attribute 'data'

(Line 1074 now)



Separately, you'd previously asked me about energyInput2. That parameter doesn't appear. If you know the Eagle url that dumps out the xml data, I can see if it's sending it.

Also, I don't think you're expecting eagle to send you a negative value:

Eagle says: current usage is -0.099kW

Code: Select all
>>> indigo.devices[133281462].states["energyInput1"]
4294967.0750000002