Rheem Hotwater heater, econet?

sorry, that may have been an error on my side. I did a copy paste on the code. I went ahead and deleted that version and just did a wget on the file.

Restarted and now I have

2017-09-14 23:27:03 ERROR (MainThread) [homeassistant.loader] Circular dependency detected: wink -> wink
2017-09-14 23:27:03 ERROR (MainThread) [homeassistant.setup] Setup failed for wink: Unable to resolve component or dependencies.

Never seen that before. Can you delete the both of the wink.py files and start fresh? Make sure this one https://github.com/w1ll1am23/home-assistant/blob/aaff058771d5933b0ee7b36bb1dbf1cf510814b0/homeassistant/components/wink.py goes into the root custom_component folder and this one https://github.com/w1ll1am23/home-assistant/blob/aaff058771d5933b0ee7b36bb1dbf1cf510814b0/homeassistant/components/climate/wink.py goes into the climate folder?

Do a wget on each file, I think maybe you placed the climate/wink.py into the base folder? That would result in it looking for itself. That is the only thing I can think of.

Sorry for the delay. Ok. Removed and downloaded the correct ones to the right location.

The error log was a bit long, so I pasted it here

https://hastebin.com/cinozojuhi.m

Booo, wget doesnā€™t work I guess. Looks like it downloaded it as an HTML doc. The easiest thing to do is probably just copy and paste it. Once you paste and save then run pylint on the file and it will complain if there are any style errors from the copy/paste.

I have a suggestion. I have never tried it before, but there is the option to ā€œshareā€ a device across wink accounts. If you are interested you could share your water heater with me and I can troubleshoot. You have the ability to remove my access at any time. If youā€™re interested in trying that PM me and Iā€™ll send you my email so you can share to my account.

After the update to .0.54.0, is there anything additional to do to get the component to load up? Iā€™ve had the Wink component added for some time now and I have all my lights and other sensors, however, the Rheem EcoNet Heater isnā€™t showing up. I donā€™t see anything in the logs indicating a failure and it shows up fine in the Wink App.

Unfortunately we missed the last release there were a few last minute changes requested in the pull request. It was just merged into dev last night so it will be in the next release.

Quick question for you. If you try to change temperature or mode via the wink app, does it work?

@anon91811138 is testing it with the Wink app and any change made works initially, but it automatically gets set back to the original state after a few minutes. This isnā€™t a HA or python-wink issue, looks to be on Winks end and we are currently speaking with them via a support email. It would be interesting to know if you have the same issue so we can let them know.

I just tried changing it via the Wink App and after a few seconds its reporting an ā€˜Account Errorā€™ and then ā€˜Unable to control this Water Heater because your Rheem account has been disconnected. Please reconnect your accountā€™ You can get it to work though by messing around:

Reconnecting makes that error message go away and shows its successfully reconnected, but as soon as you try to change the temp, it throws the error again. The odd thing here is that you attempt to change it again in Wink, you go up or down a few degrees, and then it instantly changes back to the original temp and says that ā€˜Account Errorā€™ā€¦ If you then change it to whatever temperature you really want, get the account error, reconnect it, leave as is and donā€™t change, and them go into the EcoNet app, it is successfully updated. Its when you try changing it that it defaults and throws the error and will successfully reconnect.

It seems like thereā€™s something with Wink that perhaps its not receiving a response to the request and bailing out but you cant get it to work, albeit in a slightly annoying manner.

Using the Rheem EcoNet app is working fine and no errors.

Awesome, yeah that confirms it is a wink error. Not sure why @anon91811138 isnā€™t seeing the account error message.

Any chance you would be willing to open a support ticket with wink? Reference ticket number 763058 and let them know you are seeing the same issue.

Roger that - Entered in reference and got back ticket 765175. Will advise of any updates.

Havent heard anything back from Wink yet.

Contacted Wink today - still unable to determine whats causing the account errors with it disconnecting each time the temperature is changed. I provided some diagnostic logs to Wink and theyā€™ll be following up once they have any additional information.

Thanks for the update. I still have an ongoing ticket with them as wellā€¦ tried asking about it last week I think and they said they were still looking at itā€¦ so who knows

Still checking into this. As the Rheem app works fine, they are unsure what the issue is but have the model of the EcoNet Adapater as well as the Water Heater itself and pulling additional logs. One day it will work.

1 Like

One day, hopefully. So, I donā€™t personally have one of these water heaters so I havenā€™t done much research in to their API.

Do they have a mobile app? Does it work? If so there is a possibility that ā€œweā€ could make a Rheem platform and skip Wink all together. It would however, require that I have access to a Rheem account. This is what I did to implement the TrackR device tracker platform. I took their offical app, and proxied the connection and ā€œreverse engineeredā€ their API. This isnā€™t a guaranteed to work kinda of thing, they could be doing things to prevent that like certificate pinning.

Having said all that, if someone is willing to share their credentials with me I could take a look and see what they are doing. Maybe get a direct to Rheem platform put together.

Or, if anyone is somewhat tech savvy and has an older Android device and/or knows how to run an Android emulator I could maybe walk you through the process of getting the information I would need.

Hey Just an FYI. I borked my HA install a few days ago and had to rebuilt it. I switched from the All in one install to the HassIo. so at the moment I dont have the wink/rheem config files you made.

I sent you a message on discord with more info.

@anon91811138 has provided me with Rheem credentials and I have taken a look at the EcoNet API and it is going to be easy to implement a direct component. I have started on the python library and should have it finished in the next couple of days and Iā€™ll work on getting this added to Home Assistant. I will we requesting some testing from everyone shortly!

Thanks @anon91811138

1 Like

Awesome. I can test when you have something you want to try. Wonder if we can get more information out of Rheem directly than going through Wink.

Iā€™ll post the output from the API, I donā€™t think there is much more if anything.

Well I lied lol there is all kinds of stuff. Let me know what you think I should grab? I am getting everything in Device details and of course the supported modes. The only other thing that might be cool, I think is the energy usage? Not sure how I would handle that though.

Locations (Maybe you can have multiple homes?)

{
	"id": 12345,
	"name": "My Home",
	"city": "Some city",
	"state": "Some State",
	"timeZoneGMTOffset": -5,
	"zipCode": "12345",
	"user": {
		"id": 123456
	},
	"equipment": [{
		"id": 123456,
		"deviceAddress": 1234,
		"name": "Heat Pump Water Heater Gen 4",
		"type": "Water Heater",
		"subType": "Heat Pump Water Heater",
		"isNestActive": null,
		"connectedSystem": {
			"macAddress": "6C-71-D9-45-34-12"
		},
		"hasCriticalAlert": false,
		"setPoint": 120.0,
		"minSetPoint": 110.0,
		"maxSetPoint": 140.0,
		"isEnabled": true,
		"isConnected": true,
		"isOnVacation": false,
		"vacationCanBeDisabled": true,
		"mode": "Heat Pump",
		"inUse": true,
		"modelNumber": "XE50T10HD50U0",
		"supportsUsageData": true
	}, {
		"id": 63412,
		"deviceAddress": 832,
		"name": "EcoNet WiFi Translator",
		"type": "WiFi Adapter",
		"subType": "EcoNet WiFi Translator",
		"isNestActive": null,
		"connectedSystem": {
			"macAddress": "6C-71-D9-56-34-12"
		},
		"hasCriticalAlert": false,
		"isConnected": true,
		"vacationCanBeDisabled": true,
		"modelNumber": "",
		"supportsUsageData": false
	}]
}

Device details

{
	"id": 123456,
	"deviceAddress": 1234,
	"name": "Heat Pump Water Heater Gen 4",
	"type": "Water Heater",
	"subType": "Heat Pump Water Heater",
	"isNestActive": null,
	"connectedSystem": {
		"macAddress": "6C-71-D9-56-34-12"
	},
	"hasCriticalAlert": false,
	"setPoint": 120.0,
	"minSetPoint": 110.0,
	"maxSetPoint": 140.0,
	"isEnabled": true,
	"isConnected": true,
	"isOnVacation": false,
	"vacationCanBeDisabled": true,
	"mode": "Heat Pump",
	"inUse": true,
	"modelNumber": "XE50T10HD50U0",
	"supportsUsageData": true
}

Available modes

[{
	"name": "Off",
	"description": "Water heating has been turned off."
}, {
	"name": "Energy Saver",
	"description": "The Energy Saver mode uses both compressor and electric element heat to deliver the best of both worlds ā€“ energy efficiency and faster heating times. This mode meets Energy Star requirements and is designed to maximize compressor use while minimizing electric heat element use to conserve energy while still meeting the needs of your household."
}, {
	"name": "Heat Pump",
	"description": "Designed for maximum energy savings, the Heat Pump Only mode uses a compressor to heat the water by taking heat from the surrounding air. Because no electric heating element is used, this mode takes longer to heat the water, so it may not be sufficient for high-demand situations such as a large household or grandparents and second cousins visiting for the holidays."
}, {
	"name": "High Demand",
	"description": "The High Demand mode does just what it says ā€“ meets high demand for hot water. If your water heater is undersized for your house, or if you have a lot of guests, this mode helps you keep up, while still saving as much energy as possible. In this mode, the unit will only use electric heating elements when the demand rate is high. This will heat the water faster but will use more energy. During lower demand periods, the unit will automatically switch to the compressor to conserve energy."
}, {
	"name": "Electric",
	"description": "The Electric Only mode uses just electric elements to heat water. This mode uses the most energy and should only be selected during compressor maintenance periods."
}]

Usage details (hopefully @anon91811138 doesnā€™t mind us knowing how often the water heater is running lol) :

{
	"energyUsage": {
		"unit": "kWh",
		"hours": {
			"2017-11-06T22:00:00.000": 0.0,
			"2017-11-06T21:00:00.000": 0.0,
			"2017-11-06T20:00:00.000": 0.1881649619654605,
			"2017-11-06T19:00:00.000": 0.19551515579223633,
			"2017-11-06T18:00:00.000": 0.0,
			"2017-11-06T17:00:00.000": 0.0,
			"2017-11-06T16:00:00.000": 0.0,
			"2017-11-06T15:00:00.000": 0.0,
			"2017-11-06T14:00:00.000": 0.0,
			"2017-11-06T13:00:00.000": 0.0,
			"2017-11-06T12:00:00.000": 0.0,
			"2017-11-06T11:00:00.000": 0.0,
			"2017-11-06T10:00:00.000": 0.0,
			"2017-11-06T09:00:00.000": 0.0,
			"2017-11-06T08:00:00.000": 0.0,
			"2017-11-06T07:00:00.000": 0.0,
			"2017-11-06T06:00:00.000": 0.0,
			"2017-11-06T05:00:00.000": 0.0,
			"2017-11-06T04:00:00.000": 0.0,
			"2017-11-06T03:00:00.000": 0.0,
			"2017-11-06T02:00:00.000": 0.0,
			"2017-11-06T01:00:00.000": 0.0,
			"2017-11-06T00:00:00.000": 0.0,
			"2017-11-05T23:00:00.000": 0.0
		},
		"days": {
			"2017-11-06T00:00:00.000": 4.4655952311802976,
			"2017-11-05T00:00:00.000": 0.0,
			"2017-11-04T00:00:00.000": 3.4190826416015625,
			"2017-11-03T00:00:00.000": 2.282098388671875,
			"2017-11-02T00:00:00.000": 1.0591698486937968,
			"2017-11-01T00:00:00.000": 2.1820492138187557,
			"2017-10-31T00:00:00.000": 3.835089111328125,
			"2017-10-30T00:00:00.000": 0.9328407816367574,
			"2017-10-29T00:00:00.000": 1.8132948111390714,
			"2017-10-28T00:00:00.000": 1.5901611328124998,
			"2017-10-27T00:00:00.000": 0.9246520267750596,
			"2017-10-26T00:00:00.000": 3.4477582765459727,
			"2017-10-25T00:00:00.000": 5.7998107910156245,
			"2017-10-24T00:00:00.000": 1.616474398606115,
			"2017-10-23T00:00:00.000": 2.4557050439737718,
			"2017-10-22T00:00:00.000": 3.3417496351125937,
			"2017-10-21T00:00:00.000": 1.0561260477164731,
			"2017-10-20T00:00:00.000": 8.490509033203125,
			"2017-10-19T00:00:00.000": 1.434851575070394,
			"2017-10-18T00:00:00.000": 1.6253448699737763,
			"2017-10-17T00:00:00.000": 2.4789929336376404,
			"2017-10-16T00:00:00.000": 0.9425720214843749,
			"2017-10-15T00:00:00.000": 1.5130737304687498,
			"2017-10-14T00:00:00.000": 7.247772216796875,
			"2017-10-13T00:00:00.000": 1.1193065023938384,
			"2017-10-12T00:00:00.000": 19.943870544433594,
			"2017-10-11T00:00:00.000": 1.986968994140625,
			"2017-10-10T00:00:00.000": 1.5393993992211246,
			"2017-10-09T00:00:00.000": 0.0,
			"2017-10-08T00:00:00.000": 0.0
		},
		"months": {
			"2017-11-01T00:00:00.000": 14.230072021484375,
			"2017-10-01T00:00:00.000": 77.81877136230469,
			"2017-09-01T00:00:00.000": 94.96868133544922,
			"2017-08-01T00:00:00.000": 45.51971077919006,
			"2017-07-01T00:00:00.000": 0.0,
			"2017-06-01T00:00:00.000": 0.0,
			"2017-05-01T00:00:00.000": 0.0,
			"2017-04-01T00:00:00.000": 0.0,
			"2017-03-01T00:00:00.000": 0.0,
			"2017-02-01T00:00:00.000": 0.0,
			"2017-01-01T00:00:00.000": 0.0,
			"2016-12-01T00:00:00.000": 0.0
		},
		"report": {
			"title": "Usage Report",
			"reports": [{
				"section": "Today",
				"title": "Energy Usage Report",
				"subtitle": "No Data to report yet for the past 24 hours"
			}, {
				"section": "This Month",
				"title": "Energy Usage Report",
				"subtitle": "In the past 30 days, you've used 13 kWh of energy."
			}, {
				"section": "This Year",
				"title": "Energy Usage Report",
				"subtitle": "In the past 12 months, you've used 233 kWh of energy."
			}]
		}
	},
	"waterUsage": {}
}

There are some other endpoints that I am not getting info back for, probably things that donā€™t happen all the time. For example ā€œalertsā€ and ā€œvacationsā€

You can have multiple locations / water heaters under a single Rheem account, so that makes sense.

Everything under ā€˜Locationsā€™ seems like it would be good to have. I can see some use for each of those.

Device Details - All good things to have available.

Modes: Looks good to me. I saw once or twice where mine switched from Electric to Energy Saver on its own so I would setup an automation to let me know if the mode switches off a static one I set.

Usage Details: This is where it gets interesting.

If Iā€™m reading that right, between 7-8PM it had some usage, so that will show usage for the day itself, then it has a day overall, so for 11/5 there was no usage at all, 11/4 had ~ 3.4kW of usage and so on. Thatā€™s exactly the kind of information Iā€™m looking for to be able to pull those into a weekly / monthly report to see how much electricity this thing is actually using, and the hourly to see how often it runs during the day (seeing how efficient it really is). Months is a good overall to see if Iā€™m really saving money.

The Reports also are interesting. Perhaps it could work with IFTT to export directly into a google spreadsheet to track data, but having that written somewhere inside of HA to be able to then have some ā€˜actionā€™ is fine enough for me.

It doesnt apppear thereā€™s anything under ā€˜waterUsageā€™ so I suppose it doesnā€™t actually track the flow of water? That would be a cool thing to see saying ā€œthis hot shower just used xx gallons of waterā€ but perhaps it doesnt get that granular.

Iā€™d love to see all of this brought into HA and hope it translate into a readable format to be used by automations.

Thanks!