esphome-econet / esphome-econet

esphome-econet is a package for controlling a Rheem water heater or HVAC system with an esp32 or esp8266 micro-computer.
https://esphome-econet.github.io/
Other
108 stars 25 forks source link

Water Temperature Set Point Maximum #385

Open githubrdonefun opened 4 months ago

githubrdonefun commented 4 months ago

Physically on the water heater, it is possible to set the water heater to 150F degrees. Is it possible to do it with this integration somehow? I know it's not possible on the official Econet app or on the built-in Econet Home Assistant integration. My plan is to heat water when prices are cheap and being able to push this up to 150 will help me to use this similar to a battery.

tronikos commented 4 months ago

You can achieve this with !extend, see discussion in https://github.com/esphome-econet/esphome-econet/pull/320

Sp3c1alK commented 4 months ago

Hi @githubrdonefun and @tronikos.

I seem to have a similar type of water heater (HPWH) and am interested in this for the same reasons.

I'm using

climate:
  - id: !extend econet_climate
    visual:
      min_temperature: "43.3333"
      # override max to 150F
      max_temperature: "65.56"
      temperature_step: 1.0f

but it does not actually set it to anything over 140. Whenever I set it to 150 it flips back to 140 right away. I believe the issue is that the heater must be unlocked first on the physical panel to enable anything over 140, by pressing both arrow buttons simultaneously for a couple seconds.

I was trying to see if an option for unlocking the 140+ temps is documented in the Rheem BACNet spec, but it doesn't look like it.

Any chance this could be an undocumented feature that needs to be reverse engineered? Or any idea on how to do it with regular configs?

Thanks!

githubrdonefun commented 4 months ago

I have not yet been able to get this to work either. I'm brand new to ESPHome, so this is my first project.

My goal is to set automations based on my hourly electricity price. So far I can't go above 140 like you, but I also can't seem to set it to heat pump only mode. It keeps wanting to use energy saver mode. My common yaml file throws this error/warning.

WARNING 'econet_hpwh_waterheater': Using the '' (underscore) character in the hostname is discouraged as it can cause problems with some DHCP and local name services. For more information, see https://esphome.io/guides/faq.html#why-shouldn-t-i-use-underscores-in-my-device-name Failed config

climate.unknown: [source /config/esphome/common.yaml:8]

Source for extension of ID 'climate.econet_hpwh_water_heater' was not found.

Sp3c1alK commented 4 months ago

@githubrdonefun

You probably have name set to econet_hpwh_water_heater, which is why you get the warning. You might want to use a DNS compliant string instead (like hpwh) and utilize friendly_name as well.

This is my working yaml for esphome deployed via homeassistant:

esphome:
  name: hpwh
  friendly_name: Heat Pump Water Heater

substitutions:
  tx_pin: GPIO19
  rx_pin: GPIO22
  platform: esp32
  board: esp32dev
  logger_level: VERBOSE

climate:
  - id: !extend econet_climate
    visual:
      min_temperature: "43.3333"
      # override max to 150F
      max_temperature: "65.56"
      temperature_step: 1.0f

packages:
  econet:
    url: https://github.com/esphome-econet/esphome-econet
    ref: main
    file: econet_heatpump_water_heater.yaml

dashboard_import:
  package_import_url: github://esphome-econet/esphome-econet/build-yaml/${name}-${platform}.yaml@${github_ref}
  import_full_config: false

# Enable Home Assistant API
api:
  encryption:
    key: "<secret>"

ota:
  password: "<secret>"

wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password
githubrdonefun commented 4 months ago

I fixed that but it was just a warning. I can’t figure out this line. I’m not clear what this should be in my configuration.

extend econet_climate

On Apr 23, 2024, at 9:17 PM, Sp3c1alK @.***> wrote:

extend econet_climate

githubrdonefun commented 4 months ago

Hi @githubrdonefun and @tronikos.

I seem to have a similar type of water heater (HPWH) and am interested in this for the same reasons.

I'm using

climate:
  - id: !extend econet_climate
    visual:
      min_temperature: "43.3333"
      # override max to 150F
      max_temperature: "65.56"
      temperature_step: 1.0f

but it does not actually set it to anything over 140. Whenever I set it to 150 it flips back to 140 right away. I believe the issue is that the heater must be unlocked first on the physical panel to enable anything over 140, by pressing both arrow buttons simultaneously for a couple seconds.

I was trying to see if an option for unlocking the 140+ temps is documented in the Rheem BACNet spec, but it doesn't look like it.

Any chance this could be an undocumented feature that needs to be reverse engineered? Or any idea on how to do it with regular configs?

Thanks!

I have this set up now but I also see that it won’t actually set to 150 either. It’s possible physically at the unit using buttons however.

cjueden commented 4 months ago

On my unit model number XE65T10H45U0 if you hold both up and down arrows until they the unlock alert disappears you can turn the temp setting up to 150. I've been able to add the !extend to my config yaml and it increases the max temp in the HA climate entity but will not increase it past 140 on the water heater. After a few seconds of being above 140 in HA it will revert to 140.

githubrdonefun commented 4 months ago

On my unit model number XE65T10H45U0 if you hold both up and down arrows until they the unlock alert disappears you can turn the temp setting up to 150. I've been able to add the !extend to my config yaml and it increases the max temp in the HA climate entity but will not increase it past 140 on the water heater. After a few seconds of being above 140 in HA it will revert to 140.

Yes, this is my experience too. The holding in the up/down buttons obviously is some sort of unlock mechanism. I wonder if this can be done via ESPHome.