Solar Generation Monitoring

Thanks, @Ron,

I don’t have your contact information, so you can reach me at jgoldin@enphase.com. We can do a remote demo or discussion with our engineers.

JayGo

@Ron
I’m trying to use your Enphase monitor, but I can’t seem to get it working. I never had a Dev account before, but I signed up for the Free Watts account just for this. I’ve used PVOutput for a while now and they never needed this Dev account. I tried putting in my Dev account ID, my system ID, and my Dev Key (which I’m assuming is the one that they put into my Application page). All I ever get are blank squares in the app. No errors, but no data either. I originally tried with my regular API user ID too, but to no luck.

I know this thread is older, but I’d love to incorporate this into my Smartthings system.

@chewie8han it would be difficult for me to help without much more information. I don’t know what steps you took, I don’t know if you configured the device correctly when you installed it.

Perhaps show the device in your ide.

If you plan to not redact your key,system_id,user_id then send me the screen shot via PM and I can test your configuration. Otherwise are you sure you have an enphase dev account.

Are you logging in here to create your account ?
You should have the api access section completed and it should contain your key.
https://api.enphaseenergy.com/

I am not sure what “Free Watts account” is.

I created my developer account here

Thanks @Ron. The device is showing as InActive (but then so is yours). From the little bit that I can see from your first screenshot, I have my numbers in the correct locations. I have my API access in the account information like your second screenshot (that shows the user ID (starting with 4d). That page doesn’t show my developer key though. I signed up for that from https://developer.enphase.com/ and get it from the Applications page. It looks as long as the number you listed next to key.
I just saw something… Do I need to also use Pollster too? I just saw that in the bottom of your first screenshot. I set it up to Poll, but I still don’t get any information in it.
The Free Watts account was just the free version when I signed up for the Developer access for Enphase.
Here’s screenshots of my information.



Thanks Ron.

You should be able to test using the “refresh” button which is what pollster does once you set it up (I think I implemented both refresh and poll).

Pollster doesn’t really work either because it stops polling after a while also. Basically ST has several bugs in the system that prevent polling of devices and it has been broken for a LONG time.

The best way to poll is to find a device you have in your network that reports data regularly and write a smart app that subscribes to that data and polls the PV when that data arrives. I have an aeon smart switch that reports according to the schedule you request very reliably so I would attach to that.

Myself I have not found a real need for this device to be automated yet so I just press refresh when I want to see the latest data.

Does refresh work for you ?

Unfortunately, that doesn’t work either. I’ve heard of the polling issues, that’s why I tried pollster when I saw it in your screenshot. I’m fine with just the refresh. I really don’t need it to constantly be checking when I can do it myself.
I actually was more interested in using @herbcarroll’s approach since it just connects directly to the envoy, but unfortunately he’s taken his code down.
This is my first time having to use a Dev account though. Other apps that I’ve used have never needed me to have a Dev account/key. I’ve only needed my user ID and system ID from the Enphase Account page. I’m guessing it might be something with that. My Dev key is the one that’s given for MY app (which doesn’t exist). I’m actually wondering if it should be the API key for YOUR app. Just a thought. Do you know of anyone else using your Device? If so, clearly I’m wrong. If not, maybe I’m right. It’s your call on if you want to share that.
Thanks

I didn’t realize that was possible. That is cool. I bet you could write a raspberry pi app that could send data

The point of the app key is to publish an app using your key and they they allow a certain number of “hits” for data for that key. So yes technically if I was releasing a Android app or an iPhone app I would be charging for it and if the hits were exceeded I could then pay enphase for more. But since I am publishing this code for free the best approach is for anyone using it to create their own app key and use that so they can have their own hit count limit. Also with SmartThings there is no way to hide the key in the code. I have to publish the code as source so everyone would know my app key and could use it to poll enphase any way they want. This could use up my hits in no time. You are not supposed to make the key public.

You mention that you don’t see the app key you created in your account. This means you didn’t tie the app key to your system. I think that is why things aren’t working. Check out the api documentation. You can test if you app key is working by just hitting the url in a browser and seeing if you get json back.

https://api.enphaseenergy.com/api/v2/systems/{YOUR SYSTEM ID}/summary?key={YOUR API KEY}&user_id={YOUR USER ID}”

Is should look like this.

That was it! I understand now why you were doing it this way. I never actually approved my own API key to be authorized to my system. I did that and now everything works.
Thanks so much. Not sure what I’m going to do with it in my system now, but at least it’s there and working!

Since the linked code for local access to the envoy seems to no longer exist, I took a stab at this

Hi Ron,
I am having difficulty adding my system to ST. I think (and hope) I am just pasting the API info in the wrong spot. Can you please take a look and advise?

Thank you,
Austin

@AB4 you are not putting your preference values in correctly. Notice that the values are blank and the log says “Null”.

You just changed the “Labels” to the values. So undo that change. Past the code without changing it at all.

Then edit the device preference either in the IDE or in the android/iphone app to enter your system key, id and userid.

Bingo! That was it.

Thank you!!!

1 Like

How long did it take for your api authorization to work? I added my dev api to my system and am still getting “Not authorized to access requested resource” error when testing via the html. Or did a screw something up with my setup below?

@Automated_House From your screen shot looks like you configured wrong. You API settings says your user id is 4e54XXXXXXX but you entered that value into system_id and not user_id.

looks like you used your ST community user_id as your configured user_id which is wrong. Change that to the 4e54… number and find your system id and enter that correctly.

My system id is a 6 digit number. I bet yours is also. When you login to https://enlighten.enphaseenergy.com/login your system id will be in the url after you login.
https://enlighten.enphaseenergy.com/systems/{your system id should be here}/arrays?range=today&view=energy_production

That did the trick! Thanks!

I’m not sure if you got this connected by now. If not you can get one of these and attach the current transformers in your panel. I like seeing the instantaneous output, rather than the 15-20 minute delay in the app. I used to have an electric vehicle and would charge my car during peak rates of my system was generating enough power. Since I had almost no peak usage, my excesses would get credited back to me against my off-peak so I figured it was the best way I could stick it to them and have my car charged sooner.

So interestingly enough, while perusing amazon for enphase products, I discovered that they sell a zigbee repeater

Hi @Ron I have tried to modify your driver for enphase for my solar inverter which is a zeversolar. I am not a programmer by any means. Are you or someone able to help out withe code. I can use the zevercloud API GET request and get a response with JSON-formatted data over the browser. But I am not sure how to get it to display in Smartthings.

API Get request: https://www.zevercloud.com/api/v1/getPlantOverview?key=

Ive managed to run the GET cmd and get a response through Smartthings but get the following error:


27e26bdb-a1ad-4bb2-98bb-8c47beff9fbb
1:10:17 PM: error groovy.lang.MissingPropertyException: No such property: E for class: java.io.StringReader @line 120 (doCall)

27e26bdb-a1ad-4bb2-98bb-8c47beff9fbb 1:10:17 PM: debug {“sid”:XXXX,“ludt”:“2020-04-05 13:09:56”,“E-Today”:{“unit”:“kWh”,“value”:11.7},“E-Month”:{“unit”:“kWh”,“value”:59.62},“E-Total”:{“unit”:“MWh”,“value”:15.82},“TotalYield”:{“unit”:"$",“value”:3875.98},“CO2Avoided”:{“unit”:“T”,“value”:8.7},“Power”:{“unit”:“kW”,“value”:1.55}}

27e26bdb-a1ad-4bb2-98bb-8c47beff9fbb 1:10:16 PM: debug