Rheem EcoNet

Moved out of my house and no longer own the product. Taking a break from home automation until I buy my own house again.
Source code is out there for people who wants to learn.

Installation:

  1. Load Rheem EcoNet Service Manager in SmartApp section. From IDE, navigate to My SmartApps > + New SmartApp > From Code. Click Save. Click Publish > “For Me”
  2. Load Rheem EcoNet Water Heater in SmartDevice section. From IDE, navigate to My Device Type > + New SmartDevice > From Code. Click Save. Click Publish > “For Me”
  3. In your mobile app, tap the “+”, go to “My Apps”, furnish your log in details and pick your gateway brand, and a list of devices will be available for you to pick

Enjoy

If you like my work, please donate

7 Likes

Thanks! I set the device type and smart app up and it read in my current water tank temperature of 120 degrees.When I go to raise or lower the temperature change, it doesn’t seem to do it though. Nothing in the IDE logs either other than regular polling.

Also - What use cases were you thinking of implementing with ST/EcoNet? The only thing I can think of is if you go away, turn off Hot Water heater? Not sure if we have that capability yet though with this app and ST?

It should change the temperature 5 seconds after you tap up or down button.

Yup, exactly this. When in away mode, put temperature down to minimum and when back put it back to normal. ST doesn’t have this feature yet, but I’m going to write a SmartApp for this.

Thanks but it doesn’t seem to be working. When I launch the native EcoNet app I am able to just the temperature. Anything you want me to test?

I’ve updated the device type. Should work now.

Works now. I had to reinstall the app/device with the new code. Thanks! Now we just need that smartapp to set the temperature to lower when we are away.

Codes were broken by ST’s latest update in the backend. I’ve put up a fix on the github.

I can’t save on the device list selection: Failed to save to page: prefListDevices

Anything I need to change on the smart app?

It should work. I can’t help to troubleshoot now because there were too many people leaving the “troubleshoot” button to “on” without asking first. It used up my runscope account quota for the month. PM me in 7 days again so my runscope quota resets again.

@copyninja Since you wrote a few cools apps such as for Rain Machine, Rheem, MYQ, you might want to fork over your GitHub code to SmartThings public repo so we can now update it easily in the IDE. Just a suggestion. Thanks!

I think it only works for my own repository, unless I submit a pull request to SmartThingsPublic, which is essentially same as submitting for publication.

So, the things I have worked on, has a few conflicts. These are some of the reasons I have not submitted for publication.

  1. APIs that I’m using are not official API’s released from companies such as MyQ, Rheem or Lennox. That being said, I’m prepared to pull off my codes as soon as I receive a request to do so from such companies.
  2. All of my release has built in custom polling. While this is a nice to have, this is not exactly recommended by SmartThings.
  3. Integration like MyQ and Rheem is already being worked on by SmartThings.

thanks jason,
funny thing is when i was googling for the rheem smartthings solution google did not show this thread, this is exactly what i was looking for, i haven’t implemented it yet, but i will soon,

as far as folks asking for use cases, your average 50 gallon gas water hear with a 40,000 BTU will heat up the whole tank in less then an hour, so lets say there is no one using hot water in the house between 9 to 5 then just turn it off between that time, and only turn it on when you are one hour away from home, also you need really hot water for maybe clothes or dish washing, for everything else less hot water is fine, so may be you can have couple of hours daily when you do dishes when you have really hot water otherwise leave the water at milder temps.
you might even be able to leave the hot water at lower temperature once household is asleep, hot water and HVAC is the biggest evergy expense of any house hold controlling these two will go along way.

@copyninja i just replaced my 1999 rheem today with one that supports econet. Your device worked flawlessly. THX! The only bad part it that rheems network seams pretty crappy as the device has to completely cycle overtime it looses connection with their network. I did notice that port 80 is open on the device. i may spend some time hacking around with trying to get local lan working with it.

Any thoughts or plans on adding the ability to switch between performance and eco modes?

@sidjohn1 I only got a gas water heater, and it didn’t come with switching between performance and eco modes. I’d love to see the JSON contents of yours if you don’t mind. The documentation they have in http://io.myrheem.com/ is all crap.

i feel like i’m missing something obvious, i turned on troubleshooting, cause it looked like it would dump the JSON, but all i get is… well this, granted econet is pretty wonky so i doubt its your code.

5ca6a5e3-d885-4d7e-8276-6bde75d54cdf 9:42:34 PM CDT: error groovyx.net.http.HttpResponseException: Unauthorized @ line 230
5ca6a5e3-d885-4d7e-8276-6bde75d54cdf 9:36:52 PM CDT: error java.net.SocketTimeoutException: Read timed out @ line 247
5ca6a5e3-d885-4d7e-8276-6bde75d54cdf 9:34:20 PM CDT: error java.net.SocketTimeoutException: Read timed out @ line 247
5ca6a5e3-d885-4d7e-8276-6bde75d54cdf 9:33:33 PM CDT: error java.net.SocketTimeoutException: Read timed out @ line 247
5ca6a5e3-d885-4d7e-8276-6bde75d54cdf 9:33:14 PM CDT: error java.net.SocketTimeoutException: Read timed out @ line 247
5ca6a5e3-d885-4d7e-8276-6bde75d54cdf 9:31:23 PM CDT: error java.net.SocketTimeoutException: Read timed out @ line 247
5ca6a5e3-d885-4d7e-8276-6bde75d54cdf 9:31:11 PM CDT: error java.net.SocketTimeoutException: Read timed out @ line 247
5ca6a5e3-d885-4d7e-8276-6bde75d54cdf 9:30:12 PM CDT: error java.net.SocketTimeoutException: Read timed out @ line 247
5ca6a5e3-d885-4d7e-8276-6bde75d54cdf 9:29:38 PM CDT: error java.net.SocketTimeoutException: Read timed out @ line 247

Yea, I see some error 504’s. that would explain that Rheem servers are indeed slow.

POST /v3/eco/myequipmentattributes/savewhtemp 
{“ErrorList”: [“Timeout. We could not update your temperature in a timely manner.”]}

anyhow, I was able to captured some of your JSONs

          "ModesAvailable": [
            {
              "Title": "Energy Saver",
              "Value": 0,
              "ModeCategory": "energysaver"
            },
            {
              "Title": "Performance",
              "Value": 1,
              "ModeCategory": "performance"
            }
          ],
          "Mode": 0,
          "ModeDisplay": "Energy Saver",
          "IsEnabled": true,
1 Like

@copyninja

Hi, Jason. Thanks for this.
I followed your instructions, and I think it is working (at least it appears to be since it allowed me in and it’s displaying the current temp, etc). I just have a couple things I’m wondering about…

  1. Viewer-Mode-Only?
    I tried changing the temp by clicking the down arrow once. It did indeed change the number representing the temp within the ST SmartApp, but it did not change it on the other end that I can tell. After a few minutes, the number in the ST SmartApp simply bumped back up one number to what it was set at previously.

  2. Moisture Sensor / Leak Detection?
    This SmartApp doesn’t appear to mention anything about the moisture sensor that is part of the Wifi Module and which is used to warn of leak detection events, etc. It is installed and working just fine via the Rheem Econet app. Just nothing about it in this ST SmartApp. Is this something that you’re intending to add to this SmartApp at a later date?

This is a bug. It doesn’t always work. There’s a 5 seconds delay before the desired temperature is sent to Rheem server. I did this because I flooded too many commands to my water heater before, and had to plug it out and in back again. Now, Rheem server doesn’t always commit to the temperature that was sent. I’m not sure why. Happens to their app as well.

Planning to add this later.

1 Like

Thank you. :smile:

So, on the viewer-mode issue, I’ve never had this happen when using the native app. So, is it something you or they are working on in the ST context, or pretty much it is what it is, and that’s it?

update: I just tried it in the native Rheem app and it did the same thing.
So, thanks, Jason.

Looks like we’re good to go (not). lol

You’ve certainly done your part. :slight_smile: