This function allows an entity to list the devices to subscribe for data. This function must be called
        at least once, before doing a subscribe. Subscribe function will listen to devices that are bound here.

        Args:
            devices_to_bind  (list): an array of devices to listen to.
                                     Example bind(["test100","testDemo"])

def bind(self, devices_to_bind):
        """ This function allows an entity to list the devices to subscribe for data. This function must be called
        at least once, before doing a subscribe. Subscribe function will listen to devices that are bound here.

        Args:
            devices_to_bind  (list): an array of devices to listen to.
                                     Example bind(["test100","testDemo"])

        """
        if self.entity_api_key == "":
            return {'status': 'failure', 'response': 'No API key found in request'}
        url = self.base_url + "api/0.1.0/subscribe/bind"
        headers = {"apikey": self.entity_api_key}
        data = {
            "exchange": "amq.topic",
            "keys": devices_to_bind,
            "queue": self.entity_id
        }

        with self.no_ssl_verification():
            r = requests.post(url, json=data, headers=headers)
        response = dict()
        if "No API key" in str(r.content.decode("utf-8")):
            response["status"] = "failure"
            r = json.loads(r.content.decode("utf-8"))['message']
        elif 'bind queue ok' in str(r.content.decode("utf-8")):
            response["status"] = "success"
            r = r.content.decode("utf-8")
        else:
            response["status"] = "failure"
            r = r.content.decode("utf-8")
        response["response"] = str(r)
        return response