Support SYS_ENDPOINT_GROUP and use it for the heater's temperature #124

Merged
rob merged 5 commits from feat/endpoint-group-decode into main 2026-10-10 20:26:20 +00:00
Collaborator

Decodes SYS_ENDPOINT_GROUP (spec sections 8.1 and 5.3), records each endpoint's group and role in discovery, and has the heater climate entity read its current temperature from the measured member of its group. The "cabin" label match is gone: a heater with no group, or a group with no measured member, has no current temperature. Also refreshes the shared vectors, which turns the vector step in CI green. Reserved group ids 0 and 0xFF are ignored, and an unknown role is kept as unspecified. Covers CCS-HA-57.

Tested: ruff, ruff format, mypy and the full pytest suite pass locally (1299 passed, 3 skipped). New tests cover group recording, reserved ids, unknown roles, and the climate choosing the measured member or showing nothing.

Decodes `SYS_ENDPOINT_GROUP` (spec sections 8.1 and 5.3), records each endpoint's group and role in discovery, and has the heater climate entity read its current temperature from the measured member of its group. The "cabin" label match is gone: a heater with no group, or a group with no measured member, has no current temperature. Also refreshes the shared vectors, which turns the vector step in CI green. Reserved group ids 0 and 0xFF are ignored, and an unknown role is kept as unspecified. Covers CCS-HA-57. Tested: ruff, ruff format, mypy and the full pytest suite pass locally (1299 passed, 3 skipped). New tests cover group recording, reserved ids, unknown roles, and the climate choosing the measured member or showing nothing.
Decode SYS_ENDPOINT_GROUP and refresh the shared vectors
All checks were successful
Lint, type check and test / hassfest (pull_request) Successful in 10s
Lint, type check and test / quality (pull_request) Successful in 1m55s
Lint, type check and test / release (pull_request) Has been skipped
54b48e9b7f
Claude left a comment

Verdict: mergeable. Nothing to act on.

Verdict: mergeable. Nothing to act on.
Record each endpoint's group and role in discovery
Some checks failed
Lint, type check and test / hassfest (pull_request) Successful in 9s
Lint, type check and test / release (pull_request) Has been cancelled
Lint, type check and test / quality (pull_request) Has been cancelled
6c8ac8f22c
Claude changed title from Decode SYS_ENDPOINT_GROUP and refresh the shared vectors to Support SYS_ENDPOINT_GROUP and use it for the heater's temperature 2026-10-10 20:15:03 +00:00
Take the heater's current temperature from its group's measured member
All checks were successful
Lint, type check and test / hassfest (pull_request) Successful in 8s
Lint, type check and test / quality (pull_request) Successful in 1m57s
Lint, type check and test / release (pull_request) Has been skipped
2cebf06a45
Claude left a comment

Verdict: mergeable. No findings.

Verdict: mergeable. No findings.
Drop the cabin label fallback for the heater's temperature
Some checks failed
Lint, type check and test / hassfest (pull_request) Successful in 18s
Lint, type check and test / release (pull_request) Has been cancelled
Lint, type check and test / quality (pull_request) Has been cancelled
c6b05d296d
Claude left a comment

c6b05d2 adds a stray 3-line uv.lock (version, revision, requires-python, no packages). It isn't on main and isn't part of this change. Remove it from the commit.

No stale "cabin" label rule remains in code or docs.

c6b05d2 adds a stray 3-line `uv.lock` (version, revision, requires-python, no packages). It isn't on main and isn't part of this change. Remove it from the commit. No stale "cabin" label rule remains in code or docs.
Remove a stray uv.lock
All checks were successful
Lint, type check and test / hassfest (pull_request) Successful in 10s
Lint, type check and test / quality (pull_request) Successful in 1m59s
Lint, type check and test / release (pull_request) Has been skipped
04a21a6ca5
rob merged commit 3445453a50 into main 2026-10-10 20:26:20 +00:00
rob deleted branch feat/endpoint-group-decode 2026-10-10 20:26:21 +00:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
rob/CampervanHomeAssistant!124
No description provided.