Add Configuration of Room Cooling Temperature (CRCT) use case#243
Open
andig wants to merge 7 commits into
Open
Add Configuration of Room Cooling Temperature (CRCT) use case#243andig wants to merge 7 commits into
andig wants to merge 7 commits into
Conversation
Groundwork for the HVAC system function and temperature use cases. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Point 5: WriteSetpoint discarded the message counter and reported success as soon as the request was sent. Return the message counter and accept a resultCB so a non-zero ResultData.ErrorNumber surfaces as a device rejection, matching the OPEV/LPC/OHPCF write pattern. Point 6: the setpoint relation resolved the cooling system function via the first matching description. Return ErrDataNotAvailable unless exactly one cooling system function matches, so the wrong setpoint is never controlled. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
The Hvac and Setpoint write helpers issued a write command without checking whether the remote server feature advertises the Write() operation for the corresponding function. Guard each write helper so it returns api.ErrNotSupported unless the remote advertises Write(), matching the existing LoadControl/DeviceConfiguration behaviour. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
The Hvac and Setpoint write helpers sent a list containing only the modified entry. Servers that interpret the payload as a full replacement would then drop unrelated system functions, overruns or setpoints. Send a proper partial write when the remote advertises WritePartial(). Otherwise copy the cached list, merge the modified entries and write the complete list, matching the LoadControl/DeviceConfiguration behaviour. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Now that the Write() advertisement gate is present in the Setpoint feature helper, the test fixture must advertise the Write operation for existing write tests to pass, and a dedicated test verifies WriteSetpoint returns ErrNotSupported when the remote advertises the setpoint list as read-only. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Adds the Configuration of Room Cooling Temperature (CRCT) use case (EEBus UC TS V1.0.0) as a Configuration Appliance client actor in
usecases/ca/crct.Scenario 1 (mandatory): set the room cooling temperature setpoint on an
HVACRoomentity.Structural mirror of the CRHT use case (#240) with the setpoints resolved via the cooling system function's
hvacSystemFunctionSetpointRelationListData(thescopeTypeisroomAirTemperaturefor both heating and cooling; the distinction comes from the system function relation, as per spec).Public API:
Setpoints,SetpointConstraints,WriteSetpoint(per cooling operation modeon/off/eco;autorejected).Stacked on #239 (Hvac and Setpoint client features) — only the last commit is specific to this PR.
🤖 Generated with Claude Code