This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

Mesh Interactive PyACI script,Interactive mesh provisioning and configuration test fail

Hi,

I followed the instruction on infocenter as bellow,everything goes well ,but the cc.composition_data_get() command,no composition data was received . Any missing steps?

Software Development Kit > nRF5 SDK for Mesh v4.0.0 > Libraries > Serial interface > Interactive PyACI script

Parents
  • Hi, 

    Please copy all the log you have , from the start of the pyACI. 

    Please follow all the steps listed in the documentation. I assume you have a 2nd board running a mesh application (light switch ? ) 

  • 1.Yes,several boards running a mesh application - light switch, because in actual use case, there will be multiple mesh device need to be provisioned.

    2.The total log as below,now I can got the composition data,but still something wrong:

    simon@simon-virtual-machine:~/Mesh/scripts/interactive_pyaci$ sudo python3 interactive_pyaci.py -d /dev/ttyACM6 --no-logfile
    [sudo] simon 的密码: 
    
        To control your device, use d[x], where x is the device index.
        Devices are indexed based on the order of the COM ports specified by the -d option.
        The first device, d[0], can also be accessed using device.
    
        Type d[x]. and hit tab to see the available methods.
    
    Python 3.6.9 (default, Nov  7 2019, 10:44:02) 
    Type 'copyright', 'credits' or 'license' for more information
    IPython 7.13.0 -- An enhanced Interactive Python. Type '?' for help.
    
    In [1]: db = MeshDB("database/example_database.json")                                                                                                   
    
    In [2]: db.provisioners                                                                                                                                 
    Out[2]: [{'name': 'BT Mesh Provisioner', 'UUID': bytearray(b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'), 'allocated_unicast_range': [{'low_address': 0010, 'high_address': 7fff}], 'allocated_group_range': [{'low_address': c000, 'high_address': feff}]}]
    
    In [3]: p = Provisioner(device, db)                                                                                                                     
    
    In [4]: 2020-03-18 10:32:49,420 - INFO - ttyACM6: cmd KeypairSet, timeout waiting for event
    2020-03-18 10:32:51,423 - INFO - ttyACM6: cmd AddrLocalUnicastSet, timeout waiting for event
    2020-03-18 10:32:53,425 - INFO - ttyACM6: cmd SubnetAdd, timeout waiting for event
    2020-03-18 10:32:53,431 - ERROR - ttyACM6: ModelSubsGet: ERROR_INVALID_LENGTH
    2020-03-18 10:32:55,432 - INFO - ttyACM6: cmd AppkeyAdd, timeout waiting for event
    2020-03-18 10:33:04,043 - INFO - ttyACM6: Device rebooted.
    In [4]: p = Provisioner(device, db)                                                                                                                     
    
    In [5]: 2020-03-18 10:33:05,637 - INFO - ttyACM6: Success
    2020-03-18 10:33:05,638 - INFO - ttyACM6: Success
    2020-03-18 10:33:05,643 - INFO - ttyACM6: SubnetAdd: {'subnet_handle': 0}
    2020-03-18 10:33:05,645 - INFO - ttyACM6: AppkeyAdd: {'appkey_handle': 0}
    2020-03-18 10:33:05,648 - INFO - ttyACM6: AppkeyAdd: {'appkey_handle': 1}
    In [5]:                                                                                                                                                 
    
    In [5]: p.scan_start()                                                                                                                                  
    
    In [6]: 2020-03-18 10:33:16,837 - INFO - ttyACM6: Success                                                                                               
    In [6]: 2020-03-18 10:33:17,126 - INFO - ttyACM6: Received UUID 00596128051914d18c6eb7ca81000500 with RSSI: -51 dB
    2020-03-18 10:33:17,126 - INFO - ttyACM6: Received UUID 00596128051914d18c6eb7ca81000500 with RSSI: -51 dB
    2020-03-18 10:33:17,363 - INFO - ttyACM6: Received UUID a2df7006d06cb444a251c32d4ea7b60c with RSSI: -25 dB
    2020-03-18 10:33:17,364 - INFO - ttyACM6: Received UUID a2df7006d06cb444a251c32d4ea7b60c with RSSI: -25 dB
    2020-03-18 10:33:18,068 - INFO - ttyACM6: Received UUID 00596140001902e4ef3196fc63000600 with RSSI: -68 dB                                              
    2020-03-18 10:33:18,068 - INFO - ttyACM6: Received UUID 00596140001902e4ef3196fc63000600 with RSSI: -68 dB
    2020-03-18 10:33:18,193 - INFO - ttyACM6: Received UUID 00596128051914e3218fbd8f6d000500 with RSSI: -55 dB
    2020-03-18 10:33:18,194 - INFO - ttyACM6: Received UUID 00596128051914e3218fbd8f6d000500 with RSSI: -55 dB
    2020-03-18 10:33:18,258 - INFO - ttyACM6: Received UUID 00596140281902e5198e12b468000100 with RSSI: -67 dB
    2020-03-18 10:33:18,258 - INFO - ttyACM6: Received UUID 00596140281902e5198e12b468000100 with RSSI: -67 dB
    2020-03-18 10:33:18,702 - INFO - ttyACM6: Received UUID 00596128051914ffcef9ea1350000500 with RSSI: -59 dB
    2020-03-18 10:33:18,703 - INFO - ttyACM6: Received UUID 00596128051914ffcef9ea1350000500 with RSSI: -59 dB
    2020-03-18 10:33:18,882 - INFO - ttyACM6: Received UUID 00596128051914d11d919aaa7e000300 with RSSI: -64 dB
    2020-03-18 10:33:18,882 - INFO - ttyACM6: Received UUID 00596128051914d11d919aaa7e000300 with RSSI: -64 dB
    2020-03-18 10:33:18,929 - INFO - ttyACM6: Received UUID 00596140281902e02cc6e2036e000200 with RSSI: -67 dB
    2020-03-18 10:33:18,930 - INFO - ttyACM6: Received UUID 00596140281902e02cc6e2036e000200 with RSSI: -67 dB
    In [6]: p.scan_stop()                                                                                                                                   
    
    In [7]: 2020-03-18 10:33:26,091 - INFO - ttyACM6: Success                                                                                               
    In [7]: p.provision(uuid="a2df7006d06cb444a251c32d4ea7b60c",name="Light bulb")                                                                          
    
    In [8]: 2020-03-18 10:34:19,727 - INFO - ttyACM6: Provision: {'context': 0}                                                                             
    2020-03-18 10:34:19,800 - INFO - ttyACM6: Link established
    2020-03-18 10:34:19,800 - INFO - ttyACM6: Link established
    2020-03-18 10:34:21,893 - INFO - ttyACM6: Received capabilities
    2020-03-18 10:34:21,893 - INFO - ttyACM6: Number of elements: 1
    2020-03-18 10:34:21,893 - INFO - ttyACM6: Received capabilities
    2020-03-18 10:34:21,894 - INFO - ttyACM6: Number of elements: 1
    2020-03-18 10:34:21,898 - INFO - ttyACM6: OobUse: {'context': 0}
    2020-03-18 10:34:21,900 - ERROR - ttyACM6: OobUse: ERROR_INVALID_STATE
    2020-03-18 10:34:24,232 - INFO - ttyACM6: ECDH request received
    2020-03-18 10:34:24,233 - INFO - ttyACM6: ECDH request received
    2020-03-18 10:34:24,241 - INFO - ttyACM6: EcdhSecret: {'context': 0}
    2020-03-18 10:34:24,245 - ERROR - ttyACM6: EcdhSecret: ERROR_INVALID_STATE
    2020-03-18 10:34:24,669 - INFO - ttyACM6: Provisioning complete
    2020-03-18 10:34:24,669 - INFO - ttyACM6: 	Address(es): 0x14-0x14
    2020-03-18 10:34:24,669 - INFO - ttyACM6: 	Device key: bdb4109ade3505ff7d8c890cd0d6cdf4
    2020-03-18 10:34:24,669 - INFO - ttyACM6: 	Network key: 18eed9c2a56add85049ffc3c59ad0e12
    2020-03-18 10:34:24,670 - INFO - ttyACM6: Adding device key to subnet 0
    2020-03-18 10:34:24,671 - INFO - ttyACM6: Adding publication address of root element
    2020-03-18 10:34:24,671 - ERROR - ttyACM6: Exception in pkt handler <bound method Provisioner.__event_handler of <mesh.provisioning.Provisioner object at 0x7f725dbe5f28>>
    2020-03-18 10:34:24,698 - ERROR - ttyACM6: traceback: Traceback (most recent call last):
      File "/home/simon/Mesh/scripts/interactive_pyaci/aci/aci_uart.py", line 88, in process_packet
        fun(packet)
      File "/home/simon/Mesh/scripts/interactive_pyaci/mesh/provisioning.py", line 337, in __event_handler
        self.store(self.__session_data)
      File "/home/simon/Mesh/scripts/interactive_pyaci/mesh/provisioning.py", line 346, in store
        self.prov_db.nodes.append(mt.Node(**self.__session_data))
    TypeError: __init__() missing 5 required positional arguments: 'UUID', 'unicast_address', 'net_keys', 'config_complete', and 'security'
    
    2020-03-18 10:34:24,698 - INFO - ttyACM6: Provisioning complete
    2020-03-18 10:34:24,698 - INFO - ttyACM6: 	Address(es): 0x14-0x14
    2020-03-18 10:34:24,699 - INFO - ttyACM6: 	Device key: bdb4109ade3505ff7d8c890cd0d6cdf4
    2020-03-18 10:34:24,699 - INFO - ttyACM6: 	Network key: 18eed9c2a56add85049ffc3c59ad0e12
    2020-03-18 10:34:24,699 - INFO - ttyACM6: Adding device key to subnet 0
    2020-03-18 10:34:24,699 - INFO - ttyACM6: Adding publication address of root element
    2020-03-18 10:34:24,703 - INFO - ttyACM6: DevkeyAdd: {'devkey_handle': 8}
    2020-03-18 10:34:24,705 - INFO - ttyACM6: AddrPublicationAdd: {'address_handle': 0}
    2020-03-18 10:34:24,711 - ERROR - ttyACM6: DevkeyAdd: ERROR_REJECTED
    2020-03-18 10:34:24,713 - INFO - ttyACM6: AddrPublicationAdd: {'address_handle': 0}
    2020-03-18 10:34:24,853 - INFO - ttyACM6: Provisioning link closed
    2020-03-18 10:34:24,853 - INFO - ttyACM6: Provisioning link closed
    In [8]:                                                                                                                                                 
    
    In [8]: cc = ConfigurationClient(db)                                                                                                                    
    
    In [9]: device.model_add(cc)                                                                                                                            
    
    In [10]: cc.publish_set(8, 0)                                                                                                                           
    
    In [11]: cc.composition_data_get()?                                                                                                                     
      File "<ipython-input-11-6fbf7a805f82>", line 1
        cc.composition_data_get()?
                                 ^
    SyntaxError: invalid syntax
    
    
    In [12]: cc.composition_data_get()                                                                                                                      
    
    In [13]: 2020-03-18 10:37:25,511 - INFO - ttyACM6: PacketSend: {'token': 1}                                                                             
    2020-03-18 10:37:25,527 - INFO - ttyACM6: {event: MeshTxComplete, data: {'token': 1}}
    2020-03-18 10:37:26,167 - INFO - ttyACM6.ConfigurationClient: Received composition data (page 0x00): {
      "cid": "0059",
      "pid": "0000",
      "vid": "0000",
      "crpl": 40,
      "features": {
        "relay": 0,
        "proxy": 0,
        "friend": 2,
        "low_power": 2
      },
      "elements": [
        {
          "index": 0,
          "location": "0000",
          "models": [
            {
              "modelId": "0000"
            },
            {
              "modelId": "0002"
            },
            {
              "modelId": "1000"
            }
          ]
        }
      ]
    }
    In [13]: cc.appkey_add(0)                                                                                                                               
    
    In [14]: 2020-03-18 10:38:22,581 - INFO - ttyACM6: PacketSend: {'token': 2}                                                                             
    2020-03-18 10:38:22,658 - INFO - ttyACM6: {event: MeshTxComplete, data: {'token': 2}}
    In [14]:                                                                                                                                                
    
    In [14]: cc.appkey_add(0)                                                                                                                               
    
    In [15]: 2020-03-18 10:38:54,767 - INFO - ttyACM6: PacketSend: {'token': 3}                                                                             
    2020-03-18 10:38:54,842 - INFO - ttyACM6: {event: MeshTxComplete, data: {'token': 3}}
    2020-03-18 10:38:54,867 - INFO - ttyACM6.ConfigurationClient: Appkey status: AccessStatus.SUCCESS
    2020-03-18 10:38:54,872 - INFO - ttyACM6.ConfigurationClient: Appkey add 0 succeded for subnet 0 at node 0014
    In [15]:                                                                                                                                                
    
    In [15]: cc.model_app_bind(db.nodes[0].unicast_address, 0, mt.ModelId(0x1000))                                                                          
    
    In [16]: 2020-03-18 10:39:11,977 - INFO - ttyACM6: PacketSend: {'token': 4}                                                                             
    2020-03-18 10:39:11,977 - INFO - ttyACM6: {event: MeshTxComplete, data: {'token': 4}}
    2020-03-18 10:39:12,002 - INFO - ttyACM6.ConfigurationClient: Model app bind status: AccessStatus.INVALID_ADDRESS
    In [16]: cc.model_app_bind(db.nodes[0].unicast_address, 0, mt.ModelId(0x1000))                                                                          
    
    In [17]: 2020-03-18 10:39:30,737 - INFO - ttyACM6: PacketSend: {'token': 5}                                                                             
    2020-03-18 10:39:30,761 - INFO - ttyACM6: {event: MeshTxComplete, data: {'token': 5}}
    2020-03-18 10:39:30,792 - INFO - ttyACM6.ConfigurationClient: Model app bind status: AccessStatus.INVALID_ADDRESS
    In [17]: cc.model_app_bind(db.nodes[0].unicast_address, 0, mt.ModelId(0x1000))                                                                          
    
    In [18]: 2020-03-18 10:39:33,964 - INFO - ttyACM6: PacketSend: {'token': 6}                                                                             
    2020-03-18 10:39:33,989 - INFO - ttyACM6: {event: MeshTxComplete, data: {'token': 6}}
    2020-03-18 10:39:34,019 - INFO - ttyACM6.ConfigurationClient: Model app bind status: AccessStatus.INVALID_ADDRESS
    In [18]: cc.model_app_bind(db.nodes[0].unicast_address, 0, mt.ModelId(0x1000))                                                                          
    
    In [19]: 2020-03-18 10:39:38,173 - INFO - ttyACM6: PacketSend: {'token': 7}                                                                             
    2020-03-18 10:39:38,197 - INFO - ttyACM6: {event: MeshTxComplete, data: {'token': 7}}
    2020-03-18 10:39:38,225 - INFO - ttyACM6.ConfigurationClient: Model app bind status: AccessStatus.INVALID_ADDRESS
    In [19]:                                                                                                                                                
    

  • Hi, 
    There seems to be an issue even when you start doing provisioning. Strange enough that you still can receive the composition data.

    Which firmware was running on the node ? Could you please test with unmodified light switch server firmware ? 


    Also did you do any modification on the serial firmware ? 

  • Hi Hung,

    Yes ,I use the unmodified light switch server firmware and also the unmodified serial firmware ,mesh SDK v4.

    ...\nrf5_SDK_for_Mesh_v4.0.0_src\examples\light_switch\server

    ...\nrf5_SDK_for_Mesh_v4.0.0_src\examples\serial

    Thanks.

Reply Children
  • Hi OPQ, 
    As in line 21-26 there was an issue connecting to the board from the PC. And the board restarted. Did that happen all the time ? 
    Could you try again with a fresh programming of the board and make sure you reset it before you start the PyACI ? 

  • Hi Hung,

    1.Yes,the board rebooted was I did, so I think I should reset it before start PyACI.

    2.Now,I try again , with a fresh programming of the board and make sure it's reseted before  start the PyACI , but a new issue was happened while calling CMD "cc.model_app_bind(db.nodes[0].unicast_address, 0, mt.ModelId(0x1000))" the log as bellow:

    In [1]: db = MeshDB("database/example_database.json")                                                                                                   
    
    In [2]: db.provisioners                                                                                                                                 
    Out[2]: [{'name': 'BT Mesh Provisioner', 'UUID': bytearray(b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'), 'allocated_unicast_range': [{'low_address': 0010, 'high_address': 7fff}], 'allocated_group_range': [{'low_address': c000, 'high_address': feff}]}]
    
    In [3]: p = Provisioner(device, db)                                                                                                                     
    
    In [4]: 2020-03-19 11:26:26,841 - INFO - ttyACM0: Success                                                                                               
    In [4]: 2020-03-19 11:26:26,844 - INFO - ttyACM0: Success
    2020-03-19 11:26:26,850 - INFO - ttyACM0: SubnetAdd: {'subnet_handle': 0}
    2020-03-19 11:26:26,855 - INFO - ttyACM0: AppkeyAdd: {'appkey_handle': 0}
    2020-03-19 11:26:26,860 - INFO - ttyACM0: AppkeyAdd: {'appkey_handle': 1}
    In [4]: p.scan_start()                                                                                                                                  
    
    In [5]: 2020-03-19 11:26:38,981 - INFO - ttyACM0: Success
    2020-03-19 11:26:39,229 - INFO - ttyACM0: Received UUID 00596140001902e4ef3196fc63000600 with RSSI: -60 dB
    2020-03-19 11:26:39,483 - INFO - ttyACM0: Received UUID 00596140281902e5198e12b468000100 with RSSI: -72 dB
    2020-03-19 11:26:39,802 - INFO - ttyACM0: Received UUID 00596128051914d18c6eb7ca81000500 with RSSI: -42 dB
    2020-03-19 11:26:40,473 - INFO - ttyACM0: Received UUID 00596140281902e02cc6e2036e000200 with RSSI: -67 dB
    2020-03-19 11:26:40,482 - INFO - ttyACM0: Received UUID 00596128051914e3218fbd8f6d000500 with RSSI: -56 dB
    2020-03-19 11:26:40,664 - INFO - ttyACM0: Received UUID 00596128051914d11d919aaa7e000300 with RSSI: -72 dB
    2020-03-19 11:26:43,404 - INFO - ttyACM0: Received UUID a2df7006d06cb444a251c32d4ea7b60c with RSSI: -24 dB
    2020-03-19 11:26:45,014 - INFO - ttyACM0: Received UUID 00596128051914ffcef9ea1350000500 with RSSI: -64 dB
    2020-03-19 11:26:45,887 - INFO - ttyACM0: Received UUID 00596140281902f58e3be88bf1000100 with RSSI: -68 dB
    In [5]: p.scan_stop()                                                                                                                                   
    
    In [6]: 2020-03-19 11:26:51,723 - INFO - ttyACM0: Success                                                                                               
    In [6]: p.provision(uuid="a2df7006d06cb444a251c32d4ea7b60c",name="Light bulb")                                                                          
    
    In [7]: 2020-03-19 11:27:42,286 - INFO - ttyACM0: Provision: {'context': 0}                                                                             
    In [7]: 2020-03-19 11:27:42,348 - INFO - ttyACM0: Link established
    2020-03-19 11:27:44,447 - INFO - ttyACM0: Received capabilities
    2020-03-19 11:27:44,447 - INFO - ttyACM0: Number of elements: 1
    2020-03-19 11:27:44,451 - INFO - ttyACM0: OobUse: {'context': 0}                                                                                        
    2020-03-19 11:27:52,742 - INFO - ttyACM0: ECDH request received
    2020-03-19 11:27:52,751 - INFO - ttyACM0: EcdhSecret: {'context': 0}
    2020-03-19 11:27:53,181 - INFO - ttyACM0: Provisioning complete
    2020-03-19 11:27:53,182 - INFO - ttyACM0: 	Address(es): 0x15-0x15
    2020-03-19 11:27:53,182 - INFO - ttyACM0: 	Device key: cd6d8b6ab5b9f993f13b16419a2f1952
    2020-03-19 11:27:53,182 - INFO - ttyACM0: 	Network key: 18eed9c2a56add85049ffc3c59ad0e12
    2020-03-19 11:27:53,182 - INFO - ttyACM0: Adding device key to subnet 0
    2020-03-19 11:27:53,183 - INFO - ttyACM0: Adding publication address of root element
    2020-03-19 11:27:53,189 - INFO - ttyACM0: DevkeyAdd: {'devkey_handle': 8}
    2020-03-19 11:27:53,190 - INFO - ttyACM0: AddrPublicationAdd: {'address_handle': 0}
    2020-03-19 11:27:53,364 - INFO - ttyACM0: Provisioning link closed
    In [7]: cc = ConfigurationClient(db)                                                                                                                    
    
    In [8]: device.model_add(cc)                                                                                                                            
    
    In [9]: cc.publish_set(8, 0)                                                                                                                            
    
    In [10]: cc.composition_data_get()                                                                                                                      
    
    In [11]: 2020-03-19 11:29:11,550 - INFO - ttyACM0: PacketSend: {'token': 1}                                                                             
    2020-03-19 11:29:11,562 - INFO - ttyACM0: {event: MeshTxComplete, data: {'token': 1}}
    2020-03-19 11:29:11,635 - INFO - ttyACM0.ConfigurationClient: Received composition data (page 0x00): {
      "cid": "0059",
      "pid": "0000",
      "vid": "0000",
      "crpl": 40,
      "features": {
        "relay": 0,
        "proxy": 0,
        "friend": 2,
        "low_power": 2
      },
      "elements": [
        {
          "index": 0,
          "location": "0000",
          "models": [
            {
              "modelId": "0000"
            },
            {
              "modelId": "0002"
            },
            {
              "modelId": "1000"
            }
          ]
        }
      ]
    }
    In [11]: cc.appkey_add(0)                                                                                                                               
    
    In [12]: 2020-03-19 11:29:26,488 - INFO - ttyACM0: PacketSend: {'token': 2}                                                                             
    2020-03-19 11:29:26,560 - INFO - ttyACM0: {event: MeshTxComplete, data: {'token': 2}}
    2020-03-19 11:29:26,590 - INFO - ttyACM0.ConfigurationClient: Appkey status: AccessStatus.SUCCESS
    2020-03-19 11:29:26,596 - INFO - ttyACM0.ConfigurationClient: Appkey add 0 succeded for subnet 0 at node 0015
    In [12]: cc.model_app_bind(db.nodes[0].unicast_address, 0, mt.ModelId(0x1000))                                                                          
    
    In [13]: 2020-03-19 11:29:40,931 - INFO - ttyACM0: PacketSend: {'token': 3}                                                                             
    2020-03-19 11:29:40,956 - INFO - ttyACM0: {event: MeshTxComplete, data: {'token': 3}}
    2020-03-19 11:29:40,985 - INFO - ttyACM0.ConfigurationClient: Model app bind status: AccessStatus.INVALID_ADDRESS
    In [13]: cc.model_app_bind(db.nodes[0].unicast_address, 0, mt.ModelId(0x1000))                                                                          
    
    In [14]: 2020-03-19 11:30:01,089 - INFO - ttyACM0: PacketSend: {'token': 4}                                                                             
    2020-03-19 11:30:01,121 - INFO - ttyACM0: {event: MeshTxComplete, data: {'token': 4}}
    2020-03-19 11:30:01,145 - INFO - ttyACM0.ConfigurationClient: Model app bind status: AccessStatus.INVALID_ADDRESS
    In [14]: gc = GenericOnOffClient()                                                                                                                      
    
    In [15]: gc.set(True)                                                                                                                                   
    ---------------------------------------------------------------------------
    RuntimeError                              Traceback (most recent call last)
    ~/Mesh/scripts/interactive_pyaci/interactive_pyaci.py in <module>
    ----> 1 gc.set(True)
    
    ~/Mesh/scripts/interactive_pyaci/models/generic_on_off.py in set(self, value, transition_time_ms, delay_ms, ack)
         53 
         54         if ack:
    ---> 55             self.send(self.GENERIC_ON_OFF_SET, message)
         56         else:
         57             self.send(self.GENERIC_ON_OFF_SET_UNACKNOWLEDGED, message)
    
    ~/Mesh/scripts/interactive_pyaci/mesh/access.py in send(self, opcode, data)
        160     def send(self, opcode, data=bytearray()):
        161         if self.element is None or self.element.access is None:
    --> 162             raise RuntimeError("This model is not bound to an element.")
        163         elif self.key_handle is None:
        164             raise RuntimeError("This model is not bound to a key.")
    
    RuntimeError: This model is not bound to an element.
    

  • Line 95 ,and try again line 100.

    In [12]: cc.model_app_bind(db.nodes[0].unicast_address, 0, mt.ModelId(0x1000))                                                                          
    
    In [13]: 2020-03-19 11:29:40,931 - INFO - ttyACM0: PacketSend: {'token': 3}                                                                             
    2020-03-19 11:29:40,956 - INFO - ttyACM0: {event: MeshTxComplete, data: {'token': 3}}
    2020-03-19 11:29:40,985 - INFO - ttyACM0.ConfigurationClient: Model app bind status: AccessStatus.INVALID_ADDRESS
    

  • Please try with the original .json file. Or use the backup file example_database.json.backup (remove the .backup).

    I suspect that db.nodes[0].unicast_address was not pointed to correct address. You can see the list of nodes by typing "db.nodes"

    You can use the actual address directly as well. So instead of db.nodes[0].unicast_address, you can use 0x15 for example. Anyway, please try to test again with the fresh .json file. 

  • Hi Hung,

    Thank you very much!

    Yes,it works,after using the backup file example_database.json.backup (remove the .backup).

Related