I was having the same type of problem - I ended up by “solving it” by having the eagle on a z-wave switch I could clobber from the comfort of my desk and the iOS app. Lame, but handy.
However, I recently shifted quite a lot of my stuff over to node-red. When doing that I took advantage of the fact that Rainforest allows you to setup different push endpoints aside from just them. I have it pushing to my hassio with a local address and have the following flow suck it into HA.
[{"id":"73259baf.26b934","type":"comment","z":"35a3515e.e0e226","name":"Get Power Data","info":"","x":100,"y":80,"wires":[]},{"id":"b9a3d8cc.852f8","type":"http in","z":"35a3515e.e0e226","name":"RainforestEagle","url":"/rest/metering/upload","method":"post","upload":false,"swaggerDoc":"","x":100,"y":120,"wires":[["c45399e.ae29fe8","67380bd.3d47674"]]},{"id":"c45399e.ae29fe8","type":"http response","z":"35a3515e.e0e226","name":"","statusCode":"200","headers":{},"x":390,"y":200,"wires":[]},{"id":"67380bd.3d47674","type":"change","z":"35a3515e.e0e226","name":"Filter","rules":[{"t":"set","p":"payload","pt":"msg","to":"$round($number(payload.body[0].data.demand), 3)","tot":"jsonata"}],"action":"","property":"","from":"","to":"","reg":false,"x":570,"y":120,"wires":[["514562f5.a44664","5a317d88.75af14","9cb0c6d3.e1317","251101ef.a64d46"]]},{"id":"514562f5.a44664","type":"mqtt out","z":"35a3515e.e0e226","name":"mqtt","topic":"sensor/Rainforest/InstantaneousDemand","qos":"2","retain":"true","broker":"8119e086.37a008","x":950,"y":40,"wires":[]},{"id":"5a317d88.75af14","type":"ui_gauge","z":"35a3515e.e0e226","name":"Power Guage","group":"ff52d772.df3c2","order":1,"width":0,"height":0,"gtype":"gage","title":"","label":"kilowatts","format":"{{value}}","min":0,"max":"3","colors":["#00B500","#E6E600","#CA3838"],"seg1":"1","seg2":"2","x":980,"y":100,"wires":[]},{"id":"9cb0c6d3.e1317","type":"ui_chart","z":"35a3515e.e0e226","name":"Power Graph","group":"ff52d772.df3c2","order":2,"width":0,"height":0,"label":"Instantaneous Power","chartType":"line","legend":"false","xformat":"hh:mm a","interpolate":"linear","nodata":"Nothing Yet","dot":false,"ymin":"","ymax":"","removeOlder":"2","removeOlderPoints":"1000","removeOlderUnit":"3600","cutout":0,"useOneColor":false,"colors":["#1F77B4","#AEC7E8","#FF7F0E","#2CA02C","#98DF8A","#D62728","#FF9896","#9467BD","#C5B0D5"],"useOldStyle":false,"x":970,"y":140,"wires":[[],[]]},{"id":"251101ef.a64d46","type":"debug","z":"35a3515e.e0e226","name":"","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","x":770,"y":200,"wires":[]},{"id":"8119e086.37a008","type":"mqtt-broker","z":"","name":"Local MQTT","broker":"http://localhost/","port":"1883","clientid":"","usetls":false,"compatmode":true,"keepalive":"60","cleansession":true,"birthTopic":"","birthQos":"0","birthRetain":"false","birthPayload":"","closeTopic":"","closeQos":"0","closeRetain":"false","closePayload":"","willTopic":"","willQos":"0","willRetain":"false","willPayload":""},{"id":"ff52d772.df3c2","type":"ui_group","z":"","name":"Power","tab":"4e73ab2e.417e0c","order":1,"disp":true,"width":"6","collapse":false},{"id":"4e73ab2e.417e0c","type":"ui_tab","z":"","name":"Meters","icon":"dashboard","order":1}]
I haven’t had a crash since - I also happen to not be polling it at all anymore, since I don’t need to.
There’s probably a native HA way to do this. But I was trying to learn Node-red and it’s really easy there and all…
Dave