[RELEASE] Solaredge Monitoring Device Driver

So excited to discover this Solar Edge driver. My 5KW system has been running for 4 years and Hubitat for a few months. Tried the install but only partly working.
Background: My system is just grid connect, no batteries. The Inverter has their optional utility grade meter module. The Solar Edge App as well as web access to their stuff seems working fine for my siite

Problem. I pasted Groovy code and followed instruction to make virtual device. Added API info and key and get some data on the device page. But (a) Dashboard addition does not list it available to add
(b) I added another device name but same stuff, same problems
(c) I try manual refresh and have enabled showing update time but it comes up null. Also there seems be actions cued but never processed minutes later. I'[ve got all set for 1 minute intervals.

Some screen grabs:

image
image
image
image

Can anyone help here? Coding Hubitat is entirely new to me.
Thanks

A few things I would try is clearing the data then manually refreshing it. If that doesn't work, try removing everything and adding it again. I'd suggest using the Hubitat Package Manager to make it simpler. Turning on debug logs might hint at why it's not setting the update time.

Thanks. I had device in twide and removed one of them., Then I cleared and refreshed and the dates did update. But all values are zero. Checking debug past log, I see all many error 429, too many requests. Also, checking Runtime statistics, this is the highest one at over 53% of busy. Still do not see the device available to select for a Dashboard tile. I'm going to delete everything related and start over.

429 means that you got rate limited. SolarEdge only allows 300 API requests a day and you exceeded that. As for displaying the tile in the dashboard you need to allow the device in the dashboard configuration.

I totally forgot about the authorize, and allowed it. Which attributes are recommended, so that I get most on a single tile? Still no data, tried changing the API key but that also check by site. Must be that all the playing around got it booted so I turned off updates and will manually check again tomorrow. I guess update at 1 per minute on even one item wont be allowed.

Getting better but some different errors in the Log

Looking at that debug log, there is no data for that endpoint being returned. I looked at the API documentation and found the following for that endpoint:
The response returns power flow for each of the elements in the system and their state. In case the site does not support this information, the response should be an empty object..

Looks like your inverter or site as they call it does not gather that information.

I'm still working to understand what the API will do for me, and checked also that I had authority as an installer to enable API and any related options from it (I do). When you use Solaredge's monitoring page, you do get a grab of power data and there must be a time stamp somewhere for that that data was recorded (smallest time period of a day). But the API is apparently oriented for energy data production, not showing me what I'd like about changes from sun vs my loads in the house and EV charging system. My Solaredge inverter unit is in my garage with a subpanel adjacent to it, only having a couple of load outlets to impact the data, other then the EV charge loads. It does have the utility grade meter option installed, but no batteries nor loads can be seen by that unit. My basement is our main panel, and that is where I have an AeotecHEM2 (zwave) meter; a Neurio/Generac meter with CT pairs on the grid, and separate set on what the garage subpanel nets. Out of all of this, I'm wanting a clear Dashboard display meaningful in the context of my particular system topology with respect to Watts at a point in time.

While we do not have time of day pricing for power where I live, I still want to tailor when I change and at what charge rate the vehicle (a Tesla) requests so I have minimal grid load and use up just the solar power on my side of the utility meter. With a 5KW dc on the roof, I'm finding about 12A at 240Vs (2.9KW) is reasonable charge load to allow between maybe 11am and 3pm. and the car is able to ask for that based on its own clock and charge level selection. (It otherwise can handle up to 11.5KW AC from my panel maxed out). So obviously my goals are manipulating the rate of power use vs power production at least and ultimately having the C7 rules handle most of it vs this patchwork of making do.

Thoughts?

From what I understand you want to measure what the status of the solar array is doing and allow certain actions to happen if it's allowed to do so. For example if there is an abundance of energy production at the time then adjust the vehicle charge rate?

Out of curiosity, you mentioned you don't have time of day pricing. Do you have net metering? Because if you do adjusting when the vehicle charges is just a gimick and just going to end up being a headache at some point.

But more to the point, most of the Solar Edge API is indeed for historical data gathering. The data in Solar Edge's server has a maximum granularity of 15 minutes. The closest live data that they have is the Site Power Flow API endpoint. I am unsure what the granularity of that is. I think it's about 5 seconds. I also think this depends on how you report data back to their servers, either ethernet or cell communication. This is the endpoint that populates dashboard:
image

If you want real-time or close to real-time updates, that is what you need to query. However there are two problem #1 there is the 300 daily limit API calls. You could get around this a bit by querying more during sun times than at night. But still this is a stupid limit Solar Edge imposes. Issue #2, for whatever reason your site does not populate the site power flow. Since I don't know what your setup is, could be your inverter does not report this information, you do not have a meter installed, or it's not properly configured to report import/export or consumption. What model inverter do you have and do you have an external meter connected to the inverter or is it one of the new ones with and internal meter?

There is a third way of getting data from the inverter itself. Which requires you to query the inverter from within the local network. If you are familiar with Python take a look at GitHub - jbuehl/solaredge: SolarEdge inverter logging data capture

Hello, Iā€™m a bit confused on how to get the API. The GitHub says: ā€œ This key is either provided by the installer, or generated by the user if they have access granted to them by the installer or have the inverter under their own installed account.ā€ I have the inverter connected to my account and within the app i know how to go into the inverter status and communication. Is that where I get the API KEY?

I can do each of those things but I still had to talk to the company that installed my system, who then supplied me with an api key.

Ok. I found this link:

https://www.solaredge.com/uk/node/88689

Seems like I have to contact my installer and see if they can give that to me.

Thx!

2 Likes

Hi @funzie,

It's been a while since I looked at the tile attributes for the solar, but I noticed that they do not update when the scheduled api calls are made, only when you click on the commands for each data point in the device page, or do a device refresh. Any chance you could change the method that is scheduled in the code to be the same one as the commands? i.e. doing both the data collection and tile updates.

Also, in the refresh method I think you need to move the setting of lastUpdated to come before the tile updates.

Thanks,
Simon

I just pushed out a fix to deal with the timestamp and tiles. I'm in the process of moving away from Hubitat to something better, but I'll still support this driver as best I can.

1 Like

Thanks for sorting that out @funzie.

Sorry to hear you are moving on, if you want to pass the code on I'd be happy to look after it.

Thanks,
Simon

Hello, I noticed the original creator of this driver (@funzie ) has moved on; does anyone know whether this would work with SolarEdge Energy Meter device? As I'm planning to install solar panel, and the electrician has suggested to install this device

Thanks

I have a Solar Edge invertor, I'll see if I can work out the meter device inside and let you know.

2 Likes

Thanks, appreciate your prompt response!
I noticed from your avatar, you are also live in Australia, G'day mate! :smiley:

I'm in Melbourne, I know it is not related to the original thread, how do you find the inverter so far?
My electrician has suggested to have the following model:

Genesis Single Phase Inverter with SetApp configuration 5kW of Inverter Power (Genesis SE5000H-AUL00BNU4)

I suspect your SolarEdge monitor connected to Hubitat through Zigbee instead of WiFi?

Thanks

G'day. I'm actually getting mine replaced atm :slightly_smiling_face:. I've found it to be ok when it was working. I'll respond a bit more when I get back in front of my PC.

1 Like

Hi @Televisi ,

I can't find the exact model of my invertor and it's different attachments on my paperwork, I'll probably need to go outside and connect my phone directly to the invertor in the morning to get that. But it is a SolarEdge Invertor with the StorEdge interface, which allows me to run a LG battery as well, which I purchased separately. It certainly "looks" the same as the Genesis one you mentioned.

Mine is only connected via Wi-Fi, which then means the invertor sends the data to the SolarEdge cloud, and this driver then accesses the cloud-hosted API endpoint (I don't believe the driver caters for a Zigbee connected system). I had seen there were other connectivity options in the SolarEdge App, but for this part of my home a cloud option doesn't bother me.

I'm just North of Sydney and went with a local Solar company that have been around for years. Like I mentioned earlier, I've found the system works well and the company I purchased it from had actually ordered a replacement for my faulty invertor (under warranty) even before I rang them, so they are able to monitor it quite easily and quickly respond to any issues. Well, at least within the limits every business is facing nowadays...

Simon

1 Like