Skip to content

Releases: victor987/hitemp

v1.9.0

Choose a tag to compare

@victor987 victor987 released this 22 Apr 16:57

Water meter integration

Configure a water meter on the cold inlet (with thermometer, flow rate, and thermal energy meter) via the integration options. The meter can be any set of HA sensor entities — select them individually:

  • Cold inlet temperature sensor
  • Cumulative water volume sensor (supports both liters and m³)
  • Water thermal energy sensor (mirror only, not required for calculations)
  • Water flow rate sensor (used for cycle COP draw detection)

New sensors

  • Inlet temperature, Water volume, Water energy, Water flow rate — mirrors from configured entities
  • Energy loss — cumulative kWh lost through hot water draws: Σ Δvolume × 0.001163 × (T03 − inlet_temp)
  • COP (net) — 4h rolling window: Δenergy_loss / Δelectricity. Shows real-world performance accounting for draws.
  • COP (cycle) — since the last draw ended: running Δloss / Δelectricity. Penalized by standby losses over time (a feature, not a bug — reflects true efficiency).

New config

  • Flow threshold number entity (1–10 L/min slider, default 1) — defines what counts as an active draw for cycle COP detection

v1.8.1

Choose a tag to compare

@victor987 victor987 released this 31 Mar 07:12

Fixes

  • Fan turn off: Added TURN_ON/TURN_OFF to fan supported features — the off button now works
  • O28 encoding: Fixed negative value correction formula (25.6+v instead of 25.6-v)
  • M06/M17 bug resolved: Entities now update correctly (issue from v1.4.0, resolved since v1.7.0)

Changes

  • Power switch removed: Redundant with climate entity on/off (tested: same Power parameter)

v1.8.0

Choose a tag to compare

@victor987 victor987 released this 30 Mar 08:21

COP refactor

  • 4-hour rolling window instead of per-interval snapshots — much smoother output
  • Two variants: COP (based on precise temperature) and COP (bottom) (based on T02 only, for comparison)
  • Precise COP naturally pauses when tank is stratified after water draw (precise temp unavailable)
  • COP only available when a power meter device is configured

Entity cleanup

Disabled by default (can be re-enabled in entity registry):

  • O07 (EEV position), O08 (compressor runtime), O29 (fan RPM), T09 (compressor temp)
  • O28, L31, L32, bitmasks (T08, F03, L28), WiFi signal, Device time

Removed (no entity created, param still fetched from API):

  • O18-O27, T11, T12, T20, T21, L30, C05
  • All binary sensors (O01-O06, O10-O15) — always returned empty/off

O28 fix

Values above 12 were displayed as negative with .6 offset due to signed encoding.
Now corrected (25.6-v for negatives) and displayed as integer. Disabled by default.

v1.7.1

Choose a tag to compare

@victor987 victor987 released this 28 Mar 13:50

Proactive token refresh to prevent 24h session expiry

The Aquatemp API token expires after ~24 hours. If HA ran longer than that without a restart, the integration would get stuck with a stale token indefinitely. Now re-logins proactively every 20 hours.

v1.7.0

Choose a tag to compare

@victor987 victor987 released this 24 Mar 19:12

Changes

  • Bitmask parsing: T08, F03, L28 now correctly parsed as binary integers (0, 2, 4) instead of misleading float values (0.0, 10.0, 100.0)
  • All configuration entities disabled by default: 85+ number entities, time/date entities, and thresholds — enable individually as needed
  • Display precision: integer-valued sensors no longer show trailing .0
  • Removed dead entities: all 12 binary sensors (O01–O15) that always returned 0, and 15 diagnostic sensors stuck at constant values
  • Disabled low-value diagnostics: WiFi signal, device time, EEV position, compressor/fan RPM, status codes
  • Updated defaults: precise temperature threshold 4°C (was 2), energy stored threshold 2 kWh (was 1)
  • O28 correction: values >12 returned as negative by API are now corrected
  • Renamed: T09 → Compressor temperature, O21 → Status O21, L31/L32 → Status L31/L32
  • ENTITIES.md: full inventory of all 156 entities with precision, HA recorder history, and status

v1.6.0

Choose a tag to compare

@victor987 victor987 released this 24 Mar 10:19

Time, date, and datetime entities

Timer hour+minute params are now combined into proper time entities:

  • Timer 1/2 start and end times
  • Disinfection start time, night decrease start/end (hour-only, rounds to nearest hour on write)
  • Timer date (L02-L04) as date entity
  • Device time (M12-M16) as datetime entity

These params are no longer exposed as separate number entities.

Configurable power meter device

  • Integration options flow: select a device (e.g. Zigbee smart plug) with power and energy sensors
  • Power and Energy sensors mirrored under the water heater device from the configured power meter
  • COP calculation now uses the configured device instead of a hardcoded entity ID

Heating detection

  • Climate entity hvac_action now uses power meter reading (>100W = heating) for reliable history graph coloring
  • Falls back to fan RPM (O29 > 0) when no power device is configured

Other changes

  • Power switch renamed to device name (switch.water_heater instead of switch.water_heater_power)

v1.5.0

Choose a tag to compare

@victor987 victor987 released this 23 Mar 18:17

New sensors

  • Superheat (T05 - T04): refrigerant state at compressor inlet
  • Condenser approach (T07 - T02): condenser heat transfer efficiency
  • Lift (T02 - T04): temperature the heat pump works against
  • Precise temperature: avg(T02, T03) when within configurable threshold (default 2°C)
  • Energy stored (max): based on T03 (top)
  • Energy stored (min): based on T02 (bottom)
  • Energy stored: precise avg when max-min within threshold (default 1 kWh)

New configuration entities

  • Precise temperature threshold: slider 1-10°C
  • Energy stored threshold: slider 1-10 kWh

Fixes

  • Removed redundant binary_sensor.Power (already covered by switch.Power)

v1.4.0

Choose a tag to compare

@victor987 victor987 released this 23 Mar 15:28

New features

  • Fan control: New fan entity with speed 0-5 via M17
  • Booster switch: Electric heater on/off toggle via M06 (1=on, 2=off)

Fixes

  • O29 sensor renamed from "Compressor speed" to "Fan RPM" (confirmed via testing)
  • T09 sensor now reports °C unit for consistent graphing
  • Empty string values from API no longer crash sensor setup (T11, T12)

Documentation

  • DEVICE_PARAMETERS.md updated with 7 parameter scans, confirmed aliases (M17=1016, O29=2067), R-code sequential pattern, 2050 bitmask decoding, M06/M17/O29 purposes
  • Bug analysis reports for energy sensor and M06/M17 entity update issues

Notes

  • After updating, delete orphaned entities number.water_heater_mode_setting_m06 and sensor.water_heater_fan_status from the entity registry
  • Known issue: M06 and M17 values may not update in HA — see BUG_M06_M17.md for debugging steps

v1.2.9: Add debug logging to Energy stored sensor

Choose a tag to compare

@victor987 victor987 released this 04 Jan 19:07
- Add comprehensive logging to available() property
- Add comprehensive logging to native_value() property
- Log coordinator status, device info, T02 values, calculations
- Catch and log all exceptions with stack traces
- Helps diagnose why sensor becomes unavailable after hours

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>

v1.2.8: Fix COP initialization when T02 unavailable on first run

Choose a tag to compare

@victor987 victor987 released this 02 Jan 17:13
- Require both meter and energy_stored before proceeding
- Re-initialize if either tracking value is None

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>