Repository navigation
Read the node info one property at a time - #171
Merged
Merged
Conversation
michaelarnauts
force-pushed
the
node-info-short-response
branch
from
October 20, 2026 11:22
33dec65 to
6b6b1ad
Compare
get_node_info asked for all properties in one request, and read them one by one when that failed with an RMI error, e.g. for a bridge without a model. A ComfoConnect Pro answers that request for its own node with fewer values than we asked for, so get_properties raised a ValueError that nobody caught, and list-nodes crashed on the Pro. Just read the properties one by one: it works for every node, without guessing how a node answers the combined request. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
michaelarnauts
force-pushed
the
node-info-short-response
branch
from
October 20, 2026 11:24
6b6b1ad to
d85410c
Compare
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.
Summary
On a ComfoConnect Pro,
list-nodescrashes on the node of the Pro itself (product 222), seen by two users in discussion #55:get_node_infoasked for all properties in one request, and read them one by one when that failed with an RMI error (a node fails it as a whole when it lacks one, like the model of a bridge). The Pro answers the combined request with fewer values than we asked for, soget_propertiesraised aValueError, whichlist-nodesdoesn't catch.get_node_infonow simply reads the properties one by one. That works for every node, without depending on how a node answers the combined request; a property the node doesn't have isNone, and when none can be read theComfoConnectRmiErroris raised, as before. It's 7 small requests per node instead of 1:list-nodeswith a unit and a LAN C still takes under 3 seconds, of which 2 are waiting for the nodes to be announced.get_propertiesstays as it was; nothing else in the library uses it.Home Assistant will read the node info of every node (michaelarnauts/home-assistant-comfoconnect#236), so without this its setup would fail on a Pro.
Testing
test_get_node_inforeads every property with its own request;test_get_node_info_with_missing_propertiesandtest_get_node_info_of_unknown_nodeas before.list-nodesagainst a LAN C with a ComfoAir Q450 shows the same info for both nodes as before.🤖 Generated with Claude Code