Rheem EcoNet Integration maintained by Kris Linquist

What I don’t get is why that MQTT error repeats literally every few seconds indefinitely.

If a 'subscribe' message is sent to a topic that the user should not have access to, MQTT disconnects.

1 Like

I have a Rheem Electric Hybrid Water Heater and the thermostatOperatingState always shows idle. Looking at the logs depending what mode it is in running could say any of the following:
Electric: @RUNNING":"Element Running"
Energy Saver: "@RUNNING":"Compressor Running"
High Demand: "@RUNNING":"Element Running" or @RUNNING":"Compressor and Element Running"

I'll likely have some updates coming in January, the next time I'm up at my remote house that has the rheem water heater :).

In the meantime, this should be a good read:

:slight_smile:

3 Likes

WOW (yes deserves all caps). Quite a good read.

Thank you very much for pushing (repeatedly!) on Rheem regarding these egregious lapses. These kind of screw-ups probably happen much more commonly than we realize when traditional hardware companies try to become cloud-based companies and don't hire the right people and have no existing in-house expertise to rely on to police them. Eek!!

3 Likes

Holy $#!+. I'm so glad we $WaterHeaterCompany users have you looking out for us. Bought the their water heater and the wifi module years ago just because they were advertised as "smart". Disappointed to say the least.

IIUC, this app does not currently get the current water temperature, but is there a way to surface the hot water availability indicator used by the econet app?

I wanted to see if I can get something to set up a warning if there is insufficient hot water.

From the debug logs, I see something like

Blockquote
[align:center, type:TEXT_LABEL_VIEW, value:Hot Water Availability], [align:center, name:@HOTWATER, title:Hot Water Availability, type:SINGLE_IMAGE_VIEW, value:ic_tank_hundread_percent_v2.png]],

I'm curious if any one managed to convert this into useful status of some kind. Thanks!

Yes, good log! I could parse that icon and display a hot water availability level, I'll look into it.

By the way, I might have a way to surface all of the water heater's temperature sensors. I'll be testing it next time I'm at my property with the water heater in mid Jan.

It would require putting your water heater in pairing mode and connecting to its own wifi network and obtaining some credentials with your web browser (then returning it to normal operation and typing those credentials into the integration).

2 Likes

Thanks! Looking forward to your January updates! :slight_smile:

Is yours electric or gas? Seems like the functionality by Rheem for gas heaters is hobbled. I'm more than happy to share my gas heater debug logs. I don't see anything like the log that @luzhin posted.

Regardless, looking forward to the Jan updates, too!

Ok, here's a January update!

I have made some progress. I can now get all of the sensor data from the water heater.

What it requires you to do is press the wifi button on the water heater, connect to the EcoNet-xxx wifi network, then go to https://192.168.10.1/cred
The water heater will then reveal its own credentials. I can then connect to MQTT as the water heater and subscribe to its topic(s).

I can certainly build this into the integration, but not sure how I would expose it. Maybe as a separate integration?

This is an example of the data I can get:

{
      "AMBIENTT": 50.82814,
      "POWRWATT": 46.138278,
      "transactionId": "AUTOPOLL_2023-01-16T20:08:22.219Z_03",
      "SUCTIONT": 46.925575,
      "DISCTEMP": 50.778808,
      "I_RMSVAL": 0.184961,
      "EVAPTEMP": 50.30442,
      "WHTRCNFG": 1,
      "error": "",
      "LOHTRTMP": 112.441062,
      "UPHTRTMP": 114.267372,
      "VACA_NET": 0,
      "config": "alias",
      "desired": [
        "vacation/WH/mc"
      ],
      "WHTRMODE": 4,
      "remove": [
        "vacation/WH/mc"
      ],
      "TOTALKWH": 72.767707,
      "FAN_CTRL": 0,
      "COMP_RLY": 0,
      "EXACTUAL": 100,
      "HRSLOFAN": 36.22084,
      "HRS_COMP": 102.196487,
      "WHTRENAB": 1,
      "WHTRSETP": 120,
      "HOTWATER": 100,
      "HRSHIFAN": 66.070373,
      "PRODDESC": "Heat Pump Water Heater          ",
      "PRODSERN": "XXXXXXXX                      ",
      "UNITTYPE": 4,
      "PRODMODN": "XE80T10H+45U0                   ",
      "SW_VERSN": "WH-HPW5-H6-01-04",
      "SERIAL_N": [
        "XXXXXX"
      ],
      "UPELSIZE": 4.5,
      "LOELSIZE": 4.5,
      "LSDETECT": 0,
      "HEATCTRL": 0,
      "SHUTOFFV": 0,
      "SHUTOVER": 0,
      "ANODEA2D": 42405,
      "ANODESTS": 2,
      "SHUTOPEN": 0,
      "SHUTCLOS": 0,
      "HRSUPHTR": 2.938611,
      "HRSLOHTR": 0.002222,
      "DRESOVER": 0,
      "ALRMALRT": 0,
      "ALARM_01": "                                                ",
      "ALARM_02": "                                                ",
      "ALARM_03": "                                                ",
      "ALARM_04": "                                                ",
      "time": "2022-12-08T15:28:13.000Z"
    }

I do have a lookup that will tell me what most of these values mean.

5 Likes

And so you immediately answered my first question. :wink:

Looks like a good way to keep an eye on things, possibly set up actions/notifications.

Very nice!

While I keep looking for things to monitor or automate in my home, I’m also a big fan of Internet of Siht pointing out all of our modern conveniences’ stupidities, so I’m conflicted. I keep looking for ways to integrate my Rheem hybrid WH to my home automation systems, but I can’t really find a reason why!

Something occurred to me, though. Our discount electricity rate plan is based on the outside temperature: when it drops below -12°C (10.4°F) the rate rockets from 4¢/kWh to 23¢/kWh. It only goes that low in the depths of winter — the first time this season was a few nights ago — and most winters it’s rare to get a cold spell lasting over consecutive days.

Right now I have my WH on a simple schedule in the Econet app, keeping it at 45° (113°F) most of the time, boosting to 50°C before we wake up, and 60°C for a couple hours once a week (to kill Legionella). I’d like to eventually set up a rule that would prevent it from kicking up the temperatures during those cold snaps, and would leave it at the comfortably hot lowest temperature (45°C) when the high electricity rate kicks in. I already have a DS18B20 outside near the meter (connected to a Fibaro Smart Implant inside) to run similar rules for a garage heater and other things. Is this something doable with this Econet app right now? TIA

You should be able to do that today with this integration, yes.

1 Like

Sorry if this is slightly off-topic, but what is this group’s pov on Legionnaires Disease? I ask because we use this device and app in a secondary vacation home. I’m tempted to turn the water heater off or way down when we’re not in town, but some people suggest this is very dangerous. OTOH I’ve also had highly experienced people roll their eyes at the idea that it’s a real risk. Thoughts?

I use mine in my airbnb as well. I put mine in vacation mode when the house is empty and turn it up at 1:00AM the day of check-in.

I think as long as the water has been hot for a few hours, should be fine.

Hey @klinquist, I may have had a troubleshooting breakthrough today.

On a lark, I decided to delete everything and install fresh. When I did, I still got the MQTT errors repeatedly. But then I deleted and installed fresh a second time, but only selected one of my two Rheem Econets. Then it worked fine. Log said “Connected to MQTT” for the first time!

If I then add a second unit to the app, the MQTT errors resume. Does this information help identify the problem?

Does anyone else have multiple units in this app?

Yeah, looks like only one MQTT connection is allowed by Hubitat for a given device handler, and the current device handler doesn't handle subscribing to more than one topic.
So fixing it is a moderately big change.

Hmm...I have two hubs on the same LAN -- any reason I couldn't put one app instance and one device on each hub?

EDIT: Tried it and it seems to work. Not exactly elegant, but for now it functions at least.

2 Likes

I'm not getting status reflected properly in the driver recently.
Looking at the logs, it seems the text string has changed here

    @RUNNING:Compressor Running,

Whereas the driver code checks for an exact match to "Running".
I'm trying this out, still waiting for a new message back to check.

1 Like

Also, a lot of the fields have gained ornaments that probably break parsing. (pretty formatting manually added)

    @MODE:[
        constraints:[
            enumText:[Off , Energy Saver , Heat Pump , High Demand , Electric , Vacation ],
            enumTextIcon:[ic_device_off.png, ic_energy_saver.png, ic_heat_pump.png, ic_high_demand.png, ic_electric.png, ic_vacation.png],
            lowerLimit:0,
            upperLimit:5],
        status:Heat Pump ,
        value:2],
    @SETPOINT:[
        constraints:[
            error:[],
            formatDecimal:0,
            isConversion:true,
            lowerLimit:110,
            units:deg F,
            upperLimit:140,
            warning:[
                [ message:CAUTION HOT WATER. Contact may cause serious burns to skin, value:121]
            ]
        ],
        value:126
    ],