Rheem EcoNet

Is there any way to be able to use this smartapp/device to utilize the temperature to send out notifications as to if the setpoint was changed. I cannot seem to view the temperature as a sensor for options for sensors.

Any help on how to create the temperature attribute for the Rheem?

1 Like

That’s just the point (see my post immediately before yours)…as-is, this unit does NOT have any sort of temp sensor.

With CoRE (or other rules engine), you may be able to make automations based on the setpoint being changed, but you’ll still have absolutely no idea what the temp of the water inside the tank actually is; only what the unit ‘says’ the setpoint is.

Anyway to get the setpoint to be used as the temperature to be used and viewed as the attribute for smartapps to see?

I have only started to play with smart apps and device handlers but I think this could be done.

I have made some minor changes on my fork.

I am wanting to do the notify when the temperature goes below a certain temperature. Can you send me your DT/SmartApp for the Rheem?

I haven’t found a way to get the actual temperature from the eco net.

Not sure if there is a different call in their papi to get that or not. The Rheem application does not have it either.

I’m trying to get ST working with the EcoNet thermostat controller. Made some good initial progress in modifying Justin Huff’s EcoNet Connect app to GET HVAC equipment, but hit a wall in PUTing updates.

I can login and see my furnace:
https://econet-api.rheemcert.com/equipment/xxxxx

{
“id”: xxxxx,
“deviceAddress”: 512,
“name”: “Thermostat”,
“type”: “HVAC”,
“subType”: “Control Center”,
“isNestActive”: null,
“connectedSystem”: {
“macAddress”: “XX-XX-XX-XX-XX-XX”
},
“hasCriticalAlert”: false,
“heatSetPoint”: 70,
“minHeatSetPoint”: 50,
“maxHeatSetPoint”: 90,
“deadband”: 3,
“coolSetPoint”: 73,
“minCoolSetPoint”: 52,
“maxCoolSetPoint”: 92,
“isFollowingSchedule”: false,
“indoorTemperature”: 70,
“outdoorTemperature”: 50,
“indoorHumidityPercentage”: 53.10271072387695,
“fanMode”: “Auto”,
“fanSpeed”: “Off”,
“isConnected”: true,
“isOnVacation”: false,
“vacationCanBeDisabled”: true,
“mode”: “Auto”,
“inUse”: false,
“modelNumber”: “”,
“supportsUsageData”: false
}

But that’s about it.

I’m going to call an old contact at Rheem support on monday and beg, plead, threaten, and cajole for them to provide some god damn documentation.

Found another site with 1/2 baked docs:


All the alleged documentation is in latin boilerplate text. Useless.These guys seem to have a nasty habit of leaving their digital fly down and publishing 1/2 baked docs live.

Not only that but its impossible to figure out what they intend to do with their api or EcoNet in general. They also seem to want to, based on the developer link above, charge money for API access, and are offering an complex matrix of “plans” but when you click on the “sign up” link for any of the said plans, nothing happens. The whole thing looks like it was designed by some biz school kid as a class project and then abandoned.

Hey Justin-

I’m looking at your EcoNet connect app, looking to see if I can get EcoNet HVAC equipment working.

I’ve made some progress in that I can login and see my hvac equipment, but I can’t put any updates to it.

For most requests I get back:
{“error”: “Invalid properties, must be name or equipment value.”}

Some properties, like for example “isOnVacation” return a 202, though it doesn’t seem like the actual property gets updated.

For others like “isFollowingSchedule” I get back:
{“error”: “May not set isFollowingScheduleDirectly”}

And for others like fanMode I get:
{“error”: “Invalid value [Medium], available values are [Auto, Low, Med.Lo, Medium, Med.Hi, High]”}

Even though I’m sending one of those values.

I’m wondering if you can tell me what the basic auth header on the initial token request is all about? What are these credentials?

  headers: ["Authorization": "Basic Y29tLnJoZWVtLmVjb25ldF9hcGk6c3RhYmxla2VybmVs"]

Decode: com.rheem.econet_api:stablekernel

Is this limiting the whole app to a read only account something? It seems I’m talking to the API but none of the responses make sense.

The basic authorization is used in a post to get a token. I ran it through postman and took some screenshots. I suggest you install Postman and follow the screenshots. It should get you up and running.

To get the token, create this header:

I will put the body in a new post

Now click Send and you should get an access and refresh token in the response section. Click save as you will come back to this often!
Copy the value between the quotes for the access_token. You can now pass this value into GET and PUT requests.

Body:

Sorry I can add 1 image per post.
Now you can get the location info.

Then you can use the id for each device to get info. Like so: https://econet-api.rheemcert.com/equipment/id_here.

Hope this gets you up and running. I just got a ST hub yesterday. I played with the old API with Vera but never got it working due to other priorities. I’m hoping we can help each other out and get this working. Let me know if you have more questions.

This is about as far as I’ve gotten with it too. I was using postman as well. I was getting the token and could GET my device and see its values, I just could’t PUT any values to my equipment.

Mostly I get either a 500 or a 400 status, sometimes with a message, sometimes not.

It appears to me that I don’t have rw permissions or something. I’m wondering if the Basic Auth in the initial token request ties us to an account that isn’t read write, or not for hvac equipment anyway.

I tried to call rheem about this but all I got through to was support. They promised to escalate my ticket, but they said there were no guarantees I’d get a response.

I redacted id, deviceAddress, macAddress etc in the image below.

Hmm… well OK. Not an RO account it would seem, since I’m able to delete my equipment with a DELETE instead of a PUT. Whoops.

After I replied I went about playing with PUT commands. I have not quite figured it out yet but with the waterheater I can use x-www-form-urlencode but not with the HVAC. What finally worked was:
Headers: Content-Type: application/json
Body: {“coolSetPoint”:73} as raw JSON (application/json)

I’ll keep working and post further updates.

Using the above {“fanMode”:“Medium”} worked!

Yes! wow, that does work. Nice catch! I tried about 50 variations with no love until that. Sweet!

More endpoints to play with:

https://econet-api.rheemcert.com/alerts
https://econet-api.rheemcert.com/equipment/YOUR_ID_HERE/settings
https://econet-api.rheemcert.com/locations/LOCATION_ID_HERE/vacation/defaults
https://econet-api.rheemcert.com/vacations (enable vacation and view status)
https://econet-api.rheemcert.com/users/LOCATION_ID_HERE (this one is needed if you want to figure out temp scale F/C)

So for settings you can use similar PUT:
{
“name”: “followSchedules”,
“value”: false
}

For schedule the PUT would be:
{
“days”: [{
“name”: “Tuesday”,
“times”: [{
“name”: “Night”,
“hour”: 22,
“minute”: 0,
“heatSetPoint”: 62,
“coolSetPoint”: 77,
“fanMode”: “Off”
}]
}]
}
I think you can change name, hour,minute,heatsetpoint,coolsetpoint,fanmode

awesome. Great stuff. I’m not terribly interested in schedules and vacation mode at this point since I’d prefer to manage that with ST anyway, but that does look like how you access everything in there.

How did you figure this all out? I’m curious for future reference. I’m not generally a developer of RESTful things but close enough to figure out how to write the DH, given what you’ve supplied here.

So what are your plans regarding this? I’m not sure if the best plan is to fork Justin Huff’s Connect app for HVAC, or to add hvac to the existing app. After that, writing the handler itself should be straight forward since there are no major unknowns at this pt.

I agree on the schedules and vacation. My aim is to get as much information
as possible pulled into ST and minimal updates (change setpoint, mode,fan),
not to replicate the Rheem app. But it’s good to have everything documented.

I used Charles software. Nifty stuff!

I think easiest is to create a separate app for now. I doubt there are more
than a handful of people that care about the HVAC. And integrated app can
be on the cards for the future once we have it working.

I am brand new to ST API and not a developer but it looks very simple. I
will have some time on Friday to work on this if you want to pass what you
have on to me. I will probably have a go at it regardless on Friday.

Some thoughts on rheem’s API: They have stopped the old API that the
documentation pointed to. New API is not documented. Even their own app
uses basic auth, not auth2. But on the plus side they even have their
distributors (e.g. gemaire) using this API. I do not foresee this version
of the API going anywhere for a while except maybe upgrades to
authentication. If they do we would be screwed as they don’t seem to be
handing out developer keys.