Hi there, device ID's can contain %. (For example if a product class were G-240G-P genie would encode this as part of the device id as G%2D240G%2DP.
This:
requests.utils.quote(device_id)
Needs to be:
requests.utils.quote(device_id, safe='%')
Great module by the way! I was in the process of writing the same when I stumbled upon yours :)