Skip to content

Fix tank temperature capability numbering per Atlantic's official list - #146

Open
Joonel wants to merge 1 commit into
gduteil:mainfrom
Joonel:upstream-tank-temp-numbering
Open

Joonel wants to merge 1 commit into
gduteil:mainfrom
Joonel:upstream-tank-temp-numbering

Conversation

@Joonel

@Joonel Joonel commented Jul 6, 2026

Copy link
Copy Markdown

Summary

  • Cap 264: condenser_temperaturetank_bottom_temperature
  • Cap 267: tank_bottom_temperaturetank_average_temperature
  • strings.json / translations/en.json / translations/fr.json updated

Why

Atlantic's capability-restoration announcement in #129 (comment) documents the official semantics of these capabilities: 264 = bottom, 265 = middle, 266 = top, 267 = average water temperature. The integration's current mapping predates that list.

Live data agrees: on an ST CUBE WIFI WM 100L, cap 264 reads cooler than cap 265 (63.96 vs 70.46 °C on an idle hot tank) and drops sharply toward inlet temperature during a hot-water draw — bottom-vs-middle stratification, not condenser behavior.

Compatibility

Entity unique_ids are built from capabilityId (sensor.py), so existing entities keep their entity_id and recorder history — only display names change.

🤖 Generated with Claude Code

https://claude.ai/code/session_01635y2ipTY7KdjuMDvqbDtH

Atlantic's capability-restoration announcement in gduteil#129 documents the
official semantics: 264 = tank bottom, 265 = middle, 266 = top,
267 = average water temperature. The integration had 264 mapped as
condenser_temperature and 267 as tank_bottom_temperature.

Live readings agree with Atlantic's numbering: on an ST CUBE, cap 264
reads cooler than 265 (63.96 vs 70.46 C on an idle hot tank), and drops
sharply toward inlet temperature during a hot-water draw - bottom-vs-
middle stratification, not a condenser.

Entity unique_ids are keyed by capabilityId, so existing entities keep
their entity_id and history; only display names change.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01635y2ipTY7KdjuMDvqbDtH
mmnlfrrr pushed a commit to mmnlfrrr/cozytouch that referenced this pull request Sep 10, 2026
…teil#146

Upstream PR gduteil#165 documents the weekly program of thermostats as pairs of
[minutes, temperature]. That settles the one element of 237-243 left open here:
the leading 0 is the minute the slot starts, so [[0,58],[0,0],[0,0],[0,0]] reads
"58 degrees from 00:00" with three unused slots, and the app only ever offering
one setpoint per day explains why it has always been 0. The neighbouring time
block is not the same shape: 245-251 hold start/end ranges, which the capture
pins independently.

Also records field data that contradicts PR gduteil#146, which would rename capability
267 to the tank average. On this appliance 267 reads 24.43 while 264, 265 and
266 read 27.24, 44.47 and 49.97, so it is colder than all three and cannot be
their average. The current naming, 267 as the coldest point at the bottom of the
tank and 264 as the heat pump condenser, fits the readings. That is a single
appliance against Atlantic's own capability list, so it is written up as
something to check on a second unit rather than as a verdict.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01ACWv1DVSmVzzfdVBRBarZF
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant