You’re right the sendDownlink method from the Python SDK utils has an issue and wasn’t sending the downlink to the device as expected. I’ve already fixed this in the following pull request, and once it’s approved and released, I’ll let you know here: https://github.com/tago-io/sdk-python/pull/51
However, the error you mentioned seems different from the one I experienced. Could you please confirm if you passed the correct instance of the Resources class to the resource parameter? If the class wasn’t instantiated with a Profile Token, make sure your Analysis has the proper permissions in Access Management (AM). This is required because the command internally runs queries using the Resources instance, such as:
Getting the device token
Getting the device to retrieve its network
Getting the network to obtain the middleware URL
Getting/setting the device’s configuration parameters