A python wrapper around Nibe Uplink REST API
Project description
Module
The module is an asyncio driven interface to nibe uplink public API. It is throttled to one http request every 4 seconds so try to make the most of your requests by batching requests.
Status
Example
def token_read():
return None
def token_write(token):
pass
async def run():
async with nibeuplink.Uplink(client_id = 'XXX',
client_secret = 'YYY',
redirect_uri = 'ZZZ',
access_data = token_read(),
access_data_write = token_write,
scope = 'READSYSTEM') as uplink:
if not uplink.access_data:
auth_uri = uplink.get_authorize_url()
print(auth_uri)
result = input('Enter full redirect url: ')
await uplink.get_access_token(uplink.get_code_from_url(result))
# Request all systems
print(uplink.get_systems())
# Request data for specific system
print(uplink.get_system(12345))
# Request data for parameters. Note request them in paralell using gather semantics
# that way, the module with batch up the requests into a single request to api
print(await asyncio.gather(uplink.get_parameter(12345, 11111),
uplink.get_parameter(12345, 22222)))
loop = asyncio.get_event_loop()
loop.run_until_complete (run())
Console
The module contains a commandline utility to test and request data from Nibe Uplink called nibeuplink, it will store token information in a file in the current directory called nibeuplink.json
Example
Help for utility
nibeuplink -h
Request all systems
nibeuplink --client_id 'XXX' --client_secret 'YYY' --redirect_uri 'ZZZ'
Request data for specific system
nibeuplink --client_id 'XXX' --client_secret 'YYY' --redirect_uri 'ZZZ' --system 12345
Request data for parameters
nibeuplink --client_id 'XXX' --client_secret 'YYY' --redirect_uri 'ZZZ' --system 12345 --parameter 11111 22222
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
nibeuplink-1.3.0.tar.gz
(14.3 kB
view details)
Built Distribution
File details
Details for the file nibeuplink-1.3.0.tar.gz
.
File metadata
- Download URL: nibeuplink-1.3.0.tar.gz
- Upload date:
- Size: 14.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.0 CPython/3.10.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | e10c3455e027a676572ab595ac253276a8b50f718080f48a7ad95063e6059f2c |
|
MD5 | 87a9eb071193e97e138e357675cccbf9 |
|
BLAKE2b-256 | 494ee433ca8b079190698727b01b8f87dd4a68eed6ad3d8d3b619687b19423aa |
File details
Details for the file nibeuplink-1.3.0-py3-none-any.whl
.
File metadata
- Download URL: nibeuplink-1.3.0-py3-none-any.whl
- Upload date:
- Size: 16.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.0 CPython/3.10.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | eaee27fb565e8531e75c16dc0c4fa9e901fcb908f053e06331d21dd82f3b2542 |
|
MD5 | 6393d5e9973bbc59da4c51a8eeb144ed |
|
BLAKE2b-256 | e345899f86a1d832e1abad517f656da899001d2d0a4748933df8c074dd6855b4 |