Calculate Rheem EcoNet Real-Time COP (ESPHome + Home Assistant Guide)

Introduction

ESPHome-Econet enables fully local, cloud-free control of Rheem water heaters and HVAC systems using ESP32 and ESP8266 microcontrollers.

But even with detailed telemetry, one key question remains:

How efficient is the system right now?

Manufacturer COP (Coefficient of Performance) ratings are measured under ideal lab conditions and rarely reflect real-world usage. Ambient temperature, demand, and operating modes constantly change.

This guide shows how to calculate real-time COP using only the data already available through ESPHome-Econet and Home Assistant.

How It Works (High-Level)

  • Measure electrical input power directly from the Rheem unit
  • Track how quickly the water temperature increases
  • Estimate thermal output using thermodynamics
  • Divide output by input to calculate COP

The Idea: Measuring COP from Live Telemetry

Instead of relying on static manufacturer specs, we derive a live efficiency metric using actual operating data from the system.

  • Electrical input power (W): Reported directly by the Rheem unit
  • Thermal output (Q): Estimated from how quickly water temperature increases

The original implementation and discussion can be found in ESPHome-Econet GitHub Discussion #424.

The Math

The Coefficient of Performance is defined as:

COP = Poutput / Pinput

  • P_input: Electrical power (watts)
  • P_output: Thermal power delivered to water (watts)

Since thermal output is not directly available, we estimate it using:

P_output ≈ (m × c × ΔT) ÷ t

  • m: Water mass (e.g. 50 gallons ≈ 189 kg)
  • c: Specific heat of water (4186 J/kg°C)
  • ΔT/t: Rate of temperature increase

Implementing Real-Time COP in Home Assistant

This can be implemented entirely using Home Assistant template sensors.

  1. Track temperature change over time
  2. Estimate thermal output
  3. Divide by electrical input
  4. Filter out invalid states (idle or water draw)
Tip: Raw temperature derivatives are often noisy. Smoothing significantly improves accuracy.

Example Implementation

This simplified template demonstrates the core concept. Adjust constants and filtering based on your setup.

template:
  - sensor:
      - name: "Rheem Real-Time COP"
        unit_of_measurement: "COP"
        state: >
          {% set power_in = states('sensor.rheem_power_usage') | float(0) %}
          {% set temp_rise_per_sec = states('sensor.water_temp_derivative') | float(0) %}

          {% set tank_mass_kg = 189 %}
          {% set specific_heat = 4186 %}

          {% set power_out = temp_rise_per_sec * tank_mass_kg * specific_heat %}

          {% if power_in > 50 and power_out > 0 %}
            {{ (power_out / power_in) | round(2) }}
          {% else %}
            0
          {% endif %}
Home Assistant dashboard showing Rheem EcoNet real-time COP calculation
Real-time COP dashboard in Home Assistant

What Is a Good COP?

  • 3.0 – 4.0: Excellent efficiency
  • 2.0 – 3.0: Normal operation
  • 1.0 – 2.0: Reduced efficiency
  • < 1.0: Resistance heating (inefficient)

Why Real-Time COP Is Useful

  • Real efficiency visibility: Track performance in real conditions
  • Better automation: Switch modes based on efficiency
  • Diagnostics: Detect degradation early

Accuracy and Limitations

This method provides an estimate rather than a laboratory-grade measurement.

Factors like sensor resolution, tank stratification, and heat loss introduce error. However, the metric is highly useful for trend analysis and relative comparisons.

Conclusion

By combining temperature data with electrical power consumption, you can measure real-world efficiency directly.

This enables smarter automation, better diagnostics, and deeper insight into system performance.

If you’re using ESPHome-Econet, adding real-time COP is one of the most valuable upgrades you can make.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.