Skip to main content

A python wrapper around Nibe Uplink REST API

Project description


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.



def token_read():
    return None

def token_write(token):

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()
            result = input('Enter full redirect url: ')
            await uplink.get_access_token(uplink.get_code_from_url(result))

        # Request all systems

        # Request data for specific system

        # 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())


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


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

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 hashes)

Uploaded source

Built Distribution

nibeuplink-1.3.0-py3-none-any.whl (16.2 kB view hashes)

Uploaded py3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page