I’ve created a Node-RED node for picking up SolarEdge inverter data from their monitoring API. I thought it might be of use to other people here.
You can find the NPM module here:
And here is a Node-RED configuration for you to import if you want to use it:
[{"id":"9531130f.3ba4c","type":"emoncms-server","z":"","server":"http://127.0.0.1/emoncms","name":"emonPi"},{"id":"a356b54c.3c9828","type":"solaredge-site","z":"a5ce04b2.5a31f8","siteid":"XXXXXX","apikey":"XXXXX"},{"id":"6b057a74.1c5464","type":"debug","z":"a5ce04b2.5a31f8","name":"","active":false,"console":"false","complete":"false","x":568.5,"y":945,"wires":[]},{"id":"32ba255.ff3ddda","type":"function","z":"a5ce04b2.5a31f8","name":"get Data","func":"msg.time = '' + Math.round((Date.now() / 1000));\n\nvar str = \"\";\nstr += \"power:\" + msg.payload.overview.currentPower.power;\nstr += \",\"\nstr += \"lifetimeenergy:\" + msg.payload.overview.lifeTimeData.energy / 1000;\nmsg.payload = str;\n\nreturn msg;\n","outputs":"1","noerr":0,"x":408,"y":944,"wires":[["6b057a74.1c5464","44a9d4fb.0c84cc"]]},{"id":"bbaf87bc.77b808","type":"solaredge","z":"a5ce04b2.5a31f8","site":"a356b54c.3c9828","interval":900,"command":"overview","x":255.5,"y":944,"wires":[["32ba255.ff3ddda"]]},{"id":"ec333946.aa9828","type":"comment","z":"a5ce04b2.5a31f8","name":"SolarEdge","info":"","x":255.5,"y":892,"wires":[]},{"id":"44a9d4fb.0c84cc","type":"emoncms","z":"a5ce04b2.5a31f8","name":"emonPi emonCMS","emonServer":"9531130f.3ba4c","nodegroup":"17","x":588,"y":997,"wires":[]}]
This spits out 2 inputs into node 17:
-
power
: The current power detected by the inverter. -
lifetimeenergy
: The amount of kWh the inverter has output during its lifetime.
@lake - might be of interest to you.