I was using the old version of this and having problems. However, it actually wasn't impacting anything. My water heater was still changing its heat setpoint when I wanted it to. But I decided it would be best to fix the issue. So I deleted everything and am trying to recreate it. It's been so long since I set it up that I'm confused.
So I've got the Rheem app and a device using the Rheem driver. That parts fine. I can control it without issues. It sees changes I make using the phone app without issues. My confusion comes now that I am trying to create a new schedule. I am using Thermostat Controller 2.0 and last time I was using the older version which I presume was 1.0.
My confusion came when I was trying to find info on this restriction option.
I don't want the scheduler to change the temp when that switch is on. But what does the "turn thermostat off when restricted" option do? Is turning off someone different from disabling? So I started searching this forum for Thermostat Scheduler and my ADHD led me down an unrelated rabbit hole.
I see threads where people say don't use the thermostat scheduler to directly give commands to the thermostat. Set up a Thermostat Controller and schedule that instead. But I don't really know what the difference would actually be or what purpose the thermostat controller app actually fills. That just seems like creating more failure points to me.
EDIT: Maybe it doesn't matter. If I open Thermostat Controller 2.0 and select my water heater as the thermostat to control, I get this error:
For those of you who are more familiar with the Rheem EcoNet Hybrid units, I noticed that I can’t set the heat setpoint to below 100 degrees F using the EcoNet app Normally that wouldn’t be a problem,, but we use them at a second home where we want to turn down the temp to 50 degrees F (more or less) while we’re gone for extended periods.
And don’t worry, we always boost the temp for a few hours every week (whether we’re home or not) to kill Legionnella bacteria.
So I’m really just asking a technical question: is 100 degrees really the minimum? Guess I could just turn off heat mode, but that’s an overly blunt instrument.
In case anyone runs into the same question, it turns out that Vacation mode sets the temp at ~ 65 degrees F. The UI won’t indicate the changed setpoint, but that’s how you get it done just the same.
Hey @klinquist, I think I found a small issue with the driver. It looks like if the setWaterHeaterMode is used to set waterHeaterMode to Vacation, then the attribute will be set to Vacation with a trailing space. Not a big deal (easy work around), but for folks like me who are using the attribute in automation, maybe you want to change that? Took me a few loops to figure out what was going on!
Didn’t check the other values for similar issues but can if it’d be helpful.
EDIT: Actually I don’t think it’s just a trailing space (or 2-3 spaces). I can’t get RM to return TRUE when testing the custom attribute in a conditional statement.
Hm - can you maybe put some characters around this debug line to see if you're getting trailing spaces?
Rheem_EcoNet_Water_Heater.groovy line 206: log.debug "Setting mode to ${waterheatermode}"
This is so weird. My water heater is in Vacation mode currently. I don't know if there's a way to change the modes from within Rheem/Econet (at the physical device or in the app), but I can tell you confidently I haven't made any changes to the modes -- what they are nor what they're labeled.
Check out the RM rule below that shows the water heater contains "Vacation", but does not equal "Vacation" literally. @klinquist, I looked at the line 206 of the driver and I can see why it should work fine. Anyone have any ideas? I can work around it, but it's really odd.
from the device details UI, if I set water heater mode to Vacation using the dropdown, the value for waterHeaterModel under "Current States" is listed as VACATION in all caps. And the the above rule that assigns that value to a hubvar also sees it as all caps.
When I put some characters around the debug line per @klinquist's suggestion, I can see the W/H model being set accordingly in the logs, but the device attribute remains the same.
@klinquist any chance you’d change the waterHeaterMode attribute from an enum to a string? As an enum, AFAIK, I can’t use Rule Machine to trigger off a change in the value like I could with a string attribute.
How about I made a new field waterHeaterModeString for you to test?
Edit: Actually, it's probably easier for you to directly use the numeric values that Rheem sends... I could just create a waterHeaterModeNumber.
Can you compare an integer (1) or does it need to be a string? ("1")
case 0:
return "OFF"
case 1:
return "ENERGY SAVING"
case 2:
return "HEAT PUMP ONLY"
case 3:
return "HIGH DEMAND"
case 4:
return "ELECTRIC"
case 5:
return "VACATION"