Skip to content

Commit 6344875

Browse files
authored
Merge pull request #422 from plugwise/more-acks
Add missing response-types
2 parents 52a6613 + ba37c71 commit 6344875

2 files changed

Lines changed: 32 additions & 22 deletions

File tree

CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,9 @@
11
# Changelog
22

3+
## v0.47.4 - 2026-03-08
4+
5+
PR [422](https://github.com/plugwise/python-plugwise-usb/pull/422): Add missing response-types
6+
37
## v0.47.3 - 2026-03-04
48

59
- PR [418](https://github.com/plugwise/python-plugwise-usb/pull/418): Improve raise-message for better debugging

plugwise_usb/messages/responses.py

Lines changed: 28 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -50,39 +50,45 @@ class StickResponseType(bytes, Enum):
5050

5151
ACCEPT = b"00C1"
5252
FAILED = b"00C2"
53-
TIMEOUT = b"00E1"
53+
COMMAND_NOT_ALLOWED = b"00C3"
54+
CANNOT_JOIN_NETWORK = b"00C4"
55+
NODE_CHANGE_ACCEPTED = b"00C7"
56+
PING_TIMEOUT_1SEC = b"00CD"
57+
PUBLIC_NETWORK_INFO_COMPLETE = b"00CE"
58+
TIMEOUT = b"00E1" # HN_STATUS_102
5459

5560

5661
class NodeResponseType(bytes, Enum):
5762
"""Response types of a 'NodeResponse' reply message."""
5863

59-
CIRCLE_PLUS = b"00DD" # ack for CirclePlusAllowJoiningRequest with state false
60-
CLOCK_ACCEPTED = b"00D7"
61-
JOIN_ACCEPTED = b"00D9" # ack for CirclePlusAllowJoiningRequest with state true
62-
NODE_RESET_ACK = b"00F2"
63-
POWER_LOG_INTERVAL_ACCEPTED = b"00F8" # ack for CircleMeasureIntervalRequest
64-
REAL_TIME_CLOCK_ACCEPTED = b"00DF"
65-
REAL_TIME_CLOCK_FAILED = b"00E7"
66-
RELAY_SWITCHED_OFF = b"00DE"
67-
RELAY_SWITCHED_ON = b"00D8"
68-
RELAY_SWITCH_FAILED = b"00E2"
69-
SED_CONFIG_ACCEPTED = b"00F6"
70-
71-
# TODO: Validate these response types
72-
SED_CONFIG_FAILED = b"00F7"
73-
POWER_CALIBRATION_ACCEPTED = b"00DA"
64+
CLOCK_ACCEPTED = b"00D7" # HN_SETYEARMONTHANDFLASHADDRESS_DONE
65+
RELAY_SWITCHED_ON = b"00D8" # HN_SETRELAISPOSITION_ON
66+
JOIN_ACCEPTED = b"00D9" # ack for CirclePlusAllowJoiningRequest with state true - HN_ALLOWNEWNODESTOJOIN_ACK_1
67+
POWER_CALIBRATION_ACCEPTED = b"00DA" # HN_SETCALIBPARAMETERS_ACK
68+
CIRCLE_PLUS = b"00DD" # ack for CirclePlusAllowJoiningRequest with state false - HN_ALLOWNEWNODESTOJOIN_ACK_0
69+
RELAY_SWITCHED_OFF = b"00DE" # HN_SETRELAISPOSITION_OFF
70+
REAL_TIME_CLOCK_ACCEPTED = b"00DF" # HN_SETRTCDATA_ACK
71+
RELAY_SWITCH_FAILED = b"00E2" # HN_SETRELAISPOSITION_DENIED
72+
REAL_TIME_CLOCK_FAILED = b"00E7" # HN_SETRTCDATA_NACK
73+
NODE_RESET_ACK = b"00F2" # HN_REPLYROLECHANGED_OK
74+
NODE_RESET_FAIL = b"00F3" # HN_REPLYROLECHANGED_NOT_OK
75+
SED_CONFIG_ACCEPTED = b"00F6" # HN_ACKSETSLEEPBEHAVIOR
76+
SED_CONFIG_FAILED = b"00F7" # HN_ACKREQUESTSELFREMOVALFROMNETWORK
77+
POWER_LOG_INTERVAL_ACCEPTED = b"00F8" # ack for CircleMeasureIntervalRequest - HN_ACKSETPOWERRECORDING
7478

7579

7680
class NodeAckResponseType(bytes, Enum):
7781
"""Response types of a 'NodeAckResponse' reply message."""
7882

79-
SCAN_CONFIG_ACCEPTED = b"00BE"
80-
SCAN_CONFIG_FAILED = b"00BF"
83+
DEFAULT_ACK= b"00A0"
84+
DEFAULT_FAIL = b"00A1"
85+
SENSE_INTERVAL_ACCEPTED = b"00B3" # HN_ACKSETSENSEINTERVAL_ACK
86+
SENSE_INTERVAL_FAILED = b"00B4" # HN_ACKSETSENSEINTERVAL_NACK
87+
SENSE_BOUNDARIES_ACCEPTED = b"00B5" # HN_ACKSETSENSEBOUNDARIES_ACK
88+
SENSE_BOUNDARIES_FAILED = b"00B6" # HN_ACKSETSENSEBOUNDARIES_NACK
8189
SCAN_LIGHT_CALIBRATION_ACCEPTED = b"00BD"
82-
SENSE_INTERVAL_ACCEPTED = b"00B3"
83-
SENSE_INTERVAL_FAILED = b"00B4"
84-
SENSE_BOUNDARIES_ACCEPTED = b"00B5"
85-
SENSE_BOUNDARIES_FAILED = b"00B6"
90+
SCAN_CONFIG_ACCEPTED = b"00BE" # HN_ACKSETSCANPARAMS_ACK
91+
SCAN_CONFIG_FAILED = b"00BF" # HN_ACKSETSCANPARAMS_NACK
8692

8793

8894
class NodeAwakeResponseType(int, Enum):

0 commit comments

Comments
 (0)