Async library to communicate with Heatmiser NeoHub 2 API
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Andrius Štikonas d811131f8a Bump version to 0.8. 1 month ago
LICENSES Add minimal README.md. 7 months ago
neohubapi Lint and fix some subtle bugs 1 month ago
scripts Expand our own enums. 6 months ago
tests Add retries, close connection on timeout (fix #6) 6 months ago
.gitignore Add dependency on async_property. 7 months ago
.gitlab-ci.yml Add a few tests for NeoHub._send 6 months ago
README.md Resolve "Add README for CLI" 6 months ago
example.py Initial support for timeclocks. 7 months ago
setup.py Bump version to 0.8. 1 month ago

README.md

NeoHubAPI

This is a simple python wrapper around Heatmiser's Neohub API.

It's primary purpose is to be used via Home Assistant integration but it can also be used as a standalone library.

Usage example

import asyncio
import neohubapi.neohub as neohub


async def run():
    hub = neohub.NeoHub()
    system = await hub.get_system()
    hub_data, devices = await hub.get_live_data()
    for device in devices['thermostats']:
        print(f"Temperature in zone {device.name}: {device.temperature}")
        await device.identify()


asyncio.run(run())

NeoHub API documentation

API documentation can be found from various places online or you can request the latest version from support@heatmiser.com

neohub_cli.py

This package includes a CLI for performing common tasks.

$ neohub_cli.py help  # Shows all commands
$ neohub_cli.py help set_time  # Displays help for the set_time function
$ neohub_cli.py --hub_ip=myneohub set_time "2021-01-31 15:43:00"  # Specify times like this
$ neohub_cli.py --hub_ip=myneohub set_lock 1234 "Living Room"  # Name NeoStats like this.