I received my hardware a few days ago but seeing Sebastien's reply made me get off my butt and go out and buy a phone cord and I got mine hooked up. I was a little confused/worried at first because it didn't have a web interface but I configured the hubitat to point to it and it started talking then I wired it up and it works. Thank you so much for this Kris!
Kris, I notice on the esphome-econet github page they show screenshots (of I'm assuming HA interface) showing some other attributes like alarms, suction temp, fan speed, etc. Just curious if that's information you can't get or don't plan to?
And for anyone, Is there a web interface for that thing? I can't seem to find one and I don't really think it's necessary because you can just connect it to the "webpage" and re-flash it or change wi-fi.
Regardless, I'm loving it:
I can probably add the C conversion.
The power is shown in watts. Could be extracted by anything that can extract device attributes from Hubitat :). I used to use an InfluxDB app with SmartThings (then graphed the data with Grafana). I'm sure the same would be possible with Hubitat.
Exposing those additional parameters are easy, are there any specific ones you want?
There isn't a web interface. There is a 'plugin' that offers a web interface for the ESPHome, but it's frowned against because of the very limited power of the device.
Awesome!
I was probably not clear… The energy attribute (Watts) is useful to know the unit’s current power usage, but to know the cumulative consumption, the power attribute (Watt hours) is required. It is usually a cumulative value that always increases. I manually get this value from the mobile app daily. Would love it if I was reported in the driver. I then could extract it automatically from hubitat to a spreadsheet with the remaining of the data that I currently automatically capture.
Please test my celsius implementation. You only need to update the driver, not the library:
https://raw.githubusercontent.com/klinquist/hubitat-public/add-celsius-to-waterheater/ESPHome/ESPHome-Rheem-Waterheater.groovy
My GE metering smart switch captures cumulative consumption, but I think that's done on the device, not in the driver. I'll have to take a look. Another thing to note, the ESPHome reports ~48W of idle consumption, while my GE smart switch that it's plugged into only reports ~5W. So I think there is a bug in the ESPHome.
Tested setting to Celsius - all values are shown in Celsius. Setting different heating set points worked. All good!
As for the cumulative consumption, yes - that absolutely needs to come from the device. I suspect the data is stored there since it is displayed on the app. Anything calculated from the driver will be off since it doesn’t have access to real-time data.
The data may be stored in the Rheem cloud.
That could be, but I would be surprised - not sure how it could make the calculations required to have cumulative without real-time access to the unit… and I have experienced it losing connection, and the data being available after it was restored…
Now whether it is available or not from the local access port is another question…
Update: One thing that I just noticed is that there can be many decimals on the temperature sensor results - could this be rounded to 1 or 2 decimals?
I checked the code to see if I could find where to round the decimals, but for the life of me, I just can’t find it… Likely something I don’t know how to find yet…
That said, there is some very nice information in this driver. I used it to do this quick dashboard:
Not sure what the runtime unit is… I assumed hours, but could very well be something else…?
If you look at line 282, for instance, I am rounding to the nearest tenth - the issue is that I'm doing the rounding before the celsius conversion instead of after. That should get you on the right track :).
Yes, runtime appears to be hours. Your upper heating element runtime of 6 hours and lower of 0 hours means that you have almost exclusively used the heat pump.
Loved this integration so much that I bought a second set of hardware for my other water heater. If one is good, two is better, eh?
Except this time I can't get past the software installation step. When I install ESPHOME-ECONET from the ESPHome-econet webpage, the interface says "installation complete", but then there is no option to connect to wifi (as I thought there was last time), and my router doesn't indicate a new device is on the network. When I look the logs of the ESP device, I get the below nasty errors. But I don't know what they mean.
I'm using the same USB-C cable as my first water heater. And the phone cable is wired the exact same way (though I don't suppose a mistake there would affect the software install on the ESP. I have tried this on both Windows and MacOS -- no joy on either.
Can anybody suggest troubleshooting or interpret these log errors? TIA....
Log Errors
LF file SHA256: 0000000000000000
Rebooting...
ets Jun 8 2016 00:22:57
rst:0xc (SW_CPU_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
configsip: 188777542, SPIWP:0xee
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
mode:DIO, clock div:2
load:0x3fff0030,len:1184
load:0x40078000,len:13132
load:0x40080400,len:3036
entry 0x400805e4
[W][mdns:019]: mDNS init failed: ESP_ERR_INVALID_STATE
EDIT: I posted on the ESP-Econet HA discord server as well.
Hey Kris @klinquist, separate from the above, I noticed my first ESPHome-econet (not the new one I'm having trouble with, per above, but the old one that has always worked great), shows offline in HE. Tried initializing and it remains offline.
Checked the HE logs and see a warning "Driver does not support ESPHome native API encryption". I do remember that the ESPHome integration in HA (I have my Econet intentionally connected to both HE and HA) was upgraded yesterday, so wonder if I screwed something up.
Any suggestions on best way to address without digging my hole any deeper?
Click on ESPHome in the left column in HomeAssistant, then click Edit on your device. Remove the entire api:
section and save.
Hopefully that's it - I've been avoiding upgrading without reviewing the release notes because I don't want to break what works :).
argh I think it's FUBAR. While I have ESPHome in the left column, that particular ESP32 card didn't show up (I do have other ESP32's). So, with some hesitance, I decided to reinstall ESPHome-Econet using the installation website. But that produces an error "Failed to initialize. Try resetting your device or holding the BOOT button while clicking INSTALL." And I can't get a reply from that discord. Trying to figure out how to factory reset this thing. I'll take any advice as I'm noob at this.
Kris, actually I think I'm super close now. I gave up on trying to use the ESPHome-Econet install website, and just added my ATOM to Home Assistant via ESPHome directly. That seemed to work and got it back attached to the water heater, all good.
But since the HE device was still offline, I did what you suggested and removed the API section from the HA device. As soon as I did that, voila, the HE device came online, but now the HA device is throwing an API connection error ([W][api.connection:107]: : Reading failed: BAD_INDICATOR errno=11). It's like I can only get one side to work at a time.
Any idea? I wish I could factory reset the M5 and start from scratch but can't figure out how.
EDIT: fwiw, the reason I integrate onto both plaforms is because I use HA for dashboards and HE for rules and logic. I could integrate on just one platform and pass along to the other via various means, but it's just way cleaner to integrate in both places, where feasible. I had the dual integration working before today, so not sure what happened.
heh, I wish I had answers for you. I'm using HA/HE the same way, it would be nice if HE auto-graphed data points.
Hmmm how are you handling it then? Do you integrate your water heater device in HA or HE?
I never updated it so it’s still working with both.
Oh duh. Assume you mean you didn’t update ESPHome, correct?
I shouldn’t have done that. Do you know if HA allows you to rollback? Guess I could restore an old backup.