Repository navigation
Breaking changes
NodeInfohas a new fieldproduct_variant, so code that builds aNodeInfoitself needs to pass it (#168).register()no longer returns whether the app was newly registered, and registers directly on every bridge. Registering a UUID that is registered already needs the right PIN (#170).bridge_typeandGatewayTypeare gone, also as an argument ofBridge()andComfoConnect()and from the discovery results. The node of the bridge tells what it is with its product id (#170).
New
NodeInfo.product_variant(NODE property0x03, e.g. 1 = Q350, 2 = Q450, 3 = Q600 on a ComfoAir Q), also shown bylist-nodes(#168).node_callback: called with aNodeevery time the bridge announces one, also when a node goes offline (#169).Node.is_bridge,bridge_nodeandBRIDGE_PRODUCT_IDS: which node is the bridge itself (222 ComfoConnect Pro, 5 LAN C, 9 the WiFi module of a ComfoAir Flex) (#169).PdoType.TYPE_CN_UINT64andTYPE_CN_INT32(#172).
Fixes
list-nodesandget_node_infocrashed on the node of a ComfoConnect Pro. The node info is now read one property at a time, and a property that a node answers with an empty message counts as missing (None), like the model of a Pro (#171, #179).register()no longer starts a session first, which a ComfoConnect Pro doesn't answer for an app that isn't registered (#170).TYPE_CN_TIMEandTYPE_CN_VERSIONhave the right type ids, 10 and 11 (#172).
Docs
- The protocol docs describe sessions, registration, RPDO subscriptions, the framing, the connection limit, the discovery reply, the RMI error codes and timeout more precisely (#173–#178).
What's Changed
- Add the product variant to NodeInfo by @michaelarnauts in #168
- Add a node callback, and tell which node is the bridge by @michaelarnauts in #169
- Register directly, and drop the bridge type by @michaelarnauts in #170
- Read the node info one property at a time by @michaelarnauts in #171
- Fix the TIME and VERSION type ids, and add UINT64 and INT32 by @michaelarnauts in #172
- Describe sessions and registration more precisely by @michaelarnauts in #173
- Fix the number of session slots by @michaelarnauts in #175
- Describe how the bridge handles RPDO subscriptions by @michaelarnauts in #174
- Describe the RMI error codes and the ERROR unit commands more precisely by @michaelarnauts in #176
- Describe the framing, the connection limit and the discovery reply by @michaelarnauts in #177
- Describe the RMI timeout, error codes 45 and 52, and the CAN request counter by @michaelarnauts in #178
- Treat an empty answer to a property read as no value by @michaelarnauts in #179
Full Changelog: v0.4.4...v0.4.5