Custom Component: Rainforest Eagle-200 local meter reader

About a month or so ago I went back to graphing daily usage and noticed a spike which would then throw off all of my calculations. So I stopped looking at daily and monthly usage, and just went to instant data.

I’ll give this a try! Hopefully I can get back to using my daily and monthly graphs.

1 Like

Hi @gregtd
I added this to sensors.yaml.

  - platform: rainforest_eagle
    ip_address: 192.168.1.222
    cloud_id: 0033xx
    install_code: f8xxxxxxxxxxxxx
    scan_interval: 30

I see 4 entities were added,
sensor.eagle_200_meter_power_demand
sensor.eagle_200_net_meter_energy_delivered_minus_received
sensor.eagle_200_total_meter_energy_received
sensor.eagle_200_total_meter_energy_delivered
But all show up with “unknown”

Eagle-200 has fixed IP Address. software version: 3.15.4.475
I also double checked cloud Id and installation code (with no dash).

Please advise. Thank you

BTW, I can review data one the web portal and app

@superpanjy

Have you tried with a single quote around the CloudID. It was mentioned in a previous post above.

If that doesn’t work is there anything the in the Home Assistant log file?

Thanks for your reply.
I tried a single quote around the CloudID, all four entities disappeared. So i guess I dont need single quote.

I actually don’t know how to check log file. is it home-assistant.log?
I saw this:

2021-05-21 18:10:13 DEBUG (MainThread) [homeassistant.components.websocket_api.http.connection] [140171243294880] Sending {“id”: 2, “type”: “event”, “event”: {“event_type”: “state_changed”, “data”: {“entity_id”: “sensor.eagle_200_meter_power_demand”, “old_state”: null, “new_state”: {“entity_id”: “sensor.eagle_200_meter_power_demand”, “state”: “unknown”, “attributes”: {“unit_of_measurement”: “kW”, “friendly_name”: “Eagle-200 Meter Power Demand”, “device_class”: “power”}, “last_changed”: “2021-05-22T01:10:13.014284+00:00”, “last_updated”: “2021-05-22T01:10:13.014284+00:00”, “context”: {“id”: “f37819d3fb90997a57680732dbf176f9”, “parent_id”: null, “user_id”: null}}}, “origin”: “LOCAL”, “time_fired”: “2021-05-22T01:10:13.014284+00:00”, “context”: {“id”: “f37819d3fb90997a57680732dbf176f9”, “parent_id”: null, “user_id”: null}}}

@superpanjy
Yeah home-assistant.log is the log file.

Look for any lines that have [homeassistant.components.rainforest_eagle.sensor]. This can point to any errors with the Eagle integration or API

I see this:

2021-05-21 18:12:43 DEBUG (SyncWorker_25) [homeassistant.components.rainforest_eagle.sensor] API data: {‘instantanous_demand’: None, ‘summation_delivered’: None, ‘summation_received’: None, ‘summation_total’: None}

It appears the data coming from the Eagle-200 is not correct.

Can you run the eagle200_reader.py from the command line?

If the above standalone python program fails, try rebooting the Eagle200 and then re-run the same program to see if the issue has resolved itself.

In case anyone else runs into problems with the integration installation with the “Expecting value:” error, make sure both Cloud ID and Install code are all lower case. I’d copied the Cloud ID from the website URL and it was in uppercase and thus it wouldn’t start. Might be good to mention that in the docs actually.

//TB

Were you ever able to add the cost data to the integration? I just installed it recently and I only see the original 4 sensors (current/in/out/total).

I queried my -200 directly and the price value is “invalid” so I’m getting a bit ahead of myself; opened a ticket with Rainforest support as the price is being displayed on their cloud portal.

How can I run this in home assistant OS?

  • Install the ‘eagle200_reader’ Python module by running: ‘python -m pip install eagle200_reader’

My sensors are not getting populated. I believe it’s because my Eagle is actually returning two power meter devices and the first is not connected (ConnectionStatus = Not joined). I was able to make that eagle200_reader.py script work for me by modifying _get_device_address to use this in the for loop:

for node in tree.iterfind(".//Device[ConnectionStatus='Connected']/HardwareAddress"):

I’m not sure what the other power meter device is (maybe something in my solar installation?), but I don’t see anyway to remove it. Any ideas how I could work around this?

It seems like it needs a code fix to filter the device list down to just connected devices. I think either of these places would work:

or

Thanks!

The library I was using has been replaced with different one. I’m not maintaining the eagle200_reader API any longer.

Maybe with the new Energy dashboard rather than having the Eagle being queried, you can enter in the Price value directly in Home Assistant?

EDIT: I did see a PR that was merged and probably make it in the HA 2021.9 or 2021.10, where the price will be queried and returned to HA. The PR is 54887.

Here is a screenshot from the latest dev branch that has the Meter Price value from the Eagle-200
Screen Shot 2021-08-28 at 10.29.49 AM

@jjlink.net You can add the Eagle device in Home Assistant by going adding this to your configuration.yaml

sensor:
  - platform: rainforest_eagle
    ip_address: 1.1.1.2
    cloud_id: 123456
    install_code: 4234343242343242

In an upcoming release you’ll be able to add the Eagle device through the web interface but no yet.

@natabat Yeah this was a limitation when I first wrote the eagle200_reader library. The newer library aioeagle might overcome the limitation but it appears the Home Assistant Eagle integration code is hardcoded to only look for the first meter.

Have you opened an Issue in Home Assistant to track this issue?

@gregtd I haven’t submitted an issue yet, but I can definitely do that. I’m also toying with the idea of fixing it myself but I’m 38 weeks pregnant and it seems like there are other things I should be worrying about right now. :slight_smile:

Edit: just submitted the issue:

1 Like

Thank you for submitting the issue! While I can’t say I completely understand (never been pregnant nor have kids) I can empathize juggling priorities and picking what is truly important. Take care!

Oh and thank you for posting the XML output. This will help out.

Thought rather than starting a new thread I would post my question here… I have recently setup my Rainforest Eagle 200, and have been configuring the HA Energy Dashboard.

I am a little confused about Energy Delivered (kWh) and Energy Received (kWh)?? I have the HA Energy Dashboard configured like this…

Grid consumption = Eagle-200 Total Meter Energy Received
Return to grid = Eagle-200 Total Meter Energy Delivered

But I have a funny feeling this might be the wrong way around? Can anyone give me some advice?

I think you might have that around the wrong way.

Have a look at these two videos on YouTube.
He has one and goes through the steps.

&

Yes, I looked at the output and it looked weird, so I flipped them and now it looks great. Thanks for the videos, much appreciated.

I’ve been thinking about getting one myself. They were sold out for a while and have just come back in stock.

I’ve read some negative reports around the connectivity so I’d like to ask has it been stable?

Are you using wifi or directly connected to your network?

How far away is the device from your smart meter?

Thanks in advance.

Ezekiel