All Projects → elupus → nibeuplink

elupus / nibeuplink

Licence: MIT License
Nibe Uplink asyncronous python interface

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to nibeuplink

hass nibe
Home Assistant Nibe Uplink Integration
Stars: ✭ 117 (+485%)
Mutual labels:  home-automation, home-assistant, nibe-uplink
bom-weather-card
Custom Animated Weather Card for any weather provider
Stars: ✭ 111 (+455%)
Mutual labels:  home-automation, home-assistant
soma-ctrl
Node util for controlling SOMA smart shade via MQTT or HTTP
Stars: ✭ 19 (-5%)
Mutual labels:  home-automation, home-assistant
hhnl.HomeAssistantNet
No description or website provided.
Stars: ✭ 31 (+55%)
Mutual labels:  home-automation, home-assistant
home-assistant-config
Ma configuration Home Assistant commentée en anglais et en français | My Home Assistant config with French and English comments.
Stars: ✭ 29 (+45%)
Mutual labels:  home-automation, home-assistant
OTGW-firmware
A ESP8266 devkit firmware for the Nodoshop version of the Opentherm Gateway (OTGW)
Stars: ✭ 88 (+340%)
Mutual labels:  home-automation, home-assistant
ha-config-ataraxis
My Home Assistant Configs. If you like what you see, please ⭐️my repo. It would encourage me a lot 🤘
Stars: ✭ 146 (+630%)
Mutual labels:  home-automation, home-assistant
netdisco
🔎 Python library to scan local network for services and devices.
Stars: ✭ 252 (+1160%)
Mutual labels:  home-automation, home-assistant
issues
Issue Tracker for ESPHome
Stars: ✭ 182 (+810%)
Mutual labels:  home-automation, home-assistant
homeassistant-lightwave2
Lightwave RF custom component for Home Assistant. Requires generation 2 ("Link Plus") hub, but will control both generation 1 ("Connect Series") and generation 2 ("Smart Series") devices.
Stars: ✭ 31 (+55%)
Mutual labels:  home-automation, home-assistant
awesome-ha-blueprints
A curated collection of automation blueprints for Home Assistant.
Stars: ✭ 258 (+1190%)
Mutual labels:  home-automation, home-assistant
texecom2mqtt-hassio
Home Assistant add-on. Connect to Texecom Premier Elite alarm panels and publish updates to MQTT. Supports arming/disarming as well as zone updates and alarm events.
Stars: ✭ 15 (-25%)
Mutual labels:  home-automation, home-assistant
home-assistant-homeseer-helpers
Various scripts, customizations, and documentation for working with HomeSeer products in Home Assistant
Stars: ✭ 18 (-10%)
Mutual labels:  home-automation, home-assistant
smart-home
🏡 My smart home setup built on top of Home Assistant
Stars: ✭ 140 (+600%)
Mutual labels:  home-automation, home-assistant
ad-alexatalkingclock
Alexa (or other Smart Speakers) tell you the time without asking every hour. Please ⭐️if you like my app :)
Stars: ✭ 30 (+50%)
Mutual labels:  home-automation, home-assistant
works-with-home-assistant
Equipment and software that works with Home Assistant
Stars: ✭ 32 (+60%)
Mutual labels:  home-automation, home-assistant
mac-api
Command your Mac from afar
Stars: ✭ 33 (+65%)
Mutual labels:  home-automation, home-assistant
zigbee
Database of Zigbee devices compatible with third party gateways: ZHA, deCONZ, Zigbee2MQTT, Tasmota, ZiGate, ioBroker,
Stars: ✭ 117 (+485%)
Mutual labels:  home-automation, home-assistant
homeassistant-elasticsearch
Publish Home-Assistant events to Elasticsearch
Stars: ✭ 97 (+385%)
Mutual labels:  home-automation, home-assistant
PiBuilder
Ideas for building a Raspberry Pi from "bare metal" to ready-to-run IOTstack
Stars: ✭ 26 (+30%)
Mutual labels:  home-automation, home-assistant

Nibe Uplink Communciation Module

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

https://codecov.io/gh/elupus/nibeuplink/branch/master/graph/badge.svg?token=WZy5CcdYom

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
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].