|
14 | 14 | from ..connection import StickController |
15 | 15 | from ..constants import UTF8 |
16 | 16 | from ..exceptions import CacheError, MessageError, NodeError, StickError, StickTimeout |
17 | | -from ..helpers.util import validate_mac |
18 | 17 | from ..messages.requests import CirclePlusAllowJoiningRequest, NodePingRequest |
19 | 18 | from ..messages.responses import ( |
20 | 19 | NODE_AWAKE_RESPONSE_ID, |
@@ -149,8 +148,6 @@ def registry(self) -> dict[int, tuple[str, NodeType | None]]: |
149 | 148 |
|
150 | 149 | async def register_node(self, mac: str) -> bool: |
151 | 150 | """Register node to Plugwise network.""" |
152 | | - if not validate_mac(mac): |
153 | | - raise NodeError(f"Invalid mac '{mac}' to register") |
154 | 151 | address = await self._register.register_node(mac) |
155 | 152 | return await self._discover_node(address, mac, None) |
156 | 153 |
|
@@ -261,7 +258,6 @@ async def node_rejoin_message(self, response: PlugwiseResponse) -> bool: |
261 | 258 | f"Invalid response message type ({response.__class__.__name__}) received, expected NodeRejoinResponse" |
262 | 259 | ) |
263 | 260 | mac = response.mac_decoded |
264 | | - address = self._register.network_address(mac) |
265 | 261 | if (address := self._register.network_address(mac)) is not None: |
266 | 262 | if self._nodes.get(mac) is None: |
267 | 263 | if self._discover_sed_tasks.get(mac) is None: |
@@ -513,11 +509,14 @@ async def stop(self) -> None: |
513 | 509 |
|
514 | 510 | async def allow_join_requests(self, state: bool) -> None: |
515 | 511 | """Enable or disable Plugwise network.""" |
| 512 | + _LOGGER.debug("Send AllowJoiningRequest to Circle+ with state=%s", state) |
516 | 513 | request = CirclePlusAllowJoiningRequest(self._controller.send, state) |
517 | 514 | if (response := await request.send()) is None: |
518 | | - raise NodeError("No response to get notifications for join request.") |
| 515 | + raise NodeError("No response for CirclePlusAllowJoiningRequest.") |
519 | 516 |
|
520 | | - if response.response_type != NodeResponseType.JOIN_ACCEPTED: |
| 517 | + if response.response_type not in ( |
| 518 | + NodeResponseType.JOIN_ACCEPTED, NodeResponseType.CIRCLE_PLUS |
| 519 | + ): |
521 | 520 | raise MessageError( |
522 | 521 | f"Unknown NodeResponseType '{response.response_type.name}' received" |
523 | 522 | ) |
@@ -553,3 +552,4 @@ async def _notify_node_event_subscribers(self, event: NodeEvent, mac: str) -> No |
553 | 552 | callback_list.append(callback(event, mac)) |
554 | 553 | if len(callback_list) > 0: |
555 | 554 | await gather(*callback_list) |
| 555 | + |
0 commit comments