[RELEASE] Rainforest Eagle

A driver for the Rainforest Eagle that implements the uploader API

EagleTopShadow_25p-web-e1508790554722

Code

hubitat/rainforest-eagle.driver.groovy at master · augoisms/hubitat · GitHub

Also available on Hubitat Package Manager.

Features

  • PowerMeter and EnergyMeter capabilities.
  • Implements the uploader API, so the Eagle pushes data to Hubitat (no polling).
  • Supported fragments: InstantaneousDemand, DeviceInfo, NetworkInfo, and CurrentSummationDelivered
  • Calculates energy based on summation reports.
  • Can automatically reset energy on a given day of the month.
  • If no updates are received within one minute, power is set to zero

Setup

  1. Add a virtual device and select this driver.
  2. Specify the Eagle's static IP address. Save.
  3. Copy the hubUrl under State Variables.
  4. Go to Settings > Cloud in the Eagle web UI.
  5. Add a new cloud provider and paste in the hubUrl. Add Cloud.
  6. Select your newly added provider and click Set Cloud.

Notes

  • No Eagle lockups! The Eagle does not like being polled for data and will lock up if you poll too frequently. The uploader API appears to be a better, more stable option.
  • Tested with the Eagle 100 but should work for Eagle 200.
  • If using an Eagle 200 select XML Raw as the format.
  • Both your Hubitat and your Eagle need a static IP address.
8 Likes

@kleung1 @doctorkb @pablo Here is the latest! :blush:

1 Like

@augoisms: Works 100%. Thank you, Thank you!

This is a glorious sight:

1 Like

Looks like I celebrated too soon. Seems that after a few minutes, it reports 0 W and the Eagle switches back to Bidgely. It won't let me delete it either. I got this Eagle device through my utility company and it's probably locked down. Nothing wrong with your driver -- it works superbly!

Bummer, the driver doesn't handle the http request directly, so it's likely that there is an issue on the Eagle side or for some reason it can't reach the Hubitat anymore. Do you have static IPs for both devices?

Perhaps you can reach out to Rainforest for support. I haven't heard of an Eagle being locked into a cloud provider, but it also wouldn't be surprising.

On a hunch, I decided to create a rule on my router to block the Eagle from going out to the WAN. I think when it's reaching out to Rainforest, the cloud setting gets periodically set back to Bidgely. It's been about 3 hours now and it's still holding onto the local Hubitat cloud setting. I think I'm all set! :+1:

1 Like

Thank you @augoisms! Excited to try this out. Does it completely replace your older App/Driver?

Yes it does. To avoid confusion, remove the previous device and driver then install this driver and create the virtual device. Works like a charm!

@kleung1 Glad you got it working! I'm curious, do you have an Eagle 200 and can you access your Eagle through portal.rainforestcloud.com? If so, I wonder if you need to add cloud providers through there and not the local web UI.

No, I have an Eagle 100 (4-LED version), so I access from: https://rainforestcloud.com:9444/rainforest/user_portal/php/login.php

Or at least I could before I blocked traffic at my router. I should turn it back on to test my theory about the cloud resetting it.

But I also had the same thought as you. I did try to edit the cloud provider from the rainforest.com portal, but it didn't work (doesn't even connect at all like it does locally). And I couldn't delete the default Bidgely cloud entry from there either.

When using the Eagle 200 directly via a web browser you only have access to its WiFi and LAN settings. When using portal.rainforestautomation.com you have the Destination Options of: Lucid, Skycentrics, Stringify, WattVision, Ohmie.co, DERNetSoft, PVOutput, or custom. You have the options of HTTP or HTTPS, it wants the URL Hostname, port and username and password if needed.

I opened up the Eagle back to WAN and verified that I can now reach it again through rainforestcloud.com. I don't see the cloud provider setting reverting, so my original theory is not correct, but I still can't explain why it wasn't sticking before and now it is. :man_shrugging:

These Eagle devices have always been finicky. Ages ago when I was still on ST, my first driver implemented the uploader API, but my Eagle would throw an error every time I tried to add a new provider, so I abandoned the effort and ended up with my polling code... and now we're back to the uploader API.

This device works great for me, but I'm curious how people are displaying it on the dashboards? I'm using the "Power" template but all it shows is current usage/wattage. Has anybody come up with any creative and useful?

I haven't come with with anything useful yet. Like you, I just have a dashboard tile that displays current power & energy. I already get email alerts from my utility when we're crossing tiers, and I don't have on/off peak hours.

Power usage has been one of those things that I was really interested in at first, but then after about a week or so I stopped looking at it. I already know the AC, stove, and car use the most electricity, but I'm not necessarily going to changes my habits... who wants to sweat?!

Yeah, true true. Not that I'd really DO anything with my live usage, but I was just curious if anybody found a pretty way to visualize it.

Thank you for enabling this integration but the Setup instructions are insufficient (for Hubitat newbs such as myself). For example,

What are the requirements/prerequisites? Does my Eagle need to be on the same subnet as my HE?

Also, when I attempt to 'Add Virtual Device' via the Hubitat UI, I don't know how to "select this driver." There is a Type drop down but Rainforest Eagle isn't listed and when I click on 'User' nothing happens.

Please help!

@Busthead

Your Eagle and your Hubitat need static IP addresses.

It doesn't need to be on the same subnet, but the Eagle needs to be able to access the Hubitat on the network.

If you haven't already done so, you need to install the driver code that is linked in the first post. Instructions are here:

https://docs.hubitat.com/index.php?title=Drivers_Code

Once you have done that, you should be able to find "Rainforest Eagle" in the Type dropdown under the user section at the very bottom.

Hope this helps!

Can you please elaborate on, “access the Hubitat on the network?”

What are the ports and protocols used and which device initiates the connection?

My HE and Eagle are on separate networks with a firewall between so these details are essential.

Thx

The Eagle makes HTTP requests over port 80. You can read about the Eagle’s Uploader API here:

Developer Resources - Automated Energy Management | Rainforest Automation

Edit: my mistake, the port is 39501