2 # Copyright (c) 2021 Project CHIP Authors
4 # Licensed under the Apache License, Version 2.0 (the "License");
5 # you may not use this file except in compliance with the License.
6 # You may obtain a copy of the License at
8 # http://www.apache.org/licenses/LICENSE-2.0
10 # Unless required by applicable law or agreed to in writing, software
11 # distributed under the License is distributed on an "AS IS" BASIS,
12 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 # See the License for the specific language governing permissions and
14 # limitations under the License.
17 from typing import Optional
19 # Represents the node ID that is to be used when creating device
20 # controllers/commissioning devices
21 _local_node_id: Optional[int] = None
23 DEFAULT_LOCAL_NODE_ID = 12345
26 def SetLocalNodeId(node_id: int):
27 """Local node id. Can be set at the start of scripts, however once set
28 it cannot be reassigned.
32 if _local_node_id is not None:
33 raise Exception('Local node id is already set.')
35 _local_node_id = node_id
38 def GetLocalNodeId() -> int:
39 """Returns the current local node id. If none has been set, a default is set and
43 if _local_node_id is None:
44 SetLocalNodeId(DEFAULT_LOCAL_NODE_ID)