[OBSOLETE] Bidgely power usage upload SmartApp

I have created a SmartApp to upload power usage data to Bidgely. Bidgely is the best power usage analyzing site i have found that’s free. To signup go to https://www.bidgely.com/user/register and create an account then add a meter selecting Bidgely API and save your API Upload URL for the SmartApp.

Should work with any energy meter that SmartThings supports.

2 Likes

Thanks for the app! One of the last things I still use my Vera3 for is for Data-Mine logging of my energy consumption, and this should help to eliminate that.

It seems in Bidgely that I can only have one monitor…? am I missing something? If that is the case, do you think it would be possible to select multiple monitors in the app and have the additive number sent to Bidgely?

I have 2 power panels in my home and use 2 HEM’s to monitor them.

Thanks,
Eric

I’v been working on a SmartApp that supports multiple energy monitoring devices. I even added individual aplience energy monitors.

I should have the SmartApp ready in a few days.

Not sure if you are seeing the same thing… but I am guessing my power meters are updating too frequently?

java.lang.SecurityException: Endpoint
https://api.bidgely.com/v1/users/**********/homes/1/gateways/1/upload
is blacklisted

It’s not “your” meter. The problem is that the smart app runs in the Amazon EC3 cloud and all requests appear to come from the same IP address.

Is anyone using this at this time? I tried to configure this with my Aeon Labs home energy monitor and the only thing I see in the IDE logs page is the following:

a1ad3e67-4fa5-48e4-9dbe-cfad1f38fe59 9:47:57 AM: info groovyx.net.http.HttpResponseDecorator@5ca2cc5a
a1ad3e67-4fa5-48e4-9dbe-cfad1f38fe59 9:42:57 AM: info groovyx.net.http.HttpResponseDecorator@73fe0ed2
a1ad3e67-4fa5-48e4-9dbe-cfad1f38fe59 9:37:57 AM: info groovyx.net.http.HttpResponseDecorator@fc4d40e

Does this App still work? Thanks

Carlos

Seems to be working for me - I just used this to connect my Neur.io data to Bidgely. Now on to see if I can connect multiple energy meters there! Thanks for the code.

1 Like

I posted the code with that that supports multiple energy monitoring devices. I even added individual appliance energy monitors. I also added bulk uploading.

Thanks for the new code. Seems to be working great for my multiple HEM setup.

How often do you poll your HEM units and what would you suggest for the batch processing?

Currently I have them setup to report every 5 mins, and upload after 5 events. I think I understand that this would mean I would get updates in bigley roughly every 25 mins.

Does that sound right?

I set this up and the site seems to be getting my data, however, looking in the logs, I get the following error after every post response

error groovy.lang.MissingMethodException

8:48:58 PM: info httpPost responce:200
8:48:58 PM: info Posting last 1 events to https://api.bidgely.com/v1/users/API_KEY/homes/1/gateways/6/upload
8:48:58 PM: debug 1
8:48:58 PM: info Home Energy Meter power is 890W Type:0
8:48:58 PM: error groovy.lang.MissingMethodException: No signature of method: script14478964180231563807024.sendEvent() is applicable for argument types: (physicalgraph.app.EventWrapper, java.lang.Integer, script14478964180231563807024$_circuitPowerEvent_closure2) values: [physicalgraph.app.EventWrapper@78dfd320, …]
Possible solutions: sendEvent(java.util.Map), sendEvent(java.lang.String, java.util.Map), sendEvent(physicalgraph.app.DeviceWrapper, java.util.Map), sendEvent(java.lang.String, java.util.Map, java.util.Map), sendEvent(physicalgraph.app.DeviceWrapper, java.util.Map, java.util.Map)
8:48:28 PM: info httpPost responce:200
8:48:28 PM: debug Home Energy Meter energy is 2.567kWh Type:0
8:43:43 PM: info httpPost responce:200
8:43:43 PM: info Posting last 1 events to https://api.bidgely.com/v1/users/API_KEY/homes/1/gateways/6/upload
8:43:43 PM: debug 1
8:43:43 PM: info Home Energy Meter power is 1525W Type:0
8:43:43 PM: error groovy.lang.MissingMethodException: No signature of method: script14478959980731563807024.sendEvent() is applicable for argument types: (physicalgraph.app.EventWrapper, java.lang.Integer, script14478959980731563807024$_circuitPowerEvent_closure2) values: [physicalgraph.app.EventWrapper@418bdc97, …]
Possible solutions: sendEvent(java.util.Map), sendEvent(java.lang.String, java.util.Map), sendEvent(physicalgraph.app.DeviceWrapper, java.util.Map), sendEvent(java.lang.String, java.util.Map, java.util.Map), sendEvent(physicalgraph.app.DeviceWrapper, java.util.Map, java.util.Map)
8:43:28 PM: info httpPost responce:200
8:43:28 PM: debug Home Energy Meter energy is 2.425kWh Type:0
8:43:28 PM: info httpPost responce:200
8:43:28 PM: info Posting last 1 events to https://api.bidgely.com/v1/users/API_KEY/homes/1/gateways/6/upload
8:43:28 PM: debug 1
8:43:28 PM: info Home Energy Meter power is 1589W Type:0

Did you ever figure it out?
I am getting a similar problem see my log below.
Also in my case, it seems to show one of my Aeon switch info and graph but never the main energy monitor which is what I am really interested in…

741cbe7c-db29-48f9-828d-7dfa13e3a1ba 1:22:27 PM: error groovy.lang.MissingMethodException: No signature of method: script14485595394781563807024.sendEvent() is applicable for argument types: (physicalgraph.app.EventWrapper, java.lang.Integer, script14485595394781563807024$_circuitPowerEvent_closure2) values: [physicalgraph.app.EventWrapper@6a5e0abb, …]
Possible solutions: sendEvent(java.util.Map), sendEvent(java.lang.String, java.util.Map), sendEvent(physicalgraph.app.DeviceWrapper, java.util.Map), sendEvent(java.lang.String, java.util.Map, java.util.Map), sendEvent(physicalgraph.app.DeviceWrapper, java.util.Map, java.util.Map)
741cbe7c-db29-48f9-828d-7dfa13e3a1ba 1:22:27 PM: info httpPost responce:200
741cbe7c-db29-48f9-828d-7dfa13e3a1ba 1:22:27 PM: info Posting last 1 events to https://api.bidgely.com/v1/users/ed1d4dd1-3120-4cf6-9f8d-1d4f88267339/homes/1/gateways/1/upload
741cbe7c-db29-48f9-828d-7dfa13e3a1ba 1:22:27 PM: debug 1
741cbe7c-db29-48f9-828d-7dfa13e3a1ba 1:22:27 PM: info Aeon Home Energy Monitor power is 308W Type:0

This is all I get in my logs and bidgely says not connected.

0b59841e-2411-4c00-8c03-95f68ec8bda9 ‎5‎:‎11‎:‎19‎ ‎PM: error groovy.lang.MissingMethodException: No signature of method: script14487483425431563807024.sendEvent() is applicable for argument types: (physicalgraph.app.EventWrapper, java.lang.Integer, script14487483425431563807024$_circuitPowerEvent_closure2) values: [physicalgraph.app.EventWrapper@2b40b8a3, …]
Possible solutions: sendEvent(java.util.Map), sendEvent(java.lang.String, java.util.Map), sendEvent(physicalgraph.app.DeviceWrapper, java.util.Map), sendEvent(java.lang.String, java.util.Map, java.util.Map), sendEvent(physicalgraph.app.DeviceWrapper, java.util.Map, java.util.Map)

So If I just choose my home energy monitor it seems to work fine. If I select any individual monitors then the above error happens.

FYI - Bidgely is not allowing individual to sign up anymore. You can only sign up through your utility now.

Hmm I was able to sign up last week. If they changed it that sucks.

Yeah I emailed them yesterday after not being able to register and they responded as I indicated.

Hi ,
Thanks for writing to us.

Currently we have stopped individual signups and working only with utilities.So the Register option is disabled.

Thanks
Bidgely Support

Did you try going through here?

https://bidgely.com/register-check

Do you own a compatible Energy Monitor already?
Choose Yes

Sign Up Now

Enter Zip… Choose your Utility Co.

click “I have an Energy Monitor”

Then “Create Your Account”

I stopped here since I already have an account.

2 Likes

No, thank you!!!

This smart app is working great, thanks @bigpunk6

I am however disappointed that the Bidgely service won’t accept decimals between $0.1 and $0.2 a kwh for your rate

Seems silly it won’t accept $0.15

Okay, maybe I’m just new, but I can’t get Bidgely to connect to the Aeontech Smart Energy meter. I installed the code from @bigpunk6 and added the API URL they gave me, but it’s not connecting. What am I doing wrong? Do I need to do some sort of coding in Python, like with PlotWatt? I can’t code.